diff options
Diffstat (limited to 'sys-libs')
26 files changed, 921 insertions, 134 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz Binary files differindex 17f79ac5cc29..45b311cc0615 100644 --- a/sys-libs/Manifest.gz +++ b/sys-libs/Manifest.gz diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index 2fb7688b166f..01cac0806ef0 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -1,5 +1,6 @@ DIST llvm-gentoo-patchset-11.1.0-3.tar.xz 5984 BLAKE2B 89056fb8e82c7a29ae76c643ac631876d51391ffb579324aaf13c7f79e03f6fd8bbcb27d46e57e0f04a702602ebf51c116e82cb092452a1dbc97fb0eb7518f11 SHA512 08aabe8836b62ecfde4e264d567169ba495d5b5915b56aba35ae86992387e534bba6d512fde94056e641abe909b478e47edcbdaa3ee0b94182ecd68c98201441 DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249 +DIST llvm-gentoo-patchset-13.0.0-r3.tar.xz 10176 BLAKE2B fc5825a4bd3b85bd9c970901e5e036cc4c928373495a8a6f63c7f4531c7f52575d06f80dfbd80671d9f0fcd32d5c48d96f5961602b024c7a936362aeba8a612a SHA512 2289eef3f6301ade2e1110ebc4b66ad3db91ed10868ca7296a29c55667007e06739b01f38c0783bb2c56deadfb8a04605c370df9c5a4c6bc9aea9382e6ed52a5 DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6 DIST llvm-gentoo-patchset-13.0.1-rc1.tar.xz 5988 BLAKE2B 8f1d295d4b6937518d9e0cc00cc2ba9e12ff9773b35261f0985b2d2a4ed1e3363a7f961cb385728b5ae552d0e129d99d11e63958d32c3353b0a79a88ba5cc0d5 SHA512 8272c423a5e0e99d412bb449794ba2e8134aca69d09e90e93555dbd3b7549d6ce4d68617ca11074af0a35a6f6830bf0330cbc672c5a56054cfd824e3ac1900ea DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc @@ -9,6 +10,7 @@ DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d EBUILD compiler-rt-sanitizers-11.1.0-r1.ebuild 6054 BLAKE2B 0e7ecc21c987bdb184c18456c2d6482d268b6f04fa8a9e1694e2e4733c0ff5e0f5f93639358b1bb9ede250c1543dd89cdfadf1382aa334a4593b3655f1915c56 SHA512 e13805c26cf03152295f9794468910560932fdcc769a4dd9461f92172a20e41b38b9867d988c82ae7d9516c5f2b18e32d8e14bbbe0702c81b7f222eae51988ab EBUILD compiler-rt-sanitizers-12.0.1.ebuild 5971 BLAKE2B c71a8e7f9c741b7bb9ce9034312dd3fcea08a2097ec322126efe3ddc9f8d945f9aa02fbf6c0afdd12d19e2ec038e4894d74a149e83caf0aa59fad0cff84c2eee SHA512 9b7ea1e034d0d89cec9d5ff97e2bb34c09303f339c3d4fd4d4f31e2ba4ae7aab1bdcc8201afde8899c87892bdd7022104d90c78b8d4dab5f7c01787c21a41b17 +EBUILD compiler-rt-sanitizers-13.0.0-r1.ebuild 6174 BLAKE2B 75c9d27f6a706353339699716ea645b5312fb85e4c9412a7de0a1c54daf5d9bdb294f7efa1be2e14d4bc01cb5070a246dcecbff5731b7f3935c382a09d018924 SHA512 ea299794cdf486dcefdc0f6816431ff7cdd06b6a0e05d6092aca91b7a6590b835e6a44308b19f70b177dfa1d2154e94a5fc751c7cd6a0c1cbc5142c8212d08ca EBUILD compiler-rt-sanitizers-13.0.0.ebuild 6166 BLAKE2B da87e6107b847ca1c396f0156a30b6601fe2f63365f8f240f5f2ad2fd176ed1381192deae9914477adc89f1e671136e5a7957c7abbf6f3eebd679faa96ed4e44 SHA512 e7c6b8cc95630d79ce7eab3d9bd495d48c42d30cb8093ae58f54345b1c2e218ce2341a720d356633651e521723b6733afefc049684b8282eb527dd260c73f0d9 EBUILD compiler-rt-sanitizers-13.0.1.9999.ebuild 6279 BLAKE2B df8334b59452915cf01032ec01a83b1377558abfda797b9c95327fb56c7b9d7fc46af4a1eb86f1679a2c44e8e055f790929fe3485022b80bfc5e58623d79d96a SHA512 acbc028c23560765dc152ff982a57120536718ccabd7298e388187a13adb065610ad94ae51655622b69498305bec6e24f13c6c67fe00b4aa33df160140f593c4 EBUILD compiler-rt-sanitizers-13.0.1_rc1.ebuild 6282 BLAKE2B 5fd607563088ad551f09ee07d0c087d208970c7e20e1faa0e21b88bc8775ae5594eb3a341469d2d5488e09d062ddfbad5e3044523376ce429a42e8e8b38dd7f9 SHA512 209def963cca6193e1dfdd20cc6b68829d292905827c6a7a23ebdc18eca67815783362649c68c1590f908916a52db0106c046dcb46d6eee746487f2c8bc38ba2 diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.0-r1.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.0-r1.ebuild new file mode 100644 index 000000000000..dc6d1d54b523 --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.0-r1.ebuild @@ -0,0 +1,207 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit check-reqs cmake flag-o-matic llvm llvm.org python-any-r1 + +DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="$(ver_cut 1-3)" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +IUSE="+clang debug test elibc_glibc" +# base targets +IUSE+=" +libfuzzer +memprof +orc +profile +xray" +# sanitizer targets, keep in sync with config-ix.cmake +# NB: ubsan, scudo deliberately match two entries +SANITIZER_FLAGS=( + asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo + shadowcallstack gwp-asan +) +IUSE+=" ${SANITIZER_FLAGS[@]/#/+}" +REQUIRED_USE=" + || ( ${SANITIZER_FLAGS[*]} libfuzzer orc profile xray ) + test? ( + cfi? ( ubsan ) + gwp-asan? ( scudo ) + )" +RESTRICT="!test? ( test ) !clang? ( test )" + +CLANG_SLOT=${SLOT%%.*} +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6 + virtual/libcrypt" +BDEPEND=" + >=dev-util/cmake-3.16 + clang? ( sys-devel/clang ) + elibc_glibc? ( net-libs/libtirpc ) + test? ( + !<sys-apps/sandbox-2.13 + $(python_gen_any_dep ">=dev-python/lit-5[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${CLANG_SLOT} + sys-libs/compiler-rt:${SLOT} + ) + !test? ( + ${PYTHON_DEPS} + )" + +LLVM_COMPONENTS=( compiler-rt ) +LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/unittest ) +LLVM_PATCHSET=${PV/_/-}-r3 +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +check_space() { + if use test; then + local CHECKREQS_DISK_BUILD=11G + check-reqs_pkg_pretend + fi +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + llvm_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die + + local flag + for flag in "${SANITIZER_FLAGS[@]}"; do + if ! use "${flag}"; then + local cmake_flag=${flag/-/_} + sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \ + cmake/config-ix.cmake || die + fi + done + + # TODO: fix these tests to be skipped upstream + if use asan && ! use profile; then + rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die + fi + if use ubsan && ! use cfi; then + > test/cfi/CMakeLists.txt || die + fi + + llvm.org_src_prepare +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/compiler-rt_build + + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + local flag want_sanitizer=OFF + for flag in "${SANITIZER_FLAGS[@]}"; do + if use "${flag}"; then + want_sanitizer=ON + break + fi + done + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}" + # use a build dir structure consistent with install + # this makes it possible to easily deploy test-friendly clang + -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${SLOT}" + + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + # builtins & crt installed by sys-libs/compiler-rt + -DCOMPILER_RT_BUILD_BUILTINS=OFF + -DCOMPILER_RT_BUILD_CRT=OFF + -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer) + -DCOMPILER_RT_BUILD_MEMPROF=$(usex memprof) + -DCOMPILER_RT_BUILD_ORC=$(usex orc) + -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) + -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}" + -DCOMPILER_RT_BUILD_XRAY=$(usex xray) + + -DPython3_EXECUTABLE="${PYTHON}" + ) + if use test; then + mycmakeargs+=( + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + # they are created during src_test() + -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang++" + ) + + # same flags are passed for build & tests, so we need to strip + # them down to a subset supported by clang + CC=${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang \ + CXX=${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++ \ + strip-unsupported-flags + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX + # This disables i386 for SDK >= 10.15 + # Will error if has_use tsan and SDK < 10.12 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + cmake_src_configure + + if use test; then + local sys_dir=( "${EPREFIX}"/usr/lib/clang/${SLOT}/lib/* ) + [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}" + [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}" + + # copy clang over since resource_dir is located relatively to binary + # therefore, we can put our new libraries in it + mkdir -p "${BUILD_DIR}"/lib/{llvm/${CLANG_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die + cp "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/bin/clang{,++} \ + "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/bin/ || die + cp "${EPREFIX}"/usr/lib/clang/${SLOT}/include/*.h \ + "${BUILD_DIR}"/lib/clang/${SLOT}/include/ || die + cp "${sys_dir}"/*builtins*.a \ + "${BUILD_DIR}/lib/clang/${SLOT}/lib/${sys_dir##*/}/" || die + # we also need LLVMgold.so for gold-based tests + if [[ -f ${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so ]]; then + ln -s "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so \ + "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/$(get_libdir)/ || die + fi + fi +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + # disable sandbox to have it stop clobbering LD_PRELOAD + local -x SANDBOX_ON=0 + # wipe LD_PRELOAD to make ASAN happy + local -x LD_PRELOAD= + + cmake_build check-all +} diff --git a/sys-libs/csu/Manifest b/sys-libs/csu/Manifest index 9e415c1c1cb0..3475f126b95f 100644 --- a/sys-libs/csu/Manifest +++ b/sys-libs/csu/Manifest @@ -1,4 +1,4 @@ AUX csu-85-arm-availability.patch 475 BLAKE2B 29612bef6ef28b2681452a77aecb66184143bcad29e6fad2e3355d32f21858c2f722e7075a534b49616ce20ac738f225190c6db1e46547b4d99f7e68689d5dd5 SHA512 bcdf8153f80f2d873ceda05e3e0b2b798924e311e7038a7c52f2fec760d1c4b38f99eeae4cdd3bcc3ac64c1e123fb333a3d4be08fe36cb1d93823c15ea9c3742 DIST Csu-85.tar.gz 13376 BLAKE2B 59aa275bf01bb785b848447ff1291e0018b2f2bc3c42f4f222957aa6c1f9fd344fa6dca9ee53fb8d9d3b11f6c03c37fff9178c40e5a009712f251f502e1f4957 SHA512 3cfeb7d37630fc9d6607da018b9ac1aeb3f41a4c190a67e7dc242ae48e7abd0026e25055b9459f2f187d3bb25644f516f079d1b2e943e8cb4cc6c132ad594467 -EBUILD csu-85-r1.ebuild 1800 BLAKE2B c557d9bca5eaf45e2a5b855ec161efdf93b27e7a4b7716bc9e7ea15aef4fb3dbc11a2a04ea5fa4598770ea8a68ac04c0f573de89a37741b524d0043bc5f2532c SHA512 f07320b9fc2f051f950501ef45f12ab53df7cab29025e275f57c996f781ef23b6b551e1413fdcdf1fc7a86c88511caced2729254a846868f5df44ac8a36b95f2 +EBUILD csu-85-r1.ebuild 1952 BLAKE2B 36080d8cb988984a6e5208a914d761c8cb33acd235dc37b5179ca29f7f8fd0b9adbf0d743a7b83ed68c9425ce24fa4f247314bbe1ce14599595248985c2d6a17 SHA512 6f30a7e9d2f5937864b7ec9a320e971cfc9491b4064de318d537cf6ea696a8c0b0f0f3491f076bc675253ac77bf62414c2ee950de50e07bc8745f618a78b9179 MISC metadata.xml 254 BLAKE2B a9286f3fc430caa6275f03922e751f715f0f40b280a287b94b223dc132ded7e0d52a9e9b7d60ec49e51241816f2e902555f0225cd989a24274c6c1308fc3b069 SHA512 87bf08a79b46585f8b0a0ec3b465e6e9442fde5d4dc94dcc39e7ad74749b2e3cfd3411226dd9cf209e96cbedf3e3e704aa966a0ca8ad1505412eb70d00baa2f2 diff --git a/sys-libs/csu/csu-85-r1.ebuild b/sys-libs/csu/csu-85-r1.ebuild index 24e82d76af36..4b11e2f86b8d 100644 --- a/sys-libs/csu/csu-85-r1.ebuild +++ b/sys-libs/csu/csu-85-r1.ebuild @@ -3,6 +3,8 @@ EAPI=7 +inherit flag-o-matic + DESCRIPTION="Darwin Csu (crt1.o) - Mac OS X 10.10 version" HOMEPAGE="http://www.opensource.apple.com/" SRC_URI="http://www.opensource.apple.com/tarballs/Csu/Csu-${PV}.tar.gz" @@ -21,6 +23,10 @@ DEPEND="|| ( )" src_prepare() { + # apart from gcc-4.2.1 possibly not understanding, this better not + # be aggressively optimised + filter-flags -march=* -mtune=* + # since we don't have crt0, we can't build it either sed -i \ -e 's:$(SYMROOT)/crt0.o::' \ diff --git a/sys-libs/efivar/Manifest b/sys-libs/efivar/Manifest index 60f6100c5f23..621a71722090 100644 --- a/sys-libs/efivar/Manifest +++ b/sys-libs/efivar/Manifest @@ -1,4 +1,4 @@ AUX efivar-37-ia64-relro.patch 1702 BLAKE2B faa170f1a0ce1a9c48764cd49b466db4cdc40b3d79dc17954dd4bb043b4a4cae9a3610d14a85ad56fac655ad8a16e00f04cd4f29f506c6d3402d243f272e38d4 SHA512 35b56b6d8c4c682c55b4b2051367aa3be9c8f46950de6f2f4e30b75fdb9abacca037044b35df2efbf37289a72e294314f469b78f2cbd106c989ce43ffd7b05ff DIST efivar-37.tar.bz2 109431 BLAKE2B 813d477d31562b773f6e19f20e9e237b94beed437ce221771770e7d46ff0e657530285f035dc942cc20609185be92dc50319bfe8e10dee642c8bd88403ef6ffe SHA512 305a82ed103c7e3d8f723934019d552677c73558768dd5341f87d0364f5c60824d24f5a8e1bf90075e825908085083d4ecdccec5ac757fd38ee6ac8fea28c3e4 -EBUILD efivar-37.ebuild 899 BLAKE2B b494f7070e1272a855c22274f2ae7edd2b1e520478bd0027fd990c7bc891ccaa670518270efb520a9ac9ea73967cd2ebb990e59a0a7ff71757f4b805f9760495 SHA512 2b1902efc6d2ff2ebdfb5904c5f9af639f27556ad4ad5a194bafbbd1946b18286bffbb2109886b7ff1bda4bf9c1920eb9ca2bf4702308ed071e5659560baf6e6 +EBUILD efivar-37.ebuild 906 BLAKE2B 16ce203a6e47df3eaa0c357409db0d9db7a0dd490a8cf5ab0137edd651639c3358eaf3171aa67811ca195695e3c045290ca0c17bde0882ee43b3441de7155144 SHA512 28beefa3d20c1c8f7945872e1dcd17569b93028f72795854c601ad3064794e8193e61f56fff1ccd2c59a99083aa918e7f49152080cf17151938777626e2697b7 MISC metadata.xml 330 BLAKE2B 0f894cb3c99d8540d6548f06f146360e20fcff309d867c1da96a15d07e5f1ebb2f03114de8527ddd28c26f4b42a7fa9903dd925015b962b4d4094dda86f76d65 SHA512 c03a2d22f945fd9e4a19143da20b884759e0aa88f73f42a70d47d5b1aeeb43201d9452919779d9c3e020371c3d1519a7068d59c0904043572ae0dd09633989e8 diff --git a/sys-libs/efivar/efivar-37.ebuild b/sys-libs/efivar/efivar-37.ebuild index dc4627f10991..af1df743350a 100644 --- a/sys-libs/efivar/efivar-37.ebuild +++ b/sys-libs/efivar/efivar-37.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/rhinstaller/efivar/releases/download/${PV}/${P}.tar. LICENSE="GPL-2" SLOT="0/1" -KEYWORDS="amd64 ~arm arm64 ~ia64 ~riscv x86" +KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc64 ~riscv x86" RDEPEND="dev-libs/popt" DEPEND="${RDEPEND} diff --git a/sys-libs/freeipmi/Manifest b/sys-libs/freeipmi/Manifest index e910cf4dc0e6..87b25ddbf313 100644 --- a/sys-libs/freeipmi/Manifest +++ b/sys-libs/freeipmi/Manifest @@ -8,5 +8,5 @@ DIST freeipmi-1.6.7.tar.gz 3419196 BLAKE2B 6e07afb7e93ec41c18c82725e781177d8a5fe DIST freeipmi-1.6.8.tar.gz 3426706 BLAKE2B afe3238955786b13aae0e0062028f5c969a8e686b46bea3850696361355b3bd82a55bd93523ea7fe2223fe5bb04922c26b46023f783bd879bbd01e34ffd6d59e SHA512 66cae2aed95ddb3fd9301146d5a1065b61267232d6ced726b106402bf3840a17364a29d7bf6bbe4db7955b77dcd23510f1258aac85ead5c295c876c6fa4333c3 EBUILD freeipmi-1.5.7.ebuild 2344 BLAKE2B 7329bb06a60524102ce6840ed5dfe32034595b84d46fcffc053c7ab94b0f8076259905bfc4aff90161d24720bcfc51e7c1b7bbcb5087d75f4ba9ca73dc8e1e1a SHA512 01db52e96fb2e0e5c599ee235a4c8693242d086298fcee903c43f8708e0afca77fd480ecde02a3b14ee0dd44826334272ecf901f4a6a7b95a78cd74355f44bac EBUILD freeipmi-1.6.7.ebuild 2427 BLAKE2B 260fb05d6e2a0ac544b13038e7dcf67a4281334194cc797ca1e9e38befc20f813ff8ba4c19a85b70f918685f33ef6fe681f40c60983c22f754a34e84aa68042d SHA512 fd127efe81afb6913604de4db0e0c670ca09307fb5fd02f8cc2039e6825135e2af579436a785722021272fb7fc341a3954bbfda6f11e6ebf7b7ea5b5125b099a -EBUILD freeipmi-1.6.8.ebuild 2458 BLAKE2B 931110983c1913944d47d968d16aae2d35a7f32ae4bbee4ee159d9f4855da26a711cac67e849dc70607436e46534af92d7a7a3fe38fedf9c9041cf0509f06eb5 SHA512 857891113c1eb9c419daf1ad6f948d6412c1c44cc6a28800a35a1c5bbe3921ad5e9bb306fcb509bfb197d26dcaab6500282a840b3b571e298da7e41203a142d8 +EBUILD freeipmi-1.6.8.ebuild 2455 BLAKE2B d7205e7af550c7b7ce3856532dc28f59fcbf8bfbd8c5067afa021c12c030c5585530d7de399d681af00611b11a331f529592949a3c31575ab3a0e6fb55e80872 SHA512 f8ff6f69ddb3fd2b1fcf0f431bbb4b84107903e6edf79224d28fb815f915e753f9e65241d65c924aab59faeb878e500e3a78115729f22953b130967263616533 MISC metadata.xml 377 BLAKE2B 0c5f5f13dcdf90731feddde774186ffdd9744cbc903f43a2599d84ea19f4da93a28d1d951d15c2c268449b448d1862e0117424411a259f872739f9baa4b937ff SHA512 927dbcae26c2c6576da5e606883a98049085138e6955b3a3ef82826216521848d08a2c505d0583b9a337190f18899a805f7174bdfa46f81a099ec68761a1ce91 diff --git a/sys-libs/freeipmi/freeipmi-1.6.8.ebuild b/sys-libs/freeipmi/freeipmi-1.6.8.ebuild index 55bbd2399070..c822176742c9 100644 --- a/sys-libs/freeipmi/freeipmi-1.6.8.ebuild +++ b/sys-libs/freeipmi/freeipmi-1.6.8.ebuild @@ -15,7 +15,7 @@ SRC_URI="mirror://gnu${ALPHA}/${PN}/${MY_P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~hppa ~ppc64 ~x86" +KEYWORDS="amd64 hppa ~ppc64 x86" IUSE="debug nagios" RDEPEND="dev-libs/libgcrypt:0=" diff --git a/sys-libs/gdbm/Manifest b/sys-libs/gdbm/Manifest index b277e8723112..2c4821573c5d 100644 --- a/sys-libs/gdbm/Manifest +++ b/sys-libs/gdbm/Manifest @@ -6,5 +6,5 @@ DIST gdbm-1.21.tar.gz 1005982 BLAKE2B 1f9b04507601b9660a9a81edc29e9b7c0d9adececf DIST gdbm-1.22.tar.gz 1090100 BLAKE2B f27c65e8cc7c71fc4f4a119b92e1d1b2068c1ec87456d5a555879dc23654ad4e7cf8172049aa9f4f9c432cc7140ff61fc36ddf6d5e45c321add67a105754a59c SHA512 67461fc4f41e825d0134175ff99c913ccb4aa7ea3d0f64f32bdedbc7677b3ecabd2c525ac6b2ee47a9561e002e4224e492b72088d57bb4862a1f8c089521ec51 EBUILD gdbm-1.20.ebuild 1381 BLAKE2B 230dad65e7f400ba7afcaf99c641eb2129410fd7c520665515e0732c61485ad4cc30990ad1cefafaab1817c50ebd29c167487ecbe04e71311dd86d0c9d677907 SHA512 ddb05fa235a592c9e358920cd2822d5773b81e9219af10c8d336aad86b76e07e0deb858760922c82288a791d853de1d4adedde982f6670d2183e169e416cffcd EBUILD gdbm-1.21.ebuild 1358 BLAKE2B 9a315c2ea0cdb2bcc47b6d84c01b4a777e285ba9a05bc9c9f0bc45b54af8284ed1b105cc9f9c2d2e3cef7a0c1709d8f5da99abf429c094fdcc74542e52209341 SHA512 67c5bea17da109a18928146ef3e4dfdde2669b9429c9c6c729c17fa312547c02afc492083ddaf94b6a553303db965d572607a8a63d2204f81695f32e02496258 -EBUILD gdbm-1.22.ebuild 1210 BLAKE2B 4d53fbcbf1bb4df12765408dfbacb774f3120cee4455c012be4c00a6809e0d2e4c26753575428ecab081a032020a764743fe870631d8cea65b4cb8b4e18aac37 SHA512 ada4f244fc28a2aab215328c22b4058fd865e6491ebfe9cfd14c953ac73fcfbac9b117b7a36a1bcb8bf32f5cf109dacbb87caeea1891eaab34df9fdc9070fe7f +EBUILD gdbm-1.22.ebuild 1202 BLAKE2B bc388868d2de48c00f3f68086ae93b65672b56a377432bdfb7285818dbbf4ca55d0b741fc13fd46927163947e620fbf2f9b014acc9f2c17cb8c46af89828f069 SHA512 3fcd47d0d2aafe1db816bcadfba4bce22b0bc8c7ebf7a67654e237df10ccff461e746f6ed530e1b4cc84c1f0b66499c7ca09239ba4d83c16a680b3874f63abb8 MISC metadata.xml 360 BLAKE2B 4133eee8e152f330b954a1bcc947747364b73301a0bbb5c26cc88f8d53fa816a8b16e34b06a79859a19975bf45761dbc8bd73b6b6a875587d63624ccd737600b SHA512 5f8de97ceb589c6db119d81ef7e662042b288d2fca0ab1d1f8fef714dcb2087cf5f87ade607f7a18790fba02579a9ec5a84edb0482c83b7181e7836d108eb9d3 diff --git a/sys-libs/gdbm/gdbm-1.22.ebuild b/sys-libs/gdbm/gdbm-1.22.ebuild index ea2981b0de29..7026c44c322e 100644 --- a/sys-libs/gdbm/gdbm-1.22.ebuild +++ b/sys-libs/gdbm/gdbm-1.22.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/gdbm/${P}.tar.gz" LICENSE="GPL-3" SLOT="0/6" # libgdbm.so version -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="+berkdb nls +readline static-libs" DEPEND=" diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index a742d8a07e61..477aa36fbf15 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -24,8 +24,8 @@ DIST glibc-2.32.tar.xz 16744512 BLAKE2B a56b4afbb35315c5cd6dca0f62e44455dceae3e6 DIST glibc-2.33-patches-4.tar.xz 60124 BLAKE2B a7a99f39c16df241745772c31b10946dc44c51e6c09f8a447b905e7dd6ba529aee08f66a581431453c6665485ac1848861559aa3f0aaba8c2061c1f1eb77d9be SHA512 05c33dc465a98097f836783bb5037dfa14b3a2c0c140014f642ea72954222ae919fe2db9573ee70ca9c1881b3b59dd4b815a8f39f331494fa12951c9012797ef DIST glibc-2.33-patches-6.tar.xz 64632 BLAKE2B f04ca4320d65c8796c67471cb56d3bf002cc34fb6a81075b85948e41c94df46cb2a3a944cced42d6d2c17ffc11e32a9840810864e655cc0fe18e6e0fe9f3c985 SHA512 b95746cd3415ec9ca275e542a2b5fddd5ce5680aa3bda08e94e96cf431191f7488ef6b7999ff0dfaf7405a4212531a75283e9bd7f5ae65bf572912038877a6df DIST glibc-2.33.tar.xz 17031280 BLAKE2B 703d12121c1e2c5d9e0c6ba5341f5fb5c4d9111611a83f2360029b5de9c6e5a5611249d1833684a58ed4afdf49cae614365d87ec8721ba0e5d218f593b1f229d SHA512 4cb5777b68b22b746cc51669e0e9282b43c83f6944e42656e6db7195ebb68f2f9260f130fdeb4e3cfc64efae4f58d96c43d388f52be1eb024ca448084684abdb -DIST glibc-2.34-patches-5.tar.xz 56832 BLAKE2B e5f5e8e41551d9f90355e9fc854e541cdcd5dd172e12dafa84256b7aeb999c0980ec6e7299701b78b0257980f5cf91019edfdf9796bec6b886434aa1960b2d6c SHA512 bc56fe2870629700d931150e1ebdc6e9b3318e8dabf5491d3645efd4db11032e21562e9276d97fc052c45362bfbca7f3d80d93277c2bf8aa3e05a5001df75c60 DIST glibc-2.34-patches-6.tar.xz 58396 BLAKE2B c25696e2aceef9ea4724716acde377d91b8a76b2edca2b293fcd6c89f635f63a612f8c1ecd861367b1394ebacc4b0151b0c6b68c2b08a7bde3a54a76400f35c5 SHA512 343922492e448d978dbcad1718804f892d002b6d4ce366da4cf571d97145ed850fb4b2862645681f487a9a18a77ea48f23010c0c61ea7cf914d26fd149b8271d +DIST glibc-2.34-patches-8.tar.xz 61284 BLAKE2B a042d3bfd85cb9732f033eb1489fc4a9d5b42ec599bb320a97a9633047819d1d02b2f00dce601ddb02036f8bf0d67f9b0d6463785965db72d9ac2ce13765fa07 SHA512 1d92abb82ae404b90841217bba3b1ccb7e03799e5f21656b0a2eaaf06bd4a5a2f0fd7ebf927acc72fce0e2af6bb1a2e8658bac431423d07e75dce1f2868bd029 DIST glibc-2.34.tar.xz 17301232 BLAKE2B 874031192f2f5a3b35c3f5b044a467d4be4e67e8593e070e5b49b901ce8ea6bde2f8d2f6c92fa33b3f61eb723572a9e5f2b45e56064168df80a96d3fdb6fa30c SHA512 15252affd9ef4523a8001db16d497f4fdcb3ddf4cde7fe80e075df0bd3cc6524dc29fbe20229dbf5f97af580556e6b1fac0de321a5fe25322bc3e72f93beb624 DIST glibc-systemd-20210729.tar.gz 1480 BLAKE2B 37722c7579df782d890e44dbab99c3de52ab466eb9de80d82405e9bb5620bf39ffc8c5f466a435bdb86ef6d36dd7019c0736573916bda6c67d02a2581e0ec979 SHA512 efd75af58b50522c28cdac7abd1fc56555bc1bb042512c90d8340c1ec09c5791b3872a305bf83723252bbde5855b75d958c041083457765c4cfd170732d09238 DIST glibc-systemd-20210814.tar.gz 1469 BLAKE2B 10fa7bcb46d4fdce9c0ab353cbd30871e9b09a347a13a9c9a3b5777f931aa3c826c158d2e49532c604d4a834f2fab4089b67495fb88d0398945dc50d45ad9ef1 SHA512 5346a9ea459a1e6ccf665389f2a294de1e16f1e3e05cdf07e3dd99ed0e4f6f8b52cc333d4bff3c75ac90ab6ce70cd4ab2b3e126f920ce7979abd6dda56315efc @@ -38,7 +38,7 @@ EBUILD glibc-2.31-r7.ebuild 44522 BLAKE2B 1adfba68c35d3af5ec8476b2fe5d3bebf13880 EBUILD glibc-2.32-r8.ebuild 44853 BLAKE2B 724f95c0ed2cda18dc2edcaa03b0783a2bc603b72a67e1451535040ddc83be6d1a90ad4b30f9623140b5c0a329ecafb6f19793390137e629d43a3c26e202b28a SHA512 0973b86c266e40203e301cf0c6f8fddc4273c002ffb8fd6c16f6e78f2cfdfbea95fda04adfebb8ee84a14dc950763ba706eadadb2e83f7982b800bee636d5d8f EBUILD glibc-2.33-r1.ebuild 45233 BLAKE2B 881f8eebb4c7e4e78760b92bd6cb64de2372abed3f15b916ab0d47f60d5cbceaaedf2624db92aec97a2742f205e7b243a02f7ddd3932a83ba8d0de3b40f72caf SHA512 54978040ee64ccc03bf8aea55af21775d8e360fcf5eeddad61b36c51dcc016849e9650270463e46edbd35e7eb6ffa1c72f1068031c80b6fca316980674c22dce EBUILD glibc-2.33-r7.ebuild 46954 BLAKE2B da9c95ef74942a7261b8fb32b5ac926f71315e7197c8b235e4892bbdbbce1a4e3ad2c26c4587695dc54dd61f8cdbac274d1fb620815daec286ae8b682937ea2a SHA512 4861947122e6ccd3ddbdfe1f750dec174902ebf3778b6ac40dbda1b5e8598782800bfa40887a795858a7094ecb691f3647941d0dced05c3bedd113480c558c6e -EBUILD glibc-2.34-r2.ebuild 48420 BLAKE2B 8f0af59f0834a99e16c7a45a7f56f5deff51b63f745da101d0f69a839a0ab4d8c8c2de2c2ddb53d35259334484bbba199c48a86fa5d3290ae80c3ba158c5024b SHA512 212949c5e6f91bde921f0074f263e2cb752e0492b94c12b5263cbf8615d2666fac427828e1ee7faa2455f701d1cdb9839465e7d1163c6810c0b10c7823733d0b -EBUILD glibc-2.34-r3.ebuild 48459 BLAKE2B c5e71ef6938078eefc3cc2ead33e6296c5efa37f455a905a99daf43068872406c2351ec79bcc1f5f1a89d61e7d49ef2a57a6541e2e7832af4b46143fbfe3e96d SHA512 365784b53e98903d3b28bc6384650973ad864abc282944e476e0c0109b7bc852997a4604b8c59a8c2dc047e71504f34352fe335dfdb7f28786a1c6aea1cd8f07 -EBUILD glibc-9999.ebuild 47925 BLAKE2B 6c31e95d2e41fb2b76dfe2e69915bd923e8636d009f0309bcc5d948e3b7911fc5558ad4ea73777641764246dac5d2c6ab64c0f7e48a1f12c913a59825e21bcb6 SHA512 f8d6d9c836fe4550178cf92f3208b951ff762c96dc1fa0d25e0243823c955731257c411406d9ec4e1801fd5e762458b2632945e684fbd0c29a87cd8698dfcda7 +EBUILD glibc-2.34-r3.ebuild 48801 BLAKE2B dc3a516595b2e88b7635d2e80ebeed3bbb212391a751d4ae61c84dbd6ff9f4b47d4b5cc2dbba4dd87b204d7ed3be85ceb7f33bb53f3b33ec22b7be34c409e0b1 SHA512 3c002a12b8d17161959e7b0601911d06ec342306a01dbe9cb5c99ead8bc110e40cea65aad66f505b069cef281e2bc8167c52d05c376fc2133cdf70b791bdddc5 +EBUILD glibc-2.34-r4.ebuild 50229 BLAKE2B 459d0d487a39c9e8d1b4e218a70ceecb335e329ce062731507f837b8089cdd4d413e2783cc2c4574f873e9bf6572237a450ae7171d1529024f3563c34cef821e SHA512 7d624cabbdd5eb6987a3fc4d5683d1f1fe3e7ac638926c31e947d70d84e8090936946e1bce3a4c5cbc288ebdd0880526c4168d0d86d91f4b0245d1cb36638146 +EBUILD glibc-9999.ebuild 49734 BLAKE2B b779b9ae866f9f7e8ac7b4f7ebd6a7530a987228e21130ad8025b451e2d49567b8cced2a45db0e3b62966113d7c349682238595176a58b07f0ccdcfccba9ef48 SHA512 8baa4b090c515a4c3d8e21852ebe7042f13e070da02fdd6fd907803b60df68adce67d733554a2f45711a314a871c0c9565a5e757d3287cc8bb4b0b5f109b0b4b MISC metadata.xml 1701 BLAKE2B 91bd245d0a3685d76e3f874b50db872660054767fca5181871022fbdef9a18c4e674890bfed52cc3332c9557430ae8eec64505e67cdbedff000987406ab69ac5 SHA512 524edc37a01a47958ef557d586e8f06c6132481734ea28ed57e146969503fd129ad1da813a4d2d143a9bb8abe8810b0d8c920ab3c422a729287838435c44743a diff --git a/sys-libs/glibc/glibc-2.34-r3.ebuild b/sys-libs/glibc/glibc-2.34-r3.ebuild index 7053b85282f1..b65194c38f6f 100644 --- a/sys-libs/glibc/glibc-2.34-r3.ebuild +++ b/sys-libs/glibc/glibc-2.34-r3.ebuild @@ -730,6 +730,20 @@ sanity_prechecks() { fi } +upgrade_warning() { + if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then + local oldv newv=$(ver_cut 1-2 ${PV}) + for oldv in ${REPLACING_VERSIONS}; do + if ver_test ${oldv} -lt ${newv}; then + ewarn "After upgrading glibc, please restart all running processes." + ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." + ewarn "Alternatively, reboot your system." + break + fi + done + fi +} + # # the phases # @@ -740,6 +754,7 @@ pkg_pretend() { # All the checks... einfo "Checking general environment sanity." sanity_prechecks + upgrade_warning } pkg_setup() { @@ -1558,11 +1573,7 @@ pkg_postinst() { use compile-locales || run_locale_gen "${EROOT}/" fi - if systemd_is_booted && [[ -z ${ROOT} ]] ; then - # We need to restart systemd when upgrading from < 2.34 - # bug #823756 - systemctl daemon-reexec - fi + upgrade_warning # Check for sanity of /etc/nsswitch.conf, take 2 if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then diff --git a/sys-libs/glibc/glibc-2.34-r2.ebuild b/sys-libs/glibc/glibc-2.34-r4.ebuild index dd50e8578a35..4346f19004c8 100644 --- a/sys-libs/glibc/glibc-2.34-r2.ebuild +++ b/sys-libs/glibc/glibc-2.34-r4.ebuild @@ -23,7 +23,7 @@ SLOT="2.2" EMULTILIB_PKG="true" # Gentoo patchset (ignored for live ebuilds) -PATCH_VER=5 +PATCH_VER=8 PATCH_DEV=dilfridge if [[ ${PV} == 9999* ]]; then @@ -46,7 +46,7 @@ SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${L SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" -IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs static-pie suid systemd systemtap test vanilla" +IUSE="audit caps cet +clone3 compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs static-pie suid systemd systemtap test vanilla" # Minimum kernel version that glibc requires MIN_KERN_VER="3.2.0" @@ -408,6 +408,7 @@ setup_flags() { filter-flags '-O?' append-flags -O2 fi + strip-unsupported-flags filter-flags -m32 -m64 '-mabi=*' @@ -421,6 +422,9 @@ setup_flags() { # #492892 filter-flags -frecord-gcc-switches + # #829583 + filter-lfs-flags + unset CBUILD_OPT CTARGET_OPT if use multilib ; then CTARGET_OPT=$(get_abi_CTARGET) @@ -522,14 +526,104 @@ setup_env() { einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." return 0 fi - local VAR=CFLAGS_${ABI} + + # Glibc does not work with gold (for various reasons) #269274. + tc-ld-disable-gold + + if use doc ; then + export MAKEINFO=makeinfo + else + export MAKEINFO=/dev/null + fi + + # Reset CC and CXX to the value at start of emerge + export CC=${__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} + export CXX=${__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} + + # and make sure __ORIC_CC and __ORIG_CXX is defined now. + export __ORIG_CC=${CC} + export __ORIG_CXX=${CXX} + + if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then + + # If we are running in an otherwise clang/llvm environment, we need to + # recover the proper gcc and binutils settings here, at least until glibc + # is finally building with clang. So let's override everything that is + # set in the clang profiles. + # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always + # a good start into that direction. + # Also, if you're crosscompiling, let's assume you know what you are doing. + # Hopefully. + + local current_binutils_path=$(binutils-config -B) + local current_gcc_path=$(gcc-config -B) + einfo "Overriding clang configuration, since it won't work here" + + export CC="${current_gcc_path}/gcc" + export CXX="${current_gcc_path}/g++" + export LD="${current_binutils_path}/ld.bfd" + export AR="${current_binutils_path}/ar" + export AS="${current_binutils_path}/as" + export NM="${current_binutils_path}/nm" + export STRIP="${current_binutils_path}/strip" + export RANLIB="${current_binutils_path}/ranlib" + export OBJCOPY="${current_binutils_path}/objcopy" + export STRINGS="${current_binutils_path}/strings" + export OBJDUMP="${current_binutils_path}/objdump" + export READELF="${current_binutils_path}/readelf" + export ADDR2LINE="${current_binutils_path}/addr2line" + + # do we need to also do flags munging here? yes! at least... + filter-flags '-fuse-ld=*' + filter-flags '-D_FORTIFY_SOURCE=*' + + else + + # this is the "normal" case + + export CC="$(tc-getCC ${CTARGET})" + export CXX="$(tc-getCXX ${CTARGET})" + + # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure + # can't detect them automatically due to ${CHOST} mismatch and fallbacks + # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). + export NM="$(tc-getNM ${CTARGET})" + export READELF="$(tc-getREADELF ${CTARGET})" + + fi + # 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}" + # top of each other. (Why does the comment talk about CFLAGS if the code + # acts on CC?) + export __GLIBC_CC=${CC} + export __GLIBC_CXX=${CXX} + + export __abi_CFLAGS="$(get_abi_CFLAGS)" + + # 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="${__GLIBC_CC} ${__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" + + # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 + export CXX="${__GLIBC_CXX} ${__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 } foreach_abi() { @@ -806,6 +900,14 @@ src_prepare() { einfo "Done." fi + if use clone3 ; then + append-cppflags -DGENTOO_USE_CLONE3 + else + # See e.g. bug #827386, bug #819045. + elog "Disabling the clone3 syscall for compatibility with older Electron apps." + elog "Please re-enable this flag before filing bugs!" + fi + default gnuconfig_update @@ -826,61 +928,13 @@ src_prepare() { } glibc_do_configure() { - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold - - # CXX isnt handled by the multilib system, so if we dont unset here - # we accumulate crap across abis - unset CXX - - einfo "Configuring glibc for nptl" - - if use doc ; then - export MAKEINFO=makeinfo - else - export MAKEINFO=/dev/null - fi local v - for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM READELF; do + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do einfo " $(printf '%15s' ${v}:) ${!v}" done - # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 - # To build .S (assembly) files with the same ABI-specific flags - # upstream currently recommends adding CFLAGS to CC/CXX: - # https://sourceware.org/PR23273 - # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS - # and breaks multiarch support. See 659030#c3 for an example. - # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" - - # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}" - - if is_crosscompile; then - # Assume worst-case bootstrap: glibc is buil first time - # when ${CTARGET}-g++ is not available yet. We avoid - # building auxiliary programs that require C++: bug #683074 - # It should not affect final result. - export libc_cv_cxx_link_ok=no - # The line above has the same effect. We set CXX explicitly - # to make build logs less confusing. - export CXX= - fi - einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" - - # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure - # can't detect them automatically due to ${CHOST} mismatch and fallbacks - # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). - export NM="$(tc-getNM ${CTARGET})" - export READELF="$(tc-getREADELF ${CTARGET})" - einfo " $(printf '%15s' 'Manual NM:') ${NM}" - einfo " $(printf '%15s' 'Manual READELF:') ${READELF}" - echo - local myconf=() case ${CTARGET} in diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index 79318fb53543..2cb4bf86808c 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -47,7 +47,7 @@ SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${L SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" -IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs static-pie suid systemd systemtap test vanilla" +IUSE="audit caps cet +clone3 compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs static-pie suid systemd systemtap test vanilla" # Minimum kernel version that glibc requires MIN_KERN_VER="3.2.0" @@ -401,6 +401,7 @@ setup_flags() { filter-flags '-O?' append-flags -O2 fi + strip-unsupported-flags filter-flags -m32 -m64 '-mabi=*' @@ -414,6 +415,9 @@ setup_flags() { # #492892 filter-flags -frecord-gcc-switches + # #829583 + filter-lfs-flags + unset CBUILD_OPT CTARGET_OPT if use multilib ; then CTARGET_OPT=$(get_abi_CTARGET) @@ -515,14 +519,104 @@ setup_env() { einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." return 0 fi - local VAR=CFLAGS_${ABI} + + # Glibc does not work with gold (for various reasons) #269274. + tc-ld-disable-gold + + if use doc ; then + export MAKEINFO=makeinfo + else + export MAKEINFO=/dev/null + fi + + # Reset CC and CXX to the value at start of emerge + export CC=${__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} + export CXX=${__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} + + # and make sure __ORIC_CC and __ORIG_CXX is defined now. + export __ORIG_CC=${CC} + export __ORIG_CXX=${CXX} + + if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then + + # If we are running in an otherwise clang/llvm environment, we need to + # recover the proper gcc and binutils settings here, at least until glibc + # is finally building with clang. So let's override everything that is + # set in the clang profiles. + # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always + # a good start into that direction. + # Also, if you're crosscompiling, let's assume you know what you are doing. + # Hopefully. + + local current_binutils_path=$(binutils-config -B) + local current_gcc_path=$(gcc-config -B) + einfo "Overriding clang configuration, since it won't work here" + + export CC="${current_gcc_path}/gcc" + export CXX="${current_gcc_path}/g++" + export LD="${current_binutils_path}/ld.bfd" + export AR="${current_binutils_path}/ar" + export AS="${current_binutils_path}/as" + export NM="${current_binutils_path}/nm" + export STRIP="${current_binutils_path}/strip" + export RANLIB="${current_binutils_path}/ranlib" + export OBJCOPY="${current_binutils_path}/objcopy" + export STRINGS="${current_binutils_path}/strings" + export OBJDUMP="${current_binutils_path}/objdump" + export READELF="${current_binutils_path}/readelf" + export ADDR2LINE="${current_binutils_path}/addr2line" + + # do we need to also do flags munging here? yes! at least... + filter-flags '-fuse-ld=*' + filter-flags '-D_FORTIFY_SOURCE=*' + + else + + # this is the "normal" case + + export CC="$(tc-getCC ${CTARGET})" + export CXX="$(tc-getCXX ${CTARGET})" + + # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure + # can't detect them automatically due to ${CHOST} mismatch and fallbacks + # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). + export NM="$(tc-getNM ${CTARGET})" + export READELF="$(tc-getREADELF ${CTARGET})" + + fi + # 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}" + # top of each other. (Why does the comment talk about CFLAGS if the code + # acts on CC?) + export __GLIBC_CC=${CC} + export __GLIBC_CXX=${CXX} + + export __abi_CFLAGS="$(get_abi_CFLAGS)" + + # 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="${__GLIBC_CC} ${__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" + + # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 + export CXX="${__GLIBC_CXX} ${__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 } foreach_abi() { @@ -799,6 +893,14 @@ src_prepare() { einfo "Done." fi + if use clone3 ; then + append-cppflags -DGENTOO_USE_CLONE3 + else + # See e.g. bug #827386, bug #819045. + elog "Disabling the clone3 syscall for compatibility with older Electron apps." + elog "Please re-enable this flag before filing bugs!" + fi + default gnuconfig_update @@ -819,61 +921,13 @@ src_prepare() { } glibc_do_configure() { - # Glibc does not work with gold (for various reasons) #269274. - tc-ld-disable-gold - - # CXX isnt handled by the multilib system, so if we dont unset here - # we accumulate crap across abis - unset CXX - - einfo "Configuring glibc for nptl" - - if use doc ; then - export MAKEINFO=makeinfo - else - export MAKEINFO=/dev/null - fi local v - for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM READELF; do + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do einfo " $(printf '%15s' ${v}:) ${!v}" done - # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 - # To build .S (assembly) files with the same ABI-specific flags - # upstream currently recommends adding CFLAGS to CC/CXX: - # https://sourceware.org/PR23273 - # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS - # and breaks multiarch support. See 659030#c3 for an example. - # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}" - einfo " $(printf '%15s' 'Manual CC:') ${CC}" - - # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}" - - if is_crosscompile; then - # Assume worst-case bootstrap: glibc is buil first time - # when ${CTARGET}-g++ is not available yet. We avoid - # building auxiliary programs that require C++: bug #683074 - # It should not affect final result. - export libc_cv_cxx_link_ok=no - # The line above has the same effect. We set CXX explicitly - # to make build logs less confusing. - export CXX= - fi - einfo " $(printf '%15s' 'Manual CXX:') ${CXX}" - - # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure - # can't detect them automatically due to ${CHOST} mismatch and fallbacks - # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). - export NM="$(tc-getNM ${CTARGET})" - export READELF="$(tc-getREADELF ${CTARGET})" - einfo " $(printf '%15s' 'Manual NM:') ${NM}" - einfo " $(printf '%15s' 'Manual READELF:') ${READELF}" - echo - local myconf=() case ${CTARGET} in diff --git a/sys-libs/kpmcore/Manifest b/sys-libs/kpmcore/Manifest index 638804342746..a4ddb49a5f54 100644 --- a/sys-libs/kpmcore/Manifest +++ b/sys-libs/kpmcore/Manifest @@ -1,7 +1,7 @@ AUX kpmcore-21.08.3-dont-destroy-zfs-pool.patch 1539 BLAKE2B 926b93a359383686e341a52ac5a74b20b48e9c8e66ff0b61ebaeaf39137ea1f96600951c41b503c903d778767547717b271d7052f688e46964873e8ba3e2c81e SHA512 3da2cadc6ab753edaf502dbca775cd96700096b2b28d9ad63039872e6728d111b855b77d77b9b2481ff439945f094f35e071425584e752c92ddc53ed5b5ae96e AUX kpmcore-21.08.3-fix-seek-error-when-shred-partition.patch 1017 BLAKE2B 88775e15a0d7ab025645f3423675cc6a141ce343eb91c8f352cc5e32dbb4e02c11763c777fb7eccea653eeec49adaefe407261d3415745d4c561a00999ffbcb6 SHA512 2321b77cb3f80de4ff94dc886f06317bb6f3a09080d71b9e3ffbc87c6091332e6dc4e01b7c33da4724683c860f6df7b547a3c10be38f48310cbd707707e9688d DIST kpmcore-21.08.3.tar.xz 589464 BLAKE2B 188a702b21976c352bea49c3e40e86c6d3f85b398c3dc9577301471c49cbbf8f161a5f6b62acfc020bcd9530aab2739a39023170c7586a1f18e52add4b2d6ecd SHA512 16570fe9b5e4e83d26b1c2e591d797cd23f37a2195ac5f043ee921d038d0e10d63f9d2c72c4d710e10eeb05d81a6df577f9ddb48b762b034154e399560daa7a7 -DIST kpmcore-21.11.90.tar.xz 594208 BLAKE2B 972ec50bf2deb8d9c987cc1902d3b744a668010e2f081a27307349ecae0629a2a7e75844450df6b2f2be584d2c47eeeeffcabff8a65b5730dfef0140ddc28f4d SHA512 c975c0221b711976551a1f9457329da5c52dd2ba8e582ef0e92be0f8bb1fe51c92df875044c1f8c6ed55b7e8c008215bf43cb9b98486dbc11b17acd58e15dbdf +DIST kpmcore-21.12.0.tar.xz 594228 BLAKE2B 51276e449367a9bfe219d792994eb9a3d0f149276fccb2915d09f07ab52c035d3559f963334bf7a37b075060df3d62e2bfa64cd3d80d9e278a2f7c9d30d6bec7 SHA512 107fafb12544a2a109bbdf02635dc65e98b90d049b265837bb276365a2c9d7c6b4d9898dc88b6dc138120a5068ef3904cc0c16d763669cf5bad4ea6ef6338cac EBUILD kpmcore-21.08.3-r1.ebuild 859 BLAKE2B ce8a1d8701008c122a79d78d39f3b744015848db11202201493ced6b342da5cc4cf40fe02f9ba75862c6f2f3f2a473695676d85ea44b588bc212e8e2e2259824 SHA512 dc3bc3f41ac00c73c4403dd4b07cb4be14e63ed30a78d0228391a5b40abdcd51bdbc9faa4c3359e3dff029a5c5ed26aced47f3dd3af9431933c161749b55b8dd -EBUILD kpmcore-21.11.90.ebuild 739 BLAKE2B d61b51f7d4f75c83a52ecbb5aef0db9bb96992ef84783079cd2f58d094a99bda659756b140988bfc27137eb641f14ab1d904a3af2b3ee64fb3efce2207440354 SHA512 fa9f6bc514b18cfa9b737d1c4223d2dbf312d95d5d46dfa10a0b1b5b0530e5441803c8c70e5766ca4d1526b149613fabff2e18e58eb77292fb87975250eeef57 +EBUILD kpmcore-21.12.0.ebuild 739 BLAKE2B d61b51f7d4f75c83a52ecbb5aef0db9bb96992ef84783079cd2f58d094a99bda659756b140988bfc27137eb641f14ab1d904a3af2b3ee64fb3efce2207440354 SHA512 fa9f6bc514b18cfa9b737d1c4223d2dbf312d95d5d46dfa10a0b1b5b0530e5441803c8c70e5766ca4d1526b149613fabff2e18e58eb77292fb87975250eeef57 MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6 diff --git a/sys-libs/kpmcore/kpmcore-21.11.90.ebuild b/sys-libs/kpmcore/kpmcore-21.12.0.ebuild index 9cf2587af684..9cf2587af684 100644 --- a/sys-libs/kpmcore/kpmcore-21.11.90.ebuild +++ b/sys-libs/kpmcore/kpmcore-21.12.0.ebuild diff --git a/sys-libs/libcap/Manifest b/sys-libs/libcap/Manifest index e4b1322543a5..9f0d907d830f 100644 --- a/sys-libs/libcap/Manifest +++ b/sys-libs/libcap/Manifest @@ -5,8 +5,12 @@ AUX libcap-2.48-build-system-fixes.patch 5591 BLAKE2B 20fce03037ffbd59e3000f7c75 AUX libcap-2.61-Wformat.patch 723 BLAKE2B c337561e8505a2d6afac05aa9f4b628ac3305c0fe5963d5b8ffd4767e5f8e4e5e01490801b91c2bc6bf676f9b86f95d600def2e3e02ebcee6e9a568e17cbd126 SHA512 810cc4249c0b64f5e7aa5308dfd0d491ace50b02a55b40696b0136a71213e3c600a853a68940411c3cb64a63af4b9c65f839803533ed29e475bfded2b571d51d AUX libcap-2.61-ignore-RAISE_SETFCAP-install-failures.patch 813 BLAKE2B 0f2fffffab12d4c1cdd939aae5f8cb0e73073feec92af9f4bf44005a545c991d9649307370061a5dcbaa30285761276549da9253c891fc5ea0108f552c04cd8e SHA512 1ed308be3e66bb315584aa0bf7915893b168850fe9ef7c5035214abc6a2eea5371aaa7f14c2f2790e60c4024e7bb0c08eabb1b8ed63eb22113644d95f057b533 AUX libcap-2.61-no_perl.patch 2469 BLAKE2B d059cb89175b413f5ddabc2c30e4c8f37226cbd589b936ba0cd94f9529d46abffa2679125e9c8e8f939ef3c7c0e68a1b3b16685ce5b386d82176862a05428bf6 SHA512 0706d6b5ee2d93fe58ae53c9850622b21531af682d4774ecaccb04bab11a45393c46a5c9c64ba3d2df1cf2b25152c72145f66951a9a16ac0452700b503f96d86 +AUX libcap-2.62-ignore-RAISE_SETFCAP-install-failures.patch 901 BLAKE2B 8b4795bfff00f3c42d22bfb748c60109c9fb210082bd0553d5d12c098008900d478a07455251228041be3448cf547ee4ec61217b1fa302feb86175592972bb08 SHA512 c6338a21bd66a4248ea3d35c0c39f864a9cd9c0cb0dd26860739fe3828282ff7e068888b3e39b1439f75f8f57db64cfd3a88542dfbb27ed04f65677e7f8ce632 DIST libcap-2.49.tar.xz 139568 BLAKE2B 5746dcdf2a737e747450bd50a701ee8543277b17b7fbf1304b79f707a088ea74dc6dc79c61ff89b55b718a460a7b0814f960f44d07944a97b832b78f4e14e07f SHA512 2934a2ded1370edeb9603dbf43d8ca23a2eb5d67efc5cec5d4ba96c707a8db2702da8aa9be0cb86c5ff100d37ec96115c7777a7566ad0ab2e0b4a288bbe357d0 DIST libcap-2.61.tar.xz 173892 BLAKE2B 50874d3510ab2476aaceb775314d98744736aacd7364a23827756caa160c101e8bc890b7c33b5e19df8b30bb6b3b1c2be323e4b6a963f97e9ee557e86b4f13a0 SHA512 40096bf511d1c45e36f5d7f24e49c709528f3f01fcadd47b6ac40a7e8d5f1705b29b4cc56356b030639f67d0641b9f4e7c19449c3c7f4f77a4070c35745b465c +DIST libcap-2.62.tar.xz 174772 BLAKE2B e3c86a5b88b9be932802ec8612f79e5f04912bf3e66f673eae2add85362292f4737c544d21b9e5adfd1a7a33c073568301b6532cdf0ea6c8b834d895b84323f1 SHA512 61ac004920c5cd3382a5443db2eacfc2041b7a8c0814b27084c1d111125639fe3950dea4325d0f7fb6bfb0d5de114452c3a62230cc958edb05ffdb83b213f9b3 EBUILD libcap-2.49-r1.ebuild 2127 BLAKE2B d77712422b1cb13b04b1a18e573c20151b03098a9effaee4a62b51f4035eac2f3dcc2760f6050d05220dca63edbd978df79299e6be4c885a73ec7a079d1cd558 SHA512 fb01c7f3c68d3fa55221bc0602c21ddb399121f97a0a3c9ef5788bbecb3912cc9f9924bd0339e27acc3103d3a1e110b4029f99c27a7232fd83229075383d898b -EBUILD libcap-2.61.ebuild 2198 BLAKE2B 70773f85a588a95c37ca9338fd89d1eb573372971b97383b829d4fd67305b9ffb188462c1213ea996b01a305bfed4b653c31f1d575974dd5b0ef24b2e8d824c0 SHA512 d3ed87ac4b12733546fda55113c5e50409856e7d8373a7f55813852c411509d880d819f01bc5a273e94ef1187b01f3883c68d4366c8ed900cdd7c732668ac4a3 +EBUILD libcap-2.61.ebuild 2327 BLAKE2B 61e1631f43cd316cfd686955d6de0cb7d523765a852b22b9076ef526dffdf84cf5c74214b1ae41bf5ac533106372c4181f3ed3f705cfd7274d92a5c4a33e8ac0 SHA512 cbc4c7ec717ed9aed891d5a138fb860d4729664c07af33f1e5ad969818d249629a116c89d780d40eb50d336c7c895f51eb4b33b67b3d5367d6126b7d50173cba +EBUILD libcap-2.62.ebuild 2247 BLAKE2B 49662d63bdc19e25c546951201fb3f5810c539192d26e28787792634328a2765c00d924e68856cebe0c98157f52ea7c07349e0aa0ce77673bdb8227406d25752 SHA512 054edd4c07258701adacff1bcd44bee955615eaf4a6b51b174b43adb7820040c9c29ef3331552ff5e33065a8ac6b0a3e364956001ab42f6a749896ee7a2e19b6 +EBUILD libcap-9999.ebuild 2164 BLAKE2B 6d44b9aadf000c40c8dd9c77fb88623fd24f7ea5f14c13515b3a3c06b1d1f615f8cf33876c51a17e553f3c76c553e1f1387f7caa7dc1dc333926616972e4ccfe SHA512 701d3d42487dc00e88a9101846b0f59976dc6baba977c045806c7986c08700496e5596019c1b7de084125ec1380252219dce86b3cf9461a7350c75d779762a24 MISC metadata.xml 438 BLAKE2B b5260cc84a3fe6b992bb6218846c738af296522d7a467337c05a6240fd07fc9d6cece779bd9fcf24a11486a70874e17acae8182647d307a31cf43e1c19c3a2d3 SHA512 fa3713dcf6b7bb2ea6d4c2fdefc05e92ae345c76a6187ebcb40dab8c4ce0148650a8301f236efcb8cf53fff25730977a385578dbaa160b800159c6d6abbf37a9 diff --git a/sys-libs/libcap/files/libcap-2.62-ignore-RAISE_SETFCAP-install-failures.patch b/sys-libs/libcap/files/libcap-2.62-ignore-RAISE_SETFCAP-install-failures.patch new file mode 100644 index 000000000000..04c59357c45f --- /dev/null +++ b/sys-libs/libcap/files/libcap-2.62-ignore-RAISE_SETFCAP-install-failures.patch @@ -0,0 +1,26 @@ +From 8dfcdcfdcb9c462a05566aa8d3c6eca871f0ddbf Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Wed, 10 Feb 2016 09:52:45 +0100 +Subject: [PATCH] ignore RAISE_SETFCAP install failures + +While the new RAISE_SETFCAP feature is nifty, its failure to run (often +due to the fs not supporting it) shouldn't impair the default install. + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> + +Forward ported from libcap-2.20 to libcap-2.25 + +Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> +diff --git a/progs/Makefile b/progs/Makefile +index 2cb7520..6d417de 100644 +--- a/progs/Makefile ++++ b/progs/Makefile +@@ -39,7 +39,7 @@ install: all + install -m 0755 $$p $(FAKEROOT)$(SBINDIR) ; \ + done + ifeq ($(RAISE_SETFCAP),yes) +- $(FAKEROOT)$(SBINDIR)/setcap cap_setfcap=i $(FAKEROOT)$(SBINDIR)/setcap ++ -$(FAKEROOT)$(SBINDIR)/setcap cap_setfcap=i $(FAKEROOT)$(SBINDIR)/setcap + endif + + test: diff --git a/sys-libs/libcap/libcap-2.61.ebuild b/sys-libs/libcap/libcap-2.61.ebuild index 28b28501b9d6..ad5ca82adcb8 100644 --- a/sys-libs/libcap/libcap-2.61.ebuild +++ b/sys-libs/libcap/libcap-2.61.ebuild @@ -5,14 +5,21 @@ EAPI=7 inherit multilib-minimal toolchain-funcs pam usr-ldscript +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libcap/libcap.git" +else + SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + DESCRIPTION="POSIX 1003.1e capabilities" HOMEPAGE="https://sites.google.com/site/fullycapable/" -SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" # it's available under either of the licenses LICENSE="|| ( GPL-2 BSD )" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" IUSE="pam static-libs tools" # While the build system optionally uses gperf, we don't DEPEND on it because diff --git a/sys-libs/libcap/libcap-2.62.ebuild b/sys-libs/libcap/libcap-2.62.ebuild new file mode 100644 index 000000000000..811890277ff9 --- /dev/null +++ b/sys-libs/libcap/libcap-2.62.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-minimal toolchain-funcs pam usr-ldscript + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libcap/libcap.git" +else + SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +DESCRIPTION="POSIX 1003.1e capabilities" +HOMEPAGE="https://sites.google.com/site/fullycapable/" + +# it's available under either of the licenses +LICENSE="|| ( GPL-2 BSD )" +SLOT="0" +IUSE="pam static-libs tools" + +# While the build system optionally uses gperf, we don't DEPEND on it because +# the build automatically falls back when it's unavailable. #604802 +PDEPEND="pam? ( sys-libs/pam[${MULTILIB_USEDEP}] )" +DEPEND="${PDEPEND} + sys-kernel/linux-headers" +BDEPEND=" + sys-apps/diffutils + tools? ( dev-lang/go )" + +QA_FLAGS_IGNORED="sbin/captree" # go binaries don't use LDFLAGS + +PATCHES=( + "${FILESDIR}"/${PN}-2.62-ignore-RAISE_SETFCAP-install-failures.patch +) + +src_prepare() { + default + multilib_copy_sources +} + +run_emake() { + local args=( + AR="$(tc-getAR)" + CC="$(tc-getCC)" + OBJCOPY="$(tc-getOBJCOPY)" + RANLIB="$(tc-getRANLIB)" + exec_prefix="${EPREFIX}" + lib_prefix="${EPREFIX}/usr" + lib="$(get_libdir)" + prefix="${EPREFIX}/usr" + PAM_CAP="$(usex pam yes no)" + DYNAMIC=yes + GOLANG="$(multilib_native_usex tools yes no)" + ) + emake "${args[@]}" "$@" +} + +src_configure() { + tc-export_build_env BUILD_CC + multilib-minimal_src_configure +} + +multilib_src_compile() { + run_emake +} + +multilib_src_test() { + run_emake test +} + +multilib_src_install() { + # no configure, needs explicit install line #444724#c3 + run_emake DESTDIR="${D}" install + + gen_usr_ldscript -a cap + gen_usr_ldscript -a psx + if ! use static-libs ; then + rm "${ED}"/usr/$(get_libdir)/lib{cap,psx}.a || die + fi + + # install pam plugins ourselves + rm -rf "${ED}"/usr/$(get_libdir)/security || die + + if use pam ; then + dopammod pam_cap/pam_cap.so + dopamsecurity '' pam_cap/capability.conf + fi +} + +multilib_src_install_all() { + dodoc CHANGELOG README doc/capability.notes +} diff --git a/sys-libs/libcap/libcap-9999.ebuild b/sys-libs/libcap/libcap-9999.ebuild new file mode 100644 index 000000000000..969f9d0aaacb --- /dev/null +++ b/sys-libs/libcap/libcap-9999.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-minimal toolchain-funcs pam usr-ldscript + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libcap/libcap.git" +else + SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +DESCRIPTION="POSIX 1003.1e capabilities" +HOMEPAGE="https://sites.google.com/site/fullycapable/" + +# it's available under either of the licenses +LICENSE="|| ( GPL-2 BSD )" +SLOT="0" +IUSE="pam static-libs tools" + +# While the build system optionally uses gperf, we don't DEPEND on it because +# the build automatically falls back when it's unavailable. #604802 +PDEPEND="pam? ( sys-libs/pam[${MULTILIB_USEDEP}] )" +DEPEND="${PDEPEND} + sys-kernel/linux-headers" +BDEPEND=" + sys-apps/diffutils + tools? ( dev-lang/go )" + +QA_FLAGS_IGNORED="sbin/captree" # go binaries don't use LDFLAGS + +src_prepare() { + default + multilib_copy_sources +} + +run_emake() { + local args=( + AR="$(tc-getAR)" + CC="$(tc-getCC)" + OBJCOPY="$(tc-getOBJCOPY)" + RANLIB="$(tc-getRANLIB)" + exec_prefix="${EPREFIX}" + lib_prefix="${EPREFIX}/usr" + lib="$(get_libdir)" + prefix="${EPREFIX}/usr" + PAM_CAP="$(usex pam yes no)" + DYNAMIC=yes + GOLANG="$(multilib_native_usex tools yes no)" + ) + emake "${args[@]}" "$@" +} + +src_configure() { + tc-export_build_env BUILD_CC + multilib-minimal_src_configure +} + +multilib_src_compile() { + run_emake +} + +multilib_src_test() { + run_emake test +} + +multilib_src_install() { + # no configure, needs explicit install line #444724#c3 + run_emake DESTDIR="${D}" install + + gen_usr_ldscript -a cap + gen_usr_ldscript -a psx + if ! use static-libs ; then + rm "${ED}"/usr/$(get_libdir)/lib{cap,psx}.a || die + fi + + # install pam plugins ourselves + rm -rf "${ED}"/usr/$(get_libdir)/security || die + + if use pam ; then + dopammod pam_cap/pam_cap.so + dopamsecurity '' pam_cap/capability.conf + fi +} + +multilib_src_install_all() { + dodoc CHANGELOG README doc/capability.notes +} diff --git a/sys-libs/libosinfo/Manifest b/sys-libs/libosinfo/Manifest index e32e80001f62..d3370d890168 100644 --- a/sys-libs/libosinfo/Manifest +++ b/sys-libs/libosinfo/Manifest @@ -1,4 +1,4 @@ DIST libosinfo-1.9.0.tar.xz 279376 BLAKE2B 9f231f022d80e96fc9b031ff8f16ea1e432e5e3ce079e384ad123043b89dd5e47ae119aec3052c8926965bf30c49b150f0ee727fb3b0e0391d393b1031aabeab SHA512 2e62e69f4353eb935734f091caa4cc4e3dce74020a93b684807470f068da73e8ecb7f4af0623b6d3053ecff3a34c6709a783dec3d25a56dc69f0e7ff9041cf26 -EBUILD libosinfo-1.9.0-r1.ebuild 1547 BLAKE2B a1b4f5a179d4ff7184e97c85d1d0345d87ee6f9461066d9a27a7df6193dd32e41745756c0b49e26b03770d5700f4456bb3e49fd8ab8df1fdf9d21b15d2153af2 SHA512 ca2dcc4226a07c7b60c02225e0df310638afc1057f9260aa7344e78cf182a1c0ccedec0dd20da70156443a63d32b58d6bcd92831ba2f47234795f9010f1d1a76 +EBUILD libosinfo-1.9.0-r1.ebuild 1544 BLAKE2B dd4be2f6c856cc0a5ebd3a6e9beb913641679c1d297906dbb9064b2a4a7376d48d03b05c61acff210232d79a7aca7184b0f21e28240645807ecefe6587c47f4d SHA512 107109bef38ea2b6b6c9cc56bc324b8efa692d8ce1da8ff37b073ba08fd9cdaa2f2383f8762edbd07639e5d0e29c109852803096d716d3ea0ce6a320028aff74 EBUILD libosinfo-1.9.0.ebuild 1524 BLAKE2B 4fe809771ec4d270e13d710f86974cb98d4c029716fea1fd19cc5dbbc6a1f5ce9c8cf62442bf2176bf37a3a1467ae35a928db29528354994664d07d806758c79 SHA512 e59941dafc9c3d40c2143b69ed06268eec25bd53022f44ac3914c0b19cb5e2baadf50f99a68abf3d49d314641a3770e2e6a30dcb2b963501e32d364c98bc362f MISC metadata.xml 250 BLAKE2B 8f7f0fe023d43e380e7861e897e6afcb5de4baefb42ea9c65a57dfc0d204c6f787a99295141832e732ebb08be218da56ba77e2dd9639e4e3aabf718ce4db1d0c SHA512 2684e772dd6d83e4b49f08f2ba22d8a0a753e7b46863489eff1b5d1f2f147ad80ffd93245ca405ac4c747249bc1b754454ec9865fe16da70f9b257051e105fd8 diff --git a/sys-libs/libosinfo/libosinfo-1.9.0-r1.ebuild b/sys-libs/libosinfo/libosinfo-1.9.0-r1.ebuild index 54ada71ed302..018a2bb3d169 100644 --- a/sys-libs/libosinfo/libosinfo-1.9.0-r1.ebuild +++ b/sys-libs/libosinfo/libosinfo-1.9.0-r1.ebuild @@ -17,7 +17,7 @@ IUSE="gtk-doc +introspection +vala test" RESTRICT="!test? ( test )" REQUIRED_USE="vala? ( introspection )" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86" # Unsure about osinfo-db-tools rdep, but at least fedora does it too RDEPEND=" diff --git a/sys-libs/libxcrypt/Manifest b/sys-libs/libxcrypt/Manifest index 754fdbb442c6..96e3853bb36d 100644 --- a/sys-libs/libxcrypt/Manifest +++ b/sys-libs/libxcrypt/Manifest @@ -2,7 +2,9 @@ AUX libxcrypt-4.4.19-multibuild.patch 303 BLAKE2B cd342eef2a8ce3e305e544d3737337 DIST libxcrypt-4.4.20-autotools.tar.xz 628688 BLAKE2B 4c23af2a765495758e52c8e95d53d1c1d911fea011375160c4f10e468939734fcc7198cc327fafa4d5c90afa6d4c56dfe6d1b56c2c17bbc015b44cffcd7bcc8b SHA512 5b7504e9d83df12af7d11864e88d1034ed9ce0a837ef061044c5c7fe603d7f3e5613ddf20b30613a7943735120cd058f2117401d59879afcba34ce0e48ae62ee DIST libxcrypt-4.4.25-autotools.tar.xz 614652 BLAKE2B f0f4fbf92585fdd8d328aaa68811ea15bdf75778363ea4bc46a75fb76bb065f044708446d655356ebbf2834f8b14bac40fbe700b510b09ce101f750667a04298 SHA512 30f38a54c8e5cbd31c463223913079f9869d38ed38a2f64c57778ac4cf1b6f557caa527073df54ca8396bb7220807b84afcae2f9790f6604af1561a4b277874e DIST libxcrypt-4.4.26-autotools.tar.xz 617808 BLAKE2B 9fb8e31b22a085c0d0d5ab2ee3fb69fbebaccee2281e9be7d745218b5b92d949ffd3aa9c385671d58c93a654e16b943a33284b0b4737d52d26e43e2f7840fe74 SHA512 22c72cacd87c5751c4160413738fdf52c8fee300dcad01b289a6eaf892439883b9478103f791f5f53c8e5e2f2dd81057e5fda45e7cf7fdfd3ba93dd811bc01e3 +DIST libxcrypt-4.4.27-autotools.tar.xz 619240 BLAKE2B 13dd5730fded0684c8e7321fee8a786663ff1080a6ca248bd718c4f6c9f6bd2853689c347be9f9ae51ebc1281aaa2143dfc020149382d259e7eefe66ac8b675e SHA512 f13ae1e69bf5850abb47a28f9ac3e3b0a8b3123adc53d39fd39a26d53847bf6e3fdca751e086cd80ce4e5d9ee419b09148c247cbe5f663b3019b66f82cdc5f5c EBUILD libxcrypt-4.4.20.ebuild 5817 BLAKE2B 5eee19a41bd26045175765c8bff8aecd0e035e5c46dd8b73a11f4f8ffd1360c91921c2881e058da504414eb33156511f07e3673fc321b36e49010e00a2294669 SHA512 181e26ade031ddc3a93103348326dca9ab7a546e69a00168b7e19b9cf5f148bffeba7dd6bdaf2e11649303305a72ca2bfd24360c005704930d5ef8f444881673 EBUILD libxcrypt-4.4.25-r1.ebuild 6415 BLAKE2B 312440866d2309feba7c1a29a3dcb61daf7e87fb8b01e58e959941d533cb07a67ca6119e1c470c229f8cbd04966bd97273d4d8a69d1a31dd0baa946d52623608 SHA512 0094b2031e3d7563bc4afc8c98f926777f8973c9e55b747cde01d6efcae1f799d7eb96fb7073c0ee42932fcc371d072a2c6ae0417c7c6eb70b6429dbf7cd4921 EBUILD libxcrypt-4.4.26-r1.ebuild 6422 BLAKE2B e3b0ded6e80bbcc3f3279ae0cf18ac88d634a640b30ef4523d81fb74125d61718cf0a179361ad5e6a69fc658226660348b72279be49d446e2c995d6a584e1847 SHA512 0e3c0e99430ff8e068bc056315735b54192cf572cc7045e1a9ceb498ce8a51d0ea106079f9d6dd55f911445d87a1b93da878f4e4e8286981f4f97c32df6fd3eb +EBUILD libxcrypt-4.4.27.ebuild 6422 BLAKE2B e3b0ded6e80bbcc3f3279ae0cf18ac88d634a640b30ef4523d81fb74125d61718cf0a179361ad5e6a69fc658226660348b72279be49d446e2c995d6a584e1847 SHA512 0e3c0e99430ff8e068bc056315735b54192cf572cc7045e1a9ceb498ce8a51d0ea106079f9d6dd55f911445d87a1b93da878f4e4e8286981f4f97c32df6fd3eb MISC metadata.xml 831 BLAKE2B f8761f3758acf79afea36926a6488afb73c433a8faa599aa09a3bbc01b6c733d7264d7b584606158312825f099a1176623c70625a317a837de5bb20501f5ed22 SHA512 826ea578d9d3e651767e8f670d2bbb918c11e26ca5dc1c52ff7fbd513c39bee2d9423ecf16e47e2603f5a8c7b6979fd27eacde84182deb5a67004c9a3be281cb diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.27.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.27.ebuild new file mode 100644 index 000000000000..fa017859016b --- /dev/null +++ b/sys-libs/libxcrypt/libxcrypt-4.4.27.ebuild @@ -0,0 +1,226 @@ +# Copyright 2004-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +# NEED_BOOTSTRAP is for developers to quickly generate a tarball +# for publishing to the tree. +NEED_BOOTSTRAP="no" +inherit multibuild multilib python-any-r1 toolchain-funcs multilib-minimal + +DESCRIPTION="Extended crypt library for descrypt, md5crypt, bcrypt, and others" +HOMEPAGE="https://github.com/besser82/libxcrypt" +if [[ ${NEED_BOOTSTRAP} == "yes" ]] ; then + inherit autotools + SRC_URI="https://github.com/besser82/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +else + SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-autotools.tar.xz" +fi + +LICENSE="LGPL-2.1+ public-domain BSD BSD-2" +SLOT="0/1" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+compat split-usr static-libs system test" +REQUIRED_USE="split-usr? ( system )" +RESTRICT="!test? ( test )" + +DEPEND="system? ( + elibc_glibc? ( + sys-libs/glibc[-crypt(+)] + !sys-libs/glibc[crypt(+)] + ) + !sys-libs/musl + ) +" +RDEPEND="${DEPEND}" +BDEPEND="dev-lang/perl + sys-apps/findutils + test? ( $(python_gen_any_dep 'dev-python/passlib[${PYTHON_USEDEP}]') )" + +python_check_deps() { + has_version -b "dev-python/passlib[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + if has "distcc" ${FEATURES} ; then + ewarn "Please verify all distcc nodes are using the same versions of GCC (>= 10) and Binutils!" + ewarn "Older/mismatched versions of GCC may lead to a misbehaving library: bug #823179." + + if [[ ${BUILD_TYPE} != "binary" ]] && tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]] ; then + die "libxcrypt is known to fail to build or be broken at runtime with < GCC 10 (bug #823179)!" + fi + fi +} + +pkg_setup() { + MULTIBUILD_VARIANTS=( + $(usex compat 'xcrypt_compat' '') + xcrypt_nocompat + ) + + use test && python-any-r1_pkg_setup +} + +src_prepare() { + default + + # WARNING: Please read on bumping or applying patches! + # + # There are two circular dependencies to be aware of: + # 1) + # if we're bootstrapping configure and makefiles: + # libxcrypt -> automake -> perl -> libxcrypt + # + # mitigation: + # toolchain@ manually runs `make dist` after running autoconf + `./configure` + # and the ebuild uses that. + # (Don't include the pre-generated Perl artefacts.) + # + # solution for future: + # Upstream are working on producing `make dist` tarballs. + # https://github.com/besser82/libxcrypt/issues/134#issuecomment-871833573 + # + # 2) + # configure *unconditionally* needs Perl at build time to generate + # a list of enabled algorithms based on the set passed to `configure`: + # libxcrypt -> perl -> libxcrypt + # + # mitigation: + # None at the moment. + # + # solution for future: + # Not possible right now. Upstream intend on depending on Perl for further + # configuration options. + # https://github.com/besser82/libxcrypt/issues/134#issuecomment-871833573 + # + # Therefore, on changes (inc. bumps): + # * You must check whether upstream have started providing tarballs with bootstrapped + # auto{conf,make}; + # + # * diff the build system changes! + # + if [[ ${NEED_BOOTSTRAP} == "yes" ]] ; then + # Facilitate our split variant build for compat + non-compat + eapply "${FILESDIR}"/${PN}-4.4.19-multibuild.patch + eautoreconf + fi +} + +src_configure() { + # Avoid possible "illegal instruction" errors with gold + # bug #821496 + tc-ld-disable-gold + + multibuild_foreach_variant multilib-minimal_src_configure +} + +get_xclibdir() { + printf -- "%s/%s/%s\n" \ + "$(usex split-usr '' '/usr')" \ + "$(get_libdir)" \ + "$(usex system '' 'xcrypt')" +} + +multilib_src_configure() { + local -a myconf=( + --disable-werror + --libdir="${EPREFIX}"$(get_xclibdir) + --with-pkgconfigdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" + --includedir="${EPREFIX}/usr/include/$(usex system '' 'xcrypt')" + ) + + case "${MULTIBUILD_ID}" in + xcrypt_compat-*) + myconf+=( + --disable-static + --disable-xcrypt-compat-files + --enable-obsolete-api=yes + ) + ;; + xcrypt_nocompat-*) + myconf+=( + --enable-obsolete-api=no + $(use_enable static-libs static) + ) + ;; + *) die "Unexpected MULTIBUILD_ID: ${MULTIBUILD_ID}";; + esac + + ECONF_SOURCE="${S}" econf "${myconf[@]}" +} + +src_compile() { + multibuild_foreach_variant multilib-minimal_src_compile +} + +multilib_src_test() { + emake check +} + +src_test() { + multibuild_foreach_variant multilib-minimal_src_test +} + +src_install() { + multibuild_foreach_variant multilib-minimal_src_install + + ( + shopt -s failglob || die "failglob failed" + + # Make sure our man pages do not collide with glibc or man-pages. + for manpage in "${ED}"/usr/share/man/man3/crypt{,_r}.?*; do + mv -n "${manpage}" "$(dirname "${manpage}")/xcrypt_$(basename "${manpage}")" \ + || die "mv failed" + done + ) || die "failglob error" + + # Remove useless stuff from installation + find "${ED}"/usr/share/doc/${PF} -type l -delete || die + find "${ED}" -name '*.la' -delete || die +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + # Don't install the libcrypt.so symlink for the "compat" version + case "${MULTIBUILD_ID}" in + xcrypt_compat-*) + rm "${ED}"$(get_xclibdir)/libcrypt$(get_libname) \ + || die "failed to remove extra compat libraries" + ;; + xcrypt_nocompat-*) + if use split-usr; then + ( + if use static-libs; then + # .a files are installed to /$(get_libdir) by default + # Move static libraries to /usr prefix or portage will abort + shopt -s nullglob || die "failglob failed" + static_libs=( "${ED}"/$(get_xclibdir)/*.a ) + + if [[ -n ${static_libs[*]} ]]; then + dodir "/usr/$(get_xclibdir)" + mv "${static_libs[@]}" "${ED}/usr/$(get_xclibdir)" \ + || die "Moving static libs failed" + fi + fi + + if use system; then + # Move versionless .so symlinks from /$(get_libdir) to /usr/$(get_libdir) + # to allow linker to correctly find shared libraries. + shopt -s failglob || die "failglob failed" + + for lib_file in "${ED}"$(get_xclibdir)/*$(get_libname); do + lib_file_basename="$(basename "${lib_file}")" + lib_file_target="$(basename "$(readlink -f "${lib_file}")")" + dosym "../../$(get_libdir)/${lib_file_target}" "/usr/$(get_xclibdir)/${lib_file_basename}" + done + + rm "${ED}"$(get_xclibdir)/*$(get_libname) || die "Removing symlinks in incorrect location failed" + fi + ) + fi + ;; + *) die "Unexpected MULTIBUILD_ID: ${MULTIBUILD_ID}";; + esac +} |