summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-05-17 14:32:10 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-05-17 14:32:10 +0100
commit51c50bd4c895ebf56d81fecae8e45ec3b5fc3efa (patch)
tree753b6b08624c34d1ed8414bbe22c45409f7741b9 /sys-libs
parentbe9d77d3ac6af8f4ead98d89706f356b65578c93 (diff)
parentdeba8115d2c2af26df42966b91ef04ff4dd79cde (diff)
Merge branch 'edge' into next
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin14602 -> 14570 bytes
-rw-r--r--sys-libs/compiler-rt-sanitizers/Manifest5
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.1.0.ebuild181
-rw-r--r--sys-libs/compiler-rt-sanitizers/files/7.1.0/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch67
-rw-r--r--sys-libs/compiler-rt-sanitizers/files/7.1.0/0002-test-Support-using-libtirpc-on-Linux.patch100
-rw-r--r--sys-libs/compiler-rt/Manifest2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-7.1.0.ebuild114
-rw-r--r--sys-libs/cracklib/Manifest4
-rw-r--r--sys-libs/cracklib/cracklib-2.9.6-r2.ebuild2
-rw-r--r--sys-libs/cracklib/cracklib-2.9.7.ebuild2
-rw-r--r--sys-libs/gdbm/Manifest3
-rw-r--r--sys-libs/gdbm/files/gdbm-1.18.1-gcc-10.patch40
-rw-r--r--sys-libs/gdbm/gdbm-1.18.1.ebuild2
-rw-r--r--sys-libs/glibc/Manifest25
-rw-r--r--sys-libs/glibc/files/host.conf-124
-rw-r--r--sys-libs/glibc/files/nscd-185
-rw-r--r--sys-libs/glibc/glibc-2.26-r7.ebuild857
-rw-r--r--sys-libs/glibc/glibc-2.27-r6.ebuild1415
-rw-r--r--sys-libs/glibc/glibc-2.28-r6.ebuild1412
-rw-r--r--sys-libs/glibc/glibc-2.29-r7.ebuild1427
-rw-r--r--sys-libs/glibc/glibc-2.30-r8.ebuild39
-rw-r--r--sys-libs/glibc/glibc-2.31-r2.ebuild10
-rw-r--r--sys-libs/glibc/glibc-2.31-r3.ebuild (renamed from sys-libs/glibc/glibc-2.29-r8.ebuild)147
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild37
-rw-r--r--sys-libs/ldb/Manifest4
-rw-r--r--sys-libs/ldb/ldb-2.0.10.ebuild108
-rw-r--r--sys-libs/ldb/ldb-2.1.2.ebuild108
-rw-r--r--sys-libs/libapparmor/Manifest5
-rw-r--r--sys-libs/libapparmor/libapparmor-2.13.3-r1.ebuild98
-rw-r--r--sys-libs/libapparmor/libapparmor-2.13.3.ebuild97
-rw-r--r--sys-libs/libapparmor/libapparmor-2.13.4.ebuild2
-rw-r--r--sys-libs/libblockdev/Manifest7
-rw-r--r--sys-libs/libblockdev/files/libblockdev-2.23-avoid_bashisms.patch41
-rw-r--r--sys-libs/libblockdev/libblockdev-2.20-r2.ebuild107
-rw-r--r--sys-libs/libblockdev/libblockdev-2.22.ebuild121
-rw-r--r--sys-libs/libblockdev/libblockdev-2.23-r1.ebuild8
-rw-r--r--sys-libs/libcap/Manifest6
-rw-r--r--sys-libs/libcap/files/libcap-2.34-build-system-fixes.patch (renamed from sys-libs/libcap/files/libcap-2.29-build-system-fixes.patch)81
-rw-r--r--sys-libs/libcap/libcap-2.34.ebuild (renamed from sys-libs/libcap/libcap-2.32.ebuild)2
-rw-r--r--sys-libs/libcxx/Manifest12
-rw-r--r--sys-libs/libcxx/libcxx-10.0.0.9999.ebuild6
-rw-r--r--sys-libs/libcxx/libcxx-10.0.0.ebuild6
-rw-r--r--sys-libs/libcxx/libcxx-11.0.0.9999.ebuild13
-rw-r--r--sys-libs/libcxx/libcxx-7.1.0.ebuild215
-rw-r--r--sys-libs/libcxx/libcxx-8.0.1.ebuild8
-rw-r--r--sys-libs/libcxx/libcxx-9.0.1.ebuild6
-rw-r--r--sys-libs/libcxxabi/Manifest5
-rw-r--r--sys-libs/libcxxabi/libcxxabi-11.0.0.9999.ebuild4
-rw-r--r--sys-libs/libcxxabi/libcxxabi-7.1.0.ebuild119
-rw-r--r--sys-libs/libfaketime/Manifest2
-rw-r--r--sys-libs/libfaketime/libfaketime-0.9.8.ebuild2
-rw-r--r--sys-libs/libomp/Manifest2
-rw-r--r--sys-libs/libomp/libomp-7.1.0.ebuild115
-rw-r--r--sys-libs/librtas/Manifest1
-rw-r--r--sys-libs/librtas/librtas-2.0.2-r1.ebuild28
-rw-r--r--sys-libs/libseccomp/Manifest2
-rw-r--r--sys-libs/libseccomp/metadata.xml1
-rw-r--r--sys-libs/libselinux/Manifest2
-rw-r--r--sys-libs/libselinux/libselinux-2.9-r1.ebuild2
-rw-r--r--sys-libs/libunwind/Manifest2
-rw-r--r--sys-libs/libunwind/libunwind-1.3.1.ebuild103
-rw-r--r--sys-libs/liburing/Manifest4
-rw-r--r--sys-libs/liburing/liburing-0.5.ebuild2
-rw-r--r--sys-libs/liburing/liburing-0.6.ebuild44
-rw-r--r--sys-libs/libutempter/Manifest2
-rw-r--r--sys-libs/libutempter/libutempter-1.2.0.ebuild70
-rw-r--r--sys-libs/llvm-libunwind/Manifest6
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-11.0.0.9999.ebuild2
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-7.1.0.ebuild143
-rw-r--r--sys-libs/ncurses/Manifest2
-rw-r--r--sys-libs/ncurses/ncurses-6.2-r1.ebuild2
-rw-r--r--sys-libs/nss_wrapper/Manifest2
-rw-r--r--sys-libs/nss_wrapper/nss_wrapper-1.1.6.ebuild2
-rw-r--r--sys-libs/openipmi/Manifest11
-rw-r--r--sys-libs/openipmi/files/openipmi-2.0.16-pthreads.patch12
-rw-r--r--sys-libs/openipmi/files/openipmi-2.0.21-tinfo.patch18
-rw-r--r--sys-libs/openipmi/openipmi-2.0.22.ebuild105
-rw-r--r--sys-libs/openipmi/openipmi-2.0.26.ebuild107
-rw-r--r--sys-libs/openipmi/openipmi-2.0.27-r1.ebuild2
-rw-r--r--sys-libs/openipmi/openipmi-2.0.28.ebuild (renamed from sys-libs/openipmi/openipmi-2.0.27.ebuild)25
-rw-r--r--sys-libs/readline/Manifest2
-rw-r--r--sys-libs/readline/readline-8.0_p4.ebuild2
-rw-r--r--sys-libs/timezone-data/Manifest3
-rw-r--r--sys-libs/timezone-data/timezone-data-2020a.ebuild178
-rw-r--r--sys-libs/uclibc-ng/Manifest2
-rw-r--r--sys-libs/uid_wrapper/Manifest2
-rw-r--r--sys-libs/uid_wrapper/uid_wrapper-1.2.7.ebuild2
87 files changed, 998 insertions, 7205 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index 815110b209f0..46096ce27086 100644
--- a/sys-libs/Manifest.gz
+++ b/sys-libs/Manifest.gz
Binary files differ
diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest
index 647194fe1e30..33352d8b874b 100644
--- a/sys-libs/compiler-rt-sanitizers/Manifest
+++ b/sys-libs/compiler-rt-sanitizers/Manifest
@@ -1,15 +1,10 @@
-AUX 7.1.0/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch 2583 BLAKE2B be7e9a2cbab8b3bd110346f6c8bda30d104397601950c995b77388fcb91e53ca82f5d3574931c58244403eee698f01209ca9e704fd4c6b9b3ef08e68d41dbea7 SHA512 656a7bbdcf0f678814d0ad0ff56ce43b7fc48c7a549373a4ef77e74490437283c5834e86b1b4e8bcb85578953687d79474ef2bf494c7eed4cf7fa1f17003f385
-AUX 7.1.0/0002-test-Support-using-libtirpc-on-Linux.patch 4161 BLAKE2B 3db2dcebf70ca3e7c399dfb22d8ae50d51863f7a8a15a10b0232f73d4fc2ee0b51ff67e8842b0e4d29dd41e60a326c90670f62a431ca593617f566e03bc7f90a SHA512 2f03f4d0232b600861de0c527d6bef26b0e3273865a7d7344e083a6a7de4033de6d30df3a6b22f4d23be74dfa8864ccaebd42c1f0d4474abc83a66f8997e19fb
-DIST compiler-rt-7.1.0.src.tar.xz 1864248 BLAKE2B 42ab86416f7f85c5833cf85dbfb66b18a5d5cf53fa0560ad43b2ef39f5a2cd7ec1dbe4192cc8dac9b3f658b828c8306f26745c4d0e8f846d9f550ac22717eb33 SHA512 54d3ad80936f011dbf2ecebba3f1b7d4a156044b178228411ba855be5ec48eb646155b74dea1a96674adab6f93803456ae1435395e3240a4423a3f65f4566b55
DIST compiler-rt-8.0.1.src.tar.xz 1954204 BLAKE2B cbba1d5fb37385116920da39dea26739d09e3f11c392503f8bc45293f1ef00c97f6a9fbd3ba67094d7f1e532410d0eca461943dadfdb10646110470a8e3b5f1f SHA512 12bf1bdabe25c0c3a84cc73a718fe154573dd729ec3ff5e099bd5f74c6bec9c80521b87ded646d3b20dfdb9aa51dea0234281418c7eb81805e1dd5d3107d3d8e
-DIST llvm-7.1.0.src.tar.xz 28313784 BLAKE2B b78d9a7fc5ef6e352e77d339e5c4eef5ccedf67c05e7abd949e72619aa8a5ed65e7e5e2008354be8e7916d75581719b99f34227838fcc86c5d0080913c2fb22c SHA512 a7dbd5693d1f2dae6b6e52893a100f9349cbfcfb25c5fdcad46364acbff0dbd3573f8fbc026c68eb9fd56335198aa94b866cc3dd7ea0cbd2cbfb5f8fe3444a7a
DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
EBUILD compiler-rt-sanitizers-10.0.0.9999.ebuild 4481 BLAKE2B 3ddcb48c12169942e05ff5cb84daa5af199783913d0f5e55d19819b42a0dbe1c840ac35e1ba2e790749d8ac1ebbc37d7e8265c0db0499b88979500e59430aa26 SHA512 bd03f699f0a3635c88d4337a4182a8c3345e19262aa6bc7933143b3a8c51326f51278527c60c9f3a27e69079213be2e7f167aa595d1864dd5b61edada268705b
EBUILD compiler-rt-sanitizers-10.0.0.ebuild 4557 BLAKE2B 166307f3604e487451df0b70ab48f18e0227829c847c35d6f61962515d60ec19ca876adec9feceb0405f481bbd87574038769bd08ba49f54865f6efb6f223699 SHA512 1f9892a19b9131051440c936c45a2f7ffbf12d76c9b19f2611b92365ce06f75f156e19e4b49e008ff7065a7c026fde2dd58bc93ab1d3c0b097b4cdbc1452a23a
EBUILD compiler-rt-sanitizers-11.0.0.9999.ebuild 4481 BLAKE2B 3ddcb48c12169942e05ff5cb84daa5af199783913d0f5e55d19819b42a0dbe1c840ac35e1ba2e790749d8ac1ebbc37d7e8265c0db0499b88979500e59430aa26 SHA512 bd03f699f0a3635c88d4337a4182a8c3345e19262aa6bc7933143b3a8c51326f51278527c60c9f3a27e69079213be2e7f167aa595d1864dd5b61edada268705b
-EBUILD compiler-rt-sanitizers-7.1.0.ebuild 5483 BLAKE2B d7feface9713919185a9d167fb34a4bb4ab97c63227e7ce280df81fb1d3382a18f6e29983276a9bab0f23fdb1437a528d974eaf7174f370cd61ed2f772b29b4f SHA512 1e540c5c7b555d6782098dc6e43e195b2e151b6075831b53848b10664f0a855d9d903b3f07bc9c815668964ab64566652cc2c7e39b1a614bb31f71cbf8cdc842
EBUILD compiler-rt-sanitizers-8.0.1.ebuild 5281 BLAKE2B 7041973d68007ccc56115a9748e901dc07b9228a8c513c30c234fd98253fb04072fc19faff4bcbb544dea7ac5aa2b17c7ce545083949ab6d54020c9dfa02bfa7 SHA512 19f5be642bc47a77beca5241f95b58c8b11fb580dee1db829eadbda00542d56a7b17cccc300b1eb7ebde2ec419f38e677d9800de00067e66df98f7cfdd2d47cd
EBUILD compiler-rt-sanitizers-9.0.1.ebuild 4847 BLAKE2B cc23d456a4c52596858a405bc74c3c5db35c4fe116685cba4982e2753ba01941bd2c166f56e4278c79e02b06229e90a7fba9fce923360dba8bbf516c8a665ae6 SHA512 dc11719f142cfa56c86373e7e6dba88957511218a654c138ab37d3de01a60bd77f8dd4bc90ed634156d0952b350dce1bad08f8a2db1a7d207335596cdd0bd4d6
MISC metadata.xml 547 BLAKE2B 6f9d8b65c12797fd3d168e9b3948c604265db135bda5493d9f1d8b1d01fd73a79d07e5241afc3a7fa1672827fac23d3d9dc4d7ae42371a0de892a900c8c28269 SHA512 fb73a96b1ffbc7ff2fecfba35c9acd3e54ade0154016ae04423217f5c000eee2b0b821cc626908647551a0aa7b7f462d42d56cde3993ddd52248bc373b117c3e
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.1.0.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.1.0.ebuild
deleted file mode 100644
index ca11e3a590b6..000000000000
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-7.1.0.ebuild
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit check-reqs cmake-utils flag-o-matic llvm \
- multiprocessing python-any-r1
-
-MY_P=compiler-rt-${PV/_/}.src
-LLVM_P=llvm-${PV/_/}.src
-
-DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
- test? ( https://releases.llvm.org/${PV/_//}/${LLVM_P}.tar.xz )"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="${PV%_*}"
-KEYWORDS="amd64 arm arm64 ~ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="+clang +libfuzzer +profile +sanitize test +xray elibc_glibc"
-# FIXME: libfuzzer does not enable all its necessary dependencies
-REQUIRED_USE="libfuzzer? ( || ( sanitize xray ) )"
-RESTRICT="!test? ( test ) !clang? ( test )"
-
-CLANG_SLOT=${SLOT%%.*}
-# llvm-6 for new lit options
-DEPEND="
- >=sys-devel/llvm-6
- 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}"
-
-S=${WORKDIR}/${MY_P}
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-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_unpack() {
- einfo "Unpacking ${MY_P}.tar.xz ..."
- tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die
-
- if use test; then
- einfo "Unpacking parts of ${LLVM_P}.tar.xz ..."
- tar -xf "${DISTDIR}/${LLVM_P}.tar.xz" \
- "${LLVM_P}"/utils/{lit,unittest} || die
- mv "${LLVM_P}" llvm || die
- fi
-}
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # apply the fixes for new glibc / split tirpc
- eapply "${FILESDIR}/7.1.0/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch"
- eapply "${FILESDIR}/7.1.0/0002-test-Support-using-libtirpc-on-Linux.patch"
-
- if use test; then
- # remove tests that are (still) broken by new glibc
- # https://bugs.llvm.org/show_bug.cgi?id=36065
- if use elibc_glibc && has_version '>=sys-libs/glibc-2.25'; then
- rm test/lsan/TestCases/Linux/{fork_and_leak,use_tls_dynamic}.cc || die
- rm test/msan/dtls_test.c || die
- fi
- fi
-}
-
-src_configure() {
- # pre-set since we need to pass it to cmake
- BUILD_DIR=${WORKDIR}/${P}_build
-
- if use clang; then
- local -x CC=${CHOST}-clang
- local -x CXX=${CHOST}-clang++
- strip-unsupported-flags
- fi
-
- local mycmakeargs=(
- -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}"
- # use a build dir structure consistent with install
- # 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)
- # built-ins installed by sys-libs/compiler-rt
- -DCOMPILER_RT_BUILD_BUILTINS=OFF
- -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer)
- -DCOMPILER_RT_BUILD_PROFILE=$(usex profile)
- -DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize)
- -DCOMPILER_RT_BUILD_XRAY=$(usex xray)
- )
- if use test; then
- mycmakeargs+=(
- -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
- -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
- -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
-
- # they are created during src_test()
- -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${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-utils_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-utils_src_make check-all
-}
diff --git a/sys-libs/compiler-rt-sanitizers/files/7.1.0/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch b/sys-libs/compiler-rt-sanitizers/files/7.1.0/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch
deleted file mode 100644
index ca871c37b994..000000000000
--- a/sys-libs/compiler-rt-sanitizers/files/7.1.0/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From e198d21b9a5851dbc061f60911e3b3da910bca0a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 6 Jun 2018 12:16:38 +0200
-Subject: [PATCH 7/8] [sanitizer_common] Fix using libtirpc on Linux
-
-Fix using libtirpc on Linux by using pkg-config to detect it, and append
-appropriate include directory. The libtirpc headers reference one
-another via '#include <rpc/...>', so attempting to include it via
-'#include <tirpc/...>' just failed and resulted in RPC headers not being
-detected at all.
-
-Additionally, perform the header check without -nodefaultlibs as that
-apparently causes it to fail.
----
- lib/sanitizer_common/CMakeLists.txt | 11 ++++++++++-
- .../sanitizer_platform_limits_posix.cc | 4 +---
- 2 files changed, 11 insertions(+), 4 deletions(-)
-
-diff --git a/lib/sanitizer_common/CMakeLists.txt b/lib/sanitizer_common/CMakeLists.txt
-index e0226ae49..4071bc0e8 100644
---- a/lib/sanitizer_common/CMakeLists.txt
-+++ b/lib/sanitizer_common/CMakeLists.txt
-@@ -151,9 +151,18 @@ include_directories(..)
-
- set(SANITIZER_COMMON_DEFINITIONS)
-
-+include(FindPkgConfig)
-+pkg_check_modules(TIRPC libtirpc)
-+if (TIRPC_FOUND)
-+ include_directories(${TIRPC_INCLUDE_DIRS})
-+ set(CMAKE_REQUIRED_INCLUDES ${TIRPC_INCLUDE_DIRS})
-+endif()
-+
- include(CheckIncludeFile)
-+cmake_push_check_state()
-+string(REPLACE "-nodefaultlibs" "" CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
- append_have_file_definition(rpc/xdr.h HAVE_RPC_XDR_H SANITIZER_COMMON_DEFINITIONS)
--append_have_file_definition(tirpc/rpc/xdr.h HAVE_TIRPC_RPC_XDR_H SANITIZER_COMMON_DEFINITIONS)
-+cmake_pop_check_state()
-
- set(SANITIZER_CFLAGS ${SANITIZER_COMMON_CFLAGS})
- append_rtti_flag(OFF SANITIZER_CFLAGS)
-diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
-index feb7bad6f..2e736ee26 100644
---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
-+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
-@@ -146,8 +146,6 @@ typedef struct user_fpregs elf_fpregset_t;
- #include <netrom/netrom.h>
- #if HAVE_RPC_XDR_H
- # include <rpc/xdr.h>
--#elif HAVE_TIRPC_RPC_XDR_H
--# include <tirpc/rpc/xdr.h>
- #endif
- #include <scsi/scsi.h>
- #include <sys/mtio.h>
-@@ -1236,7 +1234,7 @@ CHECK_SIZE_AND_OFFSET(group, gr_passwd);
- CHECK_SIZE_AND_OFFSET(group, gr_gid);
- CHECK_SIZE_AND_OFFSET(group, gr_mem);
-
--#if HAVE_RPC_XDR_H || HAVE_TIRPC_RPC_XDR_H
-+#if HAVE_RPC_XDR_H
- CHECK_TYPE_SIZE(XDR);
- CHECK_SIZE_AND_OFFSET(XDR, x_op);
- CHECK_SIZE_AND_OFFSET(XDR, x_ops);
---
-2.18.0
-
diff --git a/sys-libs/compiler-rt-sanitizers/files/7.1.0/0002-test-Support-using-libtirpc-on-Linux.patch b/sys-libs/compiler-rt-sanitizers/files/7.1.0/0002-test-Support-using-libtirpc-on-Linux.patch
deleted file mode 100644
index 880284775e22..000000000000
--- a/sys-libs/compiler-rt-sanitizers/files/7.1.0/0002-test-Support-using-libtirpc-on-Linux.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 4fc99ef388e2f110759dc774428fd194b65614c8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 6 Jun 2018 12:45:55 +0200
-Subject: [PATCH 8/8] [test] Support using libtirpc on Linux
-
-Add compiler flags necessary for using libtirpc on Linux (RPC headers
-split out of glibc). The flags are obtained via pkg-config. This fixes
-test failures due to tests being unable to find <rpc/...> includes.
----
- cmake/base-config-ix.cmake | 4 ++++
- lib/sanitizer_common/CMakeLists.txt | 2 --
- test/msan/lit.cfg | 3 ++-
- test/msan/lit.site.cfg.in | 1 +
- test/tsan/lit.cfg | 3 ++-
- test/tsan/lit.site.cfg.in | 1 +
- 6 files changed, 10 insertions(+), 4 deletions(-)
-
-diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake
-index b208f0852..46b88f72b 100644
---- a/cmake/base-config-ix.cmake
-+++ b/cmake/base-config-ix.cmake
-@@ -8,6 +8,10 @@ include(CheckCXXSourceCompiles)
-
- check_include_file(unwind.h HAVE_UNWIND_H)
-
-+# used in sanitizer_common and tests
-+include(FindPkgConfig)
-+pkg_check_modules(TIRPC libtirpc)
-+
- # Top level target used to build all compiler-rt libraries.
- add_custom_target(compiler-rt ALL)
- add_custom_target(install-compiler-rt)
-diff --git a/lib/sanitizer_common/CMakeLists.txt b/lib/sanitizer_common/CMakeLists.txt
-index 4071bc0e8..08d1781a6 100644
---- a/lib/sanitizer_common/CMakeLists.txt
-+++ b/lib/sanitizer_common/CMakeLists.txt
-@@ -151,8 +151,6 @@ include_directories(..)
-
- set(SANITIZER_COMMON_DEFINITIONS)
-
--include(FindPkgConfig)
--pkg_check_modules(TIRPC libtirpc)
- if (TIRPC_FOUND)
- include_directories(${TIRPC_INCLUDE_DIRS})
- set(CMAKE_REQUIRED_INCLUDES ${TIRPC_INCLUDE_DIRS})
-diff --git a/test/msan/lit.cfg b/test/msan/lit.cfg
-index cac260999..fe8525047 100644
---- a/test/msan/lit.cfg
-+++ b/test/msan/lit.cfg
-@@ -14,7 +14,8 @@ clang_msan_cflags = (["-fsanitize=memory",
- "-fno-omit-frame-pointer",
- "-fno-optimize-sibling-calls"] +
- [config.target_cflags] +
-- config.debug_info_flags)
-+ config.debug_info_flags +
-+ [config.rpc_cflags])
- # Some Msan tests leverage backtrace() which requires libexecinfo on FreeBSD.
- if config.host_os == 'FreeBSD':
- clang_msan_cflags += ["-lexecinfo"]
-diff --git a/test/msan/lit.site.cfg.in b/test/msan/lit.site.cfg.in
-index f744d71fd..35634d324 100644
---- a/test/msan/lit.site.cfg.in
-+++ b/test/msan/lit.site.cfg.in
-@@ -6,6 +6,7 @@ config.target_cflags = "@MSAN_TEST_TARGET_CFLAGS@"
- config.target_arch = "@MSAN_TEST_TARGET_ARCH@"
- config.use_lld = @MSAN_TEST_USE_LLD@
- config.use_thinlto = @MSAN_TEST_USE_THINLTO@
-+config.rpc_cflags = "@TIRPC_CFLAGS@"
-
- # Load common config for all compiler-rt lit tests.
- lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured")
-diff --git a/test/tsan/lit.cfg b/test/tsan/lit.cfg
-index fdbafefbc..82fd2f79d 100644
---- a/test/tsan/lit.cfg
-+++ b/test/tsan/lit.cfg
-@@ -49,7 +49,8 @@ clang_tsan_cflags = (["-fsanitize=thread",
- [config.target_cflags] +
- config.debug_info_flags +
- extra_cflags +
-- ["-I%s" % tsan_incdir])
-+ ["-I%s" % tsan_incdir] +
-+ [config.rpc_cflags])
- clang_tsan_cxxflags = config.cxx_mode_flags + clang_tsan_cflags + ["-std=c++11"] + ["-I%s" % tsan_incdir]
- # Add additional flags if we're using instrumented libc++.
- # Instrumented libcxx currently not supported on Darwin.
-diff --git a/test/tsan/lit.site.cfg.in b/test/tsan/lit.site.cfg.in
-index a215e664a..142d61bf2 100644
---- a/test/tsan/lit.site.cfg.in
-+++ b/test/tsan/lit.site.cfg.in
-@@ -7,6 +7,7 @@ config.ios = @TSAN_TEST_IOS_PYBOOL@
- config.iossim = @TSAN_TEST_IOSSIM_PYBOOL@
- config.target_cflags = "@TSAN_TEST_TARGET_CFLAGS@"
- config.target_arch = "@TSAN_TEST_TARGET_ARCH@"
-+config.rpc_cflags = "@TIRPC_CFLAGS@"
-
- # Load common config for all compiler-rt lit tests.
- lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured")
---
-2.18.0
-
diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest
index e4bfbc6889d8..de255d4dc216 100644
--- a/sys-libs/compiler-rt/Manifest
+++ b/sys-libs/compiler-rt/Manifest
@@ -1,11 +1,9 @@
-DIST compiler-rt-7.1.0.src.tar.xz 1864248 BLAKE2B 42ab86416f7f85c5833cf85dbfb66b18a5d5cf53fa0560ad43b2ef39f5a2cd7ec1dbe4192cc8dac9b3f658b828c8306f26745c4d0e8f846d9f550ac22717eb33 SHA512 54d3ad80936f011dbf2ecebba3f1b7d4a156044b178228411ba855be5ec48eb646155b74dea1a96674adab6f93803456ae1435395e3240a4423a3f65f4566b55
DIST compiler-rt-8.0.1.src.tar.xz 1954204 BLAKE2B cbba1d5fb37385116920da39dea26739d09e3f11c392503f8bc45293f1ef00c97f6a9fbd3ba67094d7f1e532410d0eca461943dadfdb10646110470a8e3b5f1f SHA512 12bf1bdabe25c0c3a84cc73a718fe154573dd729ec3ff5e099bd5f74c6bec9c80521b87ded646d3b20dfdb9aa51dea0234281418c7eb81805e1dd5d3107d3d8e
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
EBUILD compiler-rt-10.0.0.9999.ebuild 2847 BLAKE2B 79d7dbdf6ae014fbb41efe984ea88b5ba952af4c53c0899201017a8ed5b79211f00858e2b16290f7c485c133a9a064703332c54d13de9ee5ee873b59042e2d13 SHA512 e3bb02a9bb9d5be06aa2e79ee07f9a0ed7819e3832686442d7b95df903348b79d1812bcad40b2b61f5e192d51028c80dbf99df37979131c429ebd5715927fb29
EBUILD compiler-rt-10.0.0.ebuild 2923 BLAKE2B c5f9ed65aa52a8c464d9b9ebff0dd36d7147a5637e2c9b7bb08bf29ee204a583d226c94dbaf5c5ac2eff4b28cd07b64d65271a8dcf3345b12b9d4022827dd12c SHA512 fe6aa86d6fdb5b211326e8c3d5414f0c684d53c0c64431c043a12f0d0483ada79ab724e70f4b69589d5c5166b6867a1620517040d833bcef5c1ba6953ac5fb01
EBUILD compiler-rt-11.0.0.9999.ebuild 2847 BLAKE2B 79d7dbdf6ae014fbb41efe984ea88b5ba952af4c53c0899201017a8ed5b79211f00858e2b16290f7c485c133a9a064703332c54d13de9ee5ee873b59042e2d13 SHA512 e3bb02a9bb9d5be06aa2e79ee07f9a0ed7819e3832686442d7b95df903348b79d1812bcad40b2b61f5e192d51028c80dbf99df37979131c429ebd5715927fb29
-EBUILD compiler-rt-7.1.0.ebuild 2995 BLAKE2B 59d478fc487ca1293bd34d719b119d2a4a89a5d623e4b0d0e487c4c7df31bc096dc9ff072b3b5eed94807c3f88d8b2d84daa464a556ba27714efbca22b098207 SHA512 7d5207c13be7861eb07872de640b8bbc5e2a2a732f0a541dc78b92cc0e048b555b2a3378294366b317032afb4f7b3e67cf8da44518cab6d554c49a6d217287e4
EBUILD compiler-rt-8.0.1.ebuild 3033 BLAKE2B aae9682b1069da7024ea1e4bfd29914015cd2eb043d0f56fccc4d817bdf32ccdb3121f25232fe15fafa7e17d5bb9600de57c82b700d571d3ed2b3af3bf0d3673 SHA512 4ccaa041025603d7582775b1982a9644305110268d461bbdfdcfe094e0a85df0dd258aaf378e33d8a63ed6c5ff6d8f2f6701a69564c4ef1ab1a0662001d735da
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-7.1.0.ebuild b/sys-libs/compiler-rt/compiler-rt-7.1.0.ebuild
deleted file mode 100644
index 1962c02d2f22..000000000000
--- a/sys-libs/compiler-rt/compiler-rt-7.1.0.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils flag-o-matic llvm multiprocessing \
- python-any-r1 toolchain-funcs
-
-DESCRIPTION="Compiler runtime library for clang (built-in part)"
-HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="${PV%_*}"
-KEYWORDS="amd64 arm arm64 ~ppc64 x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="+clang test"
-RESTRICT="!test? ( test ) !clang? ( test )"
-
-CLANG_SLOT=${SLOT%%.*}
-# llvm-6 for new lit options
-DEPEND="
- >=sys-devel/llvm-6
- clang? ( sys-devel/clang )
- test? (
- $(python_gen_any_dep "dev-python/lit[\${PYTHON_USEDEP}]")
- =sys-devel/clang-${PV%_*}*:${CLANG_SLOT} )
- ${PYTHON_DEPS}"
-
-S=${WORKDIR}/${P/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-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
- )
-
- 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="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
-
- -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-utils_src_configure
-}
-
-src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
-
- cmake-utils_src_make check-builtins
-}
diff --git a/sys-libs/cracklib/Manifest b/sys-libs/cracklib/Manifest
index 7f44484d2dd4..ccd57833d891 100644
--- a/sys-libs/cracklib/Manifest
+++ b/sys-libs/cracklib/Manifest
@@ -2,6 +2,6 @@ AUX cracklib-2.9.6-CVE-2016-6318.patch 3288 BLAKE2B ed213c5d5228ded6ceed088bed2b
AUX cracklib-2.9.6-fix-long-word-bufferoverflow.patch 1614 BLAKE2B 01add5ae4241f0200e8b3e35c376f176c137c8ab9a75e4364e4fd285ac85d1b2e59327eb34bb21f29e0b638199cf4f9c9603b8e747d52e62978fd392b13ce89d SHA512 e4a2f9f467d3f0ce8acd4c9ea6ca19787dca6bd2bfaa80ddbf9ec1214a5e2b519c088b07760349adac9bd6805a4b512c015181863d679643cc12c68104c29a6d
DIST cracklib-2.9.6.tar.gz 642402 BLAKE2B 4d7a0d12d1e7101c82d03f76e073407481078747c283fe3251f947542017fff03fbc5e98505c6a7a8987a2bbcea99dab558c15b1eb8fd16755859ce5a4440ed2 SHA512 2b09672e5b412d670e7ed911ebf0c0023fe2901ea05c9c02eefb7a58a13cddbc27a65d75bb20be9f8cebf4c90a9a56dfe1a3b656dff62b1d6048f5376e671786
DIST cracklib-2.9.7.tar.bz2 603630 BLAKE2B 81a45b2fb9f34da84d4fb864e1a9f67a4b22c246f1e4db1c599a555f79d560a04d95afb01a89cd3a2e0936f0e8fc51ff5ada26098c24d7af0777a94f51b82bbd SHA512 f6bf65ac092ba46ff78ddbc115692260fb76dc71219cd679d2ea935ebfb9e709fbb30259a7406743ed00dbdc415335b3ac9d9fcba1d204ea36d5eb96bf1333a2
-EBUILD cracklib-2.9.6-r2.ebuild 2805 BLAKE2B d35eef237a661e312e3d335f1eb8ee70a42ec557f86a6844459f5c152b0b690811e8432b7f88f4142c12cf6d1e8eb2ed89c63dc8653a23ed27445992a6622dc4 SHA512 16915b5de982373df31325d037a5af3233b422a77dd59ce2065f096633111055b53ded49ef1e7748da42ec046f14b60314a923789d2bf4e5119276440a5abe61
-EBUILD cracklib-2.9.7.ebuild 2533 BLAKE2B da5870da3ef1c8c00f716303ca0db9474116f0cc3f0ee8f8310d52f02c3aedea84f1761bef5f73eab91d68043b3ddb19b218896ab6d9e74e61d446322bd65423 SHA512 8ddcbcf8f504e754c8651ad00b338bf7ec01b38b3e4d2b367b8f5690c331452aebe097825bb6e74467ab3af08e2148e7b4728b8c96860f306f61c024e2c90852
+EBUILD cracklib-2.9.6-r2.ebuild 2799 BLAKE2B 8caa26d3639a713c607b02fc073db01630752845a0a3b5c81f45f17cf753d9c40266e5ce573e624253b0d4f560af98a0bfdb765b7e69055e41eb4787ad501e89 SHA512 70c063f667c0a153adfa97d684d360edc036c091d8f243f2b2ba130a9106fdea93a234c9608294de741b7434c897e5e4904f8c351560e8e43ba0c5c79d27a696
+EBUILD cracklib-2.9.7.ebuild 2527 BLAKE2B 7b92ba319b46b4f55e5430dd99e9e0cb7ee4cf0e7bd317301009bcf6f65e6f6f7a64f121263b3ca5ec2fd4e9bbe84c878a304bf1c346fe3f348d38539d4749bb SHA512 bcb525d9b59ffd7c2a40f250ff3704ca271788612d9e2846cc290fea81b49c745174d776ace88d3a13b751c0dcdf7079f5880d0ac65aff0b8fc3c24b2614ccae
MISC metadata.xml 384 BLAKE2B 68827917aeea5af1cc1b3c9badfc420c3e9652f3c79fa22b925f4e317c722bf43420c5cb7e4060ed63d5b5319aad1d4cbe3b09f47422a1be06d07c598ea1cff5 SHA512 773287176f56f1a0f11edc6cd1ca85453f998ad8e58b1e608562335f814aab18124bfb850063dd4fa35aba525b776bf2c202d8afa6d4b51e354276678f324bd1
diff --git a/sys-libs/cracklib/cracklib-2.9.6-r2.ebuild b/sys-libs/cracklib/cracklib-2.9.6-r2.ebuild
index 4c9accab75f9..66b54d2dd663 100644
--- a/sys-libs/cracklib/cracklib-2.9.6-r2.ebuild
+++ b/sys-libs/cracklib/cracklib-2.9.6-r2.ebuild
@@ -3,7 +3,7 @@
EAPI=6
-PYTHON_COMPAT=( python{2_7,3_6} )
+PYTHON_COMPAT=( python3_6 )
DISTUTILS_OPTIONAL=1
inherit distutils-r1 libtool multilib-minimal toolchain-funcs usr-ldscript
diff --git a/sys-libs/cracklib/cracklib-2.9.7.ebuild b/sys-libs/cracklib/cracklib-2.9.7.ebuild
index 9e8027f90c30..320276fcb567 100644
--- a/sys-libs/cracklib/cracklib-2.9.7.ebuild
+++ b/sys-libs/cracklib/cracklib-2.9.7.ebuild
@@ -3,7 +3,7 @@
EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{6,7,8}} )
+PYTHON_COMPAT=( python3_{6,7,8} )
DISTUTILS_OPTIONAL=1
inherit distutils-r1 libtool multilib-minimal toolchain-funcs usr-ldscript
diff --git a/sys-libs/gdbm/Manifest b/sys-libs/gdbm/Manifest
index cd05812b2b19..b32756e94db2 100644
--- a/sys-libs/gdbm/Manifest
+++ b/sys-libs/gdbm/Manifest
@@ -1,6 +1,7 @@
AUX gdbm-1.13-fix-a-typo-in-gdbm.h.patch 657 BLAKE2B af19808507b00d941a51756bbc2a48686aad60c0a19626d4b3f549b948254629857eb7ce9a692d790fdf42877de2d6072455b1825347cf9d557e45239088c989 SHA512 bb31f6043184f02f9b0735d8827d09de77367bac489296805a963c01963a70c60dea8efb4a4a00c254019bf438f0c54159b3097c276185367f0064fe119544a1
AUX gdbm-1.13-fix-build-with-enable-gdbm-export.patch 1568 BLAKE2B 65a841191f362ca94d0b7d1b9df042b5f6b75aaf560aceaa702c8a11e9fa9430deb106aac6a50b211b07c66f9457732ca164352a62fc244fd4e3f2862c69265c SHA512 8bd5308a95abb7df3dd8edc63eba5c8830a6f4aa47066ac644cf5ec19767bcd97618834c598fbc1603093a8e1516b4ef325afe2a68b001d5353d2e4247d562a2
AUX gdbm-1.17-fix-gdbmsync.patch 411 BLAKE2B a7ef5283748c3aa9913c99ecf29d88acf322ce4f2fa9b4d10f41c2a59c8b39a475649ae196b96f11b76e02e27dfa3227adb1cb3e6b23777f8e413ec50c8621fe SHA512 f76d9fcf5f818fc9cd2a179e28d9b46954e305318f825cc9c50389ebadf6c244af78b67daf7b329b4f7ae0b4a09eb6e633903ad49bafb0300742af4790c1701d
+AUX gdbm-1.18.1-gcc-10.patch 1243 BLAKE2B d956231e7df353c203e37054438aa9c50f875e83afbefad5de5d150ee272131a2f4825f330b25a2eaf8aa0e2977645e827934778f77f9752aaa887fe99917b86 SHA512 23dd6edcad930bfffd8248015862674fa12402693a24dea65ba61819d81c9e4eb594223c85483cb6ca5b908967f3509ace2753702118db3e79e7d137b63c00b2
DIST gdbm-1.13.tar.gz 891987 BLAKE2B f73cb89aeed140a584c5a8bce9c2324cc39a7647ee288364af66fbe1c1cd8662e53f7cb82a208e795a6d27adc048018153671d964ecad518407eb888283e17c5 SHA512 fdb777f5b415b0578ea46b4a6fc70151a04a3568e2f2c8c0219ccad8c0d34abb773d80d5d7a06462ad1a3d6c1f3b5b7ab25f9de4f43ccf05c58db05f9a2906ad
DIST gdbm-1.14.1.tar.gz 894412 BLAKE2B e519af45d670ec4285ece01edc17770dcb0d77f12edcf2d3d4cb9580c6d2bb6d6dddb57d4f33490e11dc9df7cd08fd44ab7737b62271c5cfdc9485b90d0d4888 SHA512 a15d7acb0ebf459f4f7d262e5a05393a9a7c8e9ae906d12ccb3b38715de15a41c9254e7814555e2f9af306ef63b2dc68b5f9f6c7b75dd0db77e07a58831ff603
DIST gdbm-1.17.tar.gz 938173 BLAKE2B bef5d449b250af139e5c660ba700694bac28af3e7f220c1ed6e1e3871e5098f2b6585e2bc4b459ed0718066342dbbfa4fb168d363d6148a51e86f925bd17e5a6 SHA512 c90fe492e969093c3a790f71bd24666a93cb4017406da2ee6baa7b2dbab14628173bb03a9cc0212256539d525ecad17c816a1621b33df99650b16b47b9cc2212
@@ -10,6 +11,6 @@ DIST gdbm-1.8.3.tar.gz 228695 BLAKE2B 21b5833facb97fe937020d80b038c7b09e55eea6bd
EBUILD gdbm-1.13-r2.ebuild 1844 BLAKE2B 4ab07bf0205140ff52040f07a994be6e83703d5ad75dfd7fae9e0f933355b8526a514b4da56ef64f63c6abcdbff5f6e7173963249ba20dfbc13d9bcedd2d0476 SHA512 5e158e014d255146c7b6d7d749777862d0259b71dc4e61162bc6b1a60be947c2425028fce020405276a38d4492baec10af19395df519c1cf8387f098ab58e5af
EBUILD gdbm-1.14.1.ebuild 1762 BLAKE2B 573c5b48f5e65f1c00ea6dbed01f9af99db7873c0a9f51028eda17589d11c11b82444418d99cd24234d0bd96c3daf28920718aed6e00371766a67a34ff38442d SHA512 c5e4335786ad8b8fb4fc38f2b2a4a9f0db5a60bbb0e3c99fba80c74301c657f4b0f13f8a3f4d39a0a7ee27eeaa5727795be69c05332ad463464babde6ea31b5f
EBUILD gdbm-1.17.ebuild 1358 BLAKE2B 663f146c1603834593e9f03fc037b5b54f73880458d00678447026253eaa0df7c2f0f874a694c7dc8a325e965b1fa2416cd7bcb11a91cabfc4b1dc086253ff51 SHA512 49fc0a53786f46aab733e30301e8547a98b338ba1f3c29f5e42e361a776514750744196538fe6a87027dba8e263f690bae6b4af2c5d37b4e43456fb6c299e703
-EBUILD gdbm-1.18.1.ebuild 1309 BLAKE2B 2d948e8bd23db6ed43be7ba2183087f1827a66bbcc918184d668f9366348dd62c82655875d250032db4714e2ae829c47d7ea16ebb13345fb8ac46c55ea80c3af SHA512 0c13fef5dbfafb76f966db725fc41b8068ef4f728ae961c5652054fbe7b18a1bec3afa8efa0c27821a397ac2cf447422a1c8a86cb4b3c5de38efcb83bd933c9b
+EBUILD gdbm-1.18.1.ebuild 1360 BLAKE2B 2e5b2f50505cd7f428e0337d3fa0089d497cffdac7bcf1075e77f9ddc55489668e5024cf6f80e6eaa386901d27170af8f26076df0ad12e1a1333ab268dcd8c62 SHA512 4b808ef47a8f5037c9ea2a87d84863a304c0e479039f0af7fe70028f50c363c25b6176867f0ff14bd7a24fa4f6994a59a75397b5d8daff26aef37a2e4af88eb8
EBUILD gdbm-1.18.ebuild 1302 BLAKE2B d78144e2bbac7b03e9152defa9b480521f5910bf9f80d7d1af09c3c9599e38f82f5751f5e24da37179b45735b478d9ec77f5780dbbe0da33889cb04b21382444 SHA512 b2092b8159ca3d236abd1f80346f5df48ff8935f4d8da1a320b4926b4fe6eb64f55af739bea346dd373a2c0eac8e11a49e48dc47c8713e4aa8c8720c94b53e48
MISC metadata.xml 471 BLAKE2B d73a0a1493a17d9990451e721b5bccddbdc3cfb59af544b1cdd927e31c65795888b13c7e42274a454d7dd8762ba92c5ab94dae5af7389a67688e6b06840ebad5 SHA512 05f989aa1f1d2ca29d4084741af8465c3daa0713881130aeb8ba8ac65f89a8874d668a0ea32184ec404e19777aa1df9e8d2526fe2ce9a22cae8c08c608501d41
diff --git a/sys-libs/gdbm/files/gdbm-1.18.1-gcc-10.patch b/sys-libs/gdbm/files/gdbm-1.18.1-gcc-10.patch
new file mode 100644
index 000000000000..9b3e3d736c15
--- /dev/null
+++ b/sys-libs/gdbm/files/gdbm-1.18.1-gcc-10.patch
@@ -0,0 +1,40 @@
+From ab05ea727942b5c1469e2e86548581264c6e2de4 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Sat, 2 May 2020 12:39:39 +0100
+Subject: [PATCH] gdbm: fix link failure against gcc-10
+
+Before the change on gcc-10 link failed as:
+```
+ CCLD gdbmtool
+ld: ./libgdbmapp.a(parseopt.o):(.bss+0x8): multiple definition of `parseopt_program_args';
+ gdbmtool.o:(.data.rel.local+0x260): first defined here
+ld: ./libgdbmapp.a(parseopt.o):(.bss+0x10): multiple definition of `parseopt_program_doc';
+ gdbmtool.o:(.data.rel.local+0x268): first defined here
+```
+
+gcc-10 will change the default from -fcommon to fno-common:
+ https://gcc.gnu.org/PR85678.
+
+The fix is to avoid multiple definition and rely on
+declarations only.
+
+Bug: https://bugs.gentoo.org/705898
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ src/parseopt.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/src/parseopt.c
++++ b/src/parseopt.c
+@@ -255,8 +255,6 @@ print_option_descr (const char *descr, size_t lmargin, size_t rmargin)
+ }
+
+ char *parseopt_program_name;
+-char *parseopt_program_doc;
+-char *parseopt_program_args;
+ const char *program_bug_address = "<" PACKAGE_BUGREPORT ">";
+ void (*parseopt_help_hook) (FILE *stream);
+
+--
+2.26.2
+
diff --git a/sys-libs/gdbm/gdbm-1.18.1.ebuild b/sys-libs/gdbm/gdbm-1.18.1.ebuild
index 5ed06c512139..5b38687c43c9 100644
--- a/sys-libs/gdbm/gdbm-1.18.1.ebuild
+++ b/sys-libs/gdbm/gdbm-1.18.1.ebuild
@@ -19,6 +19,8 @@ DEPEND="
"
RDEPEND="${DEPEND}"
+PATCHES=("${FILESDIR}"/${PN}-1.18.1-gcc-10.patch)
+
src_prepare() {
default
eautoreconf
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 53784a04a153..90e1271c92bb 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -2,6 +2,8 @@ AUX 2.19/glibc-2.19-ia64-gcc-4.8-reloc-hack.patch 1360 BLAKE2B 19d218e91b1d3d38c
AUX 2.19/glibc-2.19-kernel-2.6.16-compat.patch 3214 BLAKE2B 64af88703bddaa301ce25d4400e00140fae536882443510466510766a60ac1cf4ceca35ca0ad4384f0cdc05b79352ac7da92f555561d1f6cdd65f7cc8464c6d7 SHA512 c21d80b7ae5b2691e5b6d43a42153193822ccc2b4418728edd5f2fa72412992d103b61418b57f9cf26e72378b24aa7cbaed05eeb31a4ec312a715d258cf5232b
AUX 2.19/glibc-2.19-kernel-2.6.16-hide-pipe2.patch 620 BLAKE2B 216e728e40b044684843bff97eae31d65689595bcc3e345ef019a68e15c190cbd7fa685ff39e6363cf213f3f5676dee49f235beb1984a9e150e2b4ab72fcf605 SHA512 b93822269e67262fa45cbc50c5ec562d60ef69b2338afd56421b2d74d97360823dd4252abb0faee83231e4b3fd3f7357ef0249be8721f48fe176e512c6f5e447
AUX 2.25/glibc-2.25-gentoo-chk_fail.c 9068 BLAKE2B 6fabcbb981d92101ff3b97e8eed4da3c0ee4fc3d09ca344c2d0b7ee5e04fec66b5db314263541beeb1290bafa837795fef1a6300986de938d2958ba89a9c1f2f SHA512 4503002b0e2cee0b6efc4599152d24fcff330157d4e35992a77d0d83a2decc4cf2da2b8645a44d90d428a1d82300a4fd8d13c5937b7c89f368c12b3c9139be6f
+AUX host.conf-1 936 BLAKE2B 1576b57e079c8596ae86d518da364b4d50f0dafb6879c2a7eb1f67f12057f3207c58a7f98dbc4e09acaa23fc152d63547176ba8bfd050a60413ff4d000f6c11f SHA512 0b2729ee91a6fcec4dd391b31088fab7257c698284a7f757855a9bdbce4d38037e81a58c62a28b591966099bdec3b307bab697f3015c7adbf5d5f33626658c72
+AUX nscd-1 1897 BLAKE2B aefa781de3181c5609ac2659632f0a5bdfa6bbc8e22b73fdf5c28ca36184b5614bb2febd581d0c41a1f3dd72c45a191866cbc827f5e7009722b6d839518a27d6 SHA512 b2edbdc33fb4290378d9520bfcefcbb5183e8b8f0e80cf3573fb4ce6cf309e21f59178f31eec4ada90b4b37e502038e71b31f93b2ba2c7fa36a7eef1b1d9bf70
AUX nscd.service 337 BLAKE2B 6b163465dd8db024652921892dc913da8dfc0984eec7ffce621229e48fa99dcedc3b5944844529190122c81f4884b6a6fe7836d37d2d812f34059c530856dec1 SHA512 2001100f3b054843c69b6fd2d38852c7c824282aa8998c25a3c0352db993705429d25c70d8ce6cb3579f836b7089644c520acac423ebd69cb1b36e94a77c5bea
AUX nscd.tmpfilesd 111 BLAKE2B 4abb7220564e248fc7eeeced41077f186f42594facbfac9a4c0ff36209baac529c219ad6ead8d8aa53ab2b092002f1006a4479459b9e9a7c5a0294cb7d822100 SHA512 53b80b331e1a85d8ee16eb2ce547a7249e944926c3d1cdd4a47a5301a5c842ffc7ec1e3dc0a731542a8facf8261c1c57121802d01741aa89898a3476c09da340
DIST gcc-4.7.3-r1-multilib-bootstrap.tar.bz2 8064097 BLAKE2B 3cc5c82cd57d0fbd26d9a376ee8ca02f119fe9d653311cbe4d2b7b93aec2290adac3be271be19a7fdedae2e11e4b6e32360184e557204e100ad64357f5575d4b SHA512 40b93e194ad41a75d649d84d1c49070680f253a13f0617803243bc61c44fed1ca2d0a7572a97ebb79353f312b58b5f6360be916dd7435928cc53935082e15269
@@ -10,28 +12,17 @@ DIST glibc-2.19-patches-9.tar.bz2 24584 BLAKE2B a96e930a5bd20fa75d9f259cc2117fa5
DIST glibc-2.19.tar.xz 12083312 BLAKE2B 9dc03346e0f0df4bf009a92d894b0a9f964ff92b7f4c9663cedf1cb6cf90435f28a15539d33791ecf43ee578fa4e26f916af0367651312ef8f9c1c38ce0dafa2 SHA512 9e021fcb3afbb9ace2a0e37fded231a62de861bd766e29d47163a03182e37add718b7acc3963d1c525f9556773e842297725715acde48dcfbaab6e756af1a23d
DIST glibc-2.25-patches-15.tar.bz2 78320 BLAKE2B 70c62cc10db13e2844de4d8a18972e0f4d01ba52fbd40db57c11d7b1c2c0d571b894f01e762bb26632fd696a77c299ef0766e2f129d2eda896f58325a754a13c SHA512 7204218ea82b677e0f278c4752ddb90aa0c08ac2349d061de81ec91dac204b0f10fe223d7b1055b9e0c21dac97c835f913a90c0168a5000d3be00dd20027c185
DIST glibc-2.25.tar.xz 13873900 BLAKE2B 73ef792fff059f6ad154c9af2155ea15b7869ec1b93e557b6c58129bfb50f863c06f8b49425d75fd2df537dd9c4a68bad790cff770c50a6889732d66f507d349 SHA512 5b7a2418d5b8a1b6a907c6c7fb6477ee2a473151cb45e03d0d4cdd9a33497c90b1ee39e2e7e885e2b25743dcd3747336ef114b4a73eb001da1fd79f29e0f9a6e
-DIST glibc-2.26-patches-7.tar.bz2 413976 BLAKE2B 18263201cf33abf911eb7b802ed539b217391156f897a8db50f65a69627d8f8cceded78414168986ee98eba038364a6b2f3599b23f95e7b0ad2643481c399718 SHA512 0c812a343fcc68c10d92117cb2a0cf1c255470e81f0a7a04d6db2fe35445e410ef37f15162f145c2eb772b08ab55af246f5b52f5e57c2e91038181f6f027abc3
-DIST glibc-2.26.tar.xz 14682748 BLAKE2B c1c9dbec110dd4e25b2f463a96d8afc43b8e3ebfe3c958107032beaa879710252be3bc4122bb62166408725d43785f233544df6159d29cce0fc5b2c08f45adbe SHA512 6ed368523bc55f00976f96c5177f114e3f714b27273d7bffc252812c8b98fb81970403c1f5b5f0a61da678811532fb446530745492d2b49bfefc0d5bd71ce8c0
-DIST glibc-2.27-patches-3.tar.bz2 166511 BLAKE2B 1dc54bef6e82112935c7411f7a5cd07c1edb24c3edaa1e0243b846b3832a40af1ba3a7b77aef04c54a173388156b464ea442fa8310a02e6f44e2ed5b78994286 SHA512 12496e9b0c60630dbec4c2febdd6d20df1f3d7a2c243cc55b595202b27f682b9208e16cd8c387687c0cc9e18b36c3caeef8d1b1148eb3ee8081431997270db5e
-DIST glibc-2.27.tar.xz 15395316 BLAKE2B ea206d304c8c9aa86d69db981a14bea008602cea06a6c151c4971a8df059949ffe5632b42a67ab0ffcd7c4d7ce1ec02ac48815dac4dade1c4dd41eaee8a6ed33 SHA512 7c5581154487d38d173ce1feb944e60207139cca148bccf066eaae322c0c2d219423bdcfa15c7f9be1b5e45dfc43c641cc5d80d3c3c65837d08a83cdb4e2a147
-DIST glibc-2.28-patches-9.tar.xz 98588 BLAKE2B 4ab583be712994f949dee2512da6e12fd7f7ad73e96393f21678552b43da98f49321b53b5b009551300cdb09ca135e7f6adc636ff750c251a1d6d7f262dbc410 SHA512 e3f40ae6e9d06471c1a11bd2bce7b5161d07c3d0a81791505a72aec4817e7faf9ef09841e98c6dcf62a0a00754dff87dd194d97ac6b6354aeb2497cf60900b96
-DIST glibc-2.28.tar.xz 16484344 BLAKE2B 9aa8cbd5a145c2a6fde3a60b3d0a14b12b46ed79333ad1ca3e73464adcfe700277a17a9e7fd0ca36e355a0c5b0b27decfa091da320ba802741ad75cc955bbcc8 SHA512 521f820953ff07c69ece4c2186f59fc061a7f9747932cd70ef2995c2b2deee76eeb6de700d85071cdca5949179aa8ccee75eda7feca1394121ec7b821ad0a3f3
-DIST glibc-2.29-patches-8.tar.xz 102712 BLAKE2B 49aacff358c0f8499c444e73eec92f402b81236d6a91d1fc9864f974c5cb72fc5c87bf5ee77700a8333db4c68892b3940948158530cea0d0fbbda51df0ae7953 SHA512 7a929e023294e6b76569120cc234bc862f3e260994e56c3a2fc2b969b7313c94a47de7ef85f4e93c9083c16fde987ca470ab9d69d881ab49a22f5fd3a721703a
-DIST glibc-2.29-patches-9.tar.xz 104444 BLAKE2B 3c20891ee5c435925e67bbb641da54b6b7fe0114f5f1d3ea9e616414f9bafb4d32b4303f4f798507ee4e42227d68a543da203450b9bd10b61628cd0b3547725c SHA512 c38f23e78e313fe2a9e223b720e8fd93c7c57e8408c6bc3ceacbfde354fa5d963e3cb525fe75aad7aaf7347066c0e4a671c0553fe490888478ff909492fdd164
-DIST glibc-2.29.tar.xz 16515488 BLAKE2B b754e6825176538a2b8ca03fce014f0d87d333dc4d038bf0cda5ee8a2f484cd3ce93ad78ec126737e093ab64b55ceedf04cd08aecb4f8041daaa329e99717afa SHA512 146bc0769fe853d9edbf93cea7f74c5b3d84d69cb7614c62588e7acdecd1ec789a9d8949f3e8b99f8f36f2ccac740a003bed94f32b07817baf780b06cfeb6ed0
DIST glibc-2.30-patches-10.tar.xz 72808 BLAKE2B a7a95c99482524b2896d15539766f1e6b1fe34a22f32119248c6dd44f42632076e86fdcbbdc2d604ec73ceccdd8a7f5936a62a6f4c3d039fae8f6901dfc6be77 SHA512 af5e213ff08bf38f6f529816c36b4e38df27207c2df254609ebe45b2f039ab553bbe563aa6f64b6667d328fd2c120dc21b6e2676540bdd94e58079237089eac3
DIST glibc-2.30.tar.xz 16576920 BLAKE2B bd5aae4c9854f40785b91f83c3b632de6d48d811027ddfe61651cb1bc617db8017d7914c23a770cdd3feed06fcc316da841eea916cdba54179e7eace4ea45484 SHA512 37483990cd653685873e96c45dd1651b32b441b6d7919a68ebe3bae31a0c3f7ce183fc9b110f0b268b353f80312f18370559a1e7aecea0e5aa755c8f2aef1d6b
DIST glibc-2.31-patches-4.tar.xz 40464 BLAKE2B 8c79b446a37be8f33c10b9fe987d2f55f285bf672a48bf307b60cbc322aadad1eec209b8d2ab88c023fcc718b08d089a151797e2b7352672234044ccd5eb9a9d SHA512 385de24a814646af3c8504ac1b76aa9d8ee5043d1e666656f7b31fc4a66c32b7c2a7b361b1a77e910182c07ff44bb1d228fd8de13a1915210035cad71251001a
+DIST glibc-2.31-patches-5.tar.xz 52720 BLAKE2B 0e4315a79d4108e8a0eb2d849086de40a3ddebd9c09592ec5ecd02d9a0481f58588d7fca345624b0e345b077f6f3ad4257fb5949a0f05be2a004489af585a329 SHA512 c081aef22efacac19ce343ad6e55b8102869c42142dfd478e1cc03e85d6569771b52b737173df0996e273dc6ad1e8dea391658e03d5bcb69f2ed754801b3f6fa
DIST glibc-2.31.tar.xz 16676764 BLAKE2B 91df1792345f157265eae405185a81fd4b8ce36d4c2388f44b0d5b1ae38174ea374cbc909cd260770b9f38ea58051da13766d4fa22abf41c2d4a2493257b179b SHA512 735e4c0ef10418b6ea945ad3906585e5bbd8b282d76f2131309dce4cec6b15066a5e4a3731773ce428a819b542579c9957867bb0abf05ed2030983fca4412306
DIST glibc-9999-patches-16.tar.xz 17736 BLAKE2B 772f5012ead8e27f5cf5fd2613de9a76ead2128ecd9324cc499e677ea3a96110cb0d4b1d3f12860ffa1267093db310503d7d873fb95060b0c1e046c6a60601d0 SHA512 eb885b7743ac88df7e9eb3a1cd415bc9eabff1c6bd00d32c4e50f1d9dfcc32419eb72ef06749b279d5b80a200a83bc951a851b8c96a023ab09a8a0c28045d563
+DIST locale-gen-2.00.tar.gz 7738 BLAKE2B cde6de5ba3400aea24d0d5f1b79471f89f09fb747c8e371e38316c7ada92f967e0865f573f23cb353d82419c234724143c0aeca9eb70eb945dfc581cc7491eb1 SHA512 b609fddb9ec5e567c008841fef3390eddb5d6e7699a8271b3b8c0ade1b44b0ac2e5d1daa8b9acabf3432e3b88110b538a96f209b1ad0f9e988b7efce66606dff
EBUILD glibc-2.19-r2.ebuild 38287 BLAKE2B 6537e90257900cfb0abd28c3391fb530fa24ce74cdcf870ce340f8ee605b941550329120b1598266ed9ace251f5d12980a20d0297c04fdff633ab92baed66ed4 SHA512 7082dfd299db188b9fad3a3807e723d7b274520cb579b8681030b10d8807520ccbc960ac47d03ad7c6788add345caaeae894e2f2bce2bc1394e564540707c488
EBUILD glibc-2.25-r11.ebuild 6063 BLAKE2B a995a2553fad56abe09f0f890e2c70f94568675057367795acc7e62fdeb8b103a8ed9b5228bbe3aa74a70c7d657808ee0420c6c8931386c7a9c2adb0c330d15c SHA512 1b8e906841492e4f9361f909e91069c3a642d84a0216fab18b434f61db991c13765a31e29175854d43bf1b8159b462cd02e138bd593990c2306afd70f163a0cd
-EBUILD glibc-2.26-r7.ebuild 26446 BLAKE2B dfc367d5351a5e010d48a1307a2358ec7637cb1a9302a95d04231e6818bc5b5abb89e884096190195433330cb7e2482ebf7d430e171029b31e7da011712cd3ea SHA512 37959b14a9ae60eff133f896f24bad56490e95a29a953a14df10d33ea588afd3e8f0c51ae29ecf12ea0d7596a736e3b2a7e0b95665400f8f2fca1ebe8d8c7f8c
-EBUILD glibc-2.27-r6.ebuild 41795 BLAKE2B cff5d02f78f3d4f5a5d68ee93774240f79738e439cc2f132ec0a6ad2f7e78b079115c62bf48dd39f4c9fe344128083a787b5029f628c7812a0b2607c6a845e0b SHA512 88143de8b73408374f3386499cdf982e464dcfd8b104426e723af99b01a013e61206d0da3ec7b1421ffcac05b025cb7aa944c714d69ff5a9782dd407ac8ad012
-EBUILD glibc-2.28-r6.ebuild 41563 BLAKE2B 8e0e67db7d98de149e07171cd40b26451068b48dff9c5f334a264c00987aff129c24f09b38703003139423fb81e0abd455a360c00bc76895e17e3b78be028608 SHA512 b021a2330f124a946b416cbd3f276be7226e5c26740f83e7d8c7bd8dd31632112c47cfcf9025715ee5e10649dad7ce402d711bec767a30fa90c20adf676116eb
-EBUILD glibc-2.29-r7.ebuild 42146 BLAKE2B fc30939690b9a461fda38378198b8435be0fef975fe097722cce175275c0007ca09eb67aeb0746f6d358eaf458ad5aacd929c71dc7e71eb849e0de7df4837ca8 SHA512 0b429a1da4c45dcf2d8938299f44425a5411e9c8d856b4e5c5e623619362c1eb2c4c6b92f61a0855f94dd15b2f161b950d695551321cccefce43909cecedc5b3
-EBUILD glibc-2.29-r8.ebuild 42374 BLAKE2B 153acc4a84a09217795c55e748faeb8443f2eecf51dbc668601a65e9dedb80c4c0b6748b5d69914532c0c3fed7d827d064ae1373a614370751e86d2c84683f82 SHA512 cf05ad9bbed00b0d6ec69518764679ee170f8950568fbe3a4dc849d006b497003c58919b2ee58f89a4250a6ec80f715cb708f99484cec8a13c6b8042d6a19bc2
-EBUILD glibc-2.30-r8.ebuild 43412 BLAKE2B 538223619b741818228e5d0e000bd862c58416f165a739d579c526a6b4f59b2d458cf907cc9ad46c1524c6d5678114b33b1a196f29cad5210decdf85dfedb6e0 SHA512 63f4bbe64b2596eacbe05c4a3baf63a4b967c283a5a6f526092daf464ff34109ff52c22a7e1c4c6d7744a169a4b97bb135dd96a90196b0abbbc9910f41dc031e
-EBUILD glibc-2.31-r2.ebuild 42667 BLAKE2B 5b40b5eab6038150442b0f03b695503fc0b686281c72b07bf3b2a63cb108c981b5684021014ff1606b9adb35c208765a9e017dbf4f5475df0d2e9af2001d0229 SHA512 9fd6375c0717ae7183bee46c8b53bc8962406ac8838429e5a84884c2af287b39d882f2608adf72e5c066fcf242e7e4661b4e387459325fd5839134490c27097b
-EBUILD glibc-9999.ebuild 42635 BLAKE2B 02963f47e76ef21b2e0b6864136cad1053ee215ba9de9a968e85c1b34164b6067049f72e120c51092c10c7c9994cd07960463190bf01c4533e6fe0f70bdcd4ab SHA512 ec4f746b8209173bdad00fe7894fc48d9b6aac6dd213cb2a212d7971f1d03620ecb6901d995baba54c4718a520ccab3d9850d0a30622f270ba784945677fb2b6
+EBUILD glibc-2.30-r8.ebuild 42896 BLAKE2B 874f872895509e5bde1f1d08797e8b594d543970e4f48f7cf17890dd14a82d0691b8cd14631054c7c1b180f3189e1a67e7101cdcf4a01a587bfce38cc66d9d8c SHA512 351f515f0fcd4525b5913a912e172575e33d63afed65db7722706296ed712e42dabe9d3c936a0749d9c252b092d5e273addd2390971228897741c6955e7d105c
+EBUILD glibc-2.31-r2.ebuild 42977 BLAKE2B f0835caa912c06b3c94c679f521c81d74213d906c9b1341a29f3c858fcda0791e090962aa2fb3e196111ad92b48c860f7d7368c66e2fc7b98d8e5294c71a3a17 SHA512 1d0d0cd31d4fa5e9f14fea2571f32fc86b1a458a7ac083db8b7a13d29817dcbfd7264774d672bf38529c19c42903bf838cb5cb72f0122e7b4b0e88702bcd6a26
+EBUILD glibc-2.31-r3.ebuild 43185 BLAKE2B 18ae13d0a03d4618781a8754cb4220f53b7060e7830d4fa27865d98e36521079c34905a6796e5ea43677c368e94243431f62ceaf5335f13b52c61c345b7b6e66 SHA512 df03d3eda73034de7b036088a0d14363b3f80a6da704c5a4bcf27722553d0a71a11a328583a6c4d21aac1dbb167d1347eeae978944d9733e7138cf3c86581a37
+EBUILD glibc-9999.ebuild 43238 BLAKE2B b180676fb42887e4c66517b300415454f21a00d17a46ef00983bf413fd8b89c76def7a54016384af03859931884d5011eeab359234166509dcd8e846e8ad0849 SHA512 acd5345517c4998dc0d6d577dc68514409bff6358855dff127ab69f9b11f9f6a0ab00b3c10aae16846b1cd9f8bbd056bc99eb67e4063136e40f80ac20fe9ffa7
MISC metadata.xml 1491 BLAKE2B 4688b54e937163824a5895f4fbbcc9f09152378c68416f62294f7f1506379ecb82de43e8d2c6a64d1647c16700abe7c750b3cc658a9c7053891b3a9504f2ae93 SHA512 f6c002a52bb81471fbb631c7c430e1e91f6fdefc84a0c1f330606ac6347067b60f8a6d078169d49d2b30fa6991883466fff05caf4f93f53c00e5ced625dd8c88
diff --git a/sys-libs/glibc/files/host.conf-1 b/sys-libs/glibc/files/host.conf-1
new file mode 100644
index 000000000000..4c58e52d6b3f
--- /dev/null
+++ b/sys-libs/glibc/files/host.conf-1
@@ -0,0 +1,24 @@
+# /etc/host.conf:
+# $Header: /var/cvsroot/gentoo/src/patchsets/glibc/extra/etc/host.conf,v 1.1 2006/09/29 23:52:23 vapier Exp $
+
+# The file /etc/host.conf contains configuration information specific to
+# the resolver library. It should contain one configuration keyword per
+# line, followed by appropriate configuration information. The keywords
+# recognized are order, trim, mdns, multi, nospoof, spoof, and reorder.
+
+
+
+# This keyword specifies how host lookups are to be performed. It
+# should be followed by one or more lookup methods, separated by
+# commas. Valid methods are bind, hosts, and nis.
+#
+order hosts, bind
+
+
+# Valid values are on and off. If set to on, the resolv+ library
+# will return all valid addresses for a host that appears in the
+# /etc/hosts file, instead of only the first. This is off by
+# default, as it may cause a substantial performance loss at sites
+# with large hosts files.
+#
+multi off
diff --git a/sys-libs/glibc/files/nscd-1 b/sys-libs/glibc/files/nscd-1
new file mode 100644
index 000000000000..f69c8e2eacd0
--- /dev/null
+++ b/sys-libs/glibc/files/nscd-1
@@ -0,0 +1,85 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="The 'Name Service Cache Daemon' is a daemon that provides a cache"
+description="${description} for the most common name service requests"
+
+extra_started_commands="flush_all flush_hosts flush_group flush_passwd flush_netgroup flush_services"
+
+description_flush_all="Will invalidate hosts, group, passwd, netgroup and services cache"
+description_flush_hosts="Will invalidate hosts cache"
+description_flush_group="Will invalidate group cache"
+description_flush_passwd="Will invalidate passwd cache"
+description_flush_netgroup="Will invalidate netgroup cache"
+description_flush_services="Will invalidate services cache"
+
+pidfile="/run/nscd/nscd.pid"
+command="/usr/sbin/nscd"
+
+depend() {
+ use dns ldap net slapd logger
+}
+
+checkconfig() {
+ if [ ! -d /run/nscd ] ; then
+ checkpath -d -m 755 /run/nscd
+ fi
+
+ if [ -z "${NSCD_PERMS_OK}" ] && [ "$(stat -c %a /run/nscd)" != "755" ] ; then
+ ewarn "nscd run dir is not world readable, you should reset the perms:"
+ ewarn "chmod 755 /run/nscd"
+ ewarn "chmod a+rw /run/nscd/socket"
+ ewarn "To disable this warning, set 'NSCD_PERMS_OK' in /etc/conf.d/nscd"
+ fi
+
+ if grep -qs '^[[:space:]]*persistent\>' /etc/nscd.conf ; then
+ checkpath -d -m 700 /var/db/nscd
+ fi
+}
+
+_flush() {
+ local table=$1
+
+ ebegin "Flushing ${table} table"
+ ${command} --invalidate ${table}
+ eend $?
+}
+
+flush_all() {
+ local has_errors=0
+
+ ebegin "Flushing all caches"
+
+ local table=
+ for table in passwd group hosts netgroup services; do
+ ${command} --invalidate ${table}
+ [ $? -ne 0 ] && has_errors=1
+ done
+
+ eend ${has_errors}
+}
+
+flush_hosts() {
+ _flush hosts
+}
+
+flush_group() {
+ _flush group
+}
+
+flush_passwd() {
+ _flush passwd
+}
+
+flush_netgroup() {
+ _flush netgroup
+}
+
+flush_services() {
+ _flush services
+}
+
+start_pre() {
+ checkconfig
+}
diff --git a/sys-libs/glibc/glibc-2.26-r7.ebuild b/sys-libs/glibc/glibc-2.26-r7.ebuild
deleted file mode 100644
index 95efd5f51399..000000000000
--- a/sys-libs/glibc/glibc-2.26-r7.ebuild
+++ /dev/null
@@ -1,857 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit prefix toolchain-funcs toolchain-glibc
-
-DESCRIPTION="GNU libc C library"
-HOMEPAGE="https://www.gnu.org/software/libc/"
-
-LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
-EMULTILIB_PKG="true"
-
-# Configuration variables
-
-if [[ ${PV} == 9999* ]]; then
- EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
- inherit git-r3
-else
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86"
- SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
-fi
-
-RELEASE_VER=${PV}
-
-GCC_BOOTSTRAP_VER=20180511
-
-# Gentoo patchset
-PATCH_VER=7
-
-SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/${P}-patches-${PATCH_VER}.tar.bz2"
-SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
-
-IUSE="audit caps debug doc gd hardened multilib nscd selinux systemtap profile suid vanilla headers-only"
-
-# Min kernel version glibc requires
-: ${NPTL_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 disable stripping
-# entirely.
-RESTRICT=strip
-
-is_crosscompile() {
- [[ ${CHOST} != ${CTARGET} ]]
-}
-
-SLOT="2.2"
-
-# General: We need a new-enough binutils/gcc to match upstream baseline.
-# arch: we need to make sure our binutils/gcc supports TLS.
-COMMON_DEPEND="
- nscd? ( selinux? (
- audit? ( sys-process/audit )
- caps? ( sys-libs/libcap )
- ) )
- suid? ( caps? ( sys-libs/libcap ) )
- selinux? ( sys-libs/libselinux )
- systemtap? ( dev-util/systemtap )
-"
-DEPEND="${COMMON_DEPEND}
- >=app-misc/pax-utils-0.1.10
- doc? ( sys-apps/texinfo )
-"
-RDEPEND="${COMMON_DEPEND}
- sys-apps/gentoo-functions
-"
-
-if [[ ${CATEGORY} == cross-* ]] ; then
- DEPEND+=" !headers-only? (
- >=${CATEGORY}/binutils-2.24
- >=${CATEGORY}/gcc-4.9
- )"
- [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
-else
- DEPEND+="
- >=sys-devel/binutils-2.24
- >=sys-devel/gcc-4.9
- virtual/os-headers
- "
- RDEPEND+=" vanilla? ( !sys-libs/timezone-data )"
- PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
-fi
-
-#
-# the phases
-#
-
-pkg_pretend() {
- # Make sure devpts is mounted correctly for use w/out setuid pt_chown
- check_devpts
-
- # Prevent native builds from downgrading
- if [[ ${MERGE_TYPE} != "buildonly" ]] && \
- [[ ${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 ! glibc_run_test '#include <pwd.h>\nint main(){return getpwuid(0)==0;}\n'
- then
- eerror "Your patched vendor kernel is broken. You need to get an"
- eerror "update from whoever is providing the kernel to you."
- eerror "https://sourceware.org/bugzilla/show_bug.cgi?id=5227"
- eerror "https://bugs.gentoo.org/262698"
- die "Keeping your system alive, say thank you"
- fi
-
- if ! glibc_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"
- eerror "a newer version as syscall(<bignum>) will break."
- eerror "https://bugs.gentoo.org/279260"
- die "Keeping your system alive, say thank you"
- 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
-
- # Make sure host system is up to date #394453
- if has_version '<sys-libs/glibc-2.13' && \
- [[ -n $(scanelf -qys__guard -F'#s%F' "${EROOT}"/lib*/l*-*.so) ]]
- then
- ebegin "Scanning system for __guard to see if you need to rebuild first ..."
- local files=$(
- scanelf -qys__guard -F'#s%F' \
- "${EROOT}"/*bin/ \
- "${EROOT}"/lib* \
- "${EROOT}"/usr/*bin/ \
- "${EROOT}"/usr/lib* | \
- egrep -v \
- -e "^${EROOT}/lib.*/(libc|ld)-2.*.so$" \
- -e "^${EROOT}/sbin/(ldconfig|sln)$"
- )
- [[ -z ${files} ]]
- if ! eend $? ; then
- eerror "Your system still has old SSP __guard symbols. You need to"
- eerror "rebuild all the packages that provide these files first:"
- eerror "${files}"
- die "old __guard detected"
- fi
- 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
-}
-
-src_unpack() {
- use multilib && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz
-
- setup_env
-
- # Check NPTL support _before_ we unpack things to save some time
- check_nptl_support
-
- if [[ -n ${EGIT_REPO_URI} ]] ; then
- git-r3_src_unpack
- else
- unpack ${P}.tar.xz
- fi
-
- cd "${S}"
- touch locale/C-translit.h #185476 #218003
-
- cd "${WORKDIR}"
- unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.bz2
-}
-
-src_prepare() {
- if ! use vanilla ; then
- elog "Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER}"
- eapply "${WORKDIR}"/patches
- einfo "Done."
- fi
-
- if just_headers ; then
- if [[ -e ports/sysdeps/mips/preconfigure ]] ; then
- # mips peeps like to screw with us. if building headers,
- # we don't have a real compiler, so we can't let them
- # insert -mabi on us.
- sed -i '/CPPFLAGS=.*-mabi/s|.*|:|' ports/sysdeps/mips/preconfigure || die
- find ports/sysdeps/mips/ -name Makefile -exec sed -i '/^CC.*-mabi=/s:-mabi=.*:-D_MIPS_SZPTR=32:' {} +
- fi
- fi
-
- default
-
- gnuconfig_update
-
- cd "${WORKDIR}"
- find . -name configure -exec touch {} +
-
- eprefixify extra/locale/locale-gen
-
- # Fix permissions on some of the scripts.
- chmod u+x "${S}"/scripts/*.sh
-
- cd "${S}"
-
- if use hardened ; then
- # We don't enable these for non-hardened as the output is very terse --
- # it only states that a crash happened. The default upstream behavior
- # includes backtraces and symbols.
- einfo "Installing Hardened Gentoo SSP and FORTIFY_SOURCE handler"
- cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-stack_chk_fail.c debug/stack_chk_fail.c || die
- cp "${FILESDIR}"/2.25/glibc-2.25-gentoo-chk_fail.c debug/chk_fail.c || die
-
- if use debug ; then
- # Allow SIGABRT to dump core on non-hardened systems, or when debug is requested.
- sed -i \
- -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
- -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
- debug/Makefile || die
- fi
- fi
-}
-
-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 $1"
-
- 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 ; do
- einfo " $(printf '%15s' ${v}:) ${!v}"
- done
-
- # The glibc configure script doesn't properly use LDFLAGS all the time.
- export CC="$(tc-getCC ${CTARGET}) ${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)"
- einfo " $(printf '%15s' 'Manual CXX:') ${CXX}"
-
- echo
-
- local myconf=()
-
- # set addons
- pushd "${S}" > /dev/null
- local addons=$(echo */configure | sed \
- -e 's:/configure::g' \
- -e 's:\(linuxthreads\|nptl\|rtkaio\|glibc-compat\)\( \|$\)::g' \
- -e 's: \+$::' \
- -e 's! !,!g' \
- -e 's!^!,!' \
- -e '/^,\*$/d')
- [[ -d ports ]] && addons+=",ports"
- popd > /dev/null
-
- case ${CTARGET} in
- 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 )
- ;;
- *)
- myconf+=( --enable-stack-protector=all )
- ;;
- 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
-
- [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp )
-
- if [[ $1 == "nptl" ]] ; then
- myconf+=( --enable-kernel=${NPTL_KERN_VER} )
- else
- die "invalid pthread option"
- fi
- myconf+=( --enable-add-ons="${addons#,}" )
-
- # 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=$(alt_build_headers)
- --prefix="${EPREFIX}/usr"
- --sysconfdir="${EPREFIX}/etc"
- --localstatedir="${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_multiarch || echo --disable-multi-arch)
- $(in_iuse systemtap && use_enable systemtap)
- $(in_iuse nscd && use_enable nscd)
- ${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=$(in_iuse audit && usex audit || echo no)
- ac_cv_lib_cap_cap_init=$(in_iuse caps && 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="${EPREFIX}/sbin"
- export libc_cv_slibdir="${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 "$1")
- 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_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_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
-
- # 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
-
- 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=$(alt_build_headers)
- --prefix="${EPREFIX}/usr"
- ${EXTRA_ECONF}
- )
-
- local addons
- [[ -d ${S}/ports ]] && addons+=",ports"
- myconf+=( --enable-add-ons="${addons#,}" )
-
- # 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"
- 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 $1)"
- emake check
-}
-
-do_src_test() {
- local ret=0
-
- glibc_src_test nptl
- : $(( 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"
-}
-
-glibc_do_src_install() {
- local builddir=$(builddir nptl)
- cd "${builddir}"
-
- emake install_root="${D}$(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)
-
- 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
- # 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 in_iuse suid && ! 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.
- cd "${ED}"$(alt_libdir)/..
- [[ -e lib ]] || mkdir lib
- cd "${ED}"$(alt_usrlibdir)/..
- [[ -e lib ]] || mkdir 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
-
- # Make sure all the ABI's can find the locales and so we only
- # have to generate one set
- local a
- keepdir /usr/$(get_libdir)/locale
- for a in $(get_install_abis) ; do
- if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then
- dosym ../$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale
- fi
- done
-
- cd "${S}"
-
- # Install misc network config files
- insinto /etc
- doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf
- doins "${WORKDIR}"/extra/etc/*.conf
-
- if use nscd ; then
- doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/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
- else
- # Do this since extra/etc/*.conf above might have nscd.conf.
- rm -f "${ED}"/etc/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
-
- # Prevent overwriting of the /etc/localtime symlink. We'll handle the
- # creation of the "factory" symlink in pkg_postinst().
- rm -f "${ED}"/etc/localtime
-}
-
-glibc_headers_install() {
- local builddir=$(builddir "headers")
- cd "${builddir}"
- emake install_root="${D}$(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
-}
-
-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
-
- [[ ${ROOT} != "/" ]] && return 0
- [[ -d ${ED}/$(get_libdir) ]] || return 0
- [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check
-}
-
-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 && [[ ${ROOT} == "/" ]] ; then
- # if the host locales.gen contains no entries, we'll install everything
- local locale_list="${EROOT}etc/locale.gen"
- if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
- ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
- locale_list="${EROOT}usr/share/i18n/SUPPORTED"
- fi
- locale-gen -j $(makeopts_jobs) --config "${locale_list}"
- 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/glibc/glibc-2.27-r6.ebuild b/sys-libs/glibc/glibc-2.27-r6.ebuild
deleted file mode 100644
index 70de8f8358bf..000000000000
--- a/sys-libs/glibc/glibc-2.27-r6.ebuild
+++ /dev/null
@@ -1,1415 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit prefix eutils versionator 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"
-
-if [[ ${PV} == 9999* ]]; then
- EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
- inherit git-r3
-else
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86"
- SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
-fi
-
-RELEASE_VER=${PV}
-
-GCC_BOOTSTRAP_VER=20180511
-
-# Gentoo patchset
-PATCH_VER=3
-
-SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/${P}-patches-${PATCH_VER}.tar.bz2"
-SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
-
-IUSE="audit caps compile-locales doc gd hardened headers-only +multiarch multilib nscd profile selinux suid systemtap 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 disable stripping
-# entirely.
-RESTRICT=strip
-
-# We need a new-enough binutils/gcc to match upstream baseline.
-# Also we need to make sure our binutils/gcc supports TLS.
-COMMON_DEPEND="
- nscd? ( selinux? (
- audit? ( sys-process/audit )
- caps? ( sys-libs/libcap )
- ) )
- suid? ( caps? ( sys-libs/libcap ) )
- selinux? ( sys-libs/libselinux )
- systemtap? ( dev-util/systemtap )
-"
-DEPEND="${COMMON_DEPEND}
- >=app-misc/pax-utils-0.1.10
- sys-devel/bison
- !<sys-devel/bison-2.7
- doc? ( sys-apps/texinfo )
-"
-RDEPEND="${COMMON_DEPEND}
- sys-apps/gentoo-functions
-"
-
-if [[ ${CATEGORY} == cross-* ]] ; then
- DEPEND+=" !headers-only? (
- >=${CATEGORY}/binutils-2.24
- >=${CATEGORY}/gcc-4.9
- )"
- [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
-else
- DEPEND+="
- >=sys-devel/binutils-2.24
- >=sys-devel/gcc-4.9
- virtual/os-headers
- "
- RDEPEND+=" vanilla? ( !sys-libs/timezone-data )"
- PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
-fi
-
-#
-# Small helper functions
-#
-
-is_crosscompile() {
- [[ ${CHOST} != ${CTARGET} ]]
-}
-
-just_headers() {
- is_crosscompile && use headers-only
-}
-
-alt_prefix() {
- is_crosscompile && echo /usr/${CTARGET}
-}
-
-# 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="${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
-
- nonfatal emake -s glibc-test
- 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' 2>/dev/null ; 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
- # Note: This test only matters when the x86 ABI is enabled, so we could
- # optimize a bit and elide it.
- # TODO: See cross-compile issues listed above for 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' 2>/dev/null ; 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"
- fi
- ;;
- mips)
- # The mips abi cannot support the GNU style hashes. #233233
- filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
- ;;
- sparc)
- # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though.
- filter-flags "-fcall-used-g7"
- append-flags "-fcall-used-g6"
-
- # If the CHOST is the basic one (e.g. not sparcv9-xxx already),
- # try to pick a better one so glibc can use cpu-specific .S files.
- # We key off the CFLAGS to get a good value. Also need to handle
- # version skew.
- # We can't force users to set their CHOST to their exact machine
- # as many of these are not recognized by config.sub/gcc and such :(.
- # Note: If the mcpu values don't scale, we might try probing CPP defines.
- # Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ?
-
- local cpu
- case ${CTARGET} in
- sparc64-*)
- case $(get-flag mcpu) in
- niagara[234])
- if version_is_at_least 2.8 ; then
- cpu="sparc64v2"
- elif version_is_at_least 2.4 ; then
- cpu="sparc64v"
- elif version_is_at_least 2.2.3 ; then
- cpu="sparc64b"
- fi
- ;;
- niagara)
- if version_is_at_least 2.4 ; then
- cpu="sparc64v"
- elif version_is_at_least 2.2.3 ; then
- cpu="sparc64b"
- fi
- ;;
- ultrasparc3)
- cpu="sparc64b"
- ;;
- *)
- # 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
- [[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a"
- ;;
- esac
- ;;
- sparc-*)
- case $(get-flag mcpu) in
- niagara[234])
- if version_is_at_least 2.8 ; then
- cpu="sparcv9v2"
- elif version_is_at_least 2.4 ; then
- cpu="sparcv9v"
- elif version_is_at_least 2.2.3 ; then
- cpu="sparcv9b"
- else
- cpu="sparcv9"
- fi
- ;;
- niagara)
- if version_is_at_least 2.4 ; then
- cpu="sparcv9v"
- elif version_is_at_least 2.2.3 ; then
- cpu="sparcv9b"
- else
- cpu="sparcv9"
- fi
- ;;
- ultrasparc3)
- cpu="sparcv9b"
- ;;
- v9|ultrasparc)
- cpu="sparcv9"
- ;;
- v8|supersparc|hypersparc|leon|leon3)
- cpu="sparcv8"
- ;;
- 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}
-
- # 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
- 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
-
- # Lock glibc at -O2; we want to be conservative here.
- # -fno-strict-aliasing is to work around #155906.
- filter-flags '-O?'
- append-flags -O2 -fno-strict-aliasing
-
- filter-flags '-fstack-protector*'
-
- # Starting with gcc-6 (and fully upstreamed pie patches) we control
- # default enabled/disabled pie via use flags. So nothing to do
- # here then. #618160
- if [[ $(gcc-major-version) -lt 6 ]]; then
- if use hardened && tc-enables-pie ; then
- # Force PIC macro definition for all compilations since they're all
- # either -fPIC or -fPIE with the default-PIE compiler.
- append-cppflags -DPIC
- else
- # Don't build -fPIE without the default-PIE compiler and the
- # hardened-pie patch
- filter-flags -fPIE
- fi
- fi
-}
-
-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
- version_is_at_least ${nver} ${bver}
-}
-
-# 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_OPT:-${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}"
-}
-
-check_devpts() {
- # Make sure devpts is mounted correctly for use w/out setuid pt_chown.
-
- # If merely building the binary package, then there's nothing to verify.
- [[ ${MERGE_TYPE} == "buildonly" ]] && return
-
- # Only sanity check when installing the native glibc.
- [[ ${ROOT} != "/" ]] && return
-
- # If they're opting in to the old suid code, then no need to check.
- use suid && return
-
- if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then
- eerror "In order to use glibc with USE=-suid, you must make sure that"
- eerror "you have devpts mounted at /dev/pts with the gid=5 option."
- eerror "Openrc should do this for you, so you should check /etc/fstab"
- eerror "and make sure you do not have any invalid settings there."
- die "mount & fix your /dev/pts settings"
- fi
-}
-
-# 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 "${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() {
- # Make sure devpts is mounted correctly for use w/out setuid pt_chown
- check_devpts
-
- # Prevent native builds from downgrading
- if [[ ${MERGE_TYPE} != "buildonly" ]] && \
- [[ ${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
- 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}
-
- 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 ! 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
-}
-
-#
-# the phases
-#
-
-# pkg_pretend
-
-pkg_pretend() {
- # All the checks...
- einfo "Checking general environment sanity."
- sanity_prechecks
-}
-
-# 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 [[ -n ${EGIT_REPO_URI} ]] ; then
- git-r3_src_unpack
- else
- unpack ${P}.tar.xz
- fi
-
- cd "${S}" || die
- touch locale/C-translit.h || die #185476 #218003
-
- cd "${WORKDIR}" || die
- unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.bz2
-}
-
-src_prepare() {
- if ! use vanilla ; then
- elog "Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER}"
- eapply "${WORKDIR}"/patches
- einfo "Done."
- fi
-
- default
-
- gnuconfig_update
-
- cd "${WORKDIR}"
- find . -name configure -exec touch {} +
-
- 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 ; 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}"
- einfo " $(printf '%15s' 'Manual CXX:') ${CXX}"
-
- 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 )
- ;;
- *)
- myconf+=( --enable-stack-protector=all )
- ;;
- 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
-
- [[ $(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=$(alt_build_headers)
- --prefix="${EPREFIX}/usr"
- --sysconfdir="${EPREFIX}/etc"
- --localstatedir="${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_multiarch || echo --disable-multi-arch)
- $(use_enable systemtap)
- $(use_enable nscd)
- ${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="${EPREFIX}/sbin"
- export libc_cv_slibdir="${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=$(alt_build_headers)
- --prefix="${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)"
- emake 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 locale_list="${root}/etc/locale.gen"
- if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
- ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
- locale_list="${root}/usr/share/i18n/SUPPORTED"
- fi
-
- locale-gen --jobs $(makeopts_jobs) --config "${locale_list}" \
- --destdir "${root}"
-}
-
-glibc_do_src_install() {
- local builddir=$(builddir nptl)
- cd "${builddir}"
-
- emake install_root="${D}$(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)
-
- 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
- # 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
-
- # Make sure all the ABI's can find the locales and so we only
- # have to generate one set
- local a
- keepdir /usr/$(get_libdir)/locale
- for a in $(get_install_abis) ; do
- if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then
- dosym ../$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale
- fi
- done
-
- cd "${S}"
-
- # Install misc network config files
- insinto /etc
- doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf
- doins "${WORKDIR}"/extra/etc/*.conf
-
- if use nscd ; then
- doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/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
- else
- # Do this since extra/etc/*.conf above might have nscd.conf.
- rm -f "${ED}"/etc/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 "${ED}"
- fi
-}
-
-glibc_headers_install() {
- local builddir=$(builddir "headers")
- cd "${builddir}"
- emake install_root="${D}$(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
-}
-
-# 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
-
- [[ ${ROOT} != "/" ]] && return 0
- [[ -d ${ED}/$(get_libdir) ]] || return 0
- [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check
-}
-
-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 && [[ ${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/glibc/glibc-2.28-r6.ebuild b/sys-libs/glibc/glibc-2.28-r6.ebuild
deleted file mode 100644
index 1569309d3f9c..000000000000
--- a/sys-libs/glibc/glibc-2.28-r6.ebuild
+++ /dev/null
@@ -1,1412 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit prefix eutils eapi7-ver 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"
-
-if [[ ${PV} == 9999* ]]; then
- EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
- inherit git-r3
-else
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86"
- SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
-fi
-
-RELEASE_VER=${PV}
-
-GCC_BOOTSTRAP_VER=20180511
-
-# Gentoo patchset
-PATCH_VER=9
-
-SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
-SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
-
-IUSE="audit caps cet compile-locales doc gd headers-only +multiarch multilib nscd profile selinux +ssp 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 disable stripping
-# entirely.
-RESTRICT="strip !test? ( test )"
-
-# 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.
-COMMON_DEPEND="
- nscd? ( selinux? (
- audit? ( sys-process/audit )
- caps? ( sys-libs/libcap )
- ) )
- suid? ( caps? ( sys-libs/libcap ) )
- selinux? ( sys-libs/libselinux )
- systemtap? ( dev-util/systemtap )
-"
-DEPEND="${COMMON_DEPEND}
- >=app-misc/pax-utils-0.1.10
- sys-devel/bison
- !<sys-devel/bison-2.7
- doc? ( sys-apps/texinfo )
- test? ( >=net-dns/libidn2-2.0.5 )
-"
-RDEPEND="${COMMON_DEPEND}
- sys-apps/gentoo-functions
-"
-
-if [[ ${CATEGORY} == cross-* ]] ; then
- DEPEND+=" !headers-only? (
- >=${CATEGORY}/binutils-2.24
- >=${CATEGORY}/gcc-6
- )"
- [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
-else
- DEPEND+="
- >=sys-devel/binutils-2.24
- >=sys-devel/gcc-6
- virtual/os-headers
- "
- RDEPEND+="
- >=net-dns/libidn2-2.0.5
- vanilla? ( !sys-libs/timezone-data )
- "
- PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
-fi
-
-#
-# Small helper functions
-#
-
-is_crosscompile() {
- [[ ${CHOST} != ${CTARGET} ]]
-}
-
-just_headers() {
- is_crosscompile && use headers-only
-}
-
-alt_prefix() {
- is_crosscompile && echo /usr/${CTARGET}
-}
-
-# 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="${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
-
- nonfatal emake -s glibc-test
- 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' 2>/dev/null ; 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
- # Note: This test only matters when the x86 ABI is enabled, so we could
- # optimize a bit and elide it.
- # TODO: See cross-compile issues listed above for 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' 2>/dev/null ; 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"
- fi
- ;;
- mips)
- # The mips abi cannot support the GNU style hashes. #233233
- filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
- ;;
- sparc)
- # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though.
- filter-flags "-fcall-used-g7"
- append-flags "-fcall-used-g6"
-
- # If the CHOST is the basic one (e.g. not sparcv9-xxx already),
- # try to pick a better one so glibc can use cpu-specific .S files.
- # We key off the CFLAGS to get a good value. Also need to handle
- # version skew.
- # We can't force users to set their CHOST to their exact machine
- # as many of these are not recognized by config.sub/gcc and such :(.
- # Note: If the mcpu values don't scale, we might try probing CPP defines.
- # Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ?
-
- local cpu
- case ${CTARGET} in
- sparc64-*)
- case $(get-flag mcpu) in
- niagara[234])
- if ver_test -ge 2.8 ; then
- cpu="sparc64v2"
- elif ver_test -ge 2.4 ; then
- cpu="sparc64v"
- elif ver_test -ge 2.2.3 ; then
- cpu="sparc64b"
- fi
- ;;
- niagara)
- if ver_test -ge 2.4 ; then
- cpu="sparc64v"
- elif ver_test -ge 2.2.3 ; then
- cpu="sparc64b"
- fi
- ;;
- ultrasparc3)
- cpu="sparc64b"
- ;;
- *)
- # 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
- [[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a"
- ;;
- esac
- ;;
- sparc-*)
- case $(get-flag mcpu) in
- niagara[234])
- if ver_test -ge 2.8 ; then
- cpu="sparcv9v2"
- elif ver_test -ge 2.4 ; then
- cpu="sparcv9v"
- elif ver_test -ge 2.2.3 ; then
- cpu="sparcv9b"
- else
- cpu="sparcv9"
- fi
- ;;
- niagara)
- if ver_test -ge 2.4 ; then
- cpu="sparcv9v"
- elif ver_test -ge 2.2.3 ; then
- cpu="sparcv9b"
- else
- cpu="sparcv9"
- fi
- ;;
- ultrasparc3)
- cpu="sparcv9b"
- ;;
- v9|ultrasparc)
- cpu="sparcv9"
- ;;
- v8|supersparc|hypersparc|leon|leon3)
- cpu="sparcv8"
- ;;
- 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}
-
- # 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
- 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
-
- # Lock glibc at -O2; we want to be conservative here.
- # -fno-strict-aliasing is to work around #155906.
- filter-flags '-O?'
- append-flags -O2 -fno-strict-aliasing
-
- 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_OPT:-${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}"
-}
-
-check_devpts() {
- # Make sure devpts is mounted correctly for use w/out setuid pt_chown.
-
- # If merely building the binary package, then there's nothing to verify.
- [[ ${MERGE_TYPE} == "buildonly" ]] && return
-
- # Only sanity check when installing the native glibc.
- [[ ${ROOT} != "/" ]] && return
-
- # If they're opting in to the old suid code, then no need to check.
- use suid && return
-
- if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then
- eerror "In order to use glibc with USE=-suid, you must make sure that"
- eerror "you have devpts mounted at /dev/pts with the gid=5 option."
- eerror "Openrc should do this for you, so you should check /etc/fstab"
- eerror "and make sure you do not have any invalid settings there."
- die "mount & fix your /dev/pts settings"
- fi
-}
-
-# 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 "${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() {
- # Make sure devpts is mounted correctly for use w/out setuid pt_chown
- check_devpts
-
- # Prevent native builds from downgrading
- if [[ ${MERGE_TYPE} != "buildonly" ]] && \
- [[ ${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
-}
-
-# 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 [[ -n ${EGIT_REPO_URI} ]] ; then
- git-r3_src_unpack
- else
- unpack ${P}.tar.xz
- fi
-
- cd "${S}" || die
- touch locale/C-translit.h || die #185476 #218003
-
- cd "${WORKDIR}" || die
- unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz
-}
-
-src_prepare() {
- if ! use vanilla ; then
- elog "Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER}"
- eapply "${WORKDIR}"/patches
- einfo "Done."
- fi
-
- default
-
- gnuconfig_update
-
- cd "${WORKDIR}"
- find . -name configure -exec touch {} +
-
- 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 ; 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}"
- einfo " $(printf '%15s' 'Manual CXX:') ${CXX}"
-
- 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 )
- ;;
- *)
- myconf+=( --enable-stack-protector=$(usex ssp all 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=$(alt_build_headers)
- --prefix="${EPREFIX}/usr"
- --sysconfdir="${EPREFIX}/etc"
- --localstatedir="${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_multiarch || echo --disable-multi-arch)
- $(use_enable systemtap)
- $(use_enable nscd)
- ${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="${EPREFIX}/sbin"
- export libc_cv_slibdir="${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=$(alt_build_headers)
- --prefix="${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)"
- emake 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 locale_list="${root}/etc/locale.gen"
- if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
- ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
- locale_list="${root}/usr/share/i18n/SUPPORTED"
- fi
-
- locale-gen --jobs $(makeopts_jobs) --config "${locale_list}" \
- --destdir "${root}"
-}
-
-glibc_do_src_install() {
- local builddir=$(builddir nptl)
- cd "${builddir}"
-
- emake install_root="${D}$(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)
-
- 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
- # 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
-
- # Make sure all the ABI's can find the locales and so we only
- # have to generate one set
- local a
- keepdir /usr/$(get_libdir)/locale
- for a in $(get_install_abis) ; do
- if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then
- dosym ../$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale
- fi
- done
-
- cd "${S}"
-
- # Install misc network config files
- insinto /etc
- doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf
- doins "${WORKDIR}"/extra/etc/*.conf
-
- if use nscd ; then
- doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/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
- else
- # Do this since extra/etc/*.conf above might have nscd.conf.
- rm -f "${ED}"/etc/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 "${ED}"
- fi
-}
-
-glibc_headers_install() {
- local builddir=$(builddir "headers")
- cd "${builddir}"
- emake install_root="${D}$(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
-}
-
-# 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
-
- [[ ${ROOT} != "/" ]] && return 0
- [[ -d ${ED}/$(get_libdir) ]] || return 0
- [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check
-}
-
-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 && [[ ${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/glibc/glibc-2.29-r7.ebuild b/sys-libs/glibc/glibc-2.29-r7.ebuild
deleted file mode 100644
index 8b75be92edba..000000000000
--- a/sys-libs/glibc/glibc-2.29-r7.ebuild
+++ /dev/null
@@ -1,1427 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-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"
-
-if [[ ${PV} == 9999* ]]; then
- EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
- 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"
-fi
-
-RELEASE_VER=${PV}
-
-GCC_BOOTSTRAP_VER=20180511
-
-# Gentoo patchset
-PATCH_VER=8
-PATCH_DEV=dilfridge
-
-SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
-SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
-
-IUSE="audit caps cet compile-locales doc gd headers-only +multiarch multilib nscd profile selinux +ssp 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.
-BDEPEND="
- ${PYTHON_DEPS}
- >=app-misc/pax-utils-0.1.10
- sys-devel/bison
- !<sys-devel/bison-2.7
- doc? ( sys-apps/texinfo )
-"
-COMMON_DEPEND="
- nscd? ( selinux? (
- audit? ( sys-process/audit )
- caps? ( sys-libs/libcap )
- ) )
- suid? ( caps? ( sys-libs/libcap ) )
- selinux? ( sys-libs/libselinux )
- systemtap? ( dev-util/systemtap )
-"
-DEPEND="${COMMON_DEPEND}
- test? ( >=net-dns/libidn2-2.0.5 )
-"
-RDEPEND="${COMMON_DEPEND}
- 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.0.5
- vanilla? ( !sys-libs/timezone-data )
- "
- PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
-fi
-
-#
-# 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
-
- nonfatal emake -s glibc-test
- 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' 2>/dev/null ; 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
- # Note: This test only matters when the x86 ABI is enabled, so we could
- # optimize a bit and elide it.
- # TODO: See cross-compile issues listed above for 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' 2>/dev/null ; 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"
- fi
- ;;
- mips)
- # The mips abi cannot support the GNU style hashes. #233233
- filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
- ;;
- 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}
-
- # 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
- 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
-
- # Lock glibc at -O2; we want to be conservative here.
- # -fno-strict-aliasing is to work around #155906.
- filter-flags '-O?'
- append-flags -O2 -fno-strict-aliasing
-
- 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}"
-}
-
-check_devpts() {
- # Make sure devpts is mounted correctly for use w/out setuid pt_chown.
-
- # If merely building the binary package, then there's nothing to verify.
- [[ ${MERGE_TYPE} == "buildonly" ]] && return
-
- # Only sanity check when installing the native glibc.
- [[ -n ${ROOT} ]] && return
-
- # If they're opting in to the old suid code, then no need to check.
- use suid && return
-
- if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then
- eerror "In order to use glibc with USE=-suid, you must make sure that"
- eerror "you have devpts mounted at /dev/pts with the gid=5 option."
- eerror "Openrc should do this for you, so you should check /etc/fstab"
- eerror "and make sure you do not have any invalid settings there."
- die "mount & fix your /dev/pts settings"
- fi
-}
-
-# 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() {
- # Make sure devpts is mounted correctly for use w/out setuid pt_chown
- check_devpts
-
- # 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 [[ -n ${EGIT_REPO_URI} ]] ; then
- git-r3_src_unpack
- else
- unpack ${P}.tar.xz
- fi
-
- cd "${WORKDIR}" || die
- unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz
-}
-
-src_prepare() {
- if ! use vanilla ; then
- elog "Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER}"
- eapply "${WORKDIR}"/patches
- einfo "Done."
- fi
-
- default
-
- gnuconfig_update
-
- cd "${WORKDIR}"
- find . -name configure -exec touch {} +
-
- 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 ; 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}"
-
- 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 )
- ;;
- *)
- myconf+=( --enable-stack-protector=$(usex ssp all 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=$(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_multiarch || echo --disable-multi-arch)
- $(use_enable systemtap)
- $(use_enable nscd)
- ${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=$(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)"
- emake 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
-
- locale-gen ${inplace} --jobs $(makeopts_jobs) --config "${locale_list}" \
- --destdir "${root}"
-
- 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
- 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
-
- # Make sure all the ABI's can find the locales and so we only
- # have to generate one set
- local a
- keepdir /usr/$(get_libdir)/locale
- for a in $(get_install_abis) ; do
- if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then
- dosym ../$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale
- fi
- done
-
- # HACK: If we're building for riscv, we need to additionally make sure that
- # we can find the locale archive afterwards
- case ${CTARGET} in
- riscv*)
- if [[ ! -e ${ED}/usr/lib/locale ]] ; then
- dosym ../$(get_libdir)/locale /usr/lib/locale
- fi
- ;;
- *) ;;
- esac
-
- cd "${S}"
-
- # Install misc network config files
- insinto /etc
- doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf
- doins "${WORKDIR}"/extra/etc/*.conf
-
- if use nscd ; then
- doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/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
- else
- # Do this since extra/etc/*.conf above might have nscd.conf.
- rm -f "${ED}"/etc/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
-}
-
-# 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
-}
-
-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/glibc/glibc-2.30-r8.ebuild b/sys-libs/glibc/glibc-2.30-r8.ebuild
index 2836d93f552e..aea0098e69f7 100644
--- a/sys-libs/glibc/glibc-2.30-r8.ebuild
+++ b/sys-libs/glibc/glibc-2.30-r8.ebuild
@@ -19,7 +19,7 @@ if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
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"
fi
@@ -147,6 +147,19 @@ XFAIL_TEST_LIST=(
tst-locale-locpath
# 9) Failures of unknown origin
tst-latepthread
+
+ # buggy test, fixed in glibc-2.31 in 70ba28f7ab29
+ tst-pkey
+
+ # 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
)
#
@@ -503,27 +516,6 @@ glibc_banner() {
echo "${b}"
}
-check_devpts() {
- # Make sure devpts is mounted correctly for use w/out setuid pt_chown.
-
- # If merely building the binary package, then there's nothing to verify.
- [[ ${MERGE_TYPE} == "buildonly" ]] && return
-
- # Only sanity check when installing the native glibc.
- [[ -n ${ROOT} ]] && return
-
- # If they're opting in to the old suid code, then no need to check.
- use suid && return
-
- if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then
- eerror "In order to use glibc with USE=-suid, you must make sure that"
- eerror "you have devpts mounted at /dev/pts with the gid=5 option."
- eerror "Openrc should do this for you, so you should check /etc/fstab"
- eerror "and make sure you do not have any invalid settings there."
- die "mount & fix your /dev/pts settings"
- fi
-}
-
# 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
@@ -593,9 +585,6 @@ get_kheader_version() {
# pkg_ and src_ phases, so we call this function both in pkg_pretend and in
# src_unpack.
sanity_prechecks() {
- # Make sure devpts is mounted correctly for use w/out setuid pt_chown
- check_devpts
-
# Prevent native builds from downgrading
if [[ ${MERGE_TYPE} != "buildonly" ]] && \
[[ -z ${ROOT} ]] && \
diff --git a/sys-libs/glibc/glibc-2.31-r2.ebuild b/sys-libs/glibc/glibc-2.31-r2.ebuild
index 2945adf1290a..2648f6738855 100644
--- a/sys-libs/glibc/glibc-2.31-r2.ebuild
+++ b/sys-libs/glibc/glibc-2.31-r2.ebuild
@@ -141,6 +141,16 @@ GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}"
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
)
#
diff --git a/sys-libs/glibc/glibc-2.29-r8.ebuild b/sys-libs/glibc/glibc-2.31-r3.ebuild
index b255df21e867..c05055b8811e 100644
--- a/sys-libs/glibc/glibc-2.29-r8.ebuild
+++ b/sys-libs/glibc/glibc-2.31-r3.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6,7,8} )
inherit python-any-r1 prefix eutils toolchain-funcs flag-o-matic gnuconfig \
multilib systemd multiprocessing
@@ -19,7 +19,8 @@ if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
inherit git-r3
else
- KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86"
+ # needs minimal testing
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
fi
@@ -27,14 +28,17 @@ RELEASE_VER=${PV}
GCC_BOOTSTRAP_VER=20180511
+LOCALE_GEN_VER=2.00
+
# Gentoo patchset
-PATCH_VER=9
-PATCH_DEV=slyfox
+PATCH_VER=5
+PATCH_DEV=dilfridge
SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
+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 doc gd headers-only +multiarch multilib nscd profile selinux +ssp suid systemtap test vanilla"
+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"
@@ -84,6 +88,8 @@ fi
# 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.
BDEPEND="
${PYTHON_DEPS}
>=app-misc/pax-utils-0.1.10
@@ -92,6 +98,7 @@ BDEPEND="
doc? ( sys-apps/texinfo )
"
COMMON_DEPEND="
+ gd? ( media-libs/gd:2= )
nscd? ( selinux? (
audit? ( sys-process/audit )
caps? ( sys-libs/libcap )
@@ -99,9 +106,10 @@ COMMON_DEPEND="
suid? ( caps? ( sys-libs/libcap ) )
selinux? ( sys-libs/libselinux )
systemtap? ( dev-util/systemtap )
+ !<net-misc/openssh-8.1_p1-r2
"
DEPEND="${COMMON_DEPEND}
- test? ( >=net-dns/libidn2-2.0.5 )
+ test? ( >=net-dns/libidn2-2.3.0 )
"
RDEPEND="${COMMON_DEPEND}
sys-apps/gentoo-functions
@@ -122,12 +130,32 @@ else
"
DEPEND+=" virtual/os-headers "
RDEPEND+="
- >=net-dns/libidn2-2.0.5
+ >=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
#
@@ -198,7 +226,7 @@ do_compile_test() {
rm -f glibc-test*
printf '%b' "$*" > glibc-test.c
- nonfatal emake -s glibc-test
+ nonfatal emake glibc-test
ret=$?
popd >/dev/null
@@ -246,7 +274,7 @@ setup_target_flags() {
# 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' 2>/dev/null ; then
+ 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=*'
@@ -256,10 +284,9 @@ setup_target_flags() {
;;
amd64)
# -march needed for #185404 #199334
- # Note: This test only matters when the x86 ABI is enabled, so we could
- # optimize a bit and elide it.
# TODO: See cross-compile issues listed above for 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' 2>/dev/null ; then
+ [[ ${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
@@ -269,7 +296,7 @@ setup_target_flags() {
# 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"
+ einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})"
fi
;;
mips)
@@ -325,11 +352,18 @@ setup_flags() {
ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}}
ASFLAGS=${ASFLAGS_BASE}
- # 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
+ # 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=*'
@@ -351,10 +385,9 @@ setup_flags() {
CBUILD_OPT=${CTARGET_OPT}
fi
- # Lock glibc at -O2; we want to be conservative here.
- # -fno-strict-aliasing is to work around #155906.
- filter-flags '-O?'
- append-flags -O2 -fno-strict-aliasing
+ # 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*'
}
@@ -477,27 +510,6 @@ glibc_banner() {
echo "${b}"
}
-check_devpts() {
- # Make sure devpts is mounted correctly for use w/out setuid pt_chown.
-
- # If merely building the binary package, then there's nothing to verify.
- [[ ${MERGE_TYPE} == "buildonly" ]] && return
-
- # Only sanity check when installing the native glibc.
- [[ -n ${ROOT} ]] && return
-
- # If they're opting in to the old suid code, then no need to check.
- use suid && return
-
- if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then
- eerror "In order to use glibc with USE=-suid, you must make sure that"
- eerror "you have devpts mounted at /dev/pts with the gid=5 option."
- eerror "Openrc should do this for you, so you should check /etc/fstab"
- eerror "and make sure you do not have any invalid settings there."
- die "mount & fix your /dev/pts settings"
- fi
-}
-
# 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
@@ -567,9 +579,6 @@ get_kheader_version() {
# pkg_ and src_ phases, so we call this function both in pkg_pretend and in
# src_unpack.
sanity_prechecks() {
- # Make sure devpts is mounted correctly for use w/out setuid pt_chown
- check_devpts
-
# Prevent native builds from downgrading
if [[ ${MERGE_TYPE} != "buildonly" ]] && \
[[ -z ${ROOT} ]] && \
@@ -723,6 +732,8 @@ src_unpack() {
cd "${WORKDIR}" || die
unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz
+
+ unpack locale-gen-${LOCALE_GEN_VER}.tar.gz
}
src_prepare() {
@@ -739,6 +750,9 @@ src_prepare() {
cd "${WORKDIR}"
find . -name configure -exec touch {} +
+ # move the external locale-gen to its old place
+ mv locale-gen-${LOCALE_GEN_VER} extra/locale || die
+
eprefixify extra/locale/locale-gen
# Fix permissions on some of the scripts.
@@ -876,7 +890,7 @@ glibc_do_configure() {
--host=${CTARGET_OPT:-${CTARGET}}
$(use_enable profile)
$(use_with gd)
- --with-headers=$(alt_build_headers)
+ --with-headers=$(build_eprefix)$(alt_build_headers)
--prefix="$(host_eprefix)/usr"
--sysconfdir="$(host_eprefix)/etc"
--localstatedir="$(host_eprefix)/var"
@@ -886,7 +900,9 @@ glibc_do_configure() {
--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)
${EXTRA_ECONF}
@@ -1030,7 +1046,7 @@ glibc_headers_configure() {
--enable-bind-now
--build=${CBUILD_OPT:-${CBUILD}}
--host=${CTARGET_OPT:-${CTARGET}}
- --with-headers=$(alt_build_headers)
+ --with-headers=$(build_eprefix)$(alt_build_headers)
--prefix="$(host_eprefix)/usr"
${EXTRA_ECONF}
)
@@ -1081,7 +1097,18 @@ src_compile() {
glibc_src_test() {
cd "$(builddir nptl)"
- emake check
+
+ 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() {
@@ -1123,8 +1150,10 @@ run_locale_gen() {
locale_list="${root}/usr/share/i18n/SUPPORTED"
fi
- locale-gen ${inplace} --jobs $(makeopts_jobs) --config "${locale_list}" \
+ set -- locale-gen ${inplace} --jobs $(makeopts_jobs) --config "${locale_list}" \
--destdir "${root}"
+ echo "$@"
+ "$@"
popd >/dev/null
}
@@ -1284,11 +1313,15 @@ glibc_do_src_install() {
# Install misc network config files
insinto /etc
- doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf
- doins "${WORKDIR}"/extra/etc/*.conf
+ doins posix/gai.conf nss/nsswitch.conf
+
+ # Gentoo-specific
+ newins "${FILESDIR}"/host.conf-1 host.conf
if use nscd ; then
- doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/nscd)"
+ 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):"
@@ -1298,9 +1331,6 @@ glibc_do_src_install() {
systemd_dounit nscd/nscd.service
systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf
- else
- # Do this since extra/etc/*.conf above might have nscd.conf.
- rm -f "${ED}"/etc/nscd.conf
fi
echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc
@@ -1344,6 +1374,11 @@ src_install() {
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.
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index dafe72da8ed7..cc1528ef61a1 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -28,10 +28,14 @@ RELEASE_VER=${PV}
GCC_BOOTSTRAP_VER=20180511
+LOCALE_GEN_VER=2.00
+
# Gentoo patchset
PATCH_VER=16
+PATCH_DEV=slyfox
-SRC_URI+=" https://dev.gentoo.org/~slyfox/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
+SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
+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"
@@ -140,6 +144,16 @@ GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}"
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
)
#
@@ -718,6 +732,8 @@ src_unpack() {
cd "${WORKDIR}" || die
unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz
+
+ unpack locale-gen-${LOCALE_GEN_VER}.tar.gz
}
src_prepare() {
@@ -734,6 +750,12 @@ src_prepare() {
cd "${WORKDIR}"
find . -name configure -exec touch {} +
+ # until the patchset is updated
+ rm -rf extra/locale || die
+
+ # move the external locale-gen to its old place
+ mv locale-gen-${LOCALE_GEN_VER} extra/locale || die
+
eprefixify extra/locale/locale-gen
# Fix permissions on some of the scripts.
@@ -1294,11 +1316,15 @@ glibc_do_src_install() {
# Install misc network config files
insinto /etc
- doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf
- doins "${WORKDIR}"/extra/etc/*.conf
+ doins posix/gai.conf nss/nsswitch.conf
+
+ # Gentoo-specific
+ newins "${FILESDIR}"/host.conf-1 host.conf
if use nscd ; then
- doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/nscd)"
+ 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):"
@@ -1308,9 +1334,6 @@ glibc_do_src_install() {
systemd_dounit nscd/nscd.service
systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf
- else
- # Do this since extra/etc/*.conf above might have nscd.conf.
- rm -f "${ED}"/etc/nscd.conf
fi
echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc
diff --git a/sys-libs/ldb/Manifest b/sys-libs/ldb/Manifest
index 4fd3319e3663..634137267bee 100644
--- a/sys-libs/ldb/Manifest
+++ b/sys-libs/ldb/Manifest
@@ -1,9 +1,13 @@
AUX ldb-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch 701 BLAKE2B dd2398f9e1fa39bfc3de89928dd3b935fd6ee9db4bc2c4e381ba5672098ae9209b2d6e475fa2549a9cef2e3ce5e9a789557413fbdb1bbd68842cca89ce1e8094 SHA512 35ba295d94ab5ce767f39c4cd5eb48d57a6e4993977013ee6ae0d640f74b5437a4dff6f1d14dc44dbcdc25d4e51e5084b0e3216353b2af383d8f544993228170
AUX ldb-1.5.2-optional_packages.patch 1441 BLAKE2B 0b9413cd9690aae2b2eb26f097d2509c0bbe0fc59f81bab22add57ffe0c603a8fb0c9be038d06693dcbb1d3817d4ad97a5931120b18bd9783efaac599fe0ccbc SHA512 2f313c3377385279ca3da6db21d926df0559d971e1fd42f8cce57b4001078c3817f472b85088a1f3b0e5ddcdfbbfd943199485d6e4a00412f62c883c6ea04afd
+DIST ldb-2.0.10.tar.gz 1676630 BLAKE2B 9ae9e6579fd7b15b91a4c0f52ad5ea3a9ba3135efe408b76db53db211a48d3952a790f2f856e5f9573174b2203840b7d6a6ad10976a4b6bf3e0d294731b89b31 SHA512 51954969e3121295ea99856c254f455cb746102e9d7895fbd7c66997f33763ae4522ed456e4bae7921b2edd73575a0a10738d21a90a067a57ff770cf0fe35aef
DIST ldb-2.0.8.tar.gz 1676902 BLAKE2B b86b24a597bd81ae11382311f3b60aeb8aca78ddbe63413b9a8cdbbfa4f52b05a0d2e325d483e260b15aa396c2ad9f2828ac4b6214af86d891281d05b24125b5 SHA512 23a44968c9b4b57deb3f7b7b2466f140b4d8534a07a5e866545dd108c3d305ee4b0ea9bceec3177fcd09a4efcb4876a8283ca58b5c496fcf323b810666e1e79a
DIST ldb-2.0.9.tar.gz 1676176 BLAKE2B 0d18a570ca61fcdf159b6398ecef74bc983c24ffd4d8f85bc9cfcbb182f787d0deb50c5f446684b851993146e03bdaf10d80c083a9534446b829714fff025b8f SHA512 f4d2480491f16aac7837fa2ff071e81e429bd9b3a365264723245791aad1831a236ffeff0f01f85becb998b224c321b166f3edd3f9a828714b7c3b24aed11a5e
DIST ldb-2.1.1.tar.gz 1671390 BLAKE2B a715cb17a2d113560d37e3e5d29adfe7db43f89388bb5a474388e3f7a6ae277ddb0ee4d09d45eed18a87085c70d98308d195b3867cc57259767cb61a50c8cc6e SHA512 dd87da0746790895c617108c64b718ab6e6e630f1e3269154b40fc0e5623199a4b132d41623ae00d5c263ce79c4d6da34f072a140bee91a59dd6934969315fc8
+DIST ldb-2.1.2.tar.gz 1670997 BLAKE2B 0622d39029819b89119bce6a570c56b247871a92685d4ca33153a141d4cbbcb52a041a33c6ddbf6b01d5195feeb49fcf24f15a571cad99d031f347374860b3fe SHA512 6b9a7e6e3f6532ccedb087394b1d2d28f53a034353288bac1ea8d9ca65da5981191e31de6493445daa87684e08cc587886dd7fce19391bd20f1c7d440dbf3fbf
+EBUILD ldb-2.0.10.ebuild 2691 BLAKE2B 67a09af6418a6e17d2e2430c2648df7e88a4df33ad4637668b48cedac23c7b3d9ca8cf4d6fe09fa4bd97a2689f5cc2bcb3c99c31c786d75a19d79655320633df SHA512 f0be9e5e4640fe011609a1a00dea36685a4efdc52658ae2e60aac359e3e9b42334abdf9834351f085d1219513da9567d57a6673609b50f4a7ab629e51130cad9
EBUILD ldb-2.0.8.ebuild 2688 BLAKE2B ecc1ec7275796e6de5af9be875671301aa38da49e2345408d5f9054657ed4775d21cd1456a474217def897ccbd02e44be18a14cad14dd58ccaa816d8be968a9f SHA512 9c3320b50fdbb0e7912b731d6c6905de97b065c2c049ec046e35f09e296f0b1f350120062c3d1e3b29ada3e4fbff90e5d8576bc96397dc89c9536882d2a770bb
EBUILD ldb-2.0.9.ebuild 2695 BLAKE2B 9ef1575d86dbe106a307851c63a8bbe84bc948a13c5837fb3a09caf996ed8e8f9b37ec76fcebc2faf423db3a0f7558464d150a1f64e142d94022a5607a1a1bf6 SHA512 fee1fd6ebdbd919332ae2b35506b9e69856761d340fd6ad117b27ce2f08c31a9eda4f4bb156a64e2f01ac35c95bec438a60d58fb696639376f32dde98ab02fc9
EBUILD ldb-2.1.1.ebuild 2695 BLAKE2B c41b17921331a9677117f36bde021a244d548c3e2b3b5d9285e5ca104d96437a7723779b856276740d1e6a786fe2e3d2823fd2afce499bb3b5d1839cf034943e SHA512 21740fa246033d07d5ba0b16e72bdf26e787decd87095b7c32747bc48a7927b74fb25da9875afac670bf40b9b6c0c547574b7dd5b1bff7565e2b0cd229dc1579
+EBUILD ldb-2.1.2.ebuild 2695 BLAKE2B c41b17921331a9677117f36bde021a244d548c3e2b3b5d9285e5ca104d96437a7723779b856276740d1e6a786fe2e3d2823fd2afce499bb3b5d1839cf034943e SHA512 21740fa246033d07d5ba0b16e72bdf26e787decd87095b7c32747bc48a7927b74fb25da9875afac670bf40b9b6c0c547574b7dd5b1bff7565e2b0cd229dc1579
MISC metadata.xml 525 BLAKE2B 161146886c9d4b7139238e5753f02bbbd3eb4aa6c59415f45710c11b25e80d6e4085036e00808b38d06b671dc976922dacbab9ef3f4f18ed9793d5b5621ff546 SHA512 87a8414b97c3f08fed9395574f7be7739c845c593c2fa324e6928758e455e2ee9d45c2607dba298da2c1e21863878c147e613f6fc3750111952b7e7a7b7ada95
diff --git a/sys-libs/ldb/ldb-2.0.10.ebuild b/sys-libs/ldb/ldb-2.0.10.ebuild
new file mode 100644
index 000000000000..d96b7c18c00e
--- /dev/null
+++ b/sys-libs/ldb/ldb-2.0.10.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit python-single-r1 waf-utils multilib-minimal eutils
+
+DESCRIPTION="An LDAP-like embedded database"
+HOMEPAGE="https://ldb.samba.org"
+SRC_URI="https://www.samba.org/ftp/pub/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc ~x86"
+IUSE="doc +ldap +lmdb python test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] )
+ dev-libs/popt[${MULTILIB_USEDEP}]
+ >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
+ >=sys-libs/talloc-2.2.0[python?,${MULTILIB_USEDEP}]
+ >=sys-libs/tdb-1.4.2[python?,${MULTILIB_USEDEP}]
+ >=sys-libs/tevent-0.10.0[python(+)?,${MULTILIB_USEDEP}]
+ ldap? ( net-nds/openldap )
+ lmdb? ( >=dev-db/lmdb-0.9.16[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+"
+
+DEPEND="dev-libs/libxslt
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig
+ ${PYTHON_DEPS}
+ ${RDEPEND}
+"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( python )"
+
+WAF_BINARY="${S}/buildtools/bin/waf"
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.5.2-optional_packages.patch
+ "${FILESDIR}"/${PN}-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch
+)
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myconf=(
+ $(usex ldap '' --disable-ldap)
+ $(usex lmdb '' --without-ldb-lmdb)
+ --disable-rpath
+ --disable-rpath-install --bundled-libraries=NONE
+ --with-modulesdir="${EPREFIX}"/usr/$(get_libdir)/samba
+ --builtin-libraries=NONE
+ )
+ if ! multilib_is_native_abi; then
+ myconf+=( --disable-python )
+ else
+ use python || myconf+=( --disable-python )
+ fi
+ waf-utils_src_configure "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ waf-utils_src_compile
+ multilib_is_native_abi && use doc && doxygen Doxyfile
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi; then
+ WAF_MAKE=1 \
+ PATH=buildtools/bin:../../../buildtools/bin:$PATH:"${BUILD_DIR}"/bin/shared/private/ \
+ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"${BUILD_DIR}"/bin/shared/private/:"${BUILD_DIR}"/bin/shared \
+ waf test || die
+ fi
+}
+
+multilib_src_install() {
+ waf-utils_src_install
+
+ if multilib_is_native_abi && use doc; then
+ doman apidocs/man/man3/*.3
+ docinto html
+ dodoc -r apidocs/html/*
+ fi
+}
+
+pkg_postinst() {
+ if has_version sys-auth/sssd; then
+ ewarn "You have sssd installed. It is known to break after ldb upgrades,"
+ ewarn "so please try to rebuild it before reporting bugs."
+ ewarn "See https://bugs.gentoo.org/404281"
+ fi
+}
diff --git a/sys-libs/ldb/ldb-2.1.2.ebuild b/sys-libs/ldb/ldb-2.1.2.ebuild
new file mode 100644
index 000000000000..e1deb520305b
--- /dev/null
+++ b/sys-libs/ldb/ldb-2.1.2.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit python-single-r1 waf-utils multilib-minimal eutils
+
+DESCRIPTION="An LDAP-like embedded database"
+HOMEPAGE="https://ldb.samba.org"
+SRC_URI="https://www.samba.org/ftp/pub/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="doc +ldap +lmdb python test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] )
+ dev-libs/popt[${MULTILIB_USEDEP}]
+ >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
+ >=sys-libs/talloc-2.3.1[python?,${MULTILIB_USEDEP}]
+ >=sys-libs/tdb-1.4.3[python?,${MULTILIB_USEDEP}]
+ >=sys-libs/tevent-0.10.2[python(+)?,${MULTILIB_USEDEP}]
+ ldap? ( net-nds/openldap )
+ lmdb? ( >=dev-db/lmdb-0.9.16[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+"
+
+DEPEND="dev-libs/libxslt
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig
+ ${PYTHON_DEPS}
+ ${RDEPEND}
+"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( python )"
+
+WAF_BINARY="${S}/buildtools/bin/waf"
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.5.2-optional_packages.patch
+ "${FILESDIR}"/${PN}-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch
+)
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myconf=(
+ $(usex ldap '' --disable-ldap)
+ $(usex lmdb '' --without-ldb-lmdb)
+ --disable-rpath
+ --disable-rpath-install --bundled-libraries=NONE
+ --with-modulesdir="${EPREFIX}"/usr/$(get_libdir)/samba
+ --builtin-libraries=NONE
+ )
+ if ! multilib_is_native_abi; then
+ myconf+=( --disable-python )
+ else
+ use python || myconf+=( --disable-python )
+ fi
+ waf-utils_src_configure "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ waf-utils_src_compile
+ multilib_is_native_abi && use doc && doxygen Doxyfile
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi; then
+ WAF_MAKE=1 \
+ PATH=buildtools/bin:../../../buildtools/bin:$PATH:"${BUILD_DIR}"/bin/shared/private/ \
+ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"${BUILD_DIR}"/bin/shared/private/:"${BUILD_DIR}"/bin/shared \
+ waf test || die
+ fi
+}
+
+multilib_src_install() {
+ waf-utils_src_install
+
+ if multilib_is_native_abi && use doc; then
+ doman apidocs/man/man3/*.3
+ docinto html
+ dodoc -r apidocs/html/*
+ fi
+}
+
+pkg_postinst() {
+ if has_version sys-auth/sssd; then
+ ewarn "You have sssd installed. It is known to break after ldb upgrades,"
+ ewarn "so please try to rebuild it before reporting bugs."
+ ewarn "See https://bugs.gentoo.org/404281"
+ fi
+}
diff --git a/sys-libs/libapparmor/Manifest b/sys-libs/libapparmor/Manifest
index 97648bdab73a..93350b6ee3f3 100644
--- a/sys-libs/libapparmor/Manifest
+++ b/sys-libs/libapparmor/Manifest
@@ -1,7 +1,4 @@
AUX libapparmor-2.10-symbol_visibility.patch 219 BLAKE2B 37bb9ceabfedde6f21e313fcc6a85563fdeca86863e681fa40689b5ce8cb5bdf87947c19b176d7f96edac562b6420a0ae6aae717967782e1bd1bb6ffd4782671 SHA512 93c5e19a6cdfce232a71f9b33b1e96dff44b947c06fc6e348a31038ef78bec7b90e49698681a4010bffd4274ff17a304542b549a8840458b3ab17d4ef1b53d36
-DIST apparmor-2.13.3.tar.gz 7384974 BLAKE2B fd519f7b845db3203c8f47ff5abc7d9f20a7947fe86799b6fffcfaabaf5130fe0aa6589314f201c1df59cfd0fb22b80a12d364e9ca1279b14ba89ec469e3b346 SHA512 137b2bf026ec655b662e9c264d7d48d878db474a3f1cc5a38bfd7df2f85b682bddb77b091ab5595178231a0a262c9ae9cdd61409461cd889bdee156906ef1141
DIST apparmor-2.13.4.tar.gz 7390179 BLAKE2B 49818a010d5e5757dd43710f2af925fbb62a9f8f9be74556ff31a9a8834bebac010762fc6bef3da8d295e487b65d0e0135f4be25bcb01a834846c5e5d65d92a4 SHA512 d42748bf36ae66849f79653a62d499e9d17a97c4d680fb653eb1c379d0593aaa09f7ddfc6f2fa0d2fb468bce05fb25444976f60a5ec24778fdd7ec20d1c13651
-EBUILD libapparmor-2.13.3-r1.ebuild 2123 BLAKE2B 0ebec49f43de365c69e6c05c1b00ad71862bd91ef37b81cefc7aed801ac65b2fcc9d9a262b50e683a6bfeb0f62a6b31147732b4d3520f0c042ecc4b94c6ccae5 SHA512 e88f2f55971401a050ab1a6a1ed91e998ca88cd467001d15068cb441daaafb4c1079ec0351bdb1c7094663ee502e5b9074b96d48cf2683e9c00d42adf4d31c7f
-EBUILD libapparmor-2.13.3.ebuild 2069 BLAKE2B 9246b49088c449716e4833abf3edada215c7611998ed127d9b06502a7035bc9ecf1521cc5ce04c4fa7c648dba14887b1a92fbd5f92255a1fdb0d6424cf85cbab SHA512 04b36bbce32bae4895731605b1201ac0a2246b1979b5bde0b69b7249f821a499b8a671d01fcf5e7f5e78783c899785d53708ebdebd45f62e5afd3d3a4119a5db
-EBUILD libapparmor-2.13.4.ebuild 2123 BLAKE2B 0ebec49f43de365c69e6c05c1b00ad71862bd91ef37b81cefc7aed801ac65b2fcc9d9a262b50e683a6bfeb0f62a6b31147732b4d3520f0c042ecc4b94c6ccae5 SHA512 e88f2f55971401a050ab1a6a1ed91e998ca88cd467001d15068cb441daaafb4c1079ec0351bdb1c7094663ee502e5b9074b96d48cf2683e9c00d42adf4d31c7f
+EBUILD libapparmor-2.13.4.ebuild 2122 BLAKE2B 9343b5e365867cf38f2b5d321e397b103d278c3efbaff4d5f6ed49d10f08a092d3575a6264ddda85a93ee4066dd49d1987a4521e3cd87ce0501c3c511810d46d SHA512 42f8e370312de701f12c7aecd7210f0a3bf4a84a3cdaad279f523ff5df8d9b5f92ef78bb9bc92f21021f2901a28eb29bcafc6c3a5f244253ca13dcbf77fd371b
MISC metadata.xml 409 BLAKE2B 63cb1726a015cf118e8ffcc8cf9d49795a75d367e36b0332fbf23faad8b3eed41e2ae090cc92757e12248d831e0ea1782b6f275ef02b7d2d2022bf2b79f69042 SHA512 a66647c5e40f2593017942c12786dc30995e7980fdb58c1de0b9ae34069434cb5a4c70b2bd268a239df82edfcc1e7288e8033bf57609f757a321639afd5e78b8
diff --git a/sys-libs/libapparmor/libapparmor-2.13.3-r1.ebuild b/sys-libs/libapparmor/libapparmor-2.13.3-r1.ebuild
deleted file mode 100644
index 0ccd35241d42..000000000000
--- a/sys-libs/libapparmor/libapparmor-2.13.3-r1.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{5,6,7,8} )
-GENTOO_DEPEND_ON_PERL="no"
-
-inherit autotools distutils-r1 perl-functions
-
-MY_PV="$(ver_cut 1-2)"
-
-DESCRIPTION="Library to support AppArmor userspace utilities"
-HOMEPAGE="https://gitlab.com/apparmor/apparmor/wikis/home"
-SRC_URI="https://launchpad.net/apparmor/${MY_PV}/${PV}/+download/apparmor-${PV}.tar.gz"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="doc +perl +python static-libs"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="perl? ( dev-lang/perl:= )
- python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}
- sys-devel/autoconf-archive
- sys-devel/bison
- sys-devel/flex
- doc? ( dev-lang/perl )
- perl? ( dev-lang/swig )
- python? ( dev-lang/swig )"
-
-S=${WORKDIR}/apparmor-${PV}/libraries/${PN}
-
-PATCHES=( "${FILESDIR}/${PN}-2.10-symbol_visibility.patch" )
-
-# depends on the package already being installed
-RESTRICT="test"
-
-src_prepare() {
- rm -r m4 || die "failed to remove bundled macros"
- default
- eautoreconf
- use python && distutils-r1_src_prepare
-}
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_with perl) \
- $(use_with python)
-}
-
-src_compile() {
- emake -C src
- emake -C include
- use doc && emake -C doc
- use perl && emake -C swig/perl
-
- if use python ; then
- pushd swig/python > /dev/null
- emake libapparmor_wrap.c
- distutils-r1_src_compile
- popd > /dev/null
- fi
-}
-
-src_install() {
- emake DESTDIR="${D}" -C src install
- emake DESTDIR="${D}" -C include install
- use doc && emake DESTDIR="${D}" -C doc install
-
- if use perl ; then
- emake DESTDIR="${D}" -C swig/perl install
- perl_set_version
- insinto "${VENDOR_ARCH}"
- doins swig/perl/LibAppArmor.pm
-
- # bug 620886
- perl_delete_localpod
- perl_fix_packlist
- fi
-
- if use python ; then
- pushd swig/python > /dev/null
- distutils-r1_src_install
-
- python_moduleinto LibAppArmor
- python_foreach_impl python_domodule LibAppArmor.py
- popd > /dev/null
- fi
-
- dodoc AUTHORS ChangeLog NEWS README
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sys-libs/libapparmor/libapparmor-2.13.3.ebuild b/sys-libs/libapparmor/libapparmor-2.13.3.ebuild
deleted file mode 100644
index 2c6b7f9f5538..000000000000
--- a/sys-libs/libapparmor/libapparmor-2.13.3.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_6 )
-GENTOO_DEPEND_ON_PERL="no"
-
-inherit autotools distutils-r1 eapi7-ver perl-functions
-
-MY_PV="$(ver_cut 1-2)"
-
-DESCRIPTION="Library to support AppArmor userspace utilities"
-HOMEPAGE="https://gitlab.com/apparmor/apparmor/wikis/home"
-SRC_URI="https://launchpad.net/apparmor/${MY_PV}/${PV}/+download/apparmor-${PV}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~x86"
-IUSE="doc +perl +python static-libs"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="perl? ( dev-lang/perl:= )
- python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}
- sys-devel/autoconf-archive
- sys-devel/bison
- sys-devel/flex
- doc? ( dev-lang/perl )
- perl? ( dev-lang/swig )
- python? ( dev-lang/swig )"
-
-S=${WORKDIR}/apparmor-${PV}/libraries/${PN}
-
-PATCHES=( "${FILESDIR}/${PN}-2.10-symbol_visibility.patch" )
-
-RESTRICT="test"
-
-src_prepare() {
- rm -r m4 || die "failed to remove bundled macros"
- default
- eautoreconf
- use python && distutils-r1_src_prepare
-}
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_with perl) \
- $(use_with python)
-}
-
-src_compile() {
- emake -C src
- emake -C include
- use doc && emake -C doc
- use perl && emake -C swig/perl
-
- if use python ; then
- pushd swig/python > /dev/null
- emake libapparmor_wrap.c
- distutils-r1_src_compile
- popd > /dev/null
- fi
-}
-
-src_install() {
- emake DESTDIR="${D}" -C src install
- emake DESTDIR="${D}" -C include install
- use doc && emake DESTDIR="${D}" -C doc install
-
- if use perl ; then
- emake DESTDIR="${D}" -C swig/perl install
- perl_set_version
- insinto "${VENDOR_ARCH}"
- doins swig/perl/LibAppArmor.pm
-
- # bug 620886
- perl_delete_localpod
- perl_fix_packlist
- fi
-
- if use python ; then
- pushd swig/python > /dev/null
- distutils-r1_src_install
-
- python_moduleinto LibAppArmor
- python_foreach_impl python_domodule LibAppArmor.py
- popd > /dev/null
- fi
-
- dodoc AUTHORS ChangeLog NEWS README
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sys-libs/libapparmor/libapparmor-2.13.4.ebuild b/sys-libs/libapparmor/libapparmor-2.13.4.ebuild
index 0ccd35241d42..eff2e356a719 100644
--- a/sys-libs/libapparmor/libapparmor-2.13.4.ebuild
+++ b/sys-libs/libapparmor/libapparmor-2.13.4.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://launchpad.net/apparmor/${MY_PV}/${PV}/+download/apparmor-${PV}.
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
IUSE="doc +perl +python static-libs"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/sys-libs/libblockdev/Manifest b/sys-libs/libblockdev/Manifest
index 5314751b8495..d0d4b1e5464a 100644
--- a/sys-libs/libblockdev/Manifest
+++ b/sys-libs/libblockdev/Manifest
@@ -1,8 +1,5 @@
-DIST libblockdev-2.20-1.tar.gz 338039 BLAKE2B 77923e52b10e7853ae9433bf811d3a08f1c18da81d4f148b220d7e4101535f245612f0c82c96c6c3bc3e4c0631ada153c59c4587a86efdc5669a0b9f69e764be SHA512 4cb6b18d5de63461f35e0b6f6896599aa41da2c995839c2e88661dacdf07522842b612820fb1d83edbde72092cc62295d5411e8607f52c611db7f02aa16c9ab3
-DIST libblockdev-2.22.tar.gz 854888 BLAKE2B beb1ff0ac122eb12b2066d97c81a8c62a33369aa22a6ae5d141076d52fbd82d17504a97f1a0091773d9a65b25b976edecebe3a76ba91ee8e6032fd034298fa4a SHA512 69bbd5afbd8abb0e22ef72d80375e32db653f21cf3063cf69fff71ad069ee0e6119adf6918a63e7ba9ec4ca02ffe3337be3edeeafdd3e73e4e53d85e90bf2f45
+AUX libblockdev-2.23-avoid_bashisms.patch 1760 BLAKE2B 37cdc9ca0a002525646f6a9de162b6a30f3ae9fd331232e3c5bbe287fac687a1ccc496036f94cfa568100c095b7e947e6f6b5ed00a8d926857c102de7b8ce53b SHA512 abba5f533c35e5be47e83e86d3ccc630e122adb465741bfc888d0f6bee2fdcc96ec820626dd02e08fc46a01d30a04652f1d587a9ddef7bb9c58bec7b9053f767
DIST libblockdev-2.23.tar.gz 856829 BLAKE2B 131bf429e530fc9dd44fade4f5bc937ec220365b1ee2ae46818a6fa3ec7591775fdc3ed531350cc2546f4151e41551dfd3e331b0a6d5777769a7b54c5c15ed42 SHA512 ecc4d5a3cb977fbbe176bf6872b6754833d2869e927c32f8466685916ee4550cf806e0b0c8f5e8e76de3839ae591a4eec502ff974c2f0678af6cfd46dd3016f3
-EBUILD libblockdev-2.20-r2.ebuild 2014 BLAKE2B 07fcb7f6852eb655275daa50d69607a05f91c51818cf7cdf14eedd78ee896a819ad98add227534847b2018e7903d4687d254be942234a5b27cda0ae84aa19909 SHA512 e82fa99136c0390ca347fde1939f39620ed9fc7a6ada8ed2197174631505b50e8da1df32096f7626e9a239fcc5b86dec0773e540654ad5c80bb4a713e38e8234
-EBUILD libblockdev-2.22.ebuild 2516 BLAKE2B ad58734ac9bfee6cf0e8078eb36ee66b51744fd706dd14f248a576789c76b244ca0392772191f9d3af8d6fee164696cc76b7d93efee9d3b3d8625f2022e49adf SHA512 14b9ae846175817e5213018993f1d78c7ca0265394539b3e1baee5c8e9c1bf5c2609356d644a485964bfd1a59c04d0a22f569a87349e81be0430a9677279c85d
-EBUILD libblockdev-2.23-r1.ebuild 2599 BLAKE2B 2db7daa281a94bfe24a322b493b7ada80ede81fb1970f8c8c550c77509cfbd6d498fd4770f4a8d10fc0ac8ba6ba56021094cd62817218d082abe3dec90a09304 SHA512 b14af9a77420373693bc44e21096097f8a40c2b049ac56cc248784a49b13c5a5418ab62ab2c069e146af2aa3c88fe039405d9cce03b2397029df0d8e3226547b
+EBUILD libblockdev-2.23-r1.ebuild 2634 BLAKE2B d1260e7a462fa469ef96026b57073f094ba270a50166f59fc4727686946f15cd50cee2bfdace38c763bad4035c25e4496da6a42883227d237a5bc7a1c5d6e655 SHA512 2bd2d27d1e052e906ac3f0ca27a45590d45be55d30e4f7af485fc9580d7dec2235bba49730dddccc7bf6ec46d5df489b15cd9f3d7606fb1deab9a959d033a799
EBUILD libblockdev-9999.ebuild 2606 BLAKE2B f4780c6c02ca95eca1a1b8968c0a28741f06e785e7c7f920d8d9b7dd27f29f1f932e07037db6873a872bba840b522d39e85c034a87929515744562892d236ccc SHA512 eb41e982a8e9607fbd0272aced19f3fecce0a35486cc841af45f4b000eadc1551d0a131d7ac1d480747b38ad0be67b23c216be9d959ad19bdc37721580ce2dc2
MISC metadata.xml 1079 BLAKE2B 927991dfdfefd599210651f76fa8bffbd5a54700791b57847a9ecf85cd1aa04a449eea84c4e1ee3e9eb50e541eab3d97a6218c814a018439aa6f520970a8acca SHA512 492cabe5b464c0bae48e8def1e771a27f28bcd03a47276be26a4351367bcd53e198358f8c0cbf25cd0c6c8e841ee67435b22fbe669bde1a6aa74668e70fa8fc9
diff --git a/sys-libs/libblockdev/files/libblockdev-2.23-avoid_bashisms.patch b/sys-libs/libblockdev/files/libblockdev-2.23-avoid_bashisms.patch
new file mode 100644
index 000000000000..9c4f94bd841d
--- /dev/null
+++ b/sys-libs/libblockdev/files/libblockdev-2.23-avoid_bashisms.patch
@@ -0,0 +1,41 @@
+From e6ab6918ffac65da2d562cb286c6ab50eaf62ca2 Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Mon, 11 May 2020 22:14:26 +0200
+Subject: [PATCH] configure.ac: Avoid bashisms
+
+or else we get unpredictable results with shells != /bin/bash like:
+
+checking for gobject-introspection... no (disabled, use --enable-introspection to enable)
+./configure: 13672: test: xno: unexpected operator
+checking for python3... /var/tmp/portage/sys-libs/libblockdev-2.23-r1/temp/python3.8/bin/python3
+./configure: 13838: test: x/var/tmp/portage/sys-libs/libblockdev-2.23-r1/temp/python3.8/bin/python3: unexpected operator
+
+Reported-by: Matt Whitlock <gentoo@mattwhitlock.name>
+Gentoo-bug: https://bugs.gentoo.org/719442
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ded64259..bbdff5e7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -60,7 +60,7 @@ AC_ARG_WITH([python3],
+ AC_SUBST(WITH_PYTHON3, 0)
+ if test "x$with_python3" != "xno"; then
+ AC_PATH_PROG([python3], [python3], [no])
+- AS_IF([test "x$python3" == "xno"],
++ AS_IF([test "x$python3" = "xno"],
+ [if test "x$with_python3" = "xyes"; then
+ LIBBLOCKDEV_SOFT_FAILURE([Python3 support requested, but python3 is not available])
+ fi],
+@@ -77,7 +77,7 @@ AC_ARG_WITH([gtk-doc],
+ AC_SUBST(WITH_GTK_DOC, 0)
+ if test "x$with_gtk_doc" != "xno"; then
+ AC_PATH_PROG([gtkdoc_scan], [gtkdoc-scan], [no])
+- AS_IF([test "x$gtkdoc_scan" == "xno"],
++ AS_IF([test "x$gtkdoc_scan" = "xno"],
+ [if test "x$with_gtk_doc" = "xyes"; then
+ LIBBLOCKDEV_SOFT_FAILURE([Building documentation with gtk-doc requested, but not available])
+ fi],
diff --git a/sys-libs/libblockdev/libblockdev-2.20-r2.ebuild b/sys-libs/libblockdev/libblockdev-2.20-r2.ebuild
deleted file mode 100644
index 60af4b7c5066..000000000000
--- a/sys-libs/libblockdev/libblockdev-2.20-r2.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-inherit autotools python-single-r1 xdg-utils
-
-MY_PV="${PV}-1"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="A library for manipulating block devices"
-HOMEPAGE="https://github.com/storaged-project/libblockdev"
-SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 sparc x86"
-IUSE="bcache +cryptsetup device-mapper dmraid doc escrow lvm kbd test vdo"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.42.2
- dev-libs/libbytesize
- >=sys-apps/kmod-19
- >=sys-apps/util-linux-2.27
- >=sys-block/parted-3.1
- cryptsetup? (
- escrow? (
- >=dev-libs/nss-3.18.0
- dev-libs/volume_key
- )
- >=sys-fs/cryptsetup-1.6.7:=
- )
- device-mapper? ( sys-fs/lvm2 )
- dmraid? (
- sys-fs/dmraid
- sys-fs/lvm2
- )
- lvm? (
- sys-fs/lvm2
- virtual/udev
- )
- vdo? ( dev-libs/libyaml )
- ${PYTHON_DEPS}
-"
-
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- >=dev-libs/gobject-introspection-1.3.0
- sys-devel/autoconf-archive
- doc? ( dev-util/gtk-doc )
-"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- escrow? ( cryptsetup )"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_setup() {
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- xdg_environment_reset #623992
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --with-btrfs
- --with-fs
- --with-part
- --without-mpath
- --without-nvdimm
- $(use_enable test tests)
- $(use_with bcache)
- $(use_with cryptsetup crypto)
- $(use_with device-mapper dm)
- $(use_with dmraid)
- $(use_with doc gtk-doc)
- $(use_with escrow)
- $(use_with kbd)
- $(use_with lvm lvm)
- $(use_with lvm lvm-dbus)
- $(use_with vdo)
- )
- if python_is_python3 ; then
- myeconfargs+=(
- --without-python2
- --with-python3
- )
- else
- myeconfargs+=(
- --with-python2
- --without-python3
- )
- fi
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -name "*.la" -delete || die
-}
diff --git a/sys-libs/libblockdev/libblockdev-2.22.ebuild b/sys-libs/libblockdev/libblockdev-2.22.ebuild
deleted file mode 100644
index 10771c4f046c..000000000000
--- a/sys-libs/libblockdev/libblockdev-2.22.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-inherit python-single-r1 xdg-utils
-
-DESCRIPTION="A library for manipulating block devices"
-HOMEPAGE="https://github.com/storaged-project/libblockdev"
-if [[ "${PV}" == *9999 ]] ; then
- inherit autotools git-r3
- EGIT_REPO_URI="https://github.com/storaged-project/libblockdev.git"
- BDEPEND="
- sys-devel/autoconf-archive
- "
-else
- MY_PV="${PV}-1"
- #MY_P="${PN}-${MY_PV}"
- #SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
- SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
- #S="${WORKDIR}/${MY_P}"
-fi
-LICENSE="LGPL-2+"
-SLOT="0"
-IUSE="bcache +cryptsetup device-mapper dmraid escrow gtk-doc lvm kbd test +tools vdo"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.42.2
- dev-libs/libbytesize
- >=sys-apps/kmod-19
- >=sys-apps/util-linux-2.27
- >=sys-block/parted-3.1
- cryptsetup? (
- escrow? (
- >=dev-libs/nss-3.18.0
- dev-libs/volume_key
- )
- >=sys-fs/cryptsetup-1.6.7:=
- )
- device-mapper? ( sys-fs/lvm2 )
- dmraid? (
- sys-fs/dmraid
- sys-fs/lvm2
- )
- lvm? (
- sys-fs/lvm2
- virtual/udev
- )
- vdo? ( dev-libs/libyaml )
- ${PYTHON_DEPS}
-"
-
-DEPEND="
- ${RDEPEND}
-"
-
-BDEPEND+="
- >=dev-libs/gobject-introspection-1.3.0
- dev-util/gtk-doc-am
- gtk-doc? ( dev-util/gtk-doc )
-"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- escrow? ( cryptsetup )"
-
-pkg_setup() {
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- xdg_environment_reset #623992
- default
- [[ "${PV}" == *9999 ]] && eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --with-btrfs
- --with-fs
- --with-part
- --without-mpath
- --without-nvdimm
- $(use_enable test tests)
- $(use_with bcache)
- $(use_with cryptsetup crypto)
- $(use_with device-mapper dm)
- $(use_with dmraid)
- $(use_with escrow)
- $(use_with gtk-doc)
- $(use_with kbd)
- $(use_with lvm lvm)
- $(use_with lvm lvm-dbus)
- $(use_with tools)
- $(use_with vdo)
- )
- if python_is_python3 ; then
- myeconfargs+=(
- --without-python2
- --with-python3
- )
- else
- myeconfargs+=(
- --with-python2
- --without-python3
- )
- fi
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -type f -name "*.la" -delete || die
- # This is installed even with USE=-lvm, but libbd_lvm are omitted so it
- # doesn't work at all.
- if ! use lvm; then
- rm -f "${ED}"/usr/bin/lvm-cache-stats || die
- fi
-}
diff --git a/sys-libs/libblockdev/libblockdev-2.23-r1.ebuild b/sys-libs/libblockdev/libblockdev-2.23-r1.ebuild
index c252b7d2104f..105df4812baa 100644
--- a/sys-libs/libblockdev/libblockdev-2.23-r1.ebuild
+++ b/sys-libs/libblockdev/libblockdev-2.23-r1.ebuild
@@ -4,12 +4,12 @@
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
-inherit python-single-r1 xdg-utils
+inherit autotools python-single-r1 xdg-utils
DESCRIPTION="A library for manipulating block devices"
HOMEPAGE="https://github.com/storaged-project/libblockdev"
if [[ "${PV}" == *9999 ]] ; then
- inherit autotools git-r3
+ inherit git-r3
EGIT_REPO_URI="https://github.com/storaged-project/libblockdev.git"
BDEPEND="
sys-devel/autoconf-archive
@@ -66,6 +66,8 @@ BDEPEND+="
REQUIRED_USE="${PYTHON_REQUIRED_USE}
escrow? ( cryptsetup )"
+PATCHES=( "${FILESDIR}/${P}-avoid_bashisms.patch" ) #719442
+
pkg_setup() {
python-single-r1_pkg_setup
}
@@ -73,7 +75,7 @@ pkg_setup() {
src_prepare() {
xdg_environment_reset #623992
default
- [[ "${PV}" == *9999 ]] && eautoreconf
+ eautoreconf
}
src_configure() {
diff --git a/sys-libs/libcap/Manifest b/sys-libs/libcap/Manifest
index da94bc6b406f..4295d1472390 100644
--- a/sys-libs/libcap/Manifest
+++ b/sys-libs/libcap/Manifest
@@ -3,14 +3,14 @@ AUX libcap-2.25-build-system-fixes.patch 4705 BLAKE2B be3c05b5c798411cc03458c1ce
AUX libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch 988 BLAKE2B 63417032b843ff7cb704c9880cfca4db5083d05d479c71dd12925d729f22a4900c2ae277a20399d58830eaca969842d587a2ae0a646809d6b659a75d13678312 SHA512 ba573ce68858c1370f3d25ad03678a534e6f3052076694d09e795d1febf2f3d76a6a170658b71d9e31105521fd5d22dd72095585a5402286dba424937064b389
AUX libcap-2.26-no-perl.patch 2483 BLAKE2B 34d20ca017119a40e31e2da64786a93c1d5468558e8dfcfb15f3758b6648aaad38bf333c11b35a2c8c4cb66d823e4daefed93b7073a0a65225fe9ef3494ff9ef SHA512 750a64c7b45fd145a043f29b8262c9f972aa4dcfb76afed9e440365c0e55d67d0103491e67a34f0f24ee580656e2fffd589b46b0c5a04b4c9e05b5dac6bbe994
AUX libcap-2.28-no_perl.patch 2599 BLAKE2B 55a6ef3573517e7cd7f367b811a5b6edc2b91974a23e99a31e1704dd5bcda90dfa3b7fde69c37f48c8ad1d97d0c8d68441830f7cc94adacb50cb54246519cb89 SHA512 40d739250a3508538f7083da700efe47628acd6b213e806b5c9d321ce55ce870dd58073459991b235d3cd3190b53e62e1fcc11f79779bda9239f3e042fb9428b
-AUX libcap-2.29-build-system-fixes.patch 6642 BLAKE2B 747ca2279f1b44ed9d89a318fb06e5efda96388020cda126870dba0754e4651a3d4f2c171470da52cd51dfb6f7dfc57b635ac805160dd2bc995337f2bc12221a SHA512 e82497d111ac96b2fe20d245ba731d5e085a3039a4eacd9da5b598d84293bffcf40da50284139006c9d895d4274dd83811ef05d08e50e72fea44ff23873945fe
AUX libcap-2.33-build-system-fixes.patch 6821 BLAKE2B 35eafed271fc489d4daf36ecfae2a4b713a8ddfd0e3d609855bfd86b8b4c6fff0243f66b7e281610884092ecde589706fdc4903842c7803ae0b27734b5fad62f SHA512 7f0c5f2200d977954ce8d21348135366685707ad12979e256cfedc7a9eb231bd19b4c229ca7168819a8dd85c9a755d0aaf4923b6c960ca3d1a15eeef53a1df77
+AUX libcap-2.34-build-system-fixes.patch 6993 BLAKE2B 66f003f78f3176be90f9e71f6ff1fc3de6005201be398583c3a79854e7b08a6bda384bb49bf24b24994bf4f5d2dfe9c6e82a7351483acad504628d6610a19094 SHA512 2f59a6831ed9b0116fa48becec66fa48fd8668254d3085d45e2c3ab198bde3148617bd7c852b8c7e1ab48d8a563116505e46dddc59d6d1a4eb18d02f86523804
DIST libcap-2.26.tar.xz 67172 BLAKE2B 9d1952bd03e1bba5ffa225a5088b8d841c2007219bbb9524f979ac65e472bf932db496acf93984fa77fe42e71d45b85cd603ca461a071fb4742526dfbc5f66eb SHA512 1c2d59f007226405a924950b2c2090393527e06f0692a84e6463e33915a070df61a9070b8f30a624d5630ddd39290eac117e5d440577d1edd48510195b9d12f0
DIST libcap-2.27.tar.xz 67780 BLAKE2B 7b58d7afdd90281771a302cd9554f067b9e3636b0c052935973d8a0d890490c3933b3513874b788a8c10e37ab5ad9cfa766408c9629b7c8562cb17bfdef87747 SHA512 e32335fd3e0d1564574acc73df7030b5b0fd98875217bffabd76f2765f1a7a6f1369f03df2ee22a1782776838784e342378c10613ea1163d53ae5055ab6a62b6
-DIST libcap-2.32.tar.xz 99708 BLAKE2B cbd4676ca9ada4c4dd6dee5137c0bb16f23af5d9a224c81b476c19326f87352fb06e2e123c9431558cd22f91032064ed6de8407d5861728dd141be16957363db SHA512 e2325cf0a1d0509c49336f7e5760e5b339c889cdde8d6c359197aed711423f951ad390a2a3dd4943b03afe152ad8502ea1db9d7ef247148b93e93a3c4895a019
DIST libcap-2.33.tar.xz 111280 BLAKE2B 9a34b6e871c6175da5ef665ab7a5ed8b9889f598875f58a6e0b7aef9b6b2737f2a85bb0a6e259a730a3fcea3b8ebbec793b52ee5dec7d11fcf236dfb2148eb83 SHA512 bb5bdc1318b524ee607026038dff7c1c621f1710fa07f8c341b1f86761cb086d32b93d7a12dbe4256d4440ee984143db8659d2679330e221ce184d7048c142b4
+DIST libcap-2.34.tar.xz 111556 BLAKE2B 083599a899e5cc8942aedc3c932627d8608ea9cdc4eefe716e5fe2fb195276be26373697aa5bb3e84b801ccabb08f78c44f67ed82ea5c383a7c6a4d86f9e06b4 SHA512 6604aeab3de547e16e3c63e35cf41a5aaacf0cb52ffc818c822ada88595437986df731990d4b288eb72f9150de41fb8a93a6a727b936058e88b49b86352c4771
EBUILD libcap-2.26-r2.ebuild 2043 BLAKE2B 17ae356da940fbdcd890bf61bbfac9d9b40b5d5413fbadb026044b39c7477859293e408c66a6f23bb846745c0c3d804603b663804e3325bae66056973d640b9a SHA512 c6bc8bb3145cefd88c9f4f392dbecc8fd4e36bc0532db2a39c2af4d5664b6f0dbab3223d6260cf2323eecdb9c7e36aedee59b665bea1e2169d2eb68188330c17
EBUILD libcap-2.27.ebuild 2052 BLAKE2B 2e8a46c226457ee9108b3fcbca3c79eddc36cd5b6948bfee6e32f2b53937dfc255f66260e0d451a753bf2c7c983a88915b10f72c021d7a6f5729a8a8c5b970ee SHA512 dac16a76f827115256ecaa94e9fa8b8fa1621d87359108c156cb912608b6ad9401d0dd708bf8ac2963b9b88467048ad8c87857291aadabadccea250f3c3930fa
-EBUILD libcap-2.32.ebuild 2124 BLAKE2B 4d3b4d37d4cd1f12852b0018c4c22d097b5993c629fedeb8f672accbe1279d4b09ba445b277f4ac23f552b8811254c5dc4f87ff3478dbbd61c44ba8e6942b352 SHA512 acebf6b1b85081125cfedee8b1f0ea4cefed5ef7abc52292758fcc7754fba05725ec3c7bc2167b39a1d88382a2ae13d0328f32c88914dfabb9ee15785d40b079
EBUILD libcap-2.33.ebuild 2124 BLAKE2B d99bda3c682d53c0027d4429ad50520a0c1b5555879a7883245c156f781079d4b74cefed3611e1e2db5d5980fded463b6f77b29b6bfb16c36c9312141bace95b SHA512 e2cdd6c6e65be570cf2800ac79e817e8cb14c9899ea89ff731cb55c4767cf7b56d73760ab16baf0f30eaa09cc326d93992c046da2e412222152dcd6e2f6f1795
+EBUILD libcap-2.34.ebuild 2124 BLAKE2B c89bcc2dd825f85c7796632c8045b2f391968664eae938c7a2a044ec3c21cc7cc38b2643972ad33c181d28ad0f09cba1cbc6b9580e8f7d3876b1cd8e41cc8d2f SHA512 4ed2f9e1ec2875604f179b3b0de6f51caa3e40e8513f60c612d01c1aaa811ee0f0db59fe79032c8763c6c0decf4a650d5bf229c2d0beb980fd28aee0465782cc
MISC metadata.xml 332 BLAKE2B 2177c836192a85a6d943221da405f7f11f355011767789d81009d5e4d822a203302a946fa1a0ffbc66be6a37a7069aa94a796125fa1dedbdf023762b47f8f614 SHA512 a9887500fd60b72156ac2589b1fefab8dd70b0c03477dd795f147fdc91bbe6fd027b8cf58c3e86cdb6e831368d34b4881cdf0e833af5aee9e7d1a01e90408ae1
diff --git a/sys-libs/libcap/files/libcap-2.29-build-system-fixes.patch b/sys-libs/libcap/files/libcap-2.34-build-system-fixes.patch
index a7751f429fd5..126e538633b5 100644
--- a/sys-libs/libcap/files/libcap-2.29-build-system-fixes.patch
+++ b/sys-libs/libcap/files/libcap-2.34-build-system-fixes.patch
@@ -1,56 +1,58 @@
-From 907626b63794199163778761fb56a5c89aa33e35 Mon Sep 17 00:00:00 2001
+From ac790bb368d309d1d2add15bbb59559d53cb05bb Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
-Date: Wed, 10 Feb 2016 09:47:27 +0100
+Date: Tue, 5 May 2020 09:52:40 +0200
Subject: [PATCH] build system fixes
This touches up the homebrewed build system to work much better "out of the
box" for people. Specifically:
- - allow toolchain vars to be set via environment
- - CC / BUILD_CC / AR / RANLIB
- - CFLAGS / CPPFLAGS / LDFLAGS
- - split CPPFLAGS out of CFLAGS
- - break -fPIC out of global CFLAGS and only use where needed
- - use LDLIBS for libraries, not LDFLAGS
+ - allow toolchain vars to be set via environment
+ - CC / BUILD_CC / AR / RANLIB
+ - CFLAGS / CPPFLAGS / LDFLAGS
+ - split CPPFLAGS out of CFLAGS
+ - break -fPIC out of global CFLAGS and only use where needed
+ - use LDLIBS for libraries, not LDFLAGS
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Forward ported from libcap-2.24 to libcap-2.25
Forward ported from libcap-2.25 to libcap-2.28
Forward ported from libcap-2.28 to libcap-2.29
+Forward ported from libcap-2.29 to libcap-2.33
+Forward ported from libcap-2.33 to libcap-2.34
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
---
- Make.Rules | 27 +++++++++++++++------------
+ Make.Rules | 24 +++++++++++++-----------
Makefile | 1 -
libcap/Makefile | 7 ++++---
pam_cap/Makefile | 8 +++++---
progs/Makefile | 2 +-
tests/Makefile | 8 +++++---
- 6 files changed, 30 insertions(+), 23 deletions(-)
+ 6 files changed, 28 insertions(+), 22 deletions(-)
diff --git a/Make.Rules b/Make.Rules
-index e7641e7..32c57df 100644
+index 0fbfba0..755581d 100644
--- a/Make.Rules
+++ b/Make.Rules
-@@ -47,35 +47,38 @@ MINOR=29
+@@ -47,36 +47,38 @@ MINOR=34
# Compilation specifics
KERNEL_HEADERS := $(topdir)/libcap/include/uapi
-IPATH += -fPIC -I$(KERNEL_HEADERS) -I$(topdir)/libcap/include
--
--CC := gcc
--CFLAGS := -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+
+-CC := $(CROSS_COMPILE)gcc
++CC ?= $(CROSS_COMPILE)gcc
+ DEFINES := -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+-CFLAGS := -O2 $(DEFINES)
-BUILD_CC := $(CC)
--BUILD_CFLAGS := $(CFLAGS) $(IPATH)
--AR := ar
--RANLIB := ranlib
-+
-+CC ?= gcc
-+CFLAGS ?= -O2
+-BUILD_CFLAGS := -O2 $(DEFINES) $(IPATH)
+-AR := $(CROSS_COMPILE)ar
+-RANLIB := $(CROSS_COMPILE)ranlib
++CFLAGS ?= -O2 $(DEFINES)
+BUILD_CC ?= $(CC)
+BUILD_CFLAGS ?= $(CFLAGS)
-+AR ?= ar
-+RANLIB ?= ranlib
++AR ?= $(CROSS_COMPILE)ar
++RANLIB ?= $(CROSS_COMPILE)ranlib
DEBUG = -g #-DDEBUG
WARNINGS=-Wall -Wwrite-strings \
-Wpointer-arith -Wcast-qual -Wcast-align \
@@ -65,8 +67,7 @@ index e7641e7..32c57df 100644
BUILD_GPERF := $(shell which gperf >/dev/null 2>/dev/null && echo yes)
-SYSTEM_HEADERS = /usr/include
-+LIBCAP_CPPFLAGS = -I$(KERNEL_HEADERS) -I$(topdir)/libcap/include
-+LIBCAP_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
++LIBCAP_CPPFLAGS = -I$(KERNEL_HEADERS) -I$(topdir)/libcap/include $(DEFINES)
+CPPFLAGS += $(LIBCAP_CPPFLAGS)
+BUILD_CPPFLAGS += $(LIBCAP_CPPFLAGS)
INCS=$(topdir)/libcap/include/sys/capability.h
@@ -84,7 +85,7 @@ index e7641e7..32c57df 100644
GOROOT := $(shell go env GOROOT)
GOCGO := $(shell if [ "$(shell go env CGO_ENABLED)" = 1 ]; then echo yes ; else echo no ; fi)
diff --git a/Makefile b/Makefile
-index 14e29ef..f0104e0 100644
+index d8cf49c..c0b10a0 100644
--- a/Makefile
+++ b/Makefile
@@ -16,7 +16,6 @@ endif
@@ -96,7 +97,7 @@ index 14e29ef..f0104e0 100644
$(MAKE) -C doc $@
$(MAKE) -C kdebug $@
diff --git a/libcap/Makefile b/libcap/Makefile
-index 949cfad..a7f80ce 100644
+index c2cb0d1..406dfe5 100644
--- a/libcap/Makefile
+++ b/libcap/Makefile
@@ -21,6 +21,7 @@ PSXOBJS=$(addsuffix .o, $(PSXFILES))
@@ -105,9 +106,9 @@ index 949cfad..a7f80ce 100644
GPERF_OUTPUT = _caps_output.gperf
+CFLAGS += -fPIC
- all: $(MINLIBNAME) $(STACAPLIBNAME) libcap.pc $(STAPSXLIBNAME)
+ all: $(MINLIBNAME) $(STACAPLIBNAME) libcap.pc libpsx.pc $(STAPSXLIBNAME)
-@@ -39,7 +40,7 @@ libcap.pc: libcap.pc.in
+@@ -48,7 +49,7 @@ libpsx.pc: libpsx.pc.in
$< >$@
_makenames: _makenames.c cap_names.list.h
@@ -116,7 +117,7 @@ index 949cfad..a7f80ce 100644
cap_names.h: _makenames
./_makenames > cap_names.h
-@@ -66,10 +67,10 @@ $(MINLIBNAME): $(CAPOBJS)
+@@ -75,10 +76,10 @@ $(MINLIBNAME): $(CAPOBJS)
ln -sf $(MAJLIBNAME) $(LIBNAME)
%.o: %.c $(INCLS)
@@ -127,8 +128,8 @@ index 949cfad..a7f80ce 100644
- $(CC) $(CFLAGS) $(IPATH) $(INCLUDE_GPERF_OUTPUT) -c $< -o $@
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDE_GPERF_OUTPUT) -c $< -o $@
- install: all
- mkdir -p -m 0755 $(FAKEROOT)$(INCDIR)/sys
+ cap_test: cap_test.c libcap.h
+ $(CC) $(CFLAGS) $(IPATH) $< -o $@
diff --git a/pam_cap/Makefile b/pam_cap/Makefile
index 56604fd..2da4674 100644
--- a/pam_cap/Makefile
@@ -163,25 +164,25 @@ index 56604fd..2da4674 100644
test: pam_cap.so
make testlink
diff --git a/progs/Makefile b/progs/Makefile
-index 4c24f16..a3bbbd4 100644
+index 076e44f..fd13351 100644
--- a/progs/Makefile
+++ b/progs/Makefile
@@ -23,7 +23,7 @@ $(BUILD): %: %.o $(DEPS)
$(CC) $(CFLAGS) -o $@ $< $(LIBCAPLIB) $(LDFLAGS)
%.o: %.c $(INCS)
-- $(CC) $(IPATH) $(CFLAGS) -c $< -o $@
-+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
+- $(CC) $(IPATH) $(CAPSH_SHELL) $(CFLAGS) -c $< -o $@
++ $(CC) $(CAPSH_SHELL) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
install: all
mkdir -p -m 0755 $(FAKEROOT)$(SBINDIR)
diff --git a/tests/Makefile b/tests/Makefile
-index 95e4ca6..dcb89ae 100644
+index 3fedeca..3645ddd 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -16,6 +16,8 @@ test: run_psx_test run_libcap_psx_test
- sudotest: test
+ sudotest: test run_libcap_launch_test run_libcap_launch_test
+CFLAGS += -fPIC
+
@@ -206,8 +207,8 @@ index 95e4ca6..dcb89ae 100644
- $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create --static
+ $(CC) $(CFLAGS) $(CPPFLAGS) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create --static
- clean:
- rm -f psx_test psx_test_wrap libcap_psx_test
+ run_libcap_launch_test: libcap_launch_test libcap_psx_launch_test noop
+ sudo ./libcap_launch_test
--
-2.24.1
+2.26.2
diff --git a/sys-libs/libcap/libcap-2.32.ebuild b/sys-libs/libcap/libcap-2.34.ebuild
index 0f7d52538c14..1c62c6a414aa 100644
--- a/sys-libs/libcap/libcap-2.32.ebuild
+++ b/sys-libs/libcap/libcap-2.34.ebuild
@@ -26,7 +26,7 @@ DEPEND="${RDEPEND}
RESTRICT="test"
PATCHES=(
- "${FILESDIR}"/${PN}-2.29-build-system-fixes.patch
+ "${FILESDIR}"/${PN}-2.34-build-system-fixes.patch
"${FILESDIR}"/${PN}-2.28-no_perl.patch
"${FILESDIR}"/${PN}-2.25-ignore-RAISE_SETFCAP-install-failures.patch
"${FILESDIR}"/${PN}-2.21-include.patch
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 4a67c3334430..ad018ca72698 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,12 +1,10 @@
AUX libcxx-3.9-cmake-link-flags.patch 1014 BLAKE2B 8e86059e00a5ebcd7a1528882876607c80ab14bcd0ebf2c8dbec87f71a48761e6433ff94db92b41192edb6e3cc74972cd9fb518f18a657229bd30afa3a65bdf8 SHA512 5df85c66bf865900197effe3905976bf165b4c4d79b8d14352753f6baca93ab5dc26bf735fd9478a0c13df489b860d8b629240134b7e26be6233138ea95dbab3
-DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
-EBUILD libcxx-10.0.0.9999.ebuild 6295 BLAKE2B 398e90c1dc0c840185bd838a1cdee45c6fcc61a8ab75e15dcb36a1c71d4c353975c4b066b05e1f2d72b27ce61f6dc049d9debf30620eac623c3376b30d0a21f7 SHA512 482bb88538675a661212d6e79489e702f199b8a66c3c48d1ce5487e7e1221fc55127028b7a589d051e7e59e7dd8930e33e5a466e206d28a9d0ddd3ac29e5f717
-EBUILD libcxx-10.0.0.ebuild 6318 BLAKE2B 7a3d260b08343b2a27666974afc530388e426ded07bb54cfdb9623dc8b99084a6b50e1734f554341e32b48a06a400841feefdb4596b7f5603c48f99d57c86569 SHA512 7a5588cfd385bb9524235af89d490050b4495aac55cbe6caaefdba69caf80c7cbff5139b1dd44a5f109cca38cf4865a93669af523555486e4c87e67a68a1ab02
-EBUILD libcxx-11.0.0.9999.ebuild 6295 BLAKE2B 398e90c1dc0c840185bd838a1cdee45c6fcc61a8ab75e15dcb36a1c71d4c353975c4b066b05e1f2d72b27ce61f6dc049d9debf30620eac623c3376b30d0a21f7 SHA512 482bb88538675a661212d6e79489e702f199b8a66c3c48d1ce5487e7e1221fc55127028b7a589d051e7e59e7dd8930e33e5a466e206d28a9d0ddd3ac29e5f717
-EBUILD libcxx-7.1.0.ebuild 6734 BLAKE2B ccf745bc3f3ea12361f877637970090b3588febd096fff2118359afc1664a2c5eb7e55e90372a5f5dc711b7a12310fcbe9fd2fd7f047b9bce117b8c99c7da393 SHA512 cea3065bf397c3d1615ac3d6a92910bc84ae439597c4972fdcd4eb41ce0fb1dd34dbdbd1cdfb95c0f46fb8a217f31f5b23da4c358204b349d48e1d433a3d9735
-EBUILD libcxx-8.0.1.ebuild 6773 BLAKE2B b1f95dfaa74faf6ec4299c7241330d5047c1eabc69351f2bbeea296c41a3671c87e99689cda85c65aa29c513eca148321806719f15229b283b0c82a5f9bd1c93 SHA512 0060d986d79514416681cab707ed8075a7f8c461146457724acfbd04e269836827b4adbf791b1afb3a4b8fec13d44678c459861b749ce4001fd5c4a65b97121c
-EBUILD libcxx-9.0.1.ebuild 6632 BLAKE2B 9ac8aeb7396ecc18006ec42336a3f451468c4ca379f3d2f9975ef7352fb1bfa3c93459d818b3cac356038c35d414ab84089155d789ea6ca5d0e911d2c490d98e SHA512 f51cb9cb2e1654b352df7c0c3b06ee5e7f4a0b8e14d9574435a9e75caea7db6d8afe28b6bfe541dd0757d18cf7e2128960b4a6d62cdc58c66a0939e5a7f61af4
+EBUILD libcxx-10.0.0.9999.ebuild 6061 BLAKE2B 4ce9f38d1a79e97569f61c963af1be76a160ec284975b24ab7ccc21d3572d9a022ed36b87bed6105a953c901a573394451496dac278bf8f8eaed3dca9b641fb1 SHA512 4de6ee20e73fa384c94fb10a9fed2b06f489624a3727558ae8f6d2e836418d3a2fecc6c3fa5ccbcf3725391ca0ce1f3b1b5ac18038b805b05df491771df03729
+EBUILD libcxx-10.0.0.ebuild 6084 BLAKE2B 6c85f35df2356419ff707a588ade9937d8b5fa3857a535f29ac77312ce565a6d02247c12a84f1d2458fea352cb9d3c3c59392bb8b7caaf7e3493180c5ad663b8 SHA512 5e7149e78a8a38de75c5e7776245d6440aedf34d3883dae05f20182952c8bf9b065ed2d72c4d9a8e6a745d87716072d4bc3e18352a3747516405dc3aa2245e00
+EBUILD libcxx-11.0.0.9999.ebuild 6110 BLAKE2B 191f1b89a32dc07287df12088f78aac9057582c1c688236fc354578e9f1843a6602d25705e8a204ca938fa0dc89e0654e86eab7377867c4c5a74470d960d7c11 SHA512 b4cc17e7d8f6ae569698ab5ee0d014854b648ed02585d451a5bfb1c1708bdd9bc6a573c91da9275d69a0a99059f0a1cd111153a553901f62ccd83f1fd0762957
+EBUILD libcxx-8.0.1.ebuild 6539 BLAKE2B 4903d2f0c2102d4c2d373d1ce17d092adddc666e982593bab358af93360c72de2e80b1476383609ee01decaae9c08dd6ae1d473d58caefeb325cabc1042cb9b1 SHA512 5c3627016de412cfe281b2cf7579c4f68a7ae4ba087cf5ab567f0fc24c5585939ec5f7044134df4d2bcd67e5d19e1344e43b37de485f9f2572c04aa405cf8c22
+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-10.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
index 5a3729e82ad3..6e1bba971a9b 100644
--- a/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
@@ -56,12 +56,6 @@ pkg_setup() {
eerror "and try again."
die
fi
- if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later (or other"
- eerror "conformant compilers). Please use gcc-config to switch to"
- eerror "gcc-4.7 or later version."
- die
- fi
}
test_compiler() {
diff --git a/sys-libs/libcxx/libcxx-10.0.0.ebuild b/sys-libs/libcxx/libcxx-10.0.0.ebuild
index 24c015cc1bc5..20a1d2faae62 100644
--- a/sys-libs/libcxx/libcxx-10.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-10.0.0.ebuild
@@ -56,12 +56,6 @@ pkg_setup() {
eerror "and try again."
die
fi
- if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later (or other"
- eerror "conformant compilers). Please use gcc-config to switch to"
- eerror "gcc-4.7 or later version."
- die
- fi
}
test_compiler() {
diff --git a/sys-libs/libcxx/libcxx-11.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-11.0.0.9999.ebuild
index 5a3729e82ad3..c8f3b48d30c5 100644
--- a/sys-libs/libcxx/libcxx-11.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-11.0.0.9999.ebuild
@@ -3,13 +3,14 @@
EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6,7,8} )
inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
toolchain-funcs
DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
HOMEPAGE="https://libcxx.llvm.org/"
-LLVM_COMPONENTS=( libcxx )
+# libcxxabi is required unconditionally now
+LLVM_COMPONENTS=( libcxx{,abi} )
llvm.org_set_globals
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
@@ -56,12 +57,6 @@ pkg_setup() {
eerror "and try again."
die
fi
- if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later (or other"
- eerror "conformant compilers). Please use gcc-config to switch to"
- eerror "gcc-4.7 or later version."
- die
- fi
}
test_compiler() {
@@ -146,7 +141,7 @@ multilib_src_configure() {
multilib_src_test() {
local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check-libcxx
+ cmake-utils_src_make check-cxx
}
# Usage: deps
diff --git a/sys-libs/libcxx/libcxx-7.1.0.ebuild b/sys-libs/libcxx/libcxx-7.1.0.ebuild
deleted file mode 100644
index 1da0523e159e..000000000000
--- a/sys-libs/libcxx/libcxx-7.1.0.ebuild
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Ninja provides better scalability and cleaner verbose output, and is used
-# throughout all LLVM projects.
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm multiprocessing python-any-r1 \
- toolchain-funcs
-
-DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
-HOMEPAGE="https://libcxx.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${P/_/}.src.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 x86"
-IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
-REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
- ?? ( libcxxabi libcxxrt )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
- libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
- !libcxxabi? ( !libcxxrt? ( >=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}
- test? ( >=sys-devel/clang-3.9.0
- $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
- app-arch/xz-utils
- >=sys-devel/llvm-6"
-
-S=${WORKDIR}/${P/_/}.src
-
-DOCS=( CREDITS.TXT )
-
-PATCHES=(
- # Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
- # out-of-tree build.
- "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
-)
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-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 && ! use libcxxrt && ! 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
- if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later (or other"
- eerror "conformant compilers). Please use gcc-config to switch to"
- eerror "gcc-4.7 or later version."
- die
- fi
-}
-
-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"
- elif use libcxxrt; then
- cxxabi=libcxxrt
- cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
- 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
- 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
- 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)
- -DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
- )
-
- if use test; then
- local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
- local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
- [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
- mycmakeargs+=(
- -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
- -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
- )
- fi
- cmake-utils_src_configure
-}
-
-multilib_src_test() {
- cmake-utils_src_make check-libcxx
-}
-
-# 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" "$(usex libcxxrt "libcxxrt.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" "$(usex libcxxrt "libcxxrt.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-utils_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/libcxx/libcxx-8.0.1.ebuild b/sys-libs/libcxx/libcxx-8.0.1.ebuild
index d126d9a2b013..f1ddc2f89dd0 100644
--- a/sys-libs/libcxx/libcxx-8.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-8.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -66,12 +66,6 @@ pkg_setup() {
eerror "and try again."
die
fi
- if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later (or other"
- eerror "conformant compilers). Please use gcc-config to switch to"
- eerror "gcc-4.7 or later version."
- die
- fi
}
test_compiler() {
diff --git a/sys-libs/libcxx/libcxx-9.0.1.ebuild b/sys-libs/libcxx/libcxx-9.0.1.ebuild
index e5a479380d9d..c144def9c792 100644
--- a/sys-libs/libcxx/libcxx-9.0.1.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.1.ebuild
@@ -58,12 +58,6 @@ pkg_setup() {
eerror "and try again."
die
fi
- if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
- eerror "${PN} needs to be built with gcc-4.7 or later (or other"
- eerror "conformant compilers). Please use gcc-config to switch to"
- eerror "gcc-4.7 or later version."
- die
- fi
}
test_compiler() {
diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
index ab41be13e335..3ac186c462f7 100644
--- a/sys-libs/libcxxabi/Manifest
+++ b/sys-libs/libcxxabi/Manifest
@@ -1,13 +1,10 @@
-DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
-DIST libcxxabi-7.1.0.src.tar.xz 535180 BLAKE2B aa5952e3ca80f7ce2a0a79f3eaf3852234e23a8445a2539374bedb188aba7d973763a6c0d7cc7700070d942555250f87c3c9efb504bb731985be033d47b79b44 SHA512 629ef641ab5aba28ea7171efbad806f1f0464eee2d04f8903014a4f82c03f2c6513defbbe5489b2c6fd624270fe8efbad97a40e56958f8f38a4f5516a16dd102
DIST libcxxabi-8.0.1.src.tar.xz 538356 BLAKE2B 52328c5890c9b9271877b953be30cc39be4758101e6b91ee45f06c81e960089523e80b83eb5c354336e4e0a140f7554640acf7b2d4fa619113f705108a314418 SHA512 577cfcb04ebb29ee84d35ed31aa8fecb28fc74b07ef7ff298f0fe2d440f823def73e092359c41d8d8600e6df18f55224ed89674d403c5ae56a7d7973487b8734
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
EBUILD libcxxabi-10.0.0.9999.ebuild 3371 BLAKE2B f1496d81d45cdbadd84b81ca7dda93e479344df3e00b86a30d73fa1e30a7368a8014f3b09311b99f58200e9f5f0aeb57218099a9897bec7467ddc2a59b47e153 SHA512 4db549482600eb9a8f9318bc4e3e41778ff45d7f80f6b79b55667f057bd62751daa820dcdf51995df4c7beda507c1ac9c0f4608e1b88559fba661b8d382729cc
EBUILD libcxxabi-10.0.0.ebuild 3394 BLAKE2B 47672d6e34b5961fae613e289024b3fe7266efa6c97c9560e85138f320cabf565177f4ba9349f0add7d7b653ab92905a29afe2932c840fb1dd55b028158eee85 SHA512 b3a4515a23d98e3d3888f6df6620e6731dbb0c7ea19236d97703bbd116222532a39185ecc6cd56a852656a7c315fc4a136bef07af65be9481c265ff906698618
-EBUILD libcxxabi-11.0.0.9999.ebuild 3371 BLAKE2B f1496d81d45cdbadd84b81ca7dda93e479344df3e00b86a30d73fa1e30a7368a8014f3b09311b99f58200e9f5f0aeb57218099a9897bec7467ddc2a59b47e153 SHA512 4db549482600eb9a8f9318bc4e3e41778ff45d7f80f6b79b55667f057bd62751daa820dcdf51995df4c7beda507c1ac9c0f4608e1b88559fba661b8d382729cc
-EBUILD libcxxabi-7.1.0.ebuild 3160 BLAKE2B 5b90f5ce5637b75316cc992dd50105c87e7e55c8bd608a5d0280556ca14e57b2be47d5a81bbef0be37c8ace675887bdd4e44029e8efb8cd4f7a69b7eb6eef488 SHA512 8a03888a55c60959802824e54c78bdc9b8e74501bdd8b5a47bbc619290e03e8815658e5f33f9fdc9befc66f9fc36ff5ac2d36008824e3800f76b299508e706e0
+EBUILD libcxxabi-11.0.0.9999.ebuild 3370 BLAKE2B ee6bc24ccb2d4a7879399077fa3c41f6937924a88d4cd9bd6bed120e6fc233dbf6f04da54ca11712d1a52479f1507ae3232b5459cda6fb26cb836bc08da94974 SHA512 5238e1a4db16e0b0ef1f0f9401e19f765f128b5619c813f6abebb22be1c4638e8e91e3f0f973805ba4b793735a15c1c2528a56d0982bffb0cccd4a6906c8ba5e
EBUILD libcxxabi-8.0.1.ebuild 3226 BLAKE2B 9804f1976cd7e605cf60a07e69c66f97795bebf66779fb69fe500cb6f4693e63d799fdb57991b2b65bde309e72e2e6055c3e88fd1ebf0be725982a253faf10b7 SHA512 42ccc6ccfc69c95dd465542d90a6a6bc0558703fcf2b5b1acb5c828728416cddbd5af925552b231c890af8c89533073a3f13d87da9c1401cf8904bb4dc5e72de
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.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-11.0.0.9999.ebuild
index de7c2b4fb58b..7946dde2bb22 100644
--- a/sys-libs/libcxxabi/libcxxabi-11.0.0.9999.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-11.0.0.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6,7,8} )
inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 toolchain-funcs
DESCRIPTION="Low level support for a standard C++ library"
@@ -110,7 +110,7 @@ multilib_src_test() {
mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
local -x LIT_PRESERVES_TMP=1
- cmake-utils_src_make check-libcxxabi
+ cmake-utils_src_make check-cxxabi
}
multilib_src_install_all() {
diff --git a/sys-libs/libcxxabi/libcxxabi-7.1.0.ebuild b/sys-libs/libcxxabi/libcxxabi-7.1.0.ebuild
deleted file mode 100644
index d6df94417435..000000000000
--- a/sys-libs/libcxxabi/libcxxabi-7.1.0.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib llvm multiprocessing python-any-r1
-
-MY_P=${P/_/}.src
-LIBCXX_P=libcxx-${PV/_/}.src
-
-DESCRIPTION="Low level support for a standard C++ library"
-HOMEPAGE="https://libcxxabi.llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
- https://releases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 x86"
-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
- test? ( >=sys-devel/clang-3.9.0
- $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
-
-S=${WORKDIR}/${MY_P}
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- llvm_pkg_setup
- use test && python-any-r1_pkg_setup
-}
-
-src_unpack() {
- default
- mv "${LIBCXX_P}" libcxx || die
-}
-
-multilib_src_configure() {
- 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_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)
- local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
- [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
- mycmakeargs+=(
- -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
- -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
- )
- fi
- cmake-utils_src_configure
-}
-
-build_libcxx() {
- local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
- local CMAKE_USE_DIR=${WORKDIR}/libcxx
- local BUILD_DIR=${BUILD_DIR}/libcxx
- local mycmakeargs=(
- -DLIBCXX_LIBDIR_SUFFIX=
- -DLIBCXX_ENABLE_SHARED=ON
- -DLIBCXX_ENABLE_STATIC=OFF
- -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
- -DLIBCXX_CXX_ABI=libcxxabi
- -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include
- -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
- -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
- -DLIBCXX_HAS_GCC_S_LIB=OFF
- -DLIBCXX_INCLUDE_TESTS=OFF
- )
-
- cmake-utils_src_configure
- cmake-utils_src_compile
-}
-
-multilib_src_test() {
- # build a local copy of libc++ for testing to avoid circular dep
- build_libcxx
- mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
-
- cmake-utils_src_make check-libcxxabi
-}
-
-multilib_src_install_all() {
- insinto /usr/include/libcxxabi
- doins -r include/.
-}
diff --git a/sys-libs/libfaketime/Manifest b/sys-libs/libfaketime/Manifest
index f7572c3709d7..2d03eb6124cd 100644
--- a/sys-libs/libfaketime/Manifest
+++ b/sys-libs/libfaketime/Manifest
@@ -3,5 +3,5 @@ DIST libfaketime-0.9.7.tar.gz 56277 BLAKE2B 62e10c4b3c33c203cde023cbc4e114c2ee1a
DIST libfaketime-0.9.8.tar.gz 70614 BLAKE2B a10a8859c216ce4c2edae3324515507f4c2b8a284d80da5a83d1b8046262ae5e624e358c809c2d473fdc21caa0d89f675beb3adfdb401411356145fdb9a1bac3 SHA512 87081024cab10462d4ed4d4ad9c3c56ab40fee3300d3a9ff180a4d96d418b3f25d80d7d5ad0a1af2fb87204f01a506d9fa273def7a8f9cc3be4cc0e9fef42aed
EBUILD libfaketime-0.9.6-r2.ebuild 1356 BLAKE2B 3c5366d5812d8cc439972e58260db320fe3d690d309b6725e36e4f1197ee165ad7803dee4e49365b2ac0de8f72d2f70a02b6bd551250efbc0bbbf3a41fdaba2b SHA512 7b479da51c27fd659afc7d6c9c1b4c67b5f38537cad62e66d37107b0f1cf5c3c8a28668eea688fe1b9744beb4a84b71e0bf5f18c80b61338124b44e3a618f44e
EBUILD libfaketime-0.9.7.ebuild 1383 BLAKE2B 7a61df366d1d8c8f5df3798f87d47c524a8eb5e02b90454d9b15b583d1af72a790c3e99251200f9ff854d90310f5b2cbb95b082860f18269dbf5b38e5f8f8e74 SHA512 8db6ca7f9e66b49ce4ef116ff8be3e2debc8ec1f9b31503ddd8f1a5cf785029ed4b10a7bddc7e026d548a3c00d6b7baf28ffe93dcfaac16e8d15758c5e7f955f
-EBUILD libfaketime-0.9.8.ebuild 1593 BLAKE2B d593905570cb43387ac2d5069d8fed299a89602ce193108ed313c75ecf78ce5c5e2bf0103d57113c1768e22b5f09311c4213eba9810bda46e047596cbf2320bc SHA512 146bc9957a5335980f263e54cf2cdf01fe88b13a35d81cb81f74477c5809ae97f2cf6332174a03b1a83d8e26deb355e94a4cb10eb48bc4657fa9610f9ea5ce2a
+EBUILD libfaketime-0.9.8.ebuild 1591 BLAKE2B 48742a25bd100d18c83ec0d59fccb8e14ae23ed65b1b802c5c5b05603a69c15d9aa58b2a8507509428bb4a8040185d9e53041c18e345866989c2ba6819e0c5a9 SHA512 b0ed55b5d293c6fea69aff017190d8871d46f95ef388529d63eb3342083db088612b4b2d04ff510fae26c70d5b3c2e894c21edc2b890a8a798784585a086afe9
MISC metadata.xml 844 BLAKE2B 55b522c415ccd092c6f940fafffe6d3ef871259265d125844b179f00c3fce55fd4b359c1b535a0ace47722938d2d2b744cf9062e1ff3e32bbea89b9b7a200691 SHA512 77924230fc18b29ee6c5891a73acde9158dabdec2d3f892ceeb84bc6e1b6f2b977dba05382a1da67fa8db6e57ca3be2161f6218e2f52feaefef690a0e1989893
diff --git a/sys-libs/libfaketime/libfaketime-0.9.8.ebuild b/sys-libs/libfaketime/libfaketime-0.9.8.ebuild
index 16e5456199a4..a648df00a81d 100644
--- a/sys-libs/libfaketime/libfaketime-0.9.8.ebuild
+++ b/sys-libs/libfaketime/libfaketime-0.9.8.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/wolfcw/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 hppa ~ia64 ~ppc ~ppc64 sparc ~x86"
src_prepare() {
default
diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest
index a0380195cbba..3176fea647ed 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -1,11 +1,9 @@
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
-DIST openmp-7.1.0.src.tar.xz 909320 BLAKE2B 7a5fd4374992b7c440ff27917c0af6a2ec64aaeb2fda645f75b5affd4981e3ceef7f15cba61c37934c5b35be543af315cc4bff2937545fbf5eaa6593f1aa8b83 SHA512 57f18beede401c1c39766e13a03b52083a0f7b437758069f66b73d6d1388dc51e48c34b0a7ecd3552244fd35e2db57388642588febef413c161f5c5411ab1e5d
DIST openmp-8.0.1.src.tar.xz 933320 BLAKE2B 02a7bf70cd3a217845ef1c5a35e0d7dbfbb39069a9029d462c797b5ddf2240fd627dee55856146ca4bb81622a41f31ecd11e0ed66baf3b7d99447087271991b0 SHA512 9ded785c8129e7b3a70b54f07c4dde529456edcc94904ad77fc578cf7f096cfa3ff2279959d7f7f1db51571e11c53375f33b597c7f36ce6dc6b512c44ced8026
EBUILD libomp-10.0.0.9999.ebuild 2984 BLAKE2B f55851942ce30e6cf6f133708d68665ed9a8960769debfbbedbdda533955228f403e642fde0cdf0aeefbb127d85aa756f0d5b29d947d99592e142d92d9acad3f SHA512 64d0e6b889038adc0cfaabb9a5e7c5af55b9fd88dfceb43e52f06e94d92d099b87545f0294c67dadd14e9aa821de46cc64868a56bb172674b254ad2f2d4a2451
EBUILD libomp-10.0.0.ebuild 3038 BLAKE2B d3cad4df1dd79167157d125d41207225193aa83d5175c98124022be495a318eb00c9e46ba02e718155689944bbfef1604fef1b69eb6f9ebb80c088ab06e1deeb SHA512 81f2d41df17d0ca497428c1c5d11938d93457876b86c89bf3b35bdf8b099ae6fc52e4726742becedc1524494083e92d8fef1179277a4f9fbad78074ff1b0c330
EBUILD libomp-11.0.0.9999.ebuild 2984 BLAKE2B f55851942ce30e6cf6f133708d68665ed9a8960769debfbbedbdda533955228f403e642fde0cdf0aeefbb127d85aa756f0d5b29d947d99592e142d92d9acad3f SHA512 64d0e6b889038adc0cfaabb9a5e7c5af55b9fd88dfceb43e52f06e94d92d099b87545f0294c67dadd14e9aa821de46cc64868a56bb172674b254ad2f2d4a2451
-EBUILD libomp-7.1.0.ebuild 3251 BLAKE2B 56770bc1f885a9dd33dab66a025e6e162e064af4526b8e8370a7191e3bc9abe5fae2168008e49a961edacd13a486c764a165a270b04e8f5d806d47658f32e536 SHA512 2e87980d48c2ee5af9e772dc4460cb5a13c2cbabe488b9892002a17a00cbdfe080eb30bf91771f7507bef3f8b43626510c15f1acbbce34cfb49796dd20619c2b
EBUILD libomp-8.0.1.ebuild 3281 BLAKE2B 83a61a0a2c069a17b3865a4e3f94c7d53a8601c90c40d15c6d3e0584ee0c11d4729d869025833eb73d751337fbbe0a09b5501dc210cfd58f63ea3788e26c2c6d SHA512 3ad3998d3aecb80efa7adecfb58ead560e33b14aae40212bdfff7550a5fcd0ae78cac4cafff94734e86df4ab23ae36d109a5dd4fc1a9e00a683d19b9427dab4c
EBUILD libomp-9.0.1.ebuild 3031 BLAKE2B 47e36f589268fe0c89a97ebd76d92bc552e01acbd8bf021ca033a30ca1c1cd6a264555e1a52f179728d012137fada1b872a5ec9e9702ff719c11f5da3e901cac SHA512 9d68ac71e168fa4a36831dfd320e7d20681bedd1c982b50b3a9a3f38bc2b29bcd336cfbf4e0d14f4220deecf597416cb57ed60579668e6af60ce56fb1ceea55f
MISC metadata.xml 825 BLAKE2B 07802144018f2f74b0927b53a346f99cbc7e36dbf501bb8dfc786f8d549c10eb688afafb1759f13d4d56d10f1bcae67dfa86cc2047cc39a9655a09a22e9a4260 SHA512 de43d5be94a5ea1cdfd3ae747d55b50d5d6ee577743f55d006d585d2d5acd5b3100845486ac415685f07361cd9985bae9347fff9c65417d198c49a61b4f6ba5e
diff --git a/sys-libs/libomp/libomp-7.1.0.ebuild b/sys-libs/libomp/libomp-7.1.0.ebuild
deleted file mode 100644
index 169b98cab958..000000000000
--- a/sys-libs/libomp/libomp-7.1.0.ebuild
+++ /dev/null
@@ -1,115 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-multilib linux-info multiprocessing python-any-r1
-
-DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
-HOMEPAGE="https://openmp.llvm.org"
-SRC_URI="https://releases.llvm.org/${PV/_//}/openmp-${PV/_/}.src.tar.xz"
-
-# Additional licenses:
-# - MIT-licensed Intel code,
-# - LLVM Software Grant from Intel.
-
-LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc64 x86 ~amd64-linux ~x64-macos"
-IUSE="cuda hwloc kernel_linux offload ompt test"
-# CUDA works only with the x86_64 ABI
-REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )"
-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}
- dev-lang/perl
- offload? ( virtual/pkgconfig[${MULTILIB_USEDEP}] )
- test? (
- $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
- >=sys-devel/clang-6
- )"
-
-S=${WORKDIR}/openmp-${PV/_/}.src
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-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="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
-
- -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")"
- -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")"
- )
- cmake-utils_src_configure
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
-
- cmake-utils_src_make check-libomp
-}
diff --git a/sys-libs/librtas/Manifest b/sys-libs/librtas/Manifest
index 70199d06e644..188e29578112 100644
--- a/sys-libs/librtas/Manifest
+++ b/sys-libs/librtas/Manifest
@@ -1,3 +1,4 @@
DIST librtas-2.0.2.tar.gz 91627 BLAKE2B 1455af1af4a932fb81815ba67d1d1d8eeb0866bcf49fdcced622c1982121b5bb3ddeaf78f121a6540ec6c60d641991a87342713478a5be5232128db35d272059 SHA512 112d355bc486657289a186d9f1b8c576af55422f1527259a0cd680c07d6fa787aef2dc0cb6322721dc4aa1c5bd1de669f5c4d05e6a07de65262e9e3d4d0283c7
+EBUILD librtas-2.0.2-r1.ebuild 662 BLAKE2B fb8702bd7bb5f7c780cee77945611f5cdd1b9ddf5a130cbbdf2121c291a04ce5a9e9615534957ddff98c1e0149685ec1d0e813f97121a5d97e0c7b9ed6943057 SHA512 b57277ff3a9fc6a33ae00bf594e3cbb372e085978449da2a87cc4ffaefc4ac3618d2a195e9d17cc9449bc9b376b13c1beb119b184f64c8f2e09e48867157ddbf
EBUILD librtas-2.0.2.ebuild 497 BLAKE2B 803c54b2b4629223cb6d338011cff7a20cc6cc035027809a4f4232007652fc585c7141106c2242d985d54a77275dfd3e0f87ab9cad739dca56b82a72a3076566 SHA512 18eb31d06078293bfb79eed13af2ea6f3637141a852610fd25e5fe373eb2a6463d65ee92a03072bd137a2f9fa72a07f2f905439a7645b307e56664d05ac52922
MISC metadata.xml 340 BLAKE2B d84ae6cde9ffd7cc2476c3ef90d6125e65946795711e4c5a422e244a2369ac059fc0f22e038c687c5e871370e4384694b5d464abcb76097ab065149de35ef17e SHA512 54fcb0b54320053eb1f68f11107e8027a618351a78d539de2dffaad678aabe9b20972700af6ac2ba4bfa589c91e1cd2d91df517ab745ad365b1ad1ba7a4b0f3e
diff --git a/sys-libs/librtas/librtas-2.0.2-r1.ebuild b/sys-libs/librtas/librtas-2.0.2-r1.ebuild
new file mode 100644
index 000000000000..c6a20531dabb
--- /dev/null
+++ b/sys-libs/librtas/librtas-2.0.2-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools
+
+DESCRIPTION="A set of libraries for userspace access to RTAS on the PowerPC platform(s)"
+HOMEPAGE="https://github.com/ibm-power-utilities/librtas"
+SRC_URI="https://github.com/ibm-power-utilities/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~ppc ~ppc64"
+IUSE="static-libs"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install docdir=/usr/share/doc/${PF}
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sys-libs/libseccomp/Manifest b/sys-libs/libseccomp/Manifest
index 6e59851a5fcc..3b44616661d5 100644
--- a/sys-libs/libseccomp/Manifest
+++ b/sys-libs/libseccomp/Manifest
@@ -3,4 +3,4 @@ DIST libseccomp-2.4.2.tar.gz 601014 BLAKE2B cff2612498a6ff3097809e9e04542e0be12c
DIST libseccomp-2.4.3.tar.gz 598147 BLAKE2B 272c9f1ca7e4059790f633a79cae8612831aa483d28630fb85b31dc2be0192907a8897819d835b61324e0b3fb0d77b8781e2a85e9750ef8d7974d8680b8cdea3 SHA512 7b7af2e98493243ffe1934fefff5723b24ae9b9bdc4bf039343ee8456c15acb0ea34e81ec292a41143848272aeca794ef92ad38fc3f42c77465170cb540479ef
EBUILD libseccomp-2.4.2-r1.ebuild 1097 BLAKE2B d72b57d2f44a2792847f2225b4bd012c54afc95f62c4d532493ce7ee827abf1bfbb04f3d52d450d3bcfc72790c562ae6c6169b16c6c5d96811b70a8e7070b913 SHA512 d3892fd1915b514dc345134b3c37b2aea3d906fd998ef5ddcc57e09513422c01710c03929ee1a2266716b7941bf70b0e4593dfd9366d1cdfebb25a5bcd807c31
EBUILD libseccomp-2.4.3.ebuild 1040 BLAKE2B 3b47fe8281da898943b0c8886e38e35330df9f32a1253c5f5b8fc632ba999654bad4182a0ab4c2d4d30e004c95064cfbea729eebb5bc8a59a4cfffe920ac28f8 SHA512 88a050dcf1d36b223465e417f3764237ea8f6c7226e6661288ffb0d5c3c9e85307373d8ac13864553a1b7e736a20e0e3f0120b7ec5c23f83d435d4cb7a32c2f8
-MISC metadata.xml 395 BLAKE2B a375d336aa4cdc973bc6edefa50745bdc67753e53988718a804b9dfab02d8c8324fd998c9c17dfac0f1c57a7068d2c036ad37194a46c3aec208314171c357367 SHA512 db1f67e65f149ce7122b9c845d1305cdca95428267590d7261af489493dd34518c178ce8ce402bea290c0ee441fdece5006c62803ed587281dc7d84a25a3c3e4
+MISC metadata.xml 468 BLAKE2B f09a751736d4f5f5b5d1cacfbbce2280f2c07f2a435882e833ecd0db3f363ae9e4e7aafaea23d21946279fef27a55d93af9549d75a5f929d6a965dc82f53cfb6 SHA512 3fb402831ab2522948f9514cf0dfad2ed1b035c773eeadb78d958766b92b480b1fb55a274e0990f1913b5be5e4c7de734f8f691f4b3c111949f68f604fb3edc9
diff --git a/sys-libs/libseccomp/metadata.xml b/sys-libs/libseccomp/metadata.xml
index b31e5b3e45ac..03ce6dc6c4b9 100644
--- a/sys-libs/libseccomp/metadata.xml
+++ b/sys-libs/libseccomp/metadata.xml
@@ -8,5 +8,6 @@
<upstream>
<remote-id type="github">seccomp/libseccomp</remote-id>
<remote-id type="sourceforge">libseccomp</remote-id>
+ <remote-id type="cpe">cpe:/a:libseccomp_project:libseccomp</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-libs/libselinux/Manifest b/sys-libs/libselinux/Manifest
index 054e564af347..fb86486080f2 100644
--- a/sys-libs/libselinux/Manifest
+++ b/sys-libs/libselinux/Manifest
@@ -1,7 +1,7 @@
AUX 0001-libselinux-Use-Python-distutils-to-install-SELinux-p.patch 8172 BLAKE2B 3c301b206a809311fd7eb1eb35b3925c064731146e35702b7dab5b47f41cb2a61723db7243d67caf4ce317f3b4ca2d1a999b0533e0185c44b2892e72d8cf8bb0 SHA512 287e82b5888f973bc3545b1777d9baa33965fb2bb3810834871b6843b163d11e4dacde9a7361088f715f70947e9087de89331b0b35dec1e37bddd523e5a12c1b
DIST libselinux-2.9.tar.gz 211546 BLAKE2B 5b06b922690e48924865c98ed34ebfc1ce5e30e78dbeaccb6b9c931a35bed113c030f8f8575084429fe13b91aeafc73abaa24fe609a17ba54c8472d783f6ac61 SHA512 727b211d09f374d45aa3fa4dec7fd5463dfdcf5aaa47f7fcaccee51fb74896c3aa1a6f0bac9cdd47ebe4929effff13f66f5f70447b27b783dca5f7b1576d30d0
DIST libselinux-3.0.tar.gz 212096 BLAKE2B 7502c77243928adfc445f55357b0e894087859c3a83e2beb446c31818362d10111c3e52b970150638c055f96cccca6fccde79440026201a2a48bfda3565c27d3 SHA512 6fd8c3711e25cb1363232e484268609b71d823975537b3863e403836222eba026abce8ca198f64dba6f4c1ea4deb7ecef68a0397b9656a67b363e4d74409cd95
-EBUILD libselinux-2.9-r1.ebuild 4255 BLAKE2B 6b9d8b6be14bd36d92f7cb9d55ed9b72f461fcc1f26da1f31a410a7943e9fde911a62cbd7a9462a75c4c27bbf63a835fae07ad7fa9cea7b5e30a184437944348 SHA512 9733ec2ad7896e86bf67dc378555165281bedc46bc13698fc9af928f3fe01576f7f682b7b0fc43ad94a4ef10262bf70a8bf8da40a23db4c16f752c1280722a46
+EBUILD libselinux-2.9-r1.ebuild 4245 BLAKE2B b0e9aeb008f9a1d8e0cb540960020a5627ff1c2b9f65142fdcf0ad97b84fee1cdfc3b194a9af9f9a934c41a79e0a50506536ad91be14e9ab34a59f01b2e23a5e SHA512 1dcaa430921c721a9d390dca4152124d6f794cc954d0314780ca5d7c7769e1c16e98a02c40e6485b5136f993145e19fdd3036833b3912e8a07b03b7196e62c60
EBUILD libselinux-3.0.ebuild 4220 BLAKE2B c9abe912c2f0a7107b0ff959a8f1ceef27112c2afd69d8d49ae8919dd9edec1526a04f233ac63b306bdd637511cf8f3fde36bbcdf8b613ddcd53ae02d5783b10 SHA512 d4067b70342b9b93d48dc34565cd492b095f2fc5d313a6cf3b4a86a6a81162cf1d6cf30e4b5fc2a1f25388e9c6cb2c1fa9e08f45a42c29e9a9764b43eee7c255
EBUILD libselinux-9999.ebuild 4222 BLAKE2B dd86a4704cc8208a3e921590ef3012e7b91289976d87fcd56a5b7134c5bc6668398257c5b0984121b4bae103b07a66e1c66e334292e99af99b6148f81915d746 SHA512 51a9fca335679ba4209d85d9c061dd0d64616d1840e508ef72ba95f359b4fa28896683afb2cc63e84f12192621240cb44335f65048edb910be3e0e70d2e17247
MISC metadata.xml 745 BLAKE2B 6658dad55bd195725b345865e152b62528e04201b9743dd3688058eeb6f3ca87add86035c2a14bea0b238273328464f5e2fa36ce6b96ac35fb1cc679e3cb4a7c SHA512 ee405602d0345a118c4b8eac9126417f082f4a37a7d5816a991e21191d4ce71ec883abe7e91f10f5330cdc61e6f7a174968c12f873b08a4bda5186cc4986b363
diff --git a/sys-libs/libselinux/libselinux-2.9-r1.ebuild b/sys-libs/libselinux/libselinux-2.9-r1.ebuild
index cea6ac14ceae..e418cecf3c1f 100644
--- a/sys-libs/libselinux/libselinux-2.9-r1.ebuild
+++ b/sys-libs/libselinux/libselinux-2.9-r1.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
-PYTHON_COMPAT=( python2_7 python3_6 python3_7 python3_8 )
+PYTHON_COMPAT=( python3_6 python3_7 python3_8 )
USE_RUBY="ruby24 ruby25"
# No, I am not calling ruby-ng
diff --git a/sys-libs/libunwind/Manifest b/sys-libs/libunwind/Manifest
index da870ec41456..87355dd918b8 100644
--- a/sys-libs/libunwind/Manifest
+++ b/sys-libs/libunwind/Manifest
@@ -7,9 +7,7 @@ AUX libunwind-1.2.1-fix_version_macros.patch 381 BLAKE2B 77b523a859a66297eb5677e
AUX libunwind-1.2.1-no-PROTECTED.patch 539 BLAKE2B 86a65116d9179b33ea4737583683d1506072cbf162831ba3193c0c3ed74f7091dea226c2f9cf06387574ae1d15cc1db1627137f0f80adc542fb5534cf8f6254c SHA512 fe76aef28096ccfdb5c290da631efe8f7cbef13fddb415227f97cfe974162d757a3439b542bee0fe225950200f3cec5e7eecf60c60b2584e2a922618b73e2a7b
AUX libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch 1290 BLAKE2B eac40a5cb05fbda00e5dde5b4ecedfa21442cb5481281b8aac45b118d8b8d503bafe69aa9adb93cac9c7e89cb72f8b44bdb7018a09aa4c9d512e20a457c7d78f SHA512 36b76eefdff3ca832696c13b18d9153ca89d5b648c7df11d3c112a85e9ab92e9f124fdbd05d2d9017bd9c5cdc6bbb2de5038918c9f3a2695c8fa3a05835abdb0
DIST libunwind-1.2.1.tar.gz 780774 BLAKE2B a5be4142e1e4932231023bdec2ab3ecd6b707faf2d32d2b571239252a1d0fb6a273a6a46c4a107db63f74f7b54c0c54cf252b8b79ad53216333ba7bcf63147a1 SHA512 af7c280d2a963779a4a2711887618bc96383011e4e5d52e4085aa7fb351e55e357468f6ff85e66a216f1c6826538f498335a917a5970575c93be74c96316319b
-DIST libunwind-1.3.1.tar.gz 801262 BLAKE2B 4dfcd5e170ef0f7626aa966672f3302b4d8f231fcda37c72fbddb9ab913e82b45bb613b22c5ead8bbd5b09fa92bc0db1c32a744b11e40fd736c3a1412ad3d842 SHA512 3110d0aed4f5c781ef1ff72c9337e59793c02c42066209a4ac44f50eff1c0b0e02a5ff9f66891e62016de14af065a47975763970b839b700c0ff2e9f415c8def
DIST libunwind-1.4.0.tar.gz 872941 BLAKE2B 39628dd46151d2748372c8f1dfa3cd39114770b85e890b048304f8395b2778a22da4cc468eb6fe1e2357a41bed5a6067e12992634859dabe30addd0fd39b4269 SHA512 60bce1e840f071d3a48cfa8e2acff988977956f659c5c04ce83f00751348fbbeddbfc54e8c9bd6ebc9073423ca5ee1816655dc5aa59fefd0a8edc9c3f7f3b913
EBUILD libunwind-1.2.1-r3.ebuild 3457 BLAKE2B f4ff7968816cc26db47d9aae87c767ead7275e72c091990ccfadfc80ba93b3eb57fd2786e62597b62ec0f68e39343f157d4917ed4f92caf7e6bd3786faafc89a SHA512 c52f5bf35b19bbf76baea28d80047d799a5f611abb969f8ff15f24ecb3a73b7d0a94ff001d7e9bddae7085af0dbd3ee9e4d7ae61e4ab84b88bd5f7078435c606
-EBUILD libunwind-1.3.1.ebuild 3117 BLAKE2B 9571177adce1e01467d9db7ba56854e43bef1a8d30d2f29d976fc03f782eb26e719f78df8e7b8817e932c5d761b7e3db2681b784178f53a46b60e421126d565d SHA512 140878a2128b7dde0a0b26c0e93ae0d90b98b6b8a1fe798cab725529bfe188bb1de6180998b57ac484e47663a150bc8c3da1bfc3e849a82d6a621f2314f2d319
EBUILD libunwind-1.4.0.ebuild 3091 BLAKE2B 82169bd4910b3d2ed41bf1efc7252c6a2b9f717126aefdd46acdf941ac1e41b74c888bc0208021f193938bb2976922413810acfe9a8530b638cfd91b4b8c9513 SHA512 21c41f94b570d4b3fc81c6b73dc9a82d07d740ba7f5889ac4018b60544d86ce36a233b4516b915979a917bf2ea8ef9249e60b32446d2e048f3049bc29aadffe0
MISC metadata.xml 489 BLAKE2B c0a884e7161b62e8548fdf3c8c1d34b24936c71a99fef37713b7c36e0ef3423563e5c98eae8e9748db059645ce85cf972448e0584b1ed92e51c228794e5ed10d SHA512 d7586420e24a7b841cb090ce8dc7bb1c1260a3e2afbc6606d0a974243ca20c0586b4aa3e770b5b98787f8d34b8255846d87550c16f68da6e9d3f55f8b57bde40
diff --git a/sys-libs/libunwind/libunwind-1.3.1.ebuild b/sys-libs/libunwind/libunwind-1.3.1.ebuild
deleted file mode 100644
index 527b3b9c8231..000000000000
--- a/sys-libs/libunwind/libunwind-1.3.1.ebuild
+++ /dev/null
@@ -1,103 +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" # half of 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() {
- default
- use static-libs || find "${ED}"/usr -name 'libunwind*.la' -delete
-}
diff --git a/sys-libs/liburing/Manifest b/sys-libs/liburing/Manifest
index 82ef7e47abf7..59098741d650 100644
--- a/sys-libs/liburing/Manifest
+++ b/sys-libs/liburing/Manifest
@@ -1,3 +1,5 @@
DIST liburing-0.5.tar.bz2 75525 BLAKE2B 7b58a59212a6c3527c0adfc102add73dc875885bcdcd6ba9dcd64020d6c8f277b5cc0e1d33860aab0d9495f0409461278175aed7483aa9c44d3c7f78b1238920 SHA512 70202f25fad89787c5c0f0022dddebd3f5ff8eb572ec50c36cc3980f291b456de445c1cf411761be1438e22c69bdb446e1e5b3c10317ec00cb3412a63508faa4
-EBUILD liburing-0.5.ebuild 923 BLAKE2B f34ad12554b5805ac72e12efb4cd758f990970537283d4e34fd88cdf3318dbbb7b089be4e70dd669f82166250b8143dc5c413a71ecdba8521f4bb6c3b08fd9da SHA512 620bc74f2d1f34886dd745f48763c829f8d4a10dae305d81b92a183bafef134db87b7bf2f5cb9f0d5194eaf44292907efa3995f733d729bc2450884e8f3de36b
+DIST liburing-0.6.tar.bz2 81429 BLAKE2B f905238a324d5e3f4fd0c572aa7db7a2c337aea282175d2a0f89802588d3900d2fb3ef8d6787aea38a406f1ccc57bf143864b708a4716783b09d4208164d2d99 SHA512 07fb0f61cc1d204bd340ef55ec65579a718ca266e4b9c8cdd6e47ae06defa3a9521e83fb3e6ed7c8910f52428dd62f4af900c4ec13c3509c7e366b4c13e7feb5
+EBUILD liburing-0.5.ebuild 942 BLAKE2B 0bb5394e342b9bf6fd740a0079ee47853f62b90a68822fcc30d84ac45f53716c8ed4828ed5d54db560b81c11fc9f8685b1e5fcdfb1bb7a61b502c9def21e8164 SHA512 630e1131259f6795b6c4641cc5d5ce410e7eda225d26205d816f77aca75354e75e4963eb3e3dd3a73d20fba37a2b402a861ec63c5ce086aac5a53aeed24a999c
+EBUILD liburing-0.6.ebuild 942 BLAKE2B 0bb5394e342b9bf6fd740a0079ee47853f62b90a68822fcc30d84ac45f53716c8ed4828ed5d54db560b81c11fc9f8685b1e5fcdfb1bb7a61b502c9def21e8164 SHA512 630e1131259f6795b6c4641cc5d5ce410e7eda225d26205d816f77aca75354e75e4963eb3e3dd3a73d20fba37a2b402a861ec63c5ce086aac5a53aeed24a999c
MISC metadata.xml 330 BLAKE2B 9999abbe311550c99eac0de3e7942a37bab51413090b5ca192c0deeac61e3b0d3017a0c05650a433041e1589a6518539ea6686494cd9f57d787ab7519caa78fd SHA512 fe3f892ef7bea57e0c2889ef07f25a8f4230bd54484c73c8c00685a5a05d269271513b7235bf15dcb594b2e18e5e7d638d5d37c4b4563449dc6af1afbacec1c3
diff --git a/sys-libs/liburing/liburing-0.5.ebuild b/sys-libs/liburing/liburing-0.5.ebuild
index d331e71bb686..e79816781b8e 100644
--- a/sys-libs/liburing/liburing-0.5.ebuild
+++ b/sys-libs/liburing/liburing-0.5.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ia64 ~sparc ~x86"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="static-libs"
src_prepare() {
diff --git a/sys-libs/liburing/liburing-0.6.ebuild b/sys-libs/liburing/liburing-0.6.ebuild
new file mode 100644
index 000000000000..e79816781b8e
--- /dev/null
+++ b/sys-libs/liburing/liburing-0.6.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal toolchain-funcs
+
+DESCRIPTION="Efficient I/O with io_uring"
+HOMEPAGE="https://github.com/axboe/liburing"
+SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2"
+LICENSE="MIT"
+SLOT="0"
+
+KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="static-libs"
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --prefix="${EPREFIX}/usr"
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ --libdevdir="${EPREFIX}/usr/$(get_libdir)"
+ --mandir="${EPREFIX}/usr/share/man"
+ --cc="$(tc-getCC)"
+ )
+ # No autotools configure! "econf" will fail.
+ TMPDIR="${T}" ./configure "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ emake V=1
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use static-libs ; then
+ find "${ED}" -type f -name "*.a" -delete || die
+ fi
+}
diff --git a/sys-libs/libutempter/Manifest b/sys-libs/libutempter/Manifest
index d107d1d1e64f..5f5a9fa20985 100644
--- a/sys-libs/libutempter/Manifest
+++ b/sys-libs/libutempter/Manifest
@@ -1,3 +1,5 @@
DIST libutempter-1.1.6.tar.bz2 15705 BLAKE2B 147bf96990913019c35565507eb635ba60ff5ed67134805e9f146f8f70882615ff96d7b2e52b40fb73110905afb87893a72bdec4327d879e5bdc2ec1d39ff9f0 SHA512 6ada410b981d157ae20b578de8ce20997ec0446ec6de6859549b080aa65976fc9900d211600dab09dc3d0d109daabad0994a648b093b8781b442ff26ca17fede
+DIST libutempter-1.2.0.tar.gz 17353 BLAKE2B 35e66a32e70fa59639f9a4fb71ba0e89c88aedac04e389cd29397c935daea66bd9f4f04795c977911f136b121d0445f79c0090a60a0353d04af98fe6b9b9ee09 SHA512 24b9fb59269b48bfee397520907c74746a7a38cf12cc002a8adcdd930460036caea7c72fe47b93badf678dc8306786bf4d87f23ee696a524bfc93722ea1eed23
EBUILD libutempter-1.1.6-r3.ebuild 1694 BLAKE2B 2190ccd25ddbe4c74f8ff67892c83654e7e37a89ce2b86a855bdd59fa96efd4d76edf9aa7d28bc562469b9ef0b1136263ee848717f75090635a8aceb7ad522c9 SHA512 a251f3a15cbec7df5f07c84337ec9d9dfbcbbc0908dceff6e722aff2e7689c306f4806c4b3ca3559d121b54d7b09e722b432a826513d96dff5d18bce215ebade
+EBUILD libutempter-1.2.0.ebuild 1705 BLAKE2B 0421ad465302e3e8ccbd4369b1ae44043653d751e24168189e0a2dfb1912748fb7c29b0123a27db8587f3dd53697b0fdd95063929614e009ac348b95c59ca0d3 SHA512 8687abd08901b2577f0cf47a7c9820e45858a322c5cbb854c0f72dc362c7777c48f2fd5ed208d15dd574b798f7c300ff582afaeaf01e8fdda3ca5b98be1240ed
MISC metadata.xml 253 BLAKE2B 295e9d6d93aaa12af413972e1590c67087801cc09c9aa6b59d4606c0f4106d1dacf2baa9858559083b4c6d91beeef218d0729e8593a33788958da6d2897e8ce2 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555
diff --git a/sys-libs/libutempter/libutempter-1.2.0.ebuild b/sys-libs/libutempter/libutempter-1.2.0.ebuild
new file mode 100644
index 000000000000..271a41f8bde7
--- /dev/null
+++ b/sys-libs/libutempter/libutempter-1.2.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib flag-o-matic toolchain-funcs
+
+DESCRIPTION="Library that allows non-privileged apps to write utmp (login) info"
+HOMEPAGE="https://altlinux.org/index.php?module=sisyphus&package=libutempter"
+SRC_URI="ftp://ftp.altlinux.org/pub/people/ldv/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs elibc_FreeBSD"
+
+RDEPEND="
+ !sys-apps/utempter
+ acct-group/utmp
+"
+
+src_prepare() {
+ default
+
+ local args=(
+ -e "/^libdir /s:/usr/lib:${EPREFIX}/usr/$(get_libdir):"
+ -e '/^libexecdir /s:=.*:= $(libdir)/misc:'
+ -e '/^CFLAGS = $(RPM_OPT_FLAGS)/d'
+ -e 's:-Wl,-stats::'
+ -e "/^includedir /s:/usr/include:${EPREFIX}/usr/include:"
+ -e "/^mandir /s:=.*:= ${EPREFIX}/usr/share/man:"
+ )
+ use static-libs || args+=(
+ -e '/^STATICLIB/d'
+ -e '/INSTALL.*STATICLIB/d'
+ )
+ sed -i "${args[@]}" Makefile || die
+}
+
+src_configure() {
+ use elibc_FreeBSD && append-libs -lutil
+ tc-export AR CC
+}
+
+src_compile() {
+ emake LDLIBS="${LIBS}"
+}
+
+src_install() {
+ default
+
+ if ! use prefix ; then
+ fowners root:utmp /usr/$(get_libdir)/misc/utempter/utempter
+ fperms 2755 /usr/$(get_libdir)/misc/utempter/utempter
+ fi
+ dodir /usr/sbin
+ dosym ../$(get_libdir)/misc/utempter/utempter /usr/sbin/utempter
+}
+
+pkg_postinst() {
+ if [[ -f "${EROOT}/var/log/wtmp" ]] ; then
+ chown root:utmp "${EROOT}/var/log/wtmp"
+ chmod 664 "${EROOT}/var/log/wtmp"
+ fi
+
+ if [[ -f "${EROOT}/var/run/utmp" ]] ; then
+ chown root:utmp "${EROOT}/var/run/utmp"
+ chmod 664 "${EROOT}/var/run/utmp"
+ fi
+}
diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest
index 40913f6fbe34..8a74eccb8feb 100644
--- a/sys-libs/llvm-libunwind/Manifest
+++ b/sys-libs/llvm-libunwind/Manifest
@@ -1,15 +1,11 @@
-DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
-DIST libcxxabi-7.1.0.src.tar.xz 535180 BLAKE2B aa5952e3ca80f7ce2a0a79f3eaf3852234e23a8445a2539374bedb188aba7d973763a6c0d7cc7700070d942555250f87c3c9efb504bb731985be033d47b79b44 SHA512 629ef641ab5aba28ea7171efbad806f1f0464eee2d04f8903014a4f82c03f2c6513defbbe5489b2c6fd624270fe8efbad97a40e56958f8f38a4f5516a16dd102
DIST libcxxabi-8.0.1.src.tar.xz 538356 BLAKE2B 52328c5890c9b9271877b953be30cc39be4758101e6b91ee45f06c81e960089523e80b83eb5c354336e4e0a140f7554640acf7b2d4fa619113f705108a314418 SHA512 577cfcb04ebb29ee84d35ed31aa8fecb28fc74b07ef7ff298f0fe2d440f823def73e092359c41d8d8600e6df18f55224ed89674d403c5ae56a7d7973487b8734
-DIST libunwind-7.1.0.src.tar.xz 79780 BLAKE2B 8f15dcf4a9c8cb45f17c72bf058eed13a6cd52842ee8630781c3104be77d9a868e241eafd34a31b23aeff18dc49743dd5a566ce4cb866a170f1d09899584e2dd SHA512 8ebfeb821013167e866986a2f9cc6459e43d82f73560a15ee7e0d604a974e1c656f824c9f7ccb47da4b4830ad9a99c663961bdf7642cd105e666b8a8fdf7d03c
DIST libunwind-8.0.1.src.tar.xz 87188 BLAKE2B 26f4d8ffbc8eb316e4e623280d6fe493e4c5c29489b90633c8215fe91349de7f7f0cfbfe8991ace11656d3782e13c7208b4a4adc04691746b4140187fba40043 SHA512 c115582ca879e215b97d24e4aa80696796383e79856cf26e40b4ddd6b255d598f9fa9867b30f0fd1691be770779835ac1d4b9a5e4a71424b18499b79ea37d060
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
EBUILD llvm-libunwind-10.0.0.9999.ebuild 3337 BLAKE2B 3ed18438eb02755762d4533396ea50a1e2df5ea428cd22b92f6dda90813a48fc1fafb3538e0cc10ada3b8b52fefa8dd18d61043c8f616ea88b32e26bc6e737ad SHA512 db1bfa10cbd3e0dc847262c7662c54c32d98b6467ef29ce7f50b506fb48a05bfa72b04dd3129291a7f66059ebc8b571acff895142bbd7e6bbf08cbcaf209b8c5
EBUILD llvm-libunwind-10.0.0.ebuild 3360 BLAKE2B dd4b9b43af7ce1a8689940a89bf4a89ce13bcc59c005cf8117aaf9579c9a06dd38806f7cf78951e7e237a32f102c8354cc6de8a9744335997cb96f9a5f060186 SHA512 7bc34e1f314a45aec7154447a51d682d2cc37157bef41d35f7ca56b2362d2b1fb6ec12755e12cd7307562433d8875456ce0eff62794962a05e7e65449b59c225
-EBUILD llvm-libunwind-11.0.0.9999.ebuild 3337 BLAKE2B 3ed18438eb02755762d4533396ea50a1e2df5ea428cd22b92f6dda90813a48fc1fafb3538e0cc10ada3b8b52fefa8dd18d61043c8f616ea88b32e26bc6e737ad SHA512 db1bfa10cbd3e0dc847262c7662c54c32d98b6467ef29ce7f50b506fb48a05bfa72b04dd3129291a7f66059ebc8b571acff895142bbd7e6bbf08cbcaf209b8c5
-EBUILD llvm-libunwind-7.1.0.ebuild 3717 BLAKE2B affbe6d3249c5821f75e4523f4a293520ea49b7df49c019c4083dc4263cff66358abcb936e52850668b270d38e9a5d1bd07861c2fbd1489f9dbb5f41193546ae SHA512 275326858c22ac353c7452433ac57a80eda766932e1ae2ebcb21300b78cec02a9e0935e5b3d6277458089821ab0831a9f5dcf7ec051b70d8ba7e875930a6f8a4
+EBUILD llvm-libunwind-11.0.0.9999.ebuild 3339 BLAKE2B e92386cf288170ed1ef4a748bf0d940c3ca2a68f0726a6a1f540478a715fdd575b738f7f4944e9b15bba9eed1abecbba86e860e68d656237eb6d15818325c997 SHA512 12dde32052b466123d1846246439d97b5cdb4af26247f217363cc75862191fc97e15825a719aeb001d5d52c39ecda9a6b5d52e1fd5dada9777eb6c1f61ac92b9
EBUILD llvm-libunwind-8.0.1.ebuild 3815 BLAKE2B 52a00f299c179b3b826702e6b76468922745be47e97542ad2e620879c14434f7ab334089a529ed9c27584c17f8e805bad783710c288c2e5d4258487c2b502186 SHA512 b956f3a085591de5a1519c7b5830c625a085ab2f178ca5b5e7d55b6f4cb23e0b64eeb108d3d45fd18f8420da5898ec2099e6f6d68fc575e5f9bbc846b98865e2
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.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-11.0.0.9999.ebuild
index d622d1cdee5c..4f813dc7e2cd 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-11.0.0.9999.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-11.0.0.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6,7,8} )
inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1
DESCRIPTION="C++ runtime stack unwinder from LLVM"
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-7.1.0.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-7.1.0.ebuild
deleted file mode 100644
index 595c95f32f1f..000000000000
--- a/sys-libs/llvm-libunwind/llvm-libunwind-7.1.0.ebuild
+++ /dev/null
@@ -1,143 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python3_6 )
-inherit cmake-multilib llvm multiprocessing python-any-r1
-
-MY_P=libunwind-${PV/_/}.src
-LIBCXX_P=libcxx-${PV/_/}.src
-LIBCXXABI_P=libcxxabi-${PV/_/}.src
-
-DESCRIPTION="C++ runtime stack unwinder from LLVM"
-HOMEPAGE="https://github.com/llvm-mirror/libunwind"
-SRC_URI="https://releases.llvm.org/${PV/_//}/${MY_P}.tar.xz
- test? (
- https://releases.llvm.org/${PV/_//}/${LIBCXX_P}.tar.xz
- https://releases.llvm.org/${PV/_//}/${LIBCXXABI_P}.tar.xz )"
-
-LICENSE="|| ( UoI-NCSA MIT )"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-IUSE="debug +static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="!sys-libs/libunwind"
-# llvm-6 for new lit options
-DEPEND="
- >=sys-devel/llvm-6
- test? ( >=sys-devel/clang-3.9.0
- $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
-
-S=${WORKDIR}/${MY_P}
-
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-python_check_deps() {
- has_version "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_unpack() {
- default
-
- if use test; then
- mv "${LIBCXX_P}" libcxx || die
- mv "${LIBCXXABI_P}" libcxxabi || die
- fi
-}
-
-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)
- local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
-
- [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
-
- mycmakeargs+=(
- -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
- -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
- -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx
- )
- fi
-
- cmake-utils_src_configure
-}
-
-build_libcxxabi() {
- local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
- local CMAKE_USE_DIR=${WORKDIR}/libcxxabi
- local BUILD_DIR=${BUILD_DIR}/libcxxabi
- local mycmakeargs=(
- -DLIBCXXABI_LIBDIR_SUFFIX=
- -DLIBCXXABI_ENABLE_SHARED=ON
- -DLIBCXXABI_ENABLE_STATIC=OFF
- -DLIBCXXABI_USE_LLVM_UNWINDER=ON
- -DLIBCXXABI_INCLUDE_TESTS=OFF
-
- -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
- -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include
- )
-
- cmake-utils_src_configure
- cmake-utils_src_compile
-}
-
-build_libcxx() {
- local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)"
- local CMAKE_USE_DIR=${WORKDIR}/libcxx
- local BUILD_DIR=${BUILD_DIR}/libcxx
- local mycmakeargs=(
- -DLIBCXX_LIBDIR_SUFFIX=
- -DLIBCXX_ENABLE_SHARED=ON
- -DLIBCXX_ENABLE_STATIC=OFF
- -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
- -DLIBCXXABI_USE_LLVM_UNWINDER=ON
- -DLIBCXX_CXX_ABI=libcxxabi
- -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include
- -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
- -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
- -DLIBCXX_HAS_GCC_S_LIB=OFF
- -DLIBCXX_INCLUDE_TESTS=OFF
- )
-
- cmake-utils_src_configure
- cmake-utils_src_compile
-}
-
-multilib_src_test() {
- # build local copies of libc++ & libc++abi for testing to avoid
- # circular deps
- build_libcxxabi
- build_libcxx
- mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
-
- cmake-utils_src_make check-unwind
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # install headers like sys-libs/libunwind
- doheader "${S}"/include/*.h
-}
diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest
index b8a7437737c9..4fa7a2f622b9 100644
--- a/sys-libs/ncurses/Manifest
+++ b/sys-libs/ncurses/Manifest
@@ -11,5 +11,5 @@ DIST ncurses-6.1.tar.gz 3365395 BLAKE2B 1248a5088bc982d0880cb9550b1192457f6f6249
DIST ncurses-6.2.tar.gz 3425862 BLAKE2B 6680cd7a369a4cb8234442a70869c283f0db6db9d7da1da2a7a5c519eb862a2c9b9411957d99f9ebb5089cad00b42e1ca6bc0784327461113df2eeaec695913c SHA512 4c1333dcc30e858e8a9525d4b9aefb60000cfc727bc4a1062bace06ffc4639ad9f6e54f6bdda0e3a0e5ea14de995f96b52b3327d9ec633608792c99a1e8d840d
EBUILD ncurses-6.1_p20181020.ebuild 9293 BLAKE2B 8ce72eed16d81cd82a9e588782b1a2d09840f7a95a7a0358dec0fe9b77a4f46d3d50fe9ba55867b45270999f269b29ec985e1c79e6ed983a9d55a7bf1194ec20 SHA512 281e363326b0f92b0d9dc0c8e753bfec38ac6bfabca490871fda8ca7fa8f6850f7c08e647263ed8e9389370f3fde2c3c0ea5ffeee93acb629e6593d0831aa595
EBUILD ncurses-6.1_p20190609.ebuild 9489 BLAKE2B bb0bca320c2d4d651b8176049694e2db185f28d5d150b994be8da1b571e20396cf77b95abb9c70fe09c1b2c1a298484f09358ac5fdf364de03e7f1053dc06ad7 SHA512 45aeccee896cf01e9efcc605b849a2c96b90f538d29fe4ffe8d5430b718c7bf73cf17ae4efcf74173fa1425957b8bf0a668ad107f88b9d8293ae5d81303e1d7e
-EBUILD ncurses-6.2-r1.ebuild 9553 BLAKE2B 4f80c6bd7380f5b2d6641caa037d09fe539d7d67d8e1b05466750ff964755d5fe4240f2b3af0f2ee5c0eb2b10b31e75915676c527fd046d16cf338af60b4b528 SHA512 19d063b0f96a780ec6802152416aaab1476b2309ab31910afeb04bf64d5084bf2f755044125f914ac3eafa8a034aedd9c2317201a097650a7e4803cce1029403
+EBUILD ncurses-6.2-r1.ebuild 9545 BLAKE2B 4cb494e0edbfe2c661fc8ff62cc74fca856d351c6cee9151711de00b52b96cb852207a7887c268c101402376fb11be140e5a16af3f92c79b9d459372b5ddac2d SHA512 00ed5b543f3f8625e781bf6967bf932c0a3865f3b8fb0236a1c6631a783dfbad04ffd329a9ecb3f2f7087e7ae5b016d374515c317b8029f5fb97a4143a4de67f
MISC metadata.xml 696 BLAKE2B 00deabf0f9a310870a8080425ee4df0e581c6871565f5f3c42c823f51bb4fabac4a8980e371f2bd142a982b6369527bee184ecb941e5d5f31697a871cd0a8237 SHA512 ff73226dc25e761ad9106768fc7ad0d2c40b6fefd3beced9ba5dfcc31a499220408fb2f2a6fd8aa53bb360398154a3653bf0e0ddb16c4ef4e5e89fe60752b7b5
diff --git a/sys-libs/ncurses/ncurses-6.2-r1.ebuild b/sys-libs/ncurses/ncurses-6.2-r1.ebuild
index 89fccf97ba4a..4e5ee6bf3719 100644
--- a/sys-libs/ncurses/ncurses-6.2-r1.ebuild
+++ b/sys-libs/ncurses/ncurses-6.2-r1.ebuild
@@ -19,7 +19,7 @@ fi
LICENSE="MIT"
# The subslot reflects the SONAME.
SLOT="0/6"
-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"
IUSE="ada +cxx debug doc gpm minimal profile static-libs test threads tinfo trace unicode"
RESTRICT="!test? ( test )"
diff --git a/sys-libs/nss_wrapper/Manifest b/sys-libs/nss_wrapper/Manifest
index 9fbff115612f..021318907f6c 100644
--- a/sys-libs/nss_wrapper/Manifest
+++ b/sys-libs/nss_wrapper/Manifest
@@ -1,5 +1,5 @@
DIST nss_wrapper-1.1.10.tar.gz 89593 BLAKE2B 9f478f87acbe9a842edf443ddfc45642621cee22dd03342cfb7dcc03fd4b188950a43527d3b332b03714729f7f57cf072b77ffb38574b98124dfdbb4b03f227d SHA512 7c2f0eccdb3535643015aea8b4bdb87b421c3575c3124b62c8f17c9d3db54d92ba012524674c41c16f02a1b6ebe4177724f04eefdc04760ca49b32d3f77910c5
DIST nss_wrapper-1.1.6.tar.gz 57893 BLAKE2B 4952b1af2b2b0487104b650b98694e5d39aed9edb44992d22e10ea38a2c4009f076aafa36f43775a021eca5b1f2708c9f42fa711d6715c43b077a9a3341570e8 SHA512 213d611abc072cb8d098b0782f661b4cdf1dcfd04fb564fb05034f023197aeed15a684478c660c00fb72f9438a192914e7b6878e505e4380435534bef52e0328
EBUILD nss_wrapper-1.1.10.ebuild 413 BLAKE2B 77d98a2dc0b6eda08829de64f4171126dd518ecaa548e6bd645651d285b37c47b3d7ac0dd80623fbafca09a83f28ef9ad63d8a74c15ad0fb70a31c04386ba698 SHA512 015d70d09478f31e8ef787aef44f05e1d12e03a6ac4febf94004bc86cabfd7e412b5184eb96995f69982eba871d6cd8eae6fd24aace72dff97abbaef39aa8323
-EBUILD nss_wrapper-1.1.6.ebuild 407 BLAKE2B 09a6233a1408bf474f5156532df366755014cf974f4c1b3f6a8a87d25d0562107b8ae2fc1cf940fe0429cf461a38a55d2bdaab68869eb6b64b1da0325111ec51 SHA512 dc43e43dd95d94a45d6638b8ea76623b3ec790b9ba37a4db55911a9a4796acd826d21c9aa80307b71403939fb9a02d746392c3a0c8084bb109a8ae3f7a1a06c5
+EBUILD nss_wrapper-1.1.6.ebuild 406 BLAKE2B 9c7f1db9406e4d19353b3aa905030a59f2a66efaf5ba59d13c33e8a57636685f2cf334819bd6b7ff93f5b2c25677296189b8d500d0108262c260e2a354baaf89 SHA512 5cdab07c6b3373f84cca9e8fb751c2cf23e1893352a8ab4ace9dc2d6bdc4a974214c12cc7b1869da92496b7f03b3857d0181d722dd78fe2433647ef0df47757d
MISC metadata.xml 249 BLAKE2B 274f77317bba157c3ad4c3e9827ce5ce934c855b8bd41e603df69f1343c296abf7faec755a56f5f8d0e76f43058156e95480a386494265385604401e70484acf SHA512 940515e5f54189b5ba3c1118ea45f679182c9075091ade1959b197a6dc5fba894cd52cd0289e00a4a139b1cd3c6563771a1e21d2baa460a25892b0fa20e819a8
diff --git a/sys-libs/nss_wrapper/nss_wrapper-1.1.6.ebuild b/sys-libs/nss_wrapper/nss_wrapper-1.1.6.ebuild
index 053b08d1f4a7..5c9ce92a6146 100644
--- a/sys-libs/nss_wrapper/nss_wrapper-1.1.6.ebuild
+++ b/sys-libs/nss_wrapper/nss_wrapper-1.1.6.ebuild
@@ -12,4 +12,4 @@ SRC_URI="https://ftp.samba.org/pub/cwrap/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
diff --git a/sys-libs/openipmi/Manifest b/sys-libs/openipmi/Manifest
index 5f52d428f23b..724822850734 100644
--- a/sys-libs/openipmi/Manifest
+++ b/sys-libs/openipmi/Manifest
@@ -1,12 +1,7 @@
-AUX openipmi-2.0.16-pthreads.patch 546 BLAKE2B 53d2f7473b0a5705eed3ff4acd3b635befe0a57041e06dd2c4660a1c04af307c0f40a0a5c89770b77442aa8386ce84e3006cd1bb88cc432b55f81cc8cec9c37e SHA512 cadbcb8a1c08b467ca550e2b8510a415ca50749e752baf3fe8cc59c67c0d6bce0009850510e02d36b306894cb1e84aac3e4d2f947c75d56f8e7443315e4f8902
-AUX openipmi-2.0.21-tinfo.patch 818 BLAKE2B 5d647663899cc6b55c2c412d8bd8164ceddfdeeee42863b40781ee7317f3f23b1b6e0d466001ead51beba286ddfe195683fc36bdadb3f279da0a881f058aa028 SHA512 2b3f7f10f6f7f1a71973f0f8f125171c33ad9149bdcd808b9b76571ac2d5a403db0b23bde0fbcb7763fba6101b5015775a3563ed77197f4a50d7ca98812f6d6d
AUX openipmi-2.0.26-readline.patch 291 BLAKE2B 82885b89bda01db81472e6dd72883450dc83e78a2a8f6f49d0909d828009897f2bcd7218fbfc971c4f2a0e368e1a80024040ce17f23a3d349a1da7a56ea146dd SHA512 f2d401bfcc155f0488cf1f23942a177e29de6439b42a8521ff35e9cc61601ce00cd7e458f651e422ab8cee2f901b85431414dd8e2bcf41f633e0f09c82d27b23
AUX openipmi-2.0.26-tinfo.patch 808 BLAKE2B fc7545b3610c9ba6a2d8d7075a8db3384659945bd7d85758342438f261fedce67bace7795a74ff6010f68d04d8ae33936b6c60780986c9e0d66e93061577132f SHA512 2deae71fd039126cb3dd0a348658ddbf568345c782c2467a4712d36006217f86eaf86950c821d36a400aea4cf18409684e8abd3b1e504928f5bc6d4cf943c4bb
-DIST OpenIPMI-2.0.22.tar.gz 3081893 BLAKE2B 6ec5ec7f61f3033a9d953df4b091522fa5bd891a93dfe648f807548e3dc0f5ffc0d15af9b687379e6749d7b97ee2fd6c7f9e713aaa7423b82bf099fb2d0fb6b8 SHA512 78017fc0b52ce6a83db45f595f50170410120c9f7394429869c177ee40ea5b924bcc0e36bb60f9368a75a2f78ff71c70ae3631ba55a207cfb6eb4f62aa44ff89
-DIST OpenIPMI-2.0.26.tar.gz 3124706 BLAKE2B 08afeae1063b404dec3d6f9e5decdf9ac516c0096d8db3c42ff275c280267aa6a202cf4c63c5044cf1d24a95ecd617ad36c15e5c98c6b9cdad2647227f649ae6 SHA512 ffd1ea60727973238461c95373c71e28da04e2fd163bfcb8f5ef9a8ac197b554773231c064cac71c64fc7ccd720085a781fe3c6c8ed3c9dc5cc8ca88fff6f2d0
DIST OpenIPMI-2.0.27.tar.gz 3125193 BLAKE2B 86639a86803e49393aefbaf5b1d1fee8e2bf399b2772bdee7d07a00d5e6657efe5cdf962cacb0397f9de5deb0b18edc05783c3388f4fc19e1ee2de4c01be0663 SHA512 44aa2eb97559514d61654434f24bf8e87c3f89ea7095fd3d46c1a889e16c128f29ca19cfb9747afc7fd432ada84406ee884bc8b9c65e28b8bd033d368b744fe3
-EBUILD openipmi-2.0.22.ebuild 2760 BLAKE2B 1755a490ede8a7a5a6a5313ffb589017ac113014d3c104a5b94a72d65f47dc2521c90b3e2bb8278d32c688f895209279ae826473885a9704dd2c3fa81b711076 SHA512 19eea699731abd90b3ff0cd9ceba7d79908d71f189592dd8a9344eac847b818a5fc95f5d0af6fb40d0684f1e13712e3a4bd9479d83aedcc204b7dee1f2a2184f
-EBUILD openipmi-2.0.26.ebuild 2540 BLAKE2B 68cd72d29de0e55011fa93c0c48db72cc6726e1b1fd67055d6d77937b9e7df032eb94c5b56f033a36a4945e81854b176ff2a0229fea64058cd67827a45787435 SHA512 82cda168439eb503b409085f16a8b4ddb74357eabc8fc2d2335d0830002dc284170c79bbb3caee5daff2431f4c9b10292ff6bc6220028a3c3a44d371b21f2422
-EBUILD openipmi-2.0.27-r1.ebuild 2328 BLAKE2B 801d566abb85f4c015f9ad9393b2d33f11c2820fd7f03ea7e3635b3d449e60f76b93ff8ec7d1f78ea13bef1e8d02ff57bdf47bb065efac85fe021436ec272560 SHA512 d2238bcc740b0cf0bc88bfa2704971df8deb846d36abc18086ce62287a67ccd6395bb4a7018a8714bceba1083cfbaf1604ce39402eb50a0bf1e1a1097838124d
-EBUILD openipmi-2.0.27.ebuild 2576 BLAKE2B ab9848f52cb082869193255baa9c6e5f97011ed84755228771670f5e88c421d52dd12994bfa363a7ac4e7b2f8cad15d625020f09bf85e55c86e24696b8a8f8a9 SHA512 544afc4392b57bbef97ffc141bfd3a14e3e13f1aec10a5a725c9a686411e5314b40d209e0b0813644652a6e22aa5a2f5f322c0ebaf588c155a574b91e72d01db
+DIST OpenIPMI-2.0.28.tar.gz 3118911 BLAKE2B 0f4192dc536ec1767ee72cf9f0d2c3b021e5f8e88b4029846a27c3b6561a3c63d44f4bad7ced234a171504804d2d9cdd90d0c6a6dc178f9f76ea52f6df20b9d0 SHA512 faaca335f7ff582f396d588c6b3736b4e2756a9914becba75550878a10d7acce55e85912bcf5cd9e482c3e646eb472a8a055c520f2dcba7a874f0c0f120502da
+EBUILD openipmi-2.0.27-r1.ebuild 2322 BLAKE2B b8421f48e67af99154607e36216fa69ed62330f37314764c90ce29f623343be3fc1ede6755f6e3dd082a508db045745f7955fe9383441197006170edac0668a9 SHA512 9f9c1806008f49d31aaabfd58390ae024a5df6f1365ac287637c6748eec33b676dc7205f282c7a50f17228a5d6212b3587991870341ee95d4480bb8a3417bbce
+EBUILD openipmi-2.0.28.ebuild 2282 BLAKE2B 2da57c9476099e46e2eb7d9fbb3a04e5bfc481a740b157aab5ef1a207461ec23442d2e02235cc5ad4de97a4146571942aabf2c7a2455852f2bfe996809592de1 SHA512 2e8289a67e7873097b063b11fe475c29b7cac49b95a62b3b9b32035535901b1fa377cb2cd23c34ee9cdbdbf6373335508fd189912a66c128db582d6e7592bcc4
MISC metadata.xml 347 BLAKE2B 4857bbfde0e588b4ad2ac893f826affe46d77ead16c7565fa775580c23fdd35df745a9050b599d0ff333290a155b48cf6d571065abd8b2fe5cc4b2e136f3efc1 SHA512 f67b97714b2b543109c2bc90d8f474df13e8915b7a14fdc3a16b62f1dfbc59ac27c8e64d19429b87a63ee2c1e4812cee26d8fb797591028484b2072b1951231f
diff --git a/sys-libs/openipmi/files/openipmi-2.0.16-pthreads.patch b/sys-libs/openipmi/files/openipmi-2.0.16-pthreads.patch
deleted file mode 100644
index 7666e34e936f..000000000000
--- a/sys-libs/openipmi/files/openipmi-2.0.16-pthreads.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ruN OpenIPMI-2.0.16.orig/OpenIPMIpthread.pc.in OpenIPMI-2.0.16/OpenIPMIpthread.pc.in
---- OpenIPMI-2.0.16.orig/OpenIPMIpthread.pc.in 2005-08-17 05:56:02.000000000 +0200
-+++ OpenIPMI-2.0.16/OpenIPMIpthread.pc.in 2010-10-31 21:35:56.126933520 +0100
-@@ -6,6 +6,6 @@
- Name: OpenIPMIpthread
- Description: Pthread OS handler for OpenIPMI
- Version: @VERSION@
--Requires: OpenIPMI pthread
--Libs: -L${libdir} -lOpenIPMIutils -lOpenIPMIpthread
-+Requires: OpenIPMI
-+Libs: -L${libdir} -lOpenIPMIutils -lOpenIPMIpthread -lpthread
- Cflags: -I${includedir}
diff --git a/sys-libs/openipmi/files/openipmi-2.0.21-tinfo.patch b/sys-libs/openipmi/files/openipmi-2.0.21-tinfo.patch
deleted file mode 100644
index 5eb8642ab2e4..000000000000
--- a/sys-libs/openipmi/files/openipmi-2.0.21-tinfo.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -ur a/configure.ac b/configure.ac
---- a/configure.ac 2014-01-28 20:35:02.000000000 +0100
-+++ b/configure.ac 2015-09-23 17:05:03.526010122 +0200
-@@ -861,10 +861,12 @@
- *-sun-*) AC_DEFINE([_SUNOS], [], [Solaris's term.h does horrid things.]);;
- esac
-
--AC_CHECK_LIB(curses, tgetent, TERM_LIBS=-lcurses,
-+PKG_CHECK_MODULES(ncurses, ncurses, TERM_LIBS=$ncurses_LIBS,
-+ [AC_CHECK_LIB(tinfo, tgetent, TERM_LIBS=-ltinfo,
-+ [AC_CHECK_LIB(curses, tgetent, TERM_LIBS=-lcurses,
- [AC_CHECK_LIB(ncursesw, tgetent, TERM_LIBS=-lncursesw,
- [AC_CHECK_LIB(ncurses, tgetent, TERM_LIBS=-lncurses,
-- [AC_MSG_ERROR([libtermcap, libcurses or libncurses are required!])])] )] )
-+ [AC_MSG_ERROR([libtinfo, libtermcap, libcurses or libncurses are required!])])] )] )] )] )
-
- # Checks for header files.
- AC_FUNC_ALLOCA
diff --git a/sys-libs/openipmi/openipmi-2.0.22.ebuild b/sys-libs/openipmi/openipmi-2.0.22.ebuild
deleted file mode 100644
index c000ca432132..000000000000
--- a/sys-libs/openipmi/openipmi-2.0.22.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit eutils autotools python-single-r1
-
-DESCRIPTION="Library interface to IPMI"
-HOMEPAGE="https://sourceforge.net/projects/openipmi/"
-MY_PN="OpenIPMI"
-MY_P="${MY_PN}-${PV}"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
-
-LICENSE="LGPL-2.1 GPL-2"
-SLOT="0"
-KEYWORDS="amd64 hppa ~ia64 ppc x86"
-IUSE="crypt snmp perl python tcl"
-S="${WORKDIR}/${MY_P}"
-RESTRICT='test'
-
-RDEPEND="
- dev-libs/glib:2
- sys-libs/gdbm:=
- sys-libs/ncurses:0=
- sys-libs/readline:0=
- crypt? ( dev-libs/openssl:0= )
- snmp? ( net-analyzer/net-snmp )
- perl? ( dev-lang/perl:= )
- python? ( ${PYTHON_DEPS} )
- tcl? ( dev-lang/tcl:0= )"
-DEPEND="${RDEPEND}
- >=dev-lang/swig-1.3.21
- virtual/pkgconfig"
-# Gui is broken!
-# python? ( tcl? ( tk? ( dev-lang/tk dev-tcltk/tix ) ) )"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-PATCHES=(
- # Bug #338499: The installed OpenIPMIpthread.pc depends on a non-existing
- # pthread.pc. We patch it to link -lpthread directly instead.
- "${FILESDIR}/${PN}-2.0.16-pthreads.patch"
-
- # https://bugs.gentoo.org/501510
- "${FILESDIR}/${PN}-2.0.21-tinfo.patch"
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Bug #290763: The buildsys tries to compile+optimize the py file during
- # install, when the .so might not be been added yet. We just skip the files
- # and use python_optimize ourselves later instead.
- sed -r -i \
- -e '/INSTALL.*\.py[oc] /d' \
- -e '/install-exec-local/s,OpenIPMI.pyc OpenIPMI.pyo,,g' \
- swig/python/Makefile.{am,in}
-
- # Bug #298250: parallel install fix.
- sed -r -i \
- -e '/^install-data-local:/s,$, install-exec-am,g' \
- cmdlang/Makefile.{am,in}
-
- # We touch the .in and .am above because if we use the below, the Perl stuff
- # is very fragile, and often fails to link.
- #cd "${S}"
- eautoreconf
-}
-
-src_configure() {
- local myconf=()
- myconf+=( $(use_with snmp ucdsnmp yes) )
- myconf+=( $(use_with crypt openssl yes) )
- myconf+=( $(use_with perl perl yes) )
- myconf+=( $(use_with tcl tcl yes) )
- myconf+=( $(use_with python python yes) )
-
- # GUI is broken
- #use tk && use python && use !tcl && \
- # ewarn "Not building Tk GUI because it needs both Python AND Tcl"
- #if use python && use tcl; then
- # myconf+=( $(use_with tk tkinter) )
- #else
- # myconf+=( --without-tkinter )
- #fi
-
- myconf+=( --without-tkinter )
- myconf+=( --with-glib --with-glibver=2.0 --with-glib12=no --with-swig )
- # these binaries are for root!
- econf ${myconf[@]} --bindir=/usr/sbin
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc README* FAQ ChangeLog TODO doc/IPMI.pdf lanserv/README.vm
- newdoc cmdlang/README README.cmdlang
-
- use python && python_optimize
-}
diff --git a/sys-libs/openipmi/openipmi-2.0.26.ebuild b/sys-libs/openipmi/openipmi-2.0.26.ebuild
deleted file mode 100644
index 7a1399ffdb1a..000000000000
--- a/sys-libs/openipmi/openipmi-2.0.26.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit autotools python-single-r1
-
-DESCRIPTION="Library interface to IPMI"
-HOMEPAGE="https://sourceforge.net/projects/openipmi/"
-MY_PN="OpenIPMI"
-MY_P="${MY_PN}-${PV/_/-}"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
-
-LICENSE="LGPL-2.1 GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~x86"
-IUSE="crypt snmp perl python tcl"
-S="${WORKDIR}/${MY_P}"
-RESTRICT='test'
-
-RDEPEND="
- dev-libs/glib:2
- sys-libs/gdbm:=
- sys-libs/ncurses:0=
- sys-libs/readline:0=
- crypt? ( dev-libs/openssl:0= )
- snmp? ( net-analyzer/net-snmp )
- perl? ( dev-lang/perl:= )
- python? ( ${PYTHON_DEPS} )
- tcl? ( dev-lang/tcl:0= )"
-DEPEND="${RDEPEND}
- >=dev-lang/swig-1.3.21
- virtual/pkgconfig"
-# Gui is broken!
-# python? ( tcl? ( tk? ( dev-lang/tk dev-tcltk/tix ) ) )"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-PATCHES=(
- # https://bugs.gentoo.org/501510
- "${FILESDIR}/${PN}-2.0.26-tinfo.patch"
-
- "${FILESDIR}/${PN}-2.0.26-readline.patch"
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Bug #290763: The buildsys tries to compile+optimize the py file during
- # install, when the .so might not be been added yet. We just skip the files
- # and use python_optimize ourselves later instead.
- sed -r -i \
- -e '/INSTALL.*\.py[oc] /d' \
- -e '/install-exec-local/s,OpenIPMI.pyc OpenIPMI.pyo,,g' \
- swig/python/Makefile.{am,in}
-
- # Bug #298250: parallel install fix.
- sed -r -i \
- -e '/^install-data-local:/s,$, install-exec-am,g' \
- cmdlang/Makefile.{am,in}
-
- # We touch the .in and .am above because if we use the below, the Perl stuff
- # is very fragile, and often fails to link.
- #cd "${S}"
- eautoreconf
-}
-
-src_configure() {
- local myconf=(
- # these binaries are for root!
- --bindir=/usr/sbin
- --with-glib
- --with-glibver=2.0
- --with-swig
- --without-tkinter
- $(use_with snmp ucdsnmp yes)
- $(use_with crypt openssl yes)
- $(use_with perl perl yes)
- $(use_with tcl tcl yes)
- $(use_with python python yes)
- )
-
- # GUI is broken
- #use tk && use python && use !tcl && \
- # ewarn "Not building Tk GUI because it needs both Python AND Tcl"
- #if use python && use tcl; then
- # myconf+=( $(use_with tk tkinter) )
- #else
- # myconf+=( --without-tkinter )
- #fi
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc README* FAQ ChangeLog TODO doc/IPMI.pdf lanserv/README.vm
- newdoc cmdlang/README README.cmdlang
-
- use python && python_optimize
-}
diff --git a/sys-libs/openipmi/openipmi-2.0.27-r1.ebuild b/sys-libs/openipmi/openipmi-2.0.27-r1.ebuild
index 4d46cb0f50df..4a278338a6da 100644
--- a/sys-libs/openipmi/openipmi-2.0.27-r1.ebuild
+++ b/sys-libs/openipmi/openipmi-2.0.27-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python{2_7,3_{6,7}} )
+PYTHON_COMPAT=( python3_{6,7} )
inherit autotools python-single-r1
diff --git a/sys-libs/openipmi/openipmi-2.0.27.ebuild b/sys-libs/openipmi/openipmi-2.0.28.ebuild
index f16da0c32639..31dc7fbff09a 100644
--- a/sys-libs/openipmi/openipmi-2.0.27.ebuild
+++ b/sys-libs/openipmi/openipmi-2.0.28.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python3_{6,7} )
inherit autotools python-single-r1
@@ -16,7 +16,7 @@ SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
LICENSE="LGPL-2.1 GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~x86"
-IUSE="crypt snmp perl python tcl"
+IUSE="crypt snmp perl python static-libs tcl"
S="${WORKDIR}/${MY_P}"
RESTRICT='test'
@@ -40,10 +40,7 @@ BDEPEND="virtual/pkgconfig"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
PATCHES=(
- # https://bugs.gentoo.org/501510
- "${FILESDIR}/${PN}-2.0.26-tinfo.patch"
-
- "${FILESDIR}/${PN}-2.0.26-readline.patch"
+ "${FILESDIR}/${PN}-2.0.26-tinfo.patch" #501510
)
pkg_setup() {
@@ -53,14 +50,6 @@ pkg_setup() {
src_prepare() {
default
- # Bug #290763: The buildsys tries to compile+optimize the py file during
- # install, when the .so might not be been added yet. We just skip the files
- # and use python_optimize ourselves later instead.
- sed -r -i \
- -e '/INSTALL.*\.py[oc] /d' \
- -e '/install-exec-local/s,OpenIPMI.pyc OpenIPMI.pyo,,g' \
- swig/python/Makefile.{am,in} || die
-
# Bug #298250: parallel install fix.
sed -r -i \
-e '/^install-data-local:/s,$, install-exec-am,g' \
@@ -68,7 +57,6 @@ src_prepare() {
# We touch the .in and .am above because if we use the below, the Perl stuff
# is very fragile, and often fails to link.
- #cd "${S}"
eautoreconf
}
@@ -105,4 +93,9 @@ src_install() {
newdoc cmdlang/README README.cmdlang
use python && python_optimize
+
+ find "${ED}" -name "*.la" -delete || die
+ if ! use static-libs ; then
+ find "${ED}" -name "*.a" -delete || die
+ fi
}
diff --git a/sys-libs/readline/Manifest b/sys-libs/readline/Manifest
index 33136741ff38..e874c6d8607e 100644
--- a/sys-libs/readline/Manifest
+++ b/sys-libs/readline/Manifest
@@ -29,5 +29,5 @@ DIST readline80-004 1275 BLAKE2B ac260bab163f17ccc783e0c2a21351b05e9e86ad973383d
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_p1-r1.ebuild 4852 BLAKE2B d7030926a429ed544cc522a1a6d7dfe3f478bb0b2a7839afd88921f40d44e9e608b9ba07663366f11f70c7a8f5b778f3ae4049bfc43b498c290475387e306a71 SHA512 5b2afd0c8cfe07af987fca735186d04abb6d5780d74e5448ac17dec67e1ecc23b865c6e9e88e873a505e8d940eeb242f76ae5a64bde0e4c8f0af89316ea9e085
-EBUILD readline-8.0_p4.ebuild 4852 BLAKE2B d7030926a429ed544cc522a1a6d7dfe3f478bb0b2a7839afd88921f40d44e9e608b9ba07663366f11f70c7a8f5b778f3ae4049bfc43b498c290475387e306a71 SHA512 5b2afd0c8cfe07af987fca735186d04abb6d5780d74e5448ac17dec67e1ecc23b865c6e9e88e873a505e8d940eeb242f76ae5a64bde0e4c8f0af89316ea9e085
+EBUILD readline-8.0_p4.ebuild 4844 BLAKE2B 866a75409baab0c750fb472b8cb78fefc0884d68b6e4f4f489ac6cb8e82c8eee8c1e64d4a4314051afd8b396785f5ca7756f95b53ffb60f4808348a2e7f7ae9e SHA512 b26c7ebd0092b7172e75cdaf15be0020acf3b4cbc2e20973a7e175a63839a72e6e6952f242b71222a75ea7bb82ac58f5b7aa643b117f99ee403863b5760fd633
MISC metadata.xml 472 BLAKE2B 8d3717ac6980105677b10449a1aabca9f9347066f73802241b904101172690bb789b8071f3670dd91ad2af0223c7bc5fb4ed594dc8af3aff20b17bdd681f7630 SHA512 f19a6f0d6aed18903778adc5ad45fdae39c4388e4f09e7cb8a110b798e8cc7ab1739ff813a227ad08ef1166309e1ead57c200b7fe42499a06db97af9f4bce173
diff --git a/sys-libs/readline/readline-8.0_p4.ebuild b/sys-libs/readline/readline-8.0_p4.ebuild
index 25d7fd3844cf..e4a3c770fea7 100644
--- a/sys-libs/readline/readline-8.0_p4.ebuild
+++ b/sys-libs/readline/readline-8.0_p4.ebuild
@@ -41,7 +41,7 @@ esac
LICENSE="GPL-3"
SLOT="0/8" # subslot matches SONAME major
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+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}]"
diff --git a/sys-libs/timezone-data/Manifest b/sys-libs/timezone-data/Manifest
index 05ad930cab78..83c691ad1ee7 100644
--- a/sys-libs/timezone-data/Manifest
+++ b/sys-libs/timezone-data/Manifest
@@ -1,4 +1,7 @@
DIST tzcode2019c.tar.gz 253560 BLAKE2B 62552e7e78ebb50c111f9a99119843fe9b5dad9e1abb5ba0f1cf0a931cf00fc49684a6b378f5ea4cb31aca8af5b0c3b697b87048ef36a445536ec2fc5b943440 SHA512 61ef36385f501c338c263081486de0d1fccd454b86f8777b0dbad4ea3f21bbde059d0a91c23e207b167ed013127d3db8b7528f0188814a8b44d1f946b19d9b8b
+DIST tzcode2020a.tar.gz 257509 BLAKE2B 21335f0b6a3b98ba8203d49d1273c2016bfbef9903c394cda6ca97cc5ec5d1fb1605bb73ba9aa6c73eca3fe115fb2924da37b736bf0a8a0e214eed547100fe70 SHA512 5235d6590e844491df32375857f5f36ba0046f2d21a078375188dff79b125cf9b69136a0a431624de1ecfa9d53b62a232f0e6ee0b734294cec62b670e6265cb2
DIST tzdata2019c.tar.gz 392087 BLAKE2B d7a21e57391d321b5c84e1ba2286ff0dd154c435d40015d999c8c6f2f1bea3c13d832c0752af313c9aa4dafe6a261e1e92bfd79523448fcd585188a53454e31a SHA512 2921cbb2fd44a6b8f7f2ed42c13fbae28195aa5c2eeefa70396bc97cdbaad679c6cc3c143da82cca5b0279065c02389e9af536904288c12886bf345baa8c6565
+DIST tzdata2020a.tar.gz 397245 BLAKE2B 2a85a9a9badbf2b74ba2ace3f7fd436cc7752202557785be503c1c8f2f698dfc8cfb412b3f08ebc0bd4a8d0e27293b47eeedf937f713dadb4386dad14322b871 SHA512 2a2fc2e3ad8a6e4c574242296c847ad582c2c1d86add9c556e65c812d19b9528522e3c4dddb5239017091825d2acc5a2ccaf21dc41b900b6c300ef4264cc5a9d
EBUILD timezone-data-2019c.ebuild 5134 BLAKE2B bbefd7a68861d2fc2fc2ba573ac0e6546f90c6a3021cce3f86f291ccaf9fce16f0a6a87684046304c8a05931c80d80440807414ca9ff5d553bac2e8261bf6330 SHA512 d110ec4f2eff01b16633a71ab246ab6ff71bb9881676b946643e5cbc7232fa9a6ae15be9f947a07243e47de72451546ccf62e8ddb0c06c316e0c9194a209262d
+EBUILD timezone-data-2020a.ebuild 5134 BLAKE2B bbefd7a68861d2fc2fc2ba573ac0e6546f90c6a3021cce3f86f291ccaf9fce16f0a6a87684046304c8a05931c80d80440807414ca9ff5d553bac2e8261bf6330 SHA512 d110ec4f2eff01b16633a71ab246ab6ff71bb9881676b946643e5cbc7232fa9a6ae15be9f947a07243e47de72451546ccf62e8ddb0c06c316e0c9194a209262d
MISC metadata.xml 658 BLAKE2B 29b5600fabd796a8f9d284fbff175493a1527e57de2f81934483cadc7a3eb33800cca9d48f0002d8b426383bad1689f1259ea7a9c93fda3fd23deb13ba6d43ce SHA512 c7cf8a401e69d9550a94f8f0649b1096949264434285e085379f92cb6a2d72948a7f771803c665ca166db64e98ddac3aa24834edbb174c0305a1db90bc448d3a
diff --git a/sys-libs/timezone-data/timezone-data-2020a.ebuild b/sys-libs/timezone-data/timezone-data-2020a.ebuild
new file mode 100644
index 000000000000..e508d234d92f
--- /dev/null
+++ b/sys-libs/timezone-data/timezone-data-2020a.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit toolchain-funcs flag-o-matic
+
+code_ver=${PV}
+data_ver=${PV}
+DESCRIPTION="Timezone data (/usr/share/zoneinfo) and utilities (tzselect/zic/zdump)"
+HOMEPAGE="https://www.iana.org/time-zones"
+SRC_URI="https://www.iana.org/time-zones/repository/releases/tzdata${data_ver}.tar.gz
+ https://www.iana.org/time-zones/repository/releases/tzcode${code_ver}.tar.gz"
+
+LICENSE="BSD public-domain"
+SLOT="0"
+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 ~x64-solaris"
+IUSE="nls leaps-timezone elibc_FreeBSD"
+
+DEPEND="nls? ( virtual/libintl )"
+RDEPEND="${DEPEND}
+ !sys-libs/glibc[vanilla(+)]"
+
+S=${WORKDIR}
+
+src_prepare() {
+ default
+
+ # check_web contacts validator.w3.org
+ sed -i -e 's/check_tables check_web/check_tables/g' \
+ Makefile || die "Failed to disable check_web"
+
+ tc-is-cross-compiler && cp -pR "${S}" "${S}"-native
+}
+
+src_configure() {
+ tc-export CC
+
+ append-lfs-flags #471102
+
+ if use elibc_FreeBSD || use elibc_Darwin ; then
+ append-cppflags -DSTD_INSPIRED #138251
+ fi
+
+ append-cppflags -DHAVE_GETTEXT=$(usex nls 1 0) -DTZ_DOMAIN='\"libc\"'
+ LDLIBS=""
+ if use nls ; then
+ # See if an external libintl is available. #154181 #578424
+ local c="${T}/test"
+ echo 'main(){}' > "${c}.c"
+ if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} "${c}.c" -o "${c}" -lintl 2>/dev/null ; then
+ LDLIBS+=" -lintl"
+ fi
+ fi
+}
+
+_emake() {
+ emake \
+ REDO=$(usex leaps-timezone posix_right posix_only) \
+ TZDATA_TEXT= \
+ TOPDIR="${EPREFIX}" \
+ ZICDIR='$(TOPDIR)/usr/bin' \
+ "$@"
+}
+
+src_compile() {
+ _emake \
+ AR="$(tc-getAR)" \
+ cc="$(tc-getCC)" \
+ RANLIB="$(tc-getRANLIB)" \
+ CFLAGS="${CFLAGS} -std=gnu99 ${CPPFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ LDLIBS="${LDLIBS}"
+ if tc-is-cross-compiler ; then
+ _emake -C "${S}"-native \
+ AR="$(tc-getBUILD_AR)" \
+ cc="$(tc-getBUILD_CC)" \
+ RANLIB="$(tc-getBUILD_RANLIB)" \
+ CFLAGS="${BUILD_CFLAGS} ${BUILD_CPPFLAGS}" \
+ LDFLAGS="${BUILD_LDFLAGS}" \
+ LDLIBS="${LDLIBS}" \
+ zic
+ fi
+}
+
+src_test() {
+ # VALIDATE_ENV is used for extended/web based tests. Punt on them.
+ emake check VALIDATE_ENV=true
+}
+
+src_install() {
+ local zic=""
+ tc-is-cross-compiler && zic="zic=${S}-native/zic"
+ _emake install ${zic} DESTDIR="${D}" LIBDIR="/nukeit"
+ rm -rf "${D}/nukeit" "${ED}/etc" || die
+
+ insinto /usr/share/zoneinfo
+ doins "${S}"/leap-seconds.list
+
+ # Delete man pages installed by man-pages package.
+ rm "${ED}"/usr/share/man/man5/tzfile.5* "${ED}"/usr/share/man/man8/{tzselect,zdump,zic}.8 || die
+ dodoc CONTRIBUTING README NEWS *.html
+}
+
+get_TIMEZONE() {
+ local tz src="${EROOT}/etc/timezone"
+ if [[ -e ${src} ]] ; then
+ tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}")
+ else
+ tz="FOOKABLOIE"
+ fi
+ [[ -z ${tz} ]] && return 1 || echo "${tz}"
+}
+
+pkg_preinst() {
+ local tz=$(get_TIMEZONE)
+ if [[ ${tz} == right/* || ${tz} == posix/* ]] ; then
+ eerror "The right & posix subdirs are no longer installed as subdirs -- they have been"
+ eerror "relocated to match upstream paths as sibling paths. Further, posix/xxx is the"
+ eerror "same as xxx, so you should simply drop the posix/ prefix. You also should not"
+ eerror "be using right/xxx for the system timezone as it breaks programs."
+ die "Please fix your timezone setting"
+ fi
+
+ # Trim the symlink by hand to avoid portage's automatic protection checks.
+ rm -f "${EROOT}"/usr/share/zoneinfo/posix
+
+ if has_version "<=${CATEGORY}/${PN}-2015c" ; then
+ elog "Support for accessing posix/ and right/ directly has been dropped to match"
+ elog "upstream. There is no need to set TZ=posix/xxx as it is the same as TZ=xxx."
+ elog "For TZ=right/, you can use TZ=../zoneinfo-leaps/xxx instead. See this post"
+ elog "for details: https://mm.icann.org/pipermail/tz/2015-February/022024.html"
+ fi
+}
+
+configure_tz_data() {
+ # make sure the /etc/localtime file does not get stale #127899
+ local tz src="${EROOT}/etc/timezone" etc_lt="${EROOT}/etc/localtime"
+
+ # If it's a symlink, assume the user knows what they're doing and
+ # they're managing it themselves. #511474
+ if [[ -L "${etc_lt}" ]] ; then
+ einfo "Assuming your ${etc_lt} symlink is what you want; skipping update."
+ return 0
+ fi
+
+ if ! tz=$(get_TIMEZONE) ; then
+ einfo "Assuming your empty ${etc_lt} file is what you want; skipping update."
+ return 0
+ fi
+ if [[ "${tz}" == "FOOKABLOIE" ]] ; then
+ elog "You do not have TIMEZONE set in ${src}."
+
+ if [[ ! -e "${etc_lt}" ]] ; then
+ cp -f "${EROOT}"/usr/share/zoneinfo/Factory "${etc_lt}"
+ elog "Setting ${etc_lt} to Factory."
+ else
+ elog "Skipping auto-update of ${etc_lt}."
+ fi
+ return 0
+ fi
+
+ if [[ ! -e "${EROOT}/usr/share/zoneinfo/${tz}" ]] ; then
+ elog "You have an invalid TIMEZONE setting in ${src}"
+ elog "Your ${etc_lt} has been reset to Factory; enjoy!"
+ tz="Factory"
+ fi
+ einfo "Updating ${etc_lt} with ${EROOT}/usr/share/zoneinfo/${tz}"
+ cp -f "${EROOT}/usr/share/zoneinfo/${tz}" "${etc_lt}"
+}
+
+pkg_config() {
+ configure_tz_data
+}
+
+pkg_postinst() {
+ configure_tz_data
+}
diff --git a/sys-libs/uclibc-ng/Manifest b/sys-libs/uclibc-ng/Manifest
index 9fe205b0f60e..fd0de3716738 100644
--- a/sys-libs/uclibc-ng/Manifest
+++ b/sys-libs/uclibc-ng/Manifest
@@ -2,7 +2,7 @@ AUX uclibc-compat-r1.patch 814 BLAKE2B 75fe9c5321171f3e378200e1c4d11792b3ea047fb
AUX uclibc-ng-1.0.30-fix-ld.so.cache.patch 1515 BLAKE2B 20f317c623cf66f8351915636d5f01bee669db9ec83824ac5b95792c82c60e3c9ce8926cec48a0d93482b6d8ef8f42dce4e8338807bba2a88ac7654615ab50b2 SHA512 96a4b8621b17e93d4d7c019244b0e4854f8c496b43db617f238a087f7db1380b7968d7143fa6516b014fa20c113e6d59686a605914bb29be1680132ee6f0fc84
DIST uClibc-ng-1.0.30.tar.bz2 2302796 BLAKE2B 21888dfe5a68f83b7ba56bb557ecc5aa19fd75cedc82f2ed48073f47655888719feb27943e0309f8101a24fd2fd9165af31d5679f21c00b12f27ebfccf354bac SHA512 ddd1d91dcfdf7be8471afecf13196563ad348c41e2fa8b63ae50b83f103cf8ed8d9f003b51a54a58db2935b84692b7c011a4779582f30610ede44cb583aae742
DIST uClibc-ng-1.0.32.tar.bz2 2352471 BLAKE2B 887b67f7f03fc8610d8236a18f90584720a78bfc3a036cd6616453bea6e31140f5fd1dfd1d207cc5100854bf3e0c5cc1ca38fe6c31cf97b631892767ae23ec27 SHA512 1de5d4e99b94eeeada4233c53a95ea1b9e704ce1d4aa19ca9b17535c0328b2372ed93d24591c6ea5bfbc0b950aa575c18dcf6950fb04342924bb2b5f9ee235e8
-DIST uClibc-ng-1.0.33.tar.bz2 2531571 BLAKE2B abc4f0eb5585a1c29b2fbf2edae4387c12ba00298f2a6ef43e7a3e5df6d8fcd537e73fef4af3d15acc53930e6499e7ba7c60992b337c409b656951d032ccf7be SHA512 379f2ebc0f5e2abb60bbfc17a4ce65da09555d6177b634688f6cd4d3f4bdd44fade8120429c81364eb94feda68baed9e7846f4162367bffa6eedf44744ebb33c
+DIST uClibc-ng-1.0.33.tar.bz2 2399235 BLAKE2B c20fd767487b2f24a0af432a1366bfb6ddf02243495d2f1c3fa95db25551a8d6215be184608528ee544661ec2ddbc2f439299245ff3dff4597b376dc7a4658ec SHA512 cab89fb6a6e314c6cc8ac964604bdfae01d2e45dc71678bbb6a8985871f625ac680fec3ddc1cb29f6d15585b7fcb782eaf40fa6c89207cde2a04286c3d610169
EBUILD uclibc-ng-1.0.30-r1.ebuild 10333 BLAKE2B ffa5feeb97445afc2e383dedcc1bc9a323c555f6e6804bc5a36fc94fffd61ae1924de915dd502c0201bf05c458a8ccdb855cfd823392bdf9414fcb168834c035 SHA512 f58101bbdc06e4c8f1174bd03eec3cb0618f348960f4e9c920d9e5a96a48b57077248e47899b31280f23aedb0a359400a89faabff9371bdb07a9987b1e1fd659
EBUILD uclibc-ng-1.0.32.ebuild 10283 BLAKE2B c62bcdc2976c3856b1588521df51b4cc73aecb4f7d071345fa73e4eae56590affdfe2bb6a6dfbb5502c737f96e91629e52150684a9287c4bd0d6f53ab1af2c7c SHA512 21140aa3c9f86262f6a5a7d3c44115fd1ab515966c27d54edb2db535cdd82bd1b7cb4ff2555261082d2a66f7466b257851bede3a2b36cd6da4adfd69e2244b0e
EBUILD uclibc-ng-1.0.33.ebuild 10290 BLAKE2B 63ddacde22ec6e60279750af73c265591c74a3b317ff45c4e0ca775ba43c4a7e57d76c8f0ef7c05ffa89f09ccecef9aa8531f57106811e2f82f4c7ac5e8febc2 SHA512 5ecc9d58896f3e65cc74c22a4eb330f708cdd3637d8b4c622c3d5e8393f55a2c0363bcc8089b40134afc62a341cc5a748236b7a1dddd7750b206c55214b25bb5
diff --git a/sys-libs/uid_wrapper/Manifest b/sys-libs/uid_wrapper/Manifest
index dafc3bcbfc50..ee987d715c5b 100644
--- a/sys-libs/uid_wrapper/Manifest
+++ b/sys-libs/uid_wrapper/Manifest
@@ -1,5 +1,5 @@
DIST uid_wrapper-1.2.7.tar.gz 47580 BLAKE2B f33a2a29a3e61315ae48317b759898cabcfcc50f72a7fac9388b2b5791a76f66e88a6339ca45c319df102354d592d6a26c8046193b7c4d07c4e4ce3f4031672e SHA512 ed906638ded4fbd981212f38de66112e65514b618bda6b1bda85a915c00691d471859df7c8dc7915b546e5c8e107e2e07e6b3a841fcebeedc8cf4b18e5c16f1a
DIST uid_wrapper-1.2.8.tar.gz 47864 BLAKE2B d165954b4418ee23c7564d809a3c2189fc43c91822c8e4a73bdf6ea8e1621156bf0a29097b07a4d8b31ea1d10af35c3be367c4ca8f1e13db1b430f297b47b6ea SHA512 536f353f35e84ffd350a3cd5a96ff30e7b1fd4ba455dbe34fd232ed1a14b061351110c7e0cb4376a27cbde1eda789ef93e635ffa2e9948cadc41c2f1fdcfc3b5
-EBUILD uid_wrapper-1.2.7.ebuild 449 BLAKE2B 41406db439ab20647babc70fe1b6ab505e6515c3a216526fc60f089f2553cae41f2c72fe9d5ab121cbb07a06c3f9ff1398d47e9eeed9eadb50e3abef6223c62f SHA512 e6c4251c25382b837d7c5cd2c6a0e4bbbbbe436cfa1dde593507b4f64644aec581a517a6c7e5dc82e3db3c4d517c25a2f6c4472933883bbca650537b2b1b4429
+EBUILD uid_wrapper-1.2.7.ebuild 448 BLAKE2B 82427f8b6b11ccd7956351dffa127d41b48c9fe106d127ff1b676b1b461a7254405fb62b673ef02d0ab36a07ec2ab22512db5bc87d5bf3e2c471099890b120aa SHA512 9a3acb300189688453139b1e58d5cb0a6cf41d3ac4729c1cdaef42fd7a8993d68ac151eb8b03257acab41daa2a71f63b173ec53c85037e58ea2dca9e6f0983a5
EBUILD uid_wrapper-1.2.8.ebuild 455 BLAKE2B 63f95c7fab8ef50d23a9de01778bf03f1b1f3b4692e7656333cebf65f8d81ffc18e4e6450ff96e5a10a6da9ded1dfa88647e65bde54a333ca420b92b90c51d91 SHA512 362aa0ee1442b09bdc4c81403acb19d50c4f8053d63bed1d7a00e7ff4396c950330271f1d11c9807cb6a4b4448930d89e1ddc97ce9bc038d37fb3fa0c96bb595
MISC metadata.xml 249 BLAKE2B 274f77317bba157c3ad4c3e9827ce5ce934c855b8bd41e603df69f1343c296abf7faec755a56f5f8d0e76f43058156e95480a386494265385604401e70484acf SHA512 940515e5f54189b5ba3c1118ea45f679182c9075091ade1959b197a6dc5fba894cd52cd0289e00a4a139b1cd3c6563771a1e21d2baa460a25892b0fa20e819a8
diff --git a/sys-libs/uid_wrapper/uid_wrapper-1.2.7.ebuild b/sys-libs/uid_wrapper/uid_wrapper-1.2.7.ebuild
index 885c1589ba76..00c61d6d09c3 100644
--- a/sys-libs/uid_wrapper/uid_wrapper-1.2.7.ebuild
+++ b/sys-libs/uid_wrapper/uid_wrapper-1.2.7.ebuild
@@ -13,4 +13,4 @@ SRC_URI="https://www.samba.org/ftp/pub/cwrap/${P}.tar.gz
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86"