From 09351e78166b5e864197c4456ebae3f89dd0bed9 Mon Sep 17 00:00:00 2001 From: V3n3RiX <venerix@redcorelinux.org> Date: Tue, 22 Jan 2019 10:09:44 +0000 Subject: gentoo resync : 22.01.2019 --- sys-libs/Manifest.gz | Bin 15946 -> 15932 bytes sys-libs/compiler-rt-sanitizers/Manifest | 10 +- .../compiler-rt-sanitizers-4.0.1.ebuild | 4 + .../compiler-rt-sanitizers-5.0.2.ebuild | 4 + .../compiler-rt-sanitizers-8.0.9999.ebuild | 173 +++ .../compiler-rt-sanitizers-9999.ebuild | 8 +- ...se-pre-computed-size-of-struct-ustat-for-.patch | 61 + ...itizer_common-Fix-using-libtirpc-on-Linux.patch | 67 - ...0002-test-Support-using-libtirpc-on-Linux.patch | 100 -- sys-libs/compiler-rt/Manifest | 3 +- sys-libs/compiler-rt/compiler-rt-8.0.9999.ebuild | 111 ++ sys-libs/compiler-rt/compiler-rt-9999.ebuild | 4 +- sys-libs/e2fsprogs-libs/Manifest | 2 +- .../e2fsprogs-libs/e2fsprogs-libs-1.44.5.ebuild | 4 +- sys-libs/efivar/Manifest | 2 +- sys-libs/efivar/efivar-37.ebuild | 2 +- sys-libs/glibc/Manifest | 2 - sys-libs/glibc/glibc-2.28-r4.ebuild | 1411 -------------------- sys-libs/ldb/Manifest | 3 + .../ldb/files/ldb-1.5.2-optional_packages.patch | 40 + sys-libs/ldb/ldb-1.5.2.ebuild | 105 ++ sys-libs/libcxx/Manifest | 1 + sys-libs/libcxx/libcxx-8.0.9999.ebuild | 227 ++++ sys-libs/libcxxabi/Manifest | 1 + sys-libs/libcxxabi/libcxxabi-8.0.9999.ebuild | 122 ++ sys-libs/libomp/Manifest | 1 + sys-libs/libomp/libomp-8.0.9999.ebuild | 116 ++ sys-libs/libutempter/Manifest | 2 +- sys-libs/libutempter/libutempter-1.1.6-r2.ebuild | 4 +- sys-libs/llvm-libunwind/Manifest | 1 + .../llvm-libunwind/llvm-libunwind-8.0.9999.ebuild | 146 ++ sys-libs/mtdev/Manifest | 2 +- sys-libs/mtdev/mtdev-1.1.5.ebuild | 4 +- sys-libs/readline/Manifest | 4 +- sys-libs/readline/readline-7.0_p5.ebuild | 4 +- sys-libs/readline/readline-8.0.ebuild | 2 +- sys-libs/talloc/Manifest | 2 + sys-libs/talloc/talloc-2.1.15.ebuild | 88 ++ sys-libs/tdb/Manifest | 2 + sys-libs/tdb/tdb-1.3.17.ebuild | 61 + sys-libs/tevent/Manifest | 2 + sys-libs/tevent/tevent-0.9.38.ebuild | 71 + sys-libs/timezone-data/Manifest | 2 +- sys-libs/timezone-data/timezone-data-2018i.ebuild | 2 +- 44 files changed, 1371 insertions(+), 1612 deletions(-) create mode 100644 sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-8.0.9999.ebuild create mode 100644 sys-libs/compiler-rt-sanitizers/files/5.0.2/0001-sanitizer-Use-pre-computed-size-of-struct-ustat-for-.patch delete mode 100644 sys-libs/compiler-rt-sanitizers/files/9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch delete mode 100644 sys-libs/compiler-rt-sanitizers/files/9999/0002-test-Support-using-libtirpc-on-Linux.patch create mode 100644 sys-libs/compiler-rt/compiler-rt-8.0.9999.ebuild delete mode 100644 sys-libs/glibc/glibc-2.28-r4.ebuild create mode 100644 sys-libs/ldb/files/ldb-1.5.2-optional_packages.patch create mode 100644 sys-libs/ldb/ldb-1.5.2.ebuild create mode 100644 sys-libs/libcxx/libcxx-8.0.9999.ebuild create mode 100644 sys-libs/libcxxabi/libcxxabi-8.0.9999.ebuild create mode 100644 sys-libs/libomp/libomp-8.0.9999.ebuild create mode 100644 sys-libs/llvm-libunwind/llvm-libunwind-8.0.9999.ebuild create mode 100644 sys-libs/talloc/talloc-2.1.15.ebuild create mode 100644 sys-libs/tdb/tdb-1.3.17.ebuild create mode 100644 sys-libs/tevent/tevent-0.9.38.ebuild (limited to 'sys-libs') diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz index da55351fe203..21ccb860ba77 100644 Binary files a/sys-libs/Manifest.gz and b/sys-libs/Manifest.gz differ diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index 2e6ef8f63ee0..3f6c6e6acf08 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -1,7 +1,6 @@ +AUX 5.0.2/0001-sanitizer-Use-pre-computed-size-of-struct-ustat-for-.patch 2336 BLAKE2B 501238f8bb3881b427ff4673933c4544596fcbd3e129876d17b8506498c0513aeec69acd2a38f1d009a7df9f8aecf3e10d88301281722f156a32f76fea131c53 SHA512 7b2b71bb5cb11d6f0d96d0f5f33f2f7da7b4c637e191248c83e27e536d277bb1dee92affa0ca2092c870648525ed7d7b97a29af71aef3631764f724b61118720 AUX 7.0.9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch 2583 BLAKE2B be7e9a2cbab8b3bd110346f6c8bda30d104397601950c995b77388fcb91e53ca82f5d3574931c58244403eee698f01209ca9e704fd4c6b9b3ef08e68d41dbea7 SHA512 656a7bbdcf0f678814d0ad0ff56ce43b7fc48c7a549373a4ef77e74490437283c5834e86b1b4e8bcb85578953687d79474ef2bf494c7eed4cf7fa1f17003f385 AUX 7.0.9999/0002-test-Support-using-libtirpc-on-Linux.patch 4161 BLAKE2B 3db2dcebf70ca3e7c399dfb22d8ae50d51863f7a8a15a10b0232f73d4fc2ee0b51ff67e8842b0e4d29dd41e60a326c90670f62a431ca593617f566e03bc7f90a SHA512 2f03f4d0232b600861de0c527d6bef26b0e3273865a7d7344e083a6a7de4033de6d30df3a6b22f4d23be74dfa8864ccaebd42c1f0d4474abc83a66f8997e19fb -AUX 9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch 2583 BLAKE2B 9d7ca157f6a14784e1207d3051719eea3ba069dc1ba34f7067cca630680993f3953a7e2f5600ec3ab184bbc0fb39b59281523481564122eb1580bc91d5c6e18a SHA512 5a74754bd19861ca2cbf28966dd13b6e17fa0024c6e3f1e513e6aabd732fc5d5804b01e25e538e434b48f6c7f10923cc09d0ced10fadef870cb43aa42082a9a4 -AUX 9999/0002-test-Support-using-libtirpc-on-Linux.patch 4183 BLAKE2B 385c8bc659031b6c6a6bb03506b142915f69be36acaf65440da40e7f33af15095a429d177a7be9d75c09dca38842d5ba0c960ce29764f9f8b2fe9df46496b88f SHA512 d06f7248fa18edd360bfb6c481ac260b9e5162550c09d2c4fc99c46d65e6f025e15aa6cc6b629847c26a441db271c7adc5b3d39b9895fce1dfc6326098478ba6 DIST compiler-rt-4.0.1.src.tar.xz 1434100 BLAKE2B ca6bf78fc07f387b7244a52ef648b06a5685effb46a66b241a9ee847ecafb17d02602f49b0dbe473d47202586874a043a6d75141400062f526d2f808da323e1e SHA512 cfeb625884b273f7c0e6767b81a8d3e5f24e0b96a510d5764d9d47a0e215fc841b4cb9d1843c8fb428cd21def720cfbfe8d3593ff5bb390548ebc8c32a902649 DIST compiler-rt-5.0.2.src.tar.xz 1543256 BLAKE2B 09fa84b8f3e9b8627a14387bc6eaa3d6b4588b9c8f1ac5a0114135fd830e3d45922408b237866789eb81bf38defde1186e0f7430a69f825bee12776b7cd9f74e SHA512 605a6d064877a860d6c9097e0220896dfceafed0a2392ad495c97aa347b97899d89f7e21932e29d3274f396615837414a3e730a915fe4f53eaa858ce3642a666 DIST compiler-rt-6.0.1.src.tar.xz 1686820 BLAKE2B 59fa3f6e478bd4d6dfa056c85dcdc4349cbce7cea7fc56519feddc9d66c88c9ca48bad7967432ceb81d754213577f12707035afd827cf630a58627575b73b798 SHA512 69850c1ad92c66977fa217cbfb42a6a3f502fbe3d1a08daa7fc4cfeb617a7736d231f8ad8d93b10b1ae29bd753315d2a2d70f9ff1f4d18a9a7cc81758d91f963 @@ -12,10 +11,11 @@ DIST llvm-4.0.1.src.tar.xz 21065652 BLAKE2B 6327eed2d1feb108440f22d2581d1ff86c10 DIST llvm-5.0.2.src.tar.xz 23451868 BLAKE2B b7082be2e4ad557b29b9f6869811f262adcf5c73d552faf91b339bede75cf5eab58afefa12fa779a38be71fe2b8f4ea297c3213ee4e8370cc01972c59249d91c SHA512 3588be5ed969c3f7f6f16f56a12a6af2814d3d3c960d4a36ffebb0446cc75f19220bccee7fc605f9b01f5d5c188a905a046193cc12dec42dd5922048b5c27fe1 DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9 DIST llvm-7.0.1.src.tar.xz 28311056 BLAKE2B 737aa6144a415e41a4ff2c8bd5a727d6f14d7b1810c62cbefa5a25fe642c98cddf8a28e35c7e9783373aa3b96f5c0943229e229ad1b43e56e9ed6db0f27ab128 SHA512 ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df -EBUILD compiler-rt-sanitizers-4.0.1.ebuild 4778 BLAKE2B 5689080c9783d288206a9a7f4d8cee487ef73a951d95baf7083719c89239b299a7cb71361e060876a7564701c353a857e9a640ff5e8f5054d76c6ede66523b5e SHA512 937fab2e9791bd122005469704e5cbbc8907d0f52cb277d779bd93451178e49c8f369be0dec5bff22338a7ed3920f0e125337e9ede02c957c123f968b69ec442 -EBUILD compiler-rt-sanitizers-5.0.2.ebuild 5095 BLAKE2B 0f3348e8800d24d01231b2460025eb83a3211c44fd2987a0b0d4361372fe4af5695a131886d55029459121e8952e394c526120f12212d20a8a5c995847a04cb0 SHA512 cf13df0bad1be887c621c16f12639e385fff395985007b17a1bf14b00f0dd9dfd609e83287fc890f105d2bd586b3457b1efe3b6f687096a205b1a96f3fd1139e +EBUILD compiler-rt-sanitizers-4.0.1.ebuild 4942 BLAKE2B 384312216b7ec2d71928b22abbab61da0b6a09eca9c518b10a7be7416e12f53aa7160381eebb3c9ca070f5e432b10f7e248cd3380bd50a278758803c53c7cbfd SHA512 64142c2645ef2402f74ef4ee30ed5776f4629f1d0daa34683d50e3b45ce815682e00cb705a00014af524a25acd93fb41a7075f2402b3e73880823c258b01bb85 +EBUILD compiler-rt-sanitizers-5.0.2.ebuild 5259 BLAKE2B d9fd342c98e1c7a9d124cd3149a4325625c8ab604cc9d3cbb01513b6ae2add2adbf246c616219f2fc0691d90aa26f5371e7cda8a18aec95243bd1d6ba7b25379 SHA512 8f82649dded359a5c6132b0b9cf211faefb3840850d71f43332cb8f1c250c830848aee7c5e7b1be2278f103420683b4e51bf493c563dead5a27781756a0c8015 EBUILD compiler-rt-sanitizers-6.0.1.ebuild 5453 BLAKE2B b643f95efc78b4aaa3ab4f05072397003d6e46793a763f91eb79f60c183d89e7265a53f6f96401dc87546bba5b8d21dd38dd0b8bceecdb652702685288465916 SHA512 c9b1dee74f1cbe7d6822589372389c2e3e6f3398211e26d83072dab290541797fa08c52c4c6ac581a59dac52fe5893a27812e5e46e175b9146f2c8348f170458 EBUILD compiler-rt-sanitizers-7.0.1.ebuild 5410 BLAKE2B b93a8907f25f9a6864556787b0e0b86b2fad39c19136e93baa9d73df5b5001f9539c27b5227eb5ae40fd7c34ca343ed45de1c2cd71f1f9753953bff04ced8c5c SHA512 b70f6f3ad6764d9d6244ec51a07a1948864db899213d68947c904161312b4ea450c7eba8f2c1aa3f9b0ab25bb7a1ac3d5650551c37f48abf0bfafc232cc3a7ad EBUILD compiler-rt-sanitizers-7.0.9999.ebuild 5335 BLAKE2B 2c1851ad178efe08bf96f342e1d2b02c269b395fd29a20532e54538060b09b6c9f7dda7a98f02bb50d309b57a69aff29ff06a5051a0aa28b24b40bba80cbf866 SHA512 7f3d61dfc5ac2087d6069d02cdd485367d0c8ec5b5e51384d1b1c6af4668548e5091ec05861569d4bbeb7bee149a5feb8621c8ba6370de5d250c59d37b8b81e5 -EBUILD compiler-rt-sanitizers-9999.ebuild 5302 BLAKE2B 6f0a715beb0734deb7b2d9795eb66632eae12c4cb7df768dcaa4fa2cb18e7adca30a865f93d2c61b160e28168f103075c9ed171d0124c92b780681138d4e1fc7 SHA512 56b252d8298dacb82274c652049df08299a8811d4991549f24a178e600f2580b1a7fb8a8600d65f667853464bb248b2f5b014e8ef12f8e456fb29350f68d0855 +EBUILD compiler-rt-sanitizers-8.0.9999.ebuild 5118 BLAKE2B 9849fb97a4f8bf53f8650254fd51948e1e9247a988403246435548c99e6fec1796103b6dabb806973551608c8eab58e5ecba857587454cfd2816b79deeaed162 SHA512 485195703afba4a48ad3fec38542c65ecadbd29d79719be2c287e1de2cedf840d4c8ab67ddc0bde3e8954ecbfb1c35facad32faad222df77ed65e468a02863f5 +EBUILD compiler-rt-sanitizers-9999.ebuild 5093 BLAKE2B 8975ce0628079b44988b4cce3f33c1536fe8c88b8b76b6358b1a3de4056b693caa0b508e9ea0afbfaa57501abb6d5820cfd54ab8d1d11dd8b77f96452fcf50f8 SHA512 b6af187292c659305e04c4bb744a6735e9c5b6a3e9fd1eba5d0ed01a07751a18675bc5ec90e0eaf26af510342aa38a1e0bfb7724ee08bff97a1038f93824217f MISC metadata.xml 547 BLAKE2B 6f9d8b65c12797fd3d168e9b3948c604265db135bda5493d9f1d8b1d01fd73a79d07e5241afc3a7fa1672827fac23d3d9dc4d7ae42371a0de892a900c8c28269 SHA512 fb73a96b1ffbc7ff2fecfba35c9acd3e54ade0154016ae04423217f5c000eee2b0b821cc626908647551a0aa7b7f462d42d56cde3993ddd52248bc373b117c3e diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-4.0.1.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-4.0.1.ebuild index 00662c398d63..b57164e921d5 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-4.0.1.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-4.0.1.ebuild @@ -68,6 +68,10 @@ src_prepare() { eapply "${WORKDIR}/${P}-patchset" cmake-utils_src_prepare + # sys/ustat.h removed in glibc 2.28 + # https://bugs.gentoo.org/675654 + eapply "${FILESDIR}"/5.0.2/0001-sanitizer-Use-pre-computed-size-of-struct-ustat-for-.patch + if use test; then # remove tests that are broken by new glibc # (disabled in 6.0.0+, r313069) diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-5.0.2.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-5.0.2.ebuild index d8168a231aa7..2862cd5c8719 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-5.0.2.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-5.0.2.ebuild @@ -72,6 +72,10 @@ src_unpack() { src_prepare() { cmake-utils_src_prepare + # sys/ustat.h removed in glibc 2.28 + # https://bugs.gentoo.org/675654 + eapply "${FILESDIR}"/5.0.2/0001-sanitizer-Use-pre-computed-size-of-struct-ustat-for-.patch + if use test; then # remove tests that are broken by new glibc # (disabled in 6.0.0+, r313069) diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-8.0.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-8.0.9999.ebuild new file mode 100644 index 000000000000..e2589f02ba5d --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-8.0.9999.ebuild @@ -0,0 +1,173 @@ +# 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 check-reqs cmake-utils flag-o-matic git-r3 llvm \ + multiprocessing python-any-r1 + +DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)" +HOMEPAGE="https://llvm.org/" +SRC_URI="" +EGIT_REPO_URI="https://git.llvm.org/git/compiler-rt.git + https://github.com/llvm-mirror/compiler-rt.git" +EGIT_BRANCH="release_80" + +LICENSE="|| ( UoI-NCSA MIT )" +# Note: this needs to be updated to match version of clang-9999 +SLOT="8.0.0" +KEYWORDS="" +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}" + +# least intrusive of all +CMAKE_BUILD_TYPE=RelWithDebInfo + +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() { + if use test; then + # needed for patched gtest + git-r3_fetch "https://git.llvm.org/git/llvm.git + https://github.com/llvm-mirror/llvm.git" + fi + git-r3_fetch + + if use test; then + git-r3_checkout https://llvm.org/git/llvm.git \ + "${WORKDIR}"/llvm '' utils/unittest + fi + git-r3_checkout +} + +src_prepare() { + cmake-utils_src_prepare + + 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/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/compiler-rt-sanitizers-9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild index 78884e8f13dc..22e6a9b283cb 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -19,7 +19,7 @@ EGIT_REPO_URI="https://git.llvm.org/git/compiler-rt.git LICENSE="|| ( UoI-NCSA MIT )" # Note: this needs to be updated to match version of clang-9999 -SLOT="8.0.0" +SLOT="9.0.0" KEYWORDS="" IUSE="+clang +libfuzzer +profile +sanitize test +xray elibc_glibc" # FIXME: libfuzzer does not enable all its necessary dependencies @@ -77,10 +77,6 @@ src_unpack() { src_prepare() { cmake-utils_src_prepare - # apply the fixes for new glibc / split tirpc - eapply "${FILESDIR}/9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch" - eapply "${FILESDIR}/9999/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 diff --git a/sys-libs/compiler-rt-sanitizers/files/5.0.2/0001-sanitizer-Use-pre-computed-size-of-struct-ustat-for-.patch b/sys-libs/compiler-rt-sanitizers/files/5.0.2/0001-sanitizer-Use-pre-computed-size-of-struct-ustat-for-.patch new file mode 100644 index 000000000000..5a9aa2327b8d --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/files/5.0.2/0001-sanitizer-Use-pre-computed-size-of-struct-ustat-for-.patch @@ -0,0 +1,61 @@ +From 2e8240309f5ce36eae8f1f9dfcd8c060c040ca5c Mon Sep 17 00:00:00 2001 +From: Craig Topper <craig.topper@intel.com> +Date: Thu, 24 May 2018 17:59:47 +0000 +Subject: [PATCH] sanitizer: Use pre-computed size of struct ustat for Linux + +<sys/ustat.h> has been removed from glibc 2.28 by: + +commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7 +Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> +Date: Sun Mar 18 11:28:59 2018 +0800 + +Deprecate ustat syscall interface +This patch uses pre-computed size of struct ustat for Linux to fix + +https://bugs.llvm.org/show_bug.cgi?id=37418 + +Patch by H.J. Lu. + +Differential Revision: https://reviews.llvm.org/D47281 + +git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@333213 91177308-0d34-0410-b5e6-96231b3b80d8 +--- + .../sanitizer_platform_limits_posix.cc | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +index 83f4fd22f..804abd9e4 100644 +--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -159,7 +159,6 @@ typedef struct user_fpregs elf_fpregset_t; + # include <sys/procfs.h> + #endif + #include <sys/user.h> +-#include <sys/ustat.h> + #include <linux/cyclades.h> + #include <linux/if_eql.h> + #include <linux/if_plip.h> +@@ -252,7 +251,19 @@ namespace __sanitizer { + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +- unsigned struct_ustat_sz = sizeof(struct ustat); ++ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which ++ // has been removed from glibc 2.28. ++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \ ++ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \ ++ || defined(__x86_64__) ++#define SIZEOF_STRUCT_USTAT 32 ++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \ ++ || defined(__powerpc__) || defined(__s390__) ++#define SIZEOF_STRUCT_USTAT 20 ++#else ++#error Unknown size of struct ustat ++#endif ++ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT; + unsigned struct_rlimit64_sz = sizeof(struct rlimit64); + unsigned struct_statvfs64_sz = sizeof(struct statvfs64); + #endif // SANITIZER_LINUX && !SANITIZER_ANDROID +-- +2.20.1 + diff --git a/sys-libs/compiler-rt-sanitizers/files/9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch b/sys-libs/compiler-rt-sanitizers/files/9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch deleted file mode 100644 index f39645669da0..000000000000 --- a/sys-libs/compiler-rt-sanitizers/files/9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 6d96ca43ca31bb69d07271696c43b4372ca534d9 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 1/2] [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 ad3aba005..f2a6bab51 100644 ---- a/lib/sanitizer_common/CMakeLists.txt -+++ b/lib/sanitizer_common/CMakeLists.txt -@@ -191,9 +191,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 cd1b73d58..c6de2683d 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> -@@ -1243,7 +1241,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.19.1 - diff --git a/sys-libs/compiler-rt-sanitizers/files/9999/0002-test-Support-using-libtirpc-on-Linux.patch b/sys-libs/compiler-rt-sanitizers/files/9999/0002-test-Support-using-libtirpc-on-Linux.patch deleted file mode 100644 index c851cae0a6b8..000000000000 --- a/sys-libs/compiler-rt-sanitizers/files/9999/0002-test-Support-using-libtirpc-on-Linux.patch +++ /dev/null @@ -1,100 +0,0 @@ -From a415328c75fe88c5e8e3bd0c01913a25b5705fec 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 2/2] [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 b92e29a2e..ec0b1b979 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 f2a6bab51..a560e7c15 100644 ---- a/lib/sanitizer_common/CMakeLists.txt -+++ b/lib/sanitizer_common/CMakeLists.txt -@@ -191,8 +191,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 e08673d5c..e86f6091f 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", "-fPIC"] -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 233d273f3..2776775eb 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 6dec5f92b..67020f3b9 100644 ---- a/test/tsan/lit.site.cfg.in -+++ b/test/tsan/lit.site.cfg.in -@@ -6,6 +6,7 @@ config.has_libcxx = @TSAN_HAS_LIBCXX@ - config.apple_platform = "@TSAN_TEST_APPLE_PLATFORM@" - 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.19.1 - diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest index f7c3cbff1e79..9ade8b308950 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -7,5 +7,6 @@ EBUILD compiler-rt-5.0.2.ebuild 2840 BLAKE2B 4c6e6ca121bad66f69f272a1ddc8a515319 EBUILD compiler-rt-6.0.1.ebuild 2911 BLAKE2B 9ee423b460c62366af5525ab3b32cd2980aff78331a65b5658a50e0f808c9cb694d2e5d85bd753d291e1b5f96ab9e6cbc6a6d9f0cddcd9f7f8521ed5280f8291 SHA512 ecce0303d9db8ec0c74b3d0b248547402c32b7bceef52a5bb999f076c8fa82e209d5d113e6c14a1511e99dbf04bfd4d79077da1c010d9069a1bd284a168b26e0 EBUILD compiler-rt-7.0.1.ebuild 2916 BLAKE2B 2ee4babc2459a1073c19b43831c1d51ed9a3a40a7a543c992999e9f9475bf20710e17eee8d860af65806038e93151b8449bffeb7352d2266e04728ab1fafaa2c SHA512 7d4ad62cc476d53c6bb0a6282e03b1809119cb0466e468095398151efa9097d177365abe51c454a5039e5c5550935b7ce8b745458e8d88e849760db936d36e2b EBUILD compiler-rt-7.0.9999.ebuild 2949 BLAKE2B a5c0f6cf82f2bfcf79d0982f9f05a4c93931c5f4fcb05b0eab1a97d87ad542755dd7f56f5b327440cd9cef4926ef17dc0932fcc32e60a83a1634ac3622f64de2 SHA512 acf6fa98a75065222b89a1da36ffc1752ab920ddf521a9bdf55a4407c6d65e141c6c30117748c6e0ba41aa6f39df8a301d575aac455f6179695c4c9ef889ff3f -EBUILD compiler-rt-9999.ebuild 2924 BLAKE2B cf4a64f89ad620025fe423575b3117c69c64524d52ecd5d5a292f12c5c53eec23c631f7a7104ae101b6f5b38619d9b4480f92f922e5d36e399dd000617c36544 SHA512 5ef28c369a110e4423e346e128deb0b11805bd7086e5538b603a7644c62bc43e36a500c25ae9ee196622f24197b9bd94f405d487b62eb573208fba36d55d92ac +EBUILD compiler-rt-8.0.9999.ebuild 2946 BLAKE2B 3de0bf13d36b5918e8664bdcfe40e7b1f2f875f526bbaac36f5f1421f045cdff1d01bdcfabccfccb8f665aa068ad92eaa1b9ba800d688d3b8cb0bf306658f8a3 SHA512 af1b450b9bc9ae0e848c28fca2ee61365cb3613cfcb4eab2432121f54a7c5f4108dab5bfea7e84004039a487911dc6e67b1aedb0948fed7d27bb42dca4934b88 +EBUILD compiler-rt-9999.ebuild 2921 BLAKE2B ab782d0000a7bbcfd022ea522694f6cab46320ebc1f64fd028990dce3fc6ba54efb816d2023118b730d84e1b6ec3ba44fafdf0410157d088e966e01125ba63b3 SHA512 32e3c1355f663c8301b5d9f9f2616f0679a3b7eb51f763973d1d4c62d2adecba0ea20b01608d34820dd2a2ba490acef85e2b6e50af3169c992ffbc3c315d7170 MISC metadata.xml 333 BLAKE2B 24e417cb7b8ab7730b18a3e1e5e29d008042e4fd53cf1ba3cc9d18719160b0410854ddfae52315c690138e61fb0196015968fa09b98af6470cd8bdecc09205ef SHA512 97daa7452a696b7297c47f5f637a33425f82b51426060a75b3de6bc812f9ddcd3c70ae068bc3e88ce937ab1eb10d59b0ab48a2d2c0397a112b8b6a754e333bdc diff --git a/sys-libs/compiler-rt/compiler-rt-8.0.9999.ebuild b/sys-libs/compiler-rt/compiler-rt-8.0.9999.ebuild new file mode 100644 index 000000000000..6e1eec0d94f6 --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-8.0.9999.ebuild @@ -0,0 +1,111 @@ +# 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-utils flag-o-matic git-r3 llvm multiprocessing \ + python-any-r1 toolchain-funcs + +DESCRIPTION="Compiler runtime library for clang (built-in part)" +HOMEPAGE="https://llvm.org/" +SRC_URI="" +EGIT_REPO_URI="https://git.llvm.org/git/compiler-rt.git + https://github.com/llvm-mirror/compiler-rt.git" +EGIT_BRANCH="release_80" + +LICENSE="|| ( UoI-NCSA MIT )" +# Note: this needs to be updated to match version of clang-9999 +SLOT="8.0.0" +KEYWORDS="" +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}" + +# least intrusive of all +CMAKE_BUILD_TYPE=RelWithDebInfo + +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++ + # ensure we can use clang before installing compiler-rt + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + strip-unsupported-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/compiler-rt/compiler-rt-9999.ebuild b/sys-libs/compiler-rt/compiler-rt-9999.ebuild index 7e254d18763c..75c4024449f6 100644 --- a/sys-libs/compiler-rt/compiler-rt-9999.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -19,7 +19,7 @@ EGIT_REPO_URI="https://git.llvm.org/git/compiler-rt.git LICENSE="|| ( UoI-NCSA MIT )" # Note: this needs to be updated to match version of clang-9999 -SLOT="8.0.0" +SLOT="9.0.0" KEYWORDS="" IUSE="+clang test" RESTRICT="!test? ( test ) !clang? ( test )" diff --git a/sys-libs/e2fsprogs-libs/Manifest b/sys-libs/e2fsprogs-libs/Manifest index 7099a0a434c3..465b4cf2272f 100644 --- a/sys-libs/e2fsprogs-libs/Manifest +++ b/sys-libs/e2fsprogs-libs/Manifest @@ -6,5 +6,5 @@ DIST e2fsprogs-libs-1.43.9.tar.gz 595452 BLAKE2B 2f4c8b07abe343f304f3217984ec03a EBUILD e2fsprogs-libs-1.43.6.ebuild 1840 BLAKE2B a19251886cdef945b7ea5cfb7dfc48084bb716a4caa640a14f9bfde6b0477695cb441a580be4296a3aa8063940763d0f0a050904dc67e501990bdd12db754035 SHA512 5cf26cc9ccf3c3416f8723040aad5b487145d9bdabad8dd3518c287a92ddafdfb4deabfaa92424a709de9e7f794bc1c52d69839fd63e6c9ea687af9ba77e91e5 EBUILD e2fsprogs-libs-1.43.9.ebuild 1855 BLAKE2B c76037365439d40f9bb1f00c25149d124804897e46c90484d9661a71592559c727b7e2e1af526d7b5cce68ecb70bcf6fd99037548728598629dd9ab323d6649b SHA512 2f007b3f188fcafee57bb2631649991546fa247046341c4f3d50d9605180efbea87e1c03a7d7b3b39491d02e7fb59dc71034fe60f0697cda8ebfb13fa478db3d EBUILD e2fsprogs-libs-1.44.4.ebuild 2423 BLAKE2B 2905555ceb779cd996118eac6282b97cb248d830b696d1197e355afe10bbdef34be3e03c3b35bc9efdf7c063cc3096cc6c4ea3d1e8a95c35d15865e597660a73 SHA512 eff53431600c9fdfdb918a28da5bb7c1c3abfbfab0abeadfb830ce8cc52e0aefde5efab1c28b51652562917ec89b558b2986d6b16e58f0f523e5de8ac44c29a2 -EBUILD e2fsprogs-libs-1.44.5.ebuild 2420 BLAKE2B 967772531a054b46dd1e7b28238c2a93f22bf236d4867f172ccdd5aef7942af34b23b26ed7b8ab1d0aaf0d4037286cf083d7d9cc0eff370e0f181af021770a8c SHA512 1b5e13c790c429cc5763241e011f48e9f7ac52d2d3e2f24973f34355abe788b8aff1c92d53af00a7bde1d2acf0440f4a7231145d8eb494351038127c5fd45454 +EBUILD e2fsprogs-libs-1.44.5.ebuild 2415 BLAKE2B 64bc5c5c83217b3e76732390dee4942faca6152812ccbe66f1c1fe4c8b4b2c39b5975828f06ef8eac10c9940a50d54a3a9bc487e913e78fe28543b3f1025f300 SHA512 02e7332f5f1b7f3f5cfad1d25bafc8f0fa001e125ca5da6c2704ee75b4c1adb977bf48e0e321241e3131970ec08f449484ac4eb78bdeed173c9f845d824331c2 MISC metadata.xml 329 BLAKE2B 03dc6edded63d4d10b064515402e963a4770ffc36e17de351d5617849ea138796e4bf20c7feb383cc8ca3a88fba1caaf68b5411241a2558db832f9b659193644 SHA512 39e1ddf508b648594e45cd4e72a41997ab4ae7b5cfdefa136a18a1e68ac5a2bfb1f6a12328f1faee5501fbeff0c61cd91417de717c4869f530a18a05ea5d4c71 diff --git a/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.44.5.ebuild b/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.44.5.ebuild index d9cb9c6a4463..26fd697e5d1d 100644 --- a/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.44.5.ebuild +++ b/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.44.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" @@ -15,7 +15,7 @@ SRC_URI="mirror://sourceforge/e2fsprogs/${MY_P}.tar.xz LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~m68k-mint ~x86-solaris" +KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~m68k-mint ~x86-solaris" IUSE="static-libs" RDEPEND="!sys-libs/com_err diff --git a/sys-libs/efivar/Manifest b/sys-libs/efivar/Manifest index 5b38290c1d31..802cad6b59a3 100644 --- a/sys-libs/efivar/Manifest +++ b/sys-libs/efivar/Manifest @@ -9,5 +9,5 @@ EBUILD efivar-31.ebuild 809 BLAKE2B d0ca028356842cadf5f052aa86c8383de0ce22d42edc EBUILD efivar-32-r1.ebuild 946 BLAKE2B 815cbe5f43f3ffa65ee94d581b24d001b7f8d14d18b0ac831058555d12e1ac3e2bcca242f437d94326c35dc148154b1203088630e67b3bbc54fe8ec83b715921 SHA512 8c9c99a39b0fad8fdc4c96a24b281db6b1174c1dc4f9769fc789bddd0b0ae06ffdd36e7bda9f103240a136daace83883be0846de9d0975c2e9f002f2d3c01e46 EBUILD efivar-32.ebuild 887 BLAKE2B 753d7b2b7a44e0123a5eeafa8ccb861731872873a064c9e5981d5b2f8202fac9be0cdc7e14249e81f25289acb25579da4ccc6bc85c7a2211b58ce3e30734de22 SHA512 22baa7fe2befa4f1c1858e2d955e31043c46a9b18fa3b192c69874b150d1815e5febb53c0d5d78fa0ef4e81b271ab381fcb050318052f52c67cbc2d6f4e6ca78 EBUILD efivar-35.ebuild 854 BLAKE2B 9530db8cc261a2fb86502700764dbf77f16879b4746e210c064db97dc057c1c70fc9e16f52d888708dccdfe875a5127f06aaffdf975003ec57208602802647cd SHA512 ecaa5a9b57f6c62aa7a725eaebc53c93eb8df1a4178a6cfdd976cbff7f6eaf7ef2840d99a131afed9938585b8e2e5e2b853b8d2b4826dcf6653976b730cf4e86 -EBUILD efivar-37.ebuild 853 BLAKE2B 1fc3086d9955c8ac4b2179ab15a14be3c1e3f156e99db01165b9ea7b96d50b8e7b9952a7497d20c311839fa6ce7c4ae31c6bb960e89a80a322b718119cf07387 SHA512 17424db3ce54e388b4e1c5ea49c865ac8faf23d5a20a0cb7a58d79cef2bf9ecf6300129a5186452d2034c6502fd9fa65dc96e99955a9ef9cd7c59a9693ea5b9c +EBUILD efivar-37.ebuild 852 BLAKE2B 1c2125271fbf43908ba94726e47a34156251e0b388d7fd940889fd170a7ca638cf1b147e4393e39f3e1bb7347c72e47c667eb3e5fac017dcc53e23f456a40f96 SHA512 367c1cdb46abd3b0ec2d06de39c1c92ddb54680869920afd5fef54eb4c9b778722514dd2fbd3180a63539e303b42cdf527054096707a8cd1789f4d42eb0b53a8 MISC metadata.xml 329 BLAKE2B afbb6532a53f86d455f8e77511ef1064efaa3d231ddd9023176629863f396224f733f3b15a91465ecdd878542e1af189420d7125dcb7f1de65debd613f4182e7 SHA512 a349c5ce7e3ad96d816b52ee35e6547bfb1f4cf9ebd60426ac90b84d67adb0728ab9dcccf93754ad7c71614b0fbd82a1a02fc3fde07e15d12d960d1a7fc088df diff --git a/sys-libs/efivar/efivar-37.ebuild b/sys-libs/efivar/efivar-37.ebuild index ca9c71b8bfe7..237f2835e604 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 x86" +KEYWORDS="amd64 ~arm ~arm64 ~ia64 x86" RDEPEND="dev-libs/popt" DEPEND="${RDEPEND} diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index 053d35bfde0c..5030d40702eb 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -31,7 +31,6 @@ DIST glibc-2.26-patches-7.tar.bz2 413976 BLAKE2B 18263201cf33abf911eb7b802ed539b 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-6.tar.xz 89724 BLAKE2B f846534dc912f11ed9b22badfd28ef0402451654390756d2f6332f52ce7c2d3491ed90bbdf2553d7bb38caea6373ad2d3c19e4a1f31f3669948f4e2cbaeb1577 SHA512 f687febde875bb8adb7a61408caea3db99bbbda703eb3486c7d5c09540515e657eda406bf14686498e2c093355c72395502a343201e02cfc97adf6483d8e7455 DIST glibc-2.28-patches-8.tar.xz 97384 BLAKE2B 036ab39103aa30be61fcbb46a7103cf83c1dd490eeff526444d4701b92e06a428133de2d005d65a296f14f28145f143a2386f8b17df721174a0a0b5303e99931 SHA512 29695212d8ca9c4b6d4787f4919b75cb0828ddecce65d65683b746ed23acb50e4e18419a13bb6ee4a234f44f63b38a2eebf1f1ce3d350435c2bf21d6076a97a6 DIST glibc-2.28.tar.xz 16484344 BLAKE2B 9aa8cbd5a145c2a6fde3a60b3d0a14b12b46ed79333ad1ca3e73464adcfe700277a17a9e7fd0ca36e355a0c5b0b27decfa091da320ba802741ad75cc955bbcc8 SHA512 521f820953ff07c69ece4c2186f59fc061a7f9747932cd70ef2995c2b2deee76eeb6de700d85071cdca5949179aa8ccee75eda7feca1394121ec7b821ad0a3f3 DIST glibc-9999-patches-10.tar.xz 17544 BLAKE2B 1cd4fa14b2168e371c769c06a29f36d6dbd3beccb796788470b63282cb8e5c3c497e4eb3800e4bc86c07d3b82935d71dc96dc3155178d52b68873ea38a271a70 SHA512 bbd376ad87fb71de7a6a4eb28030aa1550f7cca57e521d2a326cab63a66e2dc784b93319190f8bb1b24b335acc604d0523c3ea8335a4424373796ebeb79f273b @@ -43,7 +42,6 @@ EBUILD glibc-2.24-r4.ebuild 4988 BLAKE2B 8e08345c96e176984b73a073efca21f771d41af EBUILD glibc-2.25-r11.ebuild 4975 BLAKE2B cef32f5d160644845e7cf45a9dd4c8cef1dcff8fca6b64c083c3e05d07533e445a6139939710b9284f7587bbf3977ca556caeb964e73ac21a382d942423d886a SHA512 f26645acc02f16209ec068641a800ef0a4ad2a422c9473e14a273fdece9b53074b837907d635a8585cf9dbb1acea14178166a4a3410aa4c70a745b89a764b6f1 EBUILD glibc-2.26-r7.ebuild 25496 BLAKE2B 3edbb2f56d81869f86bd357772c27eb9516a1a0fbbda024412c8588df0b7938c77afc46430ea8b01bfe012eb5097f58b989411d4953d09d9202c33eeea562708 SHA512 e28a2cf8f692e6526fcbee2d9317dbb4cb8a4c249e4b60ed5b3522dc8c4627248b4a4bad0c32192adf0f650f3f002b8e25ebc7038fe0daf959f0dcde0bfe1bc4 EBUILD glibc-2.27-r6.ebuild 41406 BLAKE2B f76ab4130979c09e19f0c7a8d796f1dbda896a0331c5209bc53d4f926fac22dafab33dadfe8c5f4fda3fec068f6f76101372e8b492a61c29db8734a0585afe48 SHA512 52ce249e2a20efb3fa012656249be637ff1059aec9981b85bd6d0311384e2427b15658fd156e7bd1f4032f01c90cbaa76bf5c485f35a80b0708cdcf21761df67 -EBUILD glibc-2.28-r4.ebuild 41164 BLAKE2B 993c0d17a661a5c1a4403be6ec344232f5ce5831e599f6ae6d1ed156234a21e85e4bff1d43a63e5c70aab031edc5439673e755d88f9dc313f3e5e28be732af20 SHA512 c51411a717781762e68078bb77fbe18ccd80164ba6f8a63cf690994466ef02c056b7a76fd40dca4a9fd95f42278e4d393288bb2d6825f57b8423d5679d759f47 EBUILD glibc-2.28-r5.ebuild 41164 BLAKE2B cae79079841d39b38ea84a5b4d844ef1365f10ef2c890599ffea131db39f9d8c2c80c5aaaf2c81945122fa79f7568896c803adc40b8ae63136c233f6ae27f36b SHA512 32700d26887dda84f061bca006fab816d1dfde0cc5c8b0c93bf7157a9e93e8a287f64722e819ede8def50f9fb1d2fc231a6fa7b6813fd171484f9d6ea9d7a8db EBUILD glibc-9999.ebuild 41110 BLAKE2B f10056c1aeeaaae9af5510aeba211f448e2b0e6525e74c7162bd0a3f7afb471ef09888128e4d5a07b9cb41195650d44a3a5c5deda2b8033744aca7486c67fab9 SHA512 8e3b77823ecc335a2d31a52ea0140107cd0f01896d59dc4c18c32a4b7abcd135c26ac9cd500e86d1732cbe525fd487cc012245684f588f43c3ea44288f89a8d5 MISC metadata.xml 1265 BLAKE2B 0d494de7b6fda57a4f401eace7b8c02c4ea78a65a1a41a4a1c33b48ff0960f5e240ffbacbc3191bc0d463bcf3ef9e6b374c7b3d7482c5ca1b3d8d2b9b88cef88 SHA512 f92825278b07ef97cc8aa50ad342c1433e02bcbf6911bc8d6a890fa30e7f225fdee036c74db26d656023ba0d79aa828455b754b66775b0d7b2a290bfedce50f0 diff --git a/sys-libs/glibc/glibc-2.28-r4.ebuild b/sys-libs/glibc/glibc-2.28-r4.ebuild deleted file mode 100644 index bbe2505ad886..000000000000 --- a/sys-libs/glibc/glibc-2.28-r4.ebuild +++ /dev/null @@ -1,1411 +0,0 @@ -# Copyright 1999-2018 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" -RESTRICT="strip" # Strip ourself #46186 -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 ~sh ~sparc ~x86" - SRC_URI="mirror://gnu/glibc/${P}.tar.xz" -fi - -RELEASE_VER=${PV} - -GCC_BOOTSTRAP_VER=20180511 - -# Gentoo patchset -PATCH_VER=6 - -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 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 - -# 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-apps/sandbox-1.6 - !<sys-apps/portage-2.1.2 - !<sys-devel/bison-2.7 - !<sys-devel/make-4 - doc? ( sys-apps/texinfo ) - test? ( >=net-dns/libidn2-2.0.5 ) -" -RDEPEND="${COMMON_DEPEND} - >=net-dns/libidn2-2.0.5 - sys-apps/gentoo-functions - !sys-kernel/ps3-sources - !sys-libs/nss-db -" - -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+=" 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 use headers-only ; 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." - 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 - 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 - - # 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)" || die "make nptl for ${ABI} failed" -} - -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 || die - - # 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_strip() { - # gdb is lame and requires some debugging information to remain in - # libpthread, so we need to strip it by hand. libthread_db makes no - # sense stripped as it is only used when debugging. - local pthread=$(has splitdebug ${FEATURES} && echo "libthread_db" || echo "lib{pthread,thread_db}") - env \ - -uRESTRICT \ - CHOST=${CTARGET} \ - STRIP_MASK="/*/{,tls/}${pthread}*" \ - prepallstrip - # if user has stripping enabled and does not have split debug turned on, - # then leave the debugging sections in libpthread. - if ! has nostrip ${FEATURES} && ! has splitdebug ${FEATURES} ; then - ${STRIP:-${CTARGET}-strip} --strip-debug "${ED}"$(alt_prefix)/*/libpthread-*.so - fi -} - -src_install() { - if just_headers ; then - export ABI=default - glibc_headers_install - return - fi - - foreach_abi glibc_do_src_install - src_strip -} - -# 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 - # Reload init ... if in a chroot or a diff init package, ignore - # errors from this step #253697 - /sbin/telinit U 2>/dev/null - - 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/ldb/Manifest b/sys-libs/ldb/Manifest index 45c48d2c8d58..61541b09cbf0 100644 --- a/sys-libs/ldb/Manifest +++ b/sys-libs/ldb/Manifest @@ -6,6 +6,7 @@ AUX ldb-1.1.31-optional_packages.patch 2022 BLAKE2B df114c2248602d64bfb75c6910fd AUX ldb-1.1.31-talloc-disable-python.patch 1706 BLAKE2B cc447f5077c82d7eb584692121b9b34c03afb5f7dda2b799ea518d08421d31ce54fe2422c5ca7efe74f66011951c97b171a326604bd67446a15ad2849bade919 SHA512 ac0bf82e8ed8b918a5efbdeb0a6cbaaef22bb72231abb09026637d62b8ce35b25212960d26c07abe63661328ab7ea8a82590cd93f04de583e23239211daf6efa AUX ldb-1.2.3-disable_python.patch 2632 BLAKE2B c46ac5265168b37e94730b3a8a30b49199fdc722492248a69eb23306761df5764667e5c2e1f09e97c06a7c2a7932a8cdd047fb2d9d8e2ba9cff4d21bee148b06 SHA512 3b32d478318ef37fd221b06f427f0efce943c6da9a0a58b92ad935657fc29105b1ab79f2c9d1e1fa24cd6c4e8b701e6d631cbd04b3ebed8adeee47c4510f89a8 AUX ldb-1.4.0-optional_packages.patch 1662 BLAKE2B 3d6c8c31ad53b62a999934d1994475e502e83498df86ca590b560dc2bf34e6cce7b0896f2d747fadaf69da277b116f1cedbe27443f75e85206d482bd1df3dd15 SHA512 7e26631f93dbca355eaf08e32bbc95eeabdf196e75ba8cd0618ef8c772f17661e68e307d8742dabcde34ebe02aaf50c5ad966b77e862394f0683279babbdfb01 +AUX ldb-1.5.2-optional_packages.patch 1441 BLAKE2B 0b9413cd9690aae2b2eb26f097d2509c0bbe0fc59f81bab22add57ffe0c603a8fb0c9be038d06693dcbb1d3817d4ad97a5931120b18bd9783efaac599fe0ccbc SHA512 2f313c3377385279ca3da6db21d926df0559d971e1fd42f8cce57b4001078c3817f472b85088a1f3b0e5ddcdfbbfd943199485d6e4a00412f62c883c6ea04afd DIST ldb-1.1.26.tar.gz 1262660 BLAKE2B 66dcc38eb97fe4357d06b301ed1de5cf868adc5f33ea8341a7cbdd5be45c85c31cda58782a66daf9fcada9d873971fc29556f0c331794ede9fc2a7f592480f52 SHA512 484689c5b87f223820e3613c056de5528a87736baef7b884df506fc47a3412b35ba2ef8e85f62e2d3da803fdab6b37bb328d4347a20bfc8fef8ed557646b6bbe DIST ldb-1.1.29.tar.gz 1277551 BLAKE2B 449333d40073fd63d6d013ba0ae43fc3a0b8201948eabd440d164d182492002c1d92047d652105c2fb6a3e8383d4b75f45e38cc52efc5d9a0e2811113676203a SHA512 d37bbe84358e05d17483e2e963b8477da5ea351b855b454142c94af35f7987bede0f19faeaff17779efe04e3bb37c510437fcc59be99a17c826620fc25fd659c DIST ldb-1.1.31.tar.gz 1337586 BLAKE2B 9454f91a621368cfc7cfdb709781653e947d63b275bb3b288049acb43ee3c02ae4f0be820ccf9e3bb32938d12598a91b7a6292b08c638ccfd59bd1be182f09c0 SHA512 49ccd57000cbcc6d828160f4457236b28853d766d641841471f61226156b6103fe563c43c950577b038ea3c0a54506bca94c640d3d5f912a3b8af95eb9ef2824 @@ -14,6 +15,7 @@ DIST ldb-1.3.6.tar.gz 1374574 BLAKE2B 654f35eb25aeb373540ead7cb10da66c92970ea6b1 DIST ldb-1.4.2.tar.gz 1427857 BLAKE2B 5a90b31b4760f0504197d3cefdb16f7d4099df660fe75c5d80907e39abde8abc6b87cdb117ee9213abf8287932c18782ab153d87bb609cb1f346231e6e00997c SHA512 f2b44cebd0f8c77926aa364d9ac4ea37da4a780b94e7f9fba7a55fef825e90e469a3230e56cd2b23ce4f6b528dda9041863e4af77bb0826a117e8317a0b79070 DIST ldb-1.4.3.tar.gz 1428730 BLAKE2B 1e0fec1aeb05ecd34b7dc88d85425b646ab28804245543256c575a44c1a321e873d74f623b1a003aec878a808d6bc967ff57e8115650f6089278d55d586c7e6a SHA512 081dbc23e810213fb60fdb07c7f3bf1ec8849d10483c5cdabb8add2568d4f80d03bd74d7be3fcf9bb853eaf25aa6bbb2d69cda3f55dda0270978b051da315cb2 DIST ldb-1.5.1.tar.gz 1432221 BLAKE2B 1837a74b33b5f527bdea0925de2908fc58bb6ca713bea89cefec9dc9809bf40d107352926ed34dabb333f37533e599b142a36989ffad862b0a89e786ab54c434 SHA512 b7815da51944d4e61617fafac0417e57baa59c9dd3dfa926d5ef9072a95351562930150c691a23b81526697bfba3ffe10a75ead406bf5ffdbfc511d1861f984b +DIST ldb-1.5.2.tar.gz 1625665 BLAKE2B 612abb1e31f9fa5321824e40f627d8a498f871386cf51d83c03cae429c2895fc1747d551166ec64ae07751a3b9ddd1826b5cfe1ef7ee4b5460682e8ebb466a34 SHA512 5dda5935437a82356cb84593f5be0d22289a87da7460b24dbc0673e01614f0cc40859328c3a5da858f3f2dd173f2b214743ec709555bbfef09342045b37f3a6c EBUILD ldb-1.1.26.ebuild 2354 BLAKE2B d2842c0d9fab64092bdba589836f0e488ba3544bb4b74946c6aa881036dbcfba82ac94184ec04f3a12e752d065da61f3c1b2898b053dd260afec6cde14d2112d SHA512 195f61f5c6e120d159ec222105d2652b160a7a6c0aae1c6c97967a65cfca59acff8e895d121f375d3eefa7604e5b26fe84abc6136bf882ab6b100a838b44ee67 EBUILD ldb-1.1.29-r1.ebuild 2557 BLAKE2B 6f23b14f5c826708addf796e96a6513cfac6c8b06609e3335cc3ac0fc551dd68ebef6f3f08b6bfc272af68c32ffc98af392292e891ece3ec16dd11dc87e1cd38 SHA512 165ab8aa5d0fb02620de597488e48048de2250a264c72adb31f044543b301a2584b5eddb1b75e7788d2501af67d74b7eda2e223f2732207ff0d381a185c26edb EBUILD ldb-1.1.31.ebuild 2691 BLAKE2B 240d2ccb3f152cbd134b3611d6db02185d6bddf7980b2a816d822fbb924817b798860edd08373d7eb452e451454591a7ce9db24a4475daa210b9e1ce014c14ae SHA512 368998dad5aa47bb8b971936aa5104d1ea5e7a594cd80af79f55e56cb49c2b28aa0322c15781f121bc4aef15d43e56690df324bb0900a7a15eac522b821d5872 @@ -22,4 +24,5 @@ EBUILD ldb-1.3.6.ebuild 2565 BLAKE2B 34dd25b463c9a196814a80b85f456679c84b09d1cd3 EBUILD ldb-1.4.2.ebuild 2666 BLAKE2B 2a516abf165389e8816f96078ea5f2d0588b36560e79398abf466373ff8f8885a415708642246e8849bc4e11d054213dae2763eee37b5b331c53d099f8cdf614 SHA512 0ac6f804a59452e1fd9a7300ef661ebf181366c356bd8e1c60e2fa646df1878cbb0bbcd9a71b695170a3c62130712ecca86bebe7a994b211bd6877f46b392a16 EBUILD ldb-1.4.3.ebuild 2663 BLAKE2B 4bf1c9db5af109b5e46f34341579954f75563049e268c22e56f8e604693d7ca450b7680bd00d4037753aca9b4e2dfd591794432268b3298c63af9fbe17590a8a SHA512 526a4c7bd31b2d64576e7e81ba3fab6b750131ea9d359c95f85f123cf631b623284c35814fe5eea12839ec959c2fdc14c95ecd79c13e39690a6b30f5de250837 EBUILD ldb-1.5.1.ebuild 2663 BLAKE2B 4bf1c9db5af109b5e46f34341579954f75563049e268c22e56f8e604693d7ca450b7680bd00d4037753aca9b4e2dfd591794432268b3298c63af9fbe17590a8a SHA512 526a4c7bd31b2d64576e7e81ba3fab6b750131ea9d359c95f85f123cf631b623284c35814fe5eea12839ec959c2fdc14c95ecd79c13e39690a6b30f5de250837 +EBUILD ldb-1.5.2.ebuild 2674 BLAKE2B f101c9b25c1886830fff9dc9ac6668c1a9515f103ef62d53441621ab9efc5cdd08274f61d52185c35cb25f4f707d367bda8a65724fb0449790b564f3087b3018 SHA512 f3c5fcd58067c58d0395f8ac07d1a0ab20adcc33af5b0368847500eb12ca75495f1e3d92e1f4a2361cc7dd3dba0d3cb41959012cfe37364e3b2f77ca2d454953 MISC metadata.xml 445 BLAKE2B 959f0dc450ab8518bcbdbaf2802a3660c180e0eb95028e7b13fb0c0c0b47c8e68a81a1c970ca023ac441a1c43027b4b567c3643519b7c33ac6c0d1e11dcd0ff3 SHA512 b701ef9375735fb561c2e7c46ad13d30b62739fbf780e4343882898ecf13961e4f8381997109290e70a79993692aec2adc602bbc4bb9c881780349bebc75e4e1 diff --git a/sys-libs/ldb/files/ldb-1.5.2-optional_packages.patch b/sys-libs/ldb/files/ldb-1.5.2-optional_packages.patch new file mode 100644 index 000000000000..bdceeb3c4344 --- /dev/null +++ b/sys-libs/ldb/files/ldb-1.5.2-optional_packages.patch @@ -0,0 +1,40 @@ +--- ldb-1.5.2/wscript ++++ ldb-1.5.2/wscript +@@ -33,6 +33,10 @@ + opt.RECURSE('lib/tevent') + opt.RECURSE('lib/replace') + opt.load('python') # options for disabling pyc or pyo compilation ++ if opt.IN_LAUNCH_DIR(): ++ opt.add_option('--disable-ldap', ++ help=("disable ldap support"), ++ action="store_true", dest='disable_ldap', default=False) + + opt.add_option('--without-ldb-lmdb', + help='disable new LMDB backend for LDB', +@@ -40,6 +44,10 @@ + + + def configure(conf): ++ conf.env.standalone_ldb = conf.IN_LAUNCH_DIR() ++ ++ conf.env.disable_ldap = getattr(Options.options, 'disable_ldap', False) ++ + conf.RECURSE('lib/tdb') + conf.RECURSE('lib/tevent') + +@@ -157,9 +165,12 @@ + if conf.env.standalone_ldb: + conf.CHECK_XSLTPROC_MANPAGES() + +- # we need this for the ldap backend +- if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'): +- conf.env.ENABLE_LDAP_BACKEND = True ++ if not conf.env.disable_ldap: ++ # we need this for the ldap backend ++ if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'): ++ conf.env.ENABLE_LDAP_BACKEND = True ++ else: ++ conf.env.ENABLE_LDAP_BACKEND = False + + # we don't want any libraries or modules to rely on runtime + # resolution of symbols diff --git a/sys-libs/ldb/ldb-1.5.2.ebuild b/sys-libs/ldb/ldb-1.5.2.ebuild new file mode 100644 index 000000000000..b830ddd3c71e --- /dev/null +++ b/sys-libs/ldb/ldb-1.5.2.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python3_{4,5,6,7} ) +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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" +IUSE="doc +ldap +lmdb +python" + +RDEPEND=" + !elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] ) + dev-libs/popt[${MULTILIB_USEDEP}] + >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}] + >=sys-libs/talloc-2.1.15[python?,${MULTILIB_USEDEP}] + >=sys-libs/tdb-1.3.17[python?,${MULTILIB_USEDEP}] + >=sys-libs/tevent-0.9.38[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} )" + +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/libcxx/Manifest b/sys-libs/libcxx/Manifest index 3f1059c9858a..2108867d152f 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -16,5 +16,6 @@ EBUILD libcxx-5.0.2.ebuild 6502 BLAKE2B d6b0b4b2fc3ca56858c2b785da51187964074d55 EBUILD libcxx-6.0.1.ebuild 6746 BLAKE2B 616128b9d49049ac6de90b84f89a48c7033f5927edc5e15674df5e3a2225630f59a99c8047c71d9128304d726241ceaa1cefabf8d44e4b2d6a491611f63bee88 SHA512 3df9e7e79b62893441212fe7baa51190ac69f0bf64332718ae53596a043dc3583b8125bbcf7339cca7cf9937aa870ea0d8b12670700962c1cb22892f706e3129 EBUILD libcxx-7.0.1.ebuild 6750 BLAKE2B 0052def7166376e81fdc4126220bc6749113e43b2fd66f6e447e020f6bbb6b63b7519e3656c79793837c5b105e2606f34b1d23e78bf4dcd2c892f79cc32b2101 SHA512 f16905c20b669428f1378185072563f855ed03520057039ba794fc717f0ca2cc44bc1c1a78aa24bca688946d5a32e2843163198e4085396e668f4c695f5e61e7 EBUILD libcxx-7.0.9999.ebuild 7047 BLAKE2B eb80753b38042cdb3ae3f01db2c4dc9bc7a588e00bcf1d7da85d3c30c73e941bbc1096d9b6be67c21dd47874354f909255a843371cb0fe9f479ee09d3439b292 SHA512 ae81c9c856f39dfef3dec1e66decab8b20987eb82c4093b6bfda2937c5111bc6a24058f95a92b3a3beb0b91df6f5bb83216ff4997a0be8fd7d28b8f29f91290f +EBUILD libcxx-8.0.9999.ebuild 7044 BLAKE2B 12185d3065a0cdecf4b6eb2c7eca5f70a2a1732214c77c4e695418ffe5bb39273342088fa4cba2504a411db8ecc8543d219a932d5f022383197df7d4b84b1e1e SHA512 57f565cb1652c53e08ba21776dcf1707061697937533c5e447bcff37cdf274f54525ff59112a1bf54a25d39477e20f0dc7dbdf4ad71846266c06a0002d1c0980 EBUILD libcxx-9999.ebuild 7019 BLAKE2B ea929ac8759c5b70e48fe32ade6ef24c2ce8830be6bb5a35411a654212c7b2d127ecaa2a94bebbbb01807ff57c7d814379f23047c206d265d917958478df54b6 SHA512 5dddc6b30accff0ad414953ec2cd177ee5b151106282113687a2977c00b1a85e7151f772000118d341d0074ae91875b8ef1bd0e03de1816875bcd289b03d14ef MISC metadata.xml 854 BLAKE2B f731ffbb07722face32cfe5ef0576c572fc45d93e8d78ec4adb46c43b95999dc4eb48f20311517fe08a397f2e5dec56c530bb6787a058358cfd1af8d79ffad90 SHA512 8ef3feab266e09442a42baced2d72667fa8b1290624c2c84bab7b173ead72669568847f6e995388fc1d7bc722381f60805d87b2a0cc2d04ae0c49e36bec3802a diff --git a/sys-libs/libcxx/libcxx-8.0.9999.ebuild b/sys-libs/libcxx/libcxx-8.0.9999.ebuild new file mode 100644 index 000000000000..523cba0073ef --- /dev/null +++ b/sys-libs/libcxx/libcxx-8.0.9999.ebuild @@ -0,0 +1,227 @@ +# 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 +EGIT_REPO_URI="https://git.llvm.org/git/libcxx.git + https://github.com/llvm-mirror/libcxx.git" +EGIT_BRANCH="release_80" +PYTHON_COMPAT=( python2_7 ) + +[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM="" + +inherit ${SCM} 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/" +if [[ ${PV} != *9999 ]] ; then + SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz" + S="${WORKDIR}/${P}.src" +else + SRC_URI="" +fi + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="0" +if [[ ${PV} != *9999 ]] ; then + KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +else + KEYWORDS="" +fi +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" + +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/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest index 673825bdbd19..25bcc205042c 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -16,5 +16,6 @@ EBUILD libcxxabi-5.0.2.ebuild 3193 BLAKE2B b1157a436e40da0b67d012c903b9a137f3544 EBUILD libcxxabi-6.0.1.ebuild 3172 BLAKE2B 0078aa6ca753285439a17dea5af0c66a991a1844b7bd487c0f51b95d9c8007a4d077515d3282cea8a044692a3d14f869f2b651bed3a7ba5e6acd20629bfd2e5b SHA512 b1168935e250e2a83356061456bef94635a1bb797abeb725f201298de3f6c90e285714799de4d79f30bd33f2a9ad9cfbdad2f4339100023485aee4554c36c133 EBUILD libcxxabi-7.0.1.ebuild 3176 BLAKE2B c2993747161a2232090de704000d4002cd335c51404d580ab9787cd256b73eb487d19d3579ed22b46f9634c0dca8a20576a27e283d0843ba99cab0bc235b9908 SHA512 338dc004836e27f78f4956bcdbb8ba3d53327f59d2d3ac47290413a462a2752fe9d2b33ef3c7677e749004ff58b5526e7042ac9ccb1b56d92cc0e67511b83346 EBUILD libcxxabi-7.0.9999.ebuild 3288 BLAKE2B 1c2f5f25a232d6e9a34fbb2b93a3d447542d770938fe8e8052a6e4e5e499e95e78033c259c674a1ebb3538577452c709c760f8a258d86c139a3b02857a63ec05 SHA512 add8b1705623bf5e4e6e504995f88cad05d1dbe57d5d803a45c13e49f77e8e45cd2c85e821d27ffc59d1ef8d7a216767f33019c6e8cb13e20f0075b0430f9e1d +EBUILD libcxxabi-8.0.9999.ebuild 3285 BLAKE2B 3b5ee2037761fcb1a9c90ca11f7e4d371622ec95e468b0fba6545df8c6eb6482f5ca2c5a8d46671ee7219fd99c2a729e0667939170f26ee5f4735cdf59010b66 SHA512 c45db120d7713fe9763da17cdaf2401da3c7d639bb2041fe9b5802667ae240e444c971b9914712be5eff740729b47d65b8d8f7079e4d12ec98eb8a0203220a05 EBUILD libcxxabi-9999.ebuild 3263 BLAKE2B 26e1877ef423b0f869b6033601c584599c00f6f46b7296ba213ff080bb060c81995a2be2693b16b73e94c979c46fa5632b0fcf110ba2bc86c1b8f30bb548f74d SHA512 28ee56c5c823aa82e02e7fa680455e425d2ec5c4ae4c98c82a18f7afa1d0a663d22f4a85299fb44c3c10d5367bf33637f68a70516b02c6c206293038a65e22ef MISC metadata.xml 350 BLAKE2B 67b70b8d7292327882a845b76667ce24fee728cd84f27ed7e329bc7963631cba4c28bafce5e6a5fefb4ba1df5c7fd572b3b0d7a2b31ef649496f2f991b691bff SHA512 317dd7b59a711dd0461b5369f7e31ea196882b018e047e1dbae8077274d06cb68542c8762efb852cce0b8021bedea69c19aa0c124b9414a36cf1a9c00e0b9703 diff --git a/sys-libs/libcxxabi/libcxxabi-8.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-8.0.9999.ebuild new file mode 100644 index 000000000000..d97e01f1e829 --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-8.0.9999.ebuild @@ -0,0 +1,122 @@ +# 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 git-r3 llvm multiprocessing python-any-r1 + +DESCRIPTION="Low level support for a standard C++ library" +HOMEPAGE="https://libcxxabi.llvm.org/" +SRC_URI="" +EGIT_REPO_URI="https://git.llvm.org/git/libcxxabi.git + https://github.com/llvm-mirror/libcxxabi.git" +EGIT_BRANCH="release_80" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="+libunwind +static-libs test elibc_musl" +RESTRICT="!test? ( test )" + +RDEPEND=" + libunwind? ( + || ( + >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}] + >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}] + ) + )" +# llvm-6 for new lit options +DEPEND="${RDEPEND} + >=sys-devel/llvm-6 + test? ( >=sys-devel/clang-3.9.0 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" + +# 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() { + # we need the headers + git-r3_fetch "https://git.llvm.org/git/libcxx.git + https://github.com/llvm-mirror/libcxx.git" + git-r3_fetch + + git-r3_checkout https://llvm.org/git/libcxx.git \ + "${WORKDIR}"/libcxx '' + git-r3_checkout +} + +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/libomp/Manifest b/sys-libs/libomp/Manifest index 1cad8550b2b3..c26d475ad194 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -8,5 +8,6 @@ EBUILD libomp-5.0.2.ebuild 2392 BLAKE2B 18b10357f48653d53a6a2ff6a8af75721a0fe774 EBUILD libomp-6.0.1.ebuild 3257 BLAKE2B 44eb78a362f0a88c2096e5dbda7e11f94fa02f08cc5919f533e9f19e09d573d4d9921a3939eebc776b40f777cea5676d270e5e91434bb8430e9d1f445edddba2 SHA512 99d7f400c7ff76cdcdc8609e733baa4b69e3f87a131355da3f353b5e8f244f531717372f146cf57dc6d5230a1be27cecd7e00069780c53c43edfb3152e793ac9 EBUILD libomp-7.0.1.ebuild 3262 BLAKE2B cd2b359eb354dd9390f749c8b4a91ef07590ef7eab98c3e03252e25b8680206542334cd07e1bca95c250b381fe07834a99396b5593a2c80ac3ad3bede0bc4f6f SHA512 c4643617f58e135f9dc9b833d0cac8eefaf386eb2a92c6441a5d5fc34af60cf13969dd83dcbdba0e5c799afecc14ee5a2a5bd804f88ff2e3a109ebe938a787a7 EBUILD libomp-7.0.9999.ebuild 3230 BLAKE2B 600cece5328bb4dfdf2a4f99f7d3ddd28334e41529f59c6379ea9e1a2a8661abdb14f2cb5b6ec3bc98979fb70e5be1f433fcb63dce5de57d47e955dcae172334 SHA512 84955824d6fc4f8f62cafcaa931940c99b0ee69b9c91fa2102b983a230a22a2a882f1f9d1840888ae317193eff3c9adb7906f68db1de7fcef52880d6c36b1ad6 +EBUILD libomp-8.0.9999.ebuild 3227 BLAKE2B 70f184f0749b7abd46ab236e95717f8d917af98806c0574e878cdf74238da185d7887e56b14c29b3767eb988c66ce5d9e786dd3d067a0a6612a3b2813b05d72c SHA512 d1f6862436037ddb67fc630034684a85d5507b19d655ab8258ffd778498efb31fa9131e290f4f4be6ed2765160165484b3b5b7909064c0b527fefed0e2d01215 EBUILD libomp-9999.ebuild 3205 BLAKE2B a8bca945602ba1b5045f473a2caed666242ec3ba75440ec6ef98ebdcf1fbf146c775baf142dfc47f676946b90c0a3cea797d7fdade4565d3467ef7b5b5481001 SHA512 4021e79b4057c3a86ce3f330f8532a3cc566ee64c9894c9f3c2bb402bf37431717105a5601b11c7413e71d965657dbdd6be2d215d4bafaba916fb0b371270cac MISC metadata.xml 825 BLAKE2B 07802144018f2f74b0927b53a346f99cbc7e36dbf501bb8dfc786f8d549c10eb688afafb1759f13d4d56d10f1bcae67dfa86cc2047cc39a9655a09a22e9a4260 SHA512 de43d5be94a5ea1cdfd3ae747d55b50d5d6ee577743f55d006d585d2d5acd5b3100845486ac415685f07361cd9985bae9347fff9c65417d198c49a61b4f6ba5e diff --git a/sys-libs/libomp/libomp-8.0.9999.ebuild b/sys-libs/libomp/libomp-8.0.9999.ebuild new file mode 100644 index 000000000000..9bc57b4ecb37 --- /dev/null +++ b/sys-libs/libomp/libomp-8.0.9999.ebuild @@ -0,0 +1,116 @@ +# 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 git-r3 linux-info multiprocessing python-any-r1 + +DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" +HOMEPAGE="https://openmp.llvm.org" +SRC_URI="" +EGIT_REPO_URI="https://git.llvm.org/git/openmp.git + https://github.com/llvm-mirror/openmp.git" +EGIT_BRANCH="release_80" + +# Additional licenses: +# - MIT-licensed Intel code, +# - LLVM Software Grant from Intel. + +LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant" +SLOT="0" +KEYWORDS="" +IUSE="cuda hwloc kernel_linux offload ompt test" +# CUDA works only with the x86_64 ABI +REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )" +RESTRICT="!test? ( test )" + +RDEPEND=" + hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] ) + offload? ( + virtual/libelf:=[${MULTILIB_USEDEP}] + virtual/libffi:=[${MULTILIB_USEDEP}] + cuda? ( dev-util/nvidia-cuda-sdk:= ) + )" +# 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 + )" + +# 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/libutempter/Manifest b/sys-libs/libutempter/Manifest index 32ad4f36cb44..1efb45551440 100644 --- a/sys-libs/libutempter/Manifest +++ b/sys-libs/libutempter/Manifest @@ -1,3 +1,3 @@ DIST libutempter-1.1.6.tar.bz2 15705 BLAKE2B 147bf96990913019c35565507eb635ba60ff5ed67134805e9f146f8f70882615ff96d7b2e52b40fb73110905afb87893a72bdec4327d879e5bdc2ec1d39ff9f0 SHA512 6ada410b981d157ae20b578de8ce20997ec0446ec6de6859549b080aa65976fc9900d211600dab09dc3d0d109daabad0994a648b093b8781b442ff26ca17fede -EBUILD libutempter-1.1.6-r2.ebuild 1701 BLAKE2B 8b4877016d23794374fb96067ae3e1dd32add78f7aaffa7978ec5ff3a32a3a620f9f503142cb8419044179cf30b7dfe9afd4212f789fb1f5cd0e902634afa0c7 SHA512 4831c68a45394cbc38ee84a5b62547eca87f989be444189670cc5493e76aafddf20b17c4e1ff099d8e8160da090a59c340fe73df3908b370badf9ba03eb1dfc2 +EBUILD libutempter-1.1.6-r2.ebuild 1700 BLAKE2B 816a23d7d191ec7d86e700ca0c39c01994c21847fb088de981774ecd8860f4a8d63387ca47ecfa0d5972d34721cfc23fa947df15475287f4fc9777439248b2a0 SHA512 0989bf1f30a55aea2b98c2943c6d3d450bfccd7e2fb26dc38edce1dd46e5ad3cf5be53137ebbb4cd0cac7fec632a36b5c522c592e1973f455af48a6b23500b1b MISC metadata.xml 344 BLAKE2B 090f0e14a3a7fec427cbffa3abc85b6caf242a4f471358ba0614a23682a183a2ac93fd4d6695ab0059b0c7e5573d8429ea4600506050753e2ceca3c1217c394a SHA512 77307533cb1ddb71561957493f7062330c1748f62ab1381f369c5fb864f0e2a6608cfa5c86005b816c2a9a2523bb9a2264c807f1d6c31a5e2bb6177876b94ed9 diff --git a/sys-libs/libutempter/libutempter-1.1.6-r2.ebuild b/sys-libs/libutempter/libutempter-1.1.6-r2.ebuild index 5e7ac7cbd6a8..c9b09addc178 100644 --- a/sys-libs/libutempter/libutempter-1.1.6-r2.ebuild +++ b/sys-libs/libutempter/libutempter-1.1.6-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="4" @@ -11,7 +11,7 @@ SRC_URI="ftp://ftp.altlinux.org/pub/people/ldv/${PN}/${P}.tar.bz2" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux" IUSE="static-libs elibc_FreeBSD" RDEPEND="!sys-apps/utempter" diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest index 44dd5df0b412..989f20406f83 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -11,5 +11,6 @@ EBUILD llvm-libunwind-5.0.2.ebuild 1094 BLAKE2B 3378498096da36b9cbd6e70c9f2646cf EBUILD llvm-libunwind-6.0.1.ebuild 3742 BLAKE2B a2e7fc30c8084cf48c4fd795c78351081cd58408eb8f60fe8c09bf8b87196c9e4fbb471da223f36369a25eecd8cdd6d92abae5cd7544729c50c47c55f0232c6a SHA512 6367327da3e0fae97282370e2762382588daf6e59d9f8ec882d52b974cb9bcd5209dd1f37a7c9e94d15cc411f4212b94b332aac5dd3d652ebb38893f74df8391 EBUILD llvm-libunwind-7.0.1.ebuild 3746 BLAKE2B 5f063fb9affa4730b2310d4c79d04699744a18cf0470e4a7463372f94933df9604727ad0e6d68097d830b48f0bb66228a5601a30655004e3cf648c00684cbaad SHA512 87766c87aaa2fa5c186fae3aa97692448da5cfca29510b428c8d69e0803e37a8d41b03dba68b8cf734f7229bb023e444fe6e3f26966909dfd2857068351b9205 EBUILD llvm-libunwind-7.0.9999.ebuild 3885 BLAKE2B b4b67285b574900596fe96caaa7733569686e2ddf898eb506b509de25895798e5521377c06503c8206517016a11060913399584072758114b9f0ce9c9f00cf66 SHA512 0e47757fb33b1b59cd8d989953b34ec22f01f993ce5e91d3390551a6b8b83df7678c4e747f297dbd1c76a21f99d1a1309b024b754d60e9b8fe8b3e606bc3cec0 +EBUILD llvm-libunwind-8.0.9999.ebuild 3882 BLAKE2B d779794a7428fc30151b688c0f207812a7919f2b6ccac4d424af11f4976d664e3fc9cc8eda569678f6ae7bc5bbf45a60489dc39d4798f43c3b60e18ae20e7b1a SHA512 8fbf23c4669f8078e6ed91a232ef4e86cbffacd9081a728659d2ce40204af425bff456a45c8b411752e318ad7a6903c8228e53383d2495538cf0384d270b5684 EBUILD llvm-libunwind-9999.ebuild 3860 BLAKE2B 177f9e223b61e3bd3a6fec78ff0b3d2efa1220228d55f78eb41a200518441d8b617998f13642338e91ff3f56dd224c1e1382df5031060c1783440ad20223d069 SHA512 b0cdcbe531188ffa9f7e294136a9238a79441b0768144116784fbf3e647b3fef11eb6a4e5569f08e7e7092d4aec46843c15a1c2b3b96ec63ee64028a0fb29c83 MISC metadata.xml 302 BLAKE2B 1cdee7813ed9a3766b2eddccd14f9e0576ba5cc7f812d7af4f35c8c2e5991790f3800c6473c37da90d72804832fd9af969a2e3bf7aa625f0d3a32da1dbcefacf SHA512 3afaef82e6a495a81e221524ae7604dc170ef5c103333728674faf0417c45ba7996118c10466eaa24f8feef9ed8f0fc60d535a5195462317d61c61a531c8a285 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-8.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-8.0.9999.ebuild new file mode 100644 index 000000000000..ccd4e8e6c89c --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-8.0.9999.ebuild @@ -0,0 +1,146 @@ +# 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=( python{2_7,3_4,3_5,3_6} ) +inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1 + +DESCRIPTION="C++ runtime stack unwinder from LLVM" +HOMEPAGE="https://github.com/llvm-mirror/libunwind" +SRC_URI="" +EGIT_REPO_URI="https://git.llvm.org/git/libunwind.git + https://github.com/llvm-mirror/libunwind.git" +EGIT_BRANCH="release_80" + +LICENSE="|| ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="debug +static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND="!sys-libs/libunwind" +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6 + test? ( >=sys-devel/clang-3.9.0 + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )" + +# 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() { + if use test; then + git-r3_fetch "https://git.llvm.org/git/libcxx.git + https://github.com/llvm-mirror/libcxx.git" + git-r3_fetch "https://git.llvm.org/git/libcxxabi.git + https://github.com/llvm-mirror/libcxxabi.git" + fi + git-r3_fetch + + if use test; then + git-r3_checkout https://llvm.org/git/libcxx.git \ + "${WORKDIR}"/libcxx + git-r3_checkout https://llvm.org/git/libcxxabi.git \ + "${WORKDIR}"/libcxxabi + fi + git-r3_checkout +} + +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/mtdev/Manifest b/sys-libs/mtdev/Manifest index 1369ac54960c..0dd144d6b728 100644 --- a/sys-libs/mtdev/Manifest +++ b/sys-libs/mtdev/Manifest @@ -1,3 +1,3 @@ DIST mtdev-1.1.5.tar.bz2 274162 BLAKE2B 4e73b3f25f9b3d42ffecb15018e57e7c50f1cb11c662cb5a5bbd2cf38272b98294362075e00277d4983e40f2779afef7d3fb1c6679e3f29117ce0f4c369fe27a SHA512 78477a4af784e3f846df867f1428ffdc458e3ff33d465d45a84247a7e52f0e215cace397d72be64f6e641f07e0b97a930eff0e07fe9507e0138fb028a4037d6d -EBUILD mtdev-1.1.5.ebuild 564 BLAKE2B 0d04b2140760babc9699af078c9f558fb10f4bc0039e8100e8b2670bfbb46f0eb277b52b364a6ada984fd2f5965e823106a4ca3885c49a9001c6cceaf0dad0c5 SHA512 88bb23e22f7c0b60a1d35cb78b02e251884a06c0c64b3c5486ff2aa3d4243a916c90db7f6890a605c7523bcb4b80ec9647031b31518612252f3f4ef2f23fe5cd +EBUILD mtdev-1.1.5.ebuild 560 BLAKE2B ccd7f5869dab60cfef8ba1449db106729c70159c71d2367d842075a23c859be24eb5e185bbbebec1140493a0cada679afb5094f8622c75d3a58de140f34f57ae SHA512 9f9b60c7932d1e0b598d0dd82cdd61344976c384d7d6def6c72895d44e353535f001b9d9fe992c7afc731d8de8e7ef2e04450f455d12d659a2de476cc36ec1bf MISC metadata.xml 307 BLAKE2B 111e26b23df5360c4b6326fe57a59b502da229e92c75a607db23174b31b5ecd9d5ddb2c14efc17aead6d1a17d4ba52f7fef09cbae87d9718c7c6ee6ccd630cee SHA512 5765f66767b8854edcb68efbed96d5ad33a6b9dee582020b742de2136c19050bde444ac16359cefbf7ee463c842eb2ab6c6a46564a034497683d158e2d841ad5 diff --git a/sys-libs/mtdev/mtdev-1.1.5.ebuild b/sys-libs/mtdev/mtdev-1.1.5.ebuild index b3065f4029c1..fb91e1e5754d 100644 --- a/sys-libs/mtdev/mtdev-1.1.5.ebuild +++ b/sys-libs/mtdev/mtdev-1.1.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=5 @@ -9,7 +9,7 @@ SRC_URI="http://bitmath.org/code/mtdev/${P}.tar.bz2" LICENSE="MIT" SLOT="0" -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86" IUSE="static-libs" DEPEND=">=sys-kernel/linux-headers-2.6.31" diff --git a/sys-libs/readline/Manifest b/sys-libs/readline/Manifest index 05e0b1006090..e23e54a53f39 100644 --- a/sys-libs/readline/Manifest +++ b/sys-libs/readline/Manifest @@ -48,6 +48,6 @@ EBUILD readline-5.2_p14.ebuild 1598 BLAKE2B c3ecb5f6130c10718b55db1a3e1d092cfce6 EBUILD readline-6.3_p8-r3.ebuild 4383 BLAKE2B 51ed7b8cb69f0d776ff9ff55b98eb68f31ba09fa129fc92972eea4fc468d819b6e1cc0394164b2d76c9137f308e89845827dbe9227dbf46fbab1be7c6fc78ded SHA512 6d3fee3e47449221123dacc7b64fd8c05101931b95502b65c05f8cf33f70c7a88788fbd196ea63203a8986a11204abdc57f890f6f11d966cafae7e48b478884b EBUILD readline-7.0_p3-r1.ebuild 4842 BLAKE2B 9415a62951536475fbd13f12d424cf6519ec190c22e32fead4665c9596ddec22bac56b2525b3b2702a553fc540c3e8449ebc4565a2815c0e3edc1dd36728b544 SHA512 aa737fe34a90f6ee81f9b36017ace1a89b75e1fd7632d417e129711d5119a9d33331f679dc3b4a0424e67fe9658c18773fc490c8c51ab9114a9c85ee44de615d EBUILD readline-7.0_p3.ebuild 4597 BLAKE2B 4e5d1aa3dff883d9ee4b1dffcf7670e30d7224f6c0496fe305eca3ef3611e060762bba5ac1a57ed4a31ecfe02ee1e600015a0cc997d3ba777eb41898e135cec1 SHA512 cde16dedb5a7a0c2b237c5606bc504aa89ec584940ea32386ad775f07efce7e1ee20ff02f3e6ea031a4edfdba72ee96af8a7e95a415ec3ef2953e101dcbd7340 -EBUILD readline-7.0_p5.ebuild 4842 BLAKE2B 9415a62951536475fbd13f12d424cf6519ec190c22e32fead4665c9596ddec22bac56b2525b3b2702a553fc540c3e8449ebc4565a2815c0e3edc1dd36728b544 SHA512 aa737fe34a90f6ee81f9b36017ace1a89b75e1fd7632d417e129711d5119a9d33331f679dc3b4a0424e67fe9658c18773fc490c8c51ab9114a9c85ee44de615d -EBUILD readline-8.0.ebuild 4796 BLAKE2B 94a8e9dee48106c3e55b5df8f27a777af4387441377582b90f4a3eb63e2e5f9bde3adbcbfe93122f1a9cb535f9c8dbb9b14686cddfbcd2e9bdf90ea04260dd59 SHA512 d955b6803b9c4a8933c23cfd619fa8b379bf1ababb45dd00029aa14f792ac0fc69650df45ed0365364d62d16f28c872e650151903262206c2b24ffbce08d635c +EBUILD readline-7.0_p5.ebuild 4831 BLAKE2B 26867136748c912bbd64cc2c82d586e1e3e6d34da618ac907c0b73dcac1a2fbba7bc26ed30082481d4d066324aa5b44d056e8b7ddc893486062d185091a520cf SHA512 73dae99377af16ae4756e5569f29eeedcb4741f8f00cfccc54e58fdfab80ca8631dcdb039408513d677ff28ce8cf901e8648e3544fa7149c38cb4cfb61e94720 +EBUILD readline-8.0.ebuild 4795 BLAKE2B 693bf1a55ea3fcc3f8b18c41c34c5e98ccb848e535e28d3e51b6444dcb8a09d77b2e5f47bde05ee930850a1018d4bef32e5ef74b9ebdfe45163aa05b0a7fa4b9 SHA512 2a1f19f4d8154aeb6428f016265f1bbe8a2ef0cf5de20072ccd9c4f3c7a35fde1fee65c320f9742e0d3fb0962d1b00a1bb659e00769c8baade123dbce6ebb1c6 MISC metadata.xml 394 BLAKE2B e4fee9daaa3d2c66a9425c988c855768ddb74af714f9e259fad1e3a470ab10af041ec8ca82d106fd967317e555a492b35723d60fa913ffac200212af14ca5ae1 SHA512 e27930a59d80535721eda0d3c481b1d13a66915c6d9552d960c9ac788f3dcdb0ef3fc411803a36cc98441ebbb8a4e0c1086bc2bda01511549fbf2921a7017784 diff --git a/sys-libs/readline/readline-7.0_p5.ebuild b/sys-libs/readline/readline-7.0_p5.ebuild index 9459155e8869..496dc858d04d 100644 --- a/sys-libs/readline/readline-7.0_p5.ebuild +++ b/sys-libs/readline/readline-7.0_p5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -41,7 +41,7 @@ esac LICENSE="GPL-3" SLOT="0/7" # subslot matches SONAME major -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 ~arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" IUSE="static-libs utils" RDEPEND=">=sys-libs/ncurses-5.9-r3:0=[static-libs?,${MULTILIB_USEDEP}]" diff --git a/sys-libs/readline/readline-8.0.ebuild b/sys-libs/readline/readline-8.0.ebuild index 8632bb9f9b27..37ece8cee807 100644 --- a/sys-libs/readline/readline-8.0.ebuild +++ b/sys-libs/readline/readline-8.0.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 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" IUSE="static-libs utils" RDEPEND=">=sys-libs/ncurses-5.9-r3:0=[static-libs?,${MULTILIB_USEDEP}]" diff --git a/sys-libs/talloc/Manifest b/sys-libs/talloc/Manifest index 8a27cdd74d55..a98e734aacb9 100644 --- a/sys-libs/talloc/Manifest +++ b/sys-libs/talloc/Manifest @@ -1,9 +1,11 @@ DIST talloc-2.1.13.tar.gz 444608 BLAKE2B ac905d984e9ec438e8d7af473b37d7ccf8e4cf98d96b5a3b621f6c8203e7f5cd4d656602ac1fdfd22e0cab5853a8b54398c0c2ab4202517c4de73c5c90106d63 SHA512 003588fbcde340096b069ed4de0dc6c3e6a489b72abec83e9d3dedf40571a1bf07232d410cc86d8ca505ee49f7483a0043360e913de69106493346fae16a0e2b DIST talloc-2.1.14.tar.gz 444589 BLAKE2B 3e47126eb41dc08befd22d7d41443dc5502d0bed239fa0fd32d63fe5374b4422165a7b364a8ad4a9f6e2d73b2db1dd4bada6aec3271c7b264f148d32974adcff SHA512 1fcc70bf283a4d9fb61faf1c57f80a9c158efbe996452740db9755e879ad72ee7bff6f6c9bed358e085c5c7f97c78800bb903161143af2202952b702141cc130 +DIST talloc-2.1.15.tar.gz 634092 BLAKE2B e7dfad56e0f6325f50a025e4c92bb1d3d2b1d93897ebef59103c3ca40065c2724a47bb2d1104238b368870d2a944aacabb5f686f20e55134fa83dd68b2e27f6f SHA512 41896f8877e9a52e70b9881c41667dc52d7c1b03c3b248020fd909b794a4c5a4addee3eb944aa80ecfa3b03e6e5e1f67a62b5f3a5dcdc412b3e975352057ff40 DIST talloc-2.1.5.tar.gz 436193 BLAKE2B 88a9ca32b6c6ae869e1761cb027847797e4ef3bb58dc618bae4b00f95637a0a8511f8704fa03ca1ca935127413a10d5297ba3843f0ea6992a97ce586f66cb705 SHA512 b938d67fcf4c6618f1149b4ec665957a604e3b07ee26e96ed36d94312db8f56b50498f69f9a07782f7f10a25047604e32b0d1786e1051d5f36b696c2755f8741 DIST talloc-2.1.9.tar.gz 440335 BLAKE2B dde37d99b3cfb63209cdb832444f0416b7c05151cec537e220e13b1148d59b89fb712b4211e078b23f1c6608c8be6df6055d5f394b091ccdea3966c04cbb73be SHA512 a8f051bb15aba769ca286acad0946605d0053b0d149b4da2e6ecc333345f3e603d13a7f062452ae0f165615a4170ebdd7f41fc1b46c7a360000d5308bc304cbb EBUILD talloc-2.1.13.ebuild 2380 BLAKE2B 0e64d9fd06c20cd7e95d36b6470a6377f2375d6c84935890e7828832bda612b823a98883b7096c5b7649cd7f1dcf599344e124b01f2f0a398cb6551ebaf575a1 SHA512 5f671693ea5b04931079c5a21ba1cbe5b6c921aa38f3ae1971883664b86b46c88f897bcfe88d261d5f32e9c1406153eb2c241f376a58a4cab09d968c8a7795fa EBUILD talloc-2.1.14.ebuild 2373 BLAKE2B 4117cdae041b52420e10856806f28b892c3222e67aff1d5e2d933c8eaff6b5d09b6f34dd1d7601b1562b9d840f1cdb392c2abab13c7a4599552225117adf1ea5 SHA512 fdf4181af42001e92882a8dd683bdf4441ab9121d31bd5a1dfe5816ccbf137f371cdc7bef40ab9e96e415a1d16544829044e97aef2de57aef9549df321446b4c +EBUILD talloc-2.1.15.ebuild 2388 BLAKE2B 908a0625cf1fcbd435a619cd538f0d3ae6bfded6b26738bcf9444da3f75fb94f200453e38ae5b2e19fdf3cb0c396bbbc27b105e332453b9d58dadea4324d39f3 SHA512 5cc33a600147a6937a86964fff3c07cda0421cf87cd05260a09d1af31bf3d2e341cf2b93fb292a0401bfcba67e032408c0ae12a7800669e15a5a3befa4afd483 EBUILD talloc-2.1.5.ebuild 2228 BLAKE2B bbc0fa903751d1a339fb245034daa6c4d847964bbac64fded77f4ec55f01008f7f16c605ed33c9c5cd316afdc6c535d1b95e2cf37201bef699a70f4027d63cd9 SHA512 e57715515960a630009d6ea6440f06512a464a0848ef2af1d250495cde356ade621dc14a2c647a570c75554673a63af739fadce0b814e72605cc0b31ba7a9957 EBUILD talloc-2.1.9.ebuild 2410 BLAKE2B 1ac899c9b202154acf83f44d38cbfc6d932b1bfdb035c2cdf7d5c91a3c8b7ce4ab2991dad11fa02607891cc55c10551646a32d190fdb3a337448555bd6c7ca9a SHA512 b802eed330d3b295aae93b8fe0e3a17595ad26fa4a5002426a24d5a8725209f4a5985a8508ed94abfbabd3f93c189b94315122b29c258972288d801597f1074b MISC metadata.xml 439 BLAKE2B 06eae26083fdab237958e15ac7e59ae728e1741eef080e2dbd47a9725a88f9120bfd03bcd98ec32a84bf8ee69d5721c7f3978c2c11d018136647d8f1778a1ab8 SHA512 e583aa7aa9a641067b3b38bf398ad6266980ee961e11d81b5d7c6d32cb8948879e27777a33a72376f79beca6f71aa79613db65049e6a1221922869239de9ccf3 diff --git a/sys-libs/talloc/talloc-2.1.15.ebuild b/sys-libs/talloc/talloc-2.1.15.ebuild new file mode 100644 index 000000000000..6936a13a932a --- /dev/null +++ b/sys-libs/talloc/talloc-2.1.15.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_REQ_USE="threads(+)" + +inherit waf-utils python-single-r1 multilib multilib-minimal + +DESCRIPTION="Samba talloc library" +HOMEPAGE="https://talloc.samba.org/" +SRC_URI="https://www.samba.org/ftp/${PN}/${P}.tar.gz" + +LICENSE="GPL-3 LGPL-3+ LGPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~x64-solaris" +IUSE="compat +python" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="python? ( ${PYTHON_DEPS} ) + !!<sys-libs/talloc-2.0.5" +DEPEND="${RDEPEND} + sys-devel/gettext + dev-libs/libxslt + ${PYTHON_DEPS}" + +WAF_BINARY="${S}/buildtools/bin/waf" + +RESTRICT="test" + +MULTILIB_WRAPPED_HEADERS=( + # python goes only for native + /usr/include/pytalloc.h +) + +pkg_setup() { + # try to turn off distcc and ccache for people that have a problem with it + export DISTCC_DISABLE=1 + export CCACHE_DISABLE=1 + + python-single-r1_pkg_setup +} + +src_prepare() { + default + + # what would you expect of waf? i won't even waste time trying. + multilib_copy_sources +} + +multilib_src_configure() { + local extra_opts=( + $(usex compat --enable-talloc-compat1 '') + $(multilib_native_usex python '' --disable-python) + ) + waf-utils_src_configure "${extra_opts[@]}" +} + +multilib_src_compile() { + waf-utils_src_compile +} + +multilib_src_install() { + waf-utils_src_install + + # waf is stupid, and no, we can't fix the build-system, since it's provided + # as a brilliant binary blob thats decompressed on the fly + if [[ ${CHOST} == *-darwin* ]] ; then + install_name_tool \ + -id "${EPREFIX}"/usr/$(get_libdir)/libtalloc.2.dylib \ + "${ED}"/usr/$(get_libdir)/libtalloc.2.0.5.dylib || die + if use python ; then + install_name_tool \ + -id "${EPREFIX}"/usr/$(get_libdir)/libpytalloc-util.2.dylib \ + "${ED}"/usr/$(get_libdir)/libpytalloc-util.2.0.5.dylib || die + install_name_tool \ + -change "${S}/bin/default/libtalloc.dylib" \ + "${EPREFIX}"/usr/$(get_libdir)/libtalloc.2.dylib \ + "${ED}"/usr/$(get_libdir)/libpytalloc-util.2.0.5.dylib || die + install_name_tool \ + -change "${S}/bin/default/libtalloc.dylib" \ + "${EPREFIX}"/usr/$(get_libdir)/libtalloc.2.dylib \ + "${D}"$(python_get_sitedir)/talloc.bundle || die + fi + fi +} diff --git a/sys-libs/tdb/Manifest b/sys-libs/tdb/Manifest index 9d7f2971e0bc..d476f22ec579 100644 --- a/sys-libs/tdb/Manifest +++ b/sys-libs/tdb/Manifest @@ -1,9 +1,11 @@ DIST tdb-1.3.13.tar.gz 498002 BLAKE2B bf29b535acf3838942820a7dc841f635c457999d1ab7456bc598d73c79404dea9ab397eec1725d739bdc9b4a46b6b0ad068ad36d0e7247afccb795d410b15b06 SHA512 d12382a2f75e56d62d151df3390b3ae41c7502d67582812ec6da30913b13feb7ee98572ab5ad5b5ed3bceb41666c3154855727cf5ce249ef583c033819c05f0f DIST tdb-1.3.15.tar.gz 502627 BLAKE2B 44352033c421875f02491551dd8b1aa4a821a5e0070d6a32fc4f7a61535c98114325718c673fe163ad692f797aa2e9c26ca27a69a04459ba8340bbd8caacdfc5 SHA512 553246d5e7a7c22ea1b00962ac635d608f6d2344201862e796cad3b1a20610da1f5652ec9dbcb0187867fbd25f36247fcc34e9b4b2c3488c15d7202c9fb13bbb DIST tdb-1.3.16.tar.gz 504330 BLAKE2B 686b6b3d026094a0219f2c5d76f7258cf2f96538f614fa9078ca00368ad64c4e93f2e184c98f3d6f480fec909d94105fdf527d96f3b4ea291d81bb63420d2a99 SHA512 7b17852986e48a32f3f8f303dd2a26503a69fcf7849f22f51483334c9abda9f189b521679e51b4ee5a80197a8f304a084dde0f56d92cfe953d3a4ede557526d2 +DIST tdb-1.3.17.tar.gz 697224 BLAKE2B 6231c48924a2c164a6f55fc5cea0ce284fc5a34519e3cf26709322539118ed3dcdf21ecdeeb1a958a47c7502a625e66695f452d858a865965ce4fa60d65c55cd SHA512 ef25dad520a12d75e541802a46e418fe61ac691126600f24158cd5b95091b4c536ffc4d4aff6608cca087291fde0b86b44ff7b1a7837d816cd534e9688c39eff DIST tdb-1.3.8.tar.gz 494106 BLAKE2B 3ac4418b642472859c37c20477ffcc255be6e435b84f59ee634fb5b80caa38aadbcc761fd2daf7c797f9d9a120dcf6e597b31306f8c67d3e890570dd94e4263f SHA512 9a7040206bbaae419a296714fe14fcbd3b67c0cef2b0f33563d52336aac2fe814049f5136a148fb049a273bb36fe81e3d777df58869c93f45d6e42b4adf9970b EBUILD tdb-1.3.13.ebuild 1337 BLAKE2B 7dac4e872f3d37e011f82540b418dda53d82dfa4f24c99e1e0e64a46f6837c0fb337e39da69e9aa9c8182493e3f0d3c3502633e1d7e75a948c018c8c51d3c769 SHA512 c1cd3b9eb31bc8b32eb1e2fa2e88665839db424f3d2ce80d99ecbb006762c598a4846c17f55a2824cdff89aea33eeae37c619310712bb5592271f2c0b1bfccc4 EBUILD tdb-1.3.15.ebuild 1339 BLAKE2B 3c1619fbf540a5e0bf63e57e2b1e08cd022eee6e9feff60af1a012129809f4e2a0a979c499845c56c52855b64f63ad56b53edd51a583cd8f411645b297b736b7 SHA512 8fb9bbd0effcd480849f388216f07f95749cef0a48f016c1f5783da6d0215d1242eed5e0d91277ce6abfacc514d5683d269905b3fe8c2c513b5122565f573e3d EBUILD tdb-1.3.16.ebuild 1332 BLAKE2B a106c48c96c0aa134c1bceaec973294efc80e4851acd23c67831dd55818a4bc845d39f0d4ce6299d2945dac056b05b4bd5e9dcf7905b59abf8cb4705acce96ef SHA512 2461c0718192ecc36bf7aa839d3a58a093d58537f8d8a9393ec84af0c98820df01514e1702d31427e0755c5e6316db8f4889d6f9573f02f1c0dafdd65463a6f9 +EBUILD tdb-1.3.17.ebuild 1360 BLAKE2B e6a1e51ad236cc2ed0e55fd305b8b12ae30cd4e77c5954ff70e9f5e4eac57874e65d1778f55f99010d7fd69d5d578ea3ca294e6581e74ec62bbc827ee75e7868 SHA512 0ce633600637f65bc35291f0984c77fbc0b41d596d6149e336979afdf1da0ab5375b31eb5bec172c125b7e1c33f8d7571ba048f03c87d9ab940bbc75fdbf2384 EBUILD tdb-1.3.8.ebuild 1334 BLAKE2B 77d2284473508ed000b601a06a35f9a02d20841d454d340b9dcb3abd36dc6833f2459c2a62daa46fbd7d58505a9504557b780272933adde7cc377f034377cc85 SHA512 531863968c20f33f918972bd3915a3007ae21843070af4fee5145785f809764dc3fc0cc1d38b76f75d9d7d671a56105bdd3cb8b206b33dcb1bb5f8722655212f MISC metadata.xml 356 BLAKE2B 89cee65fc3e653bd568f34339d7d5e4ca0486ea124b175c88a966dde42a4128789669f2e0179e8d3ee2e4eb3df90f9de95441c3f2d61f3bdf47c1d87c95e1248 SHA512 59095952e57315232ef95494f2c30f520f13538f279df25f17a923a836194c4df78e11a03ff6fab814c1db1fe5a81cae2cf20988d77ef30e0c0d47f9a74f01cb diff --git a/sys-libs/tdb/tdb-1.3.17.ebuild b/sys-libs/tdb/tdb-1.3.17.ebuild new file mode 100644 index 000000000000..13558afddb31 --- /dev/null +++ b/sys-libs/tdb/tdb-1.3.17.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_REQ_USE="threads(+)" + +inherit waf-utils multilib-minimal python-single-r1 + +DESCRIPTION="A simple database API" +HOMEPAGE="http://tdb.samba.org/" +SRC_URI="http://samba.org/ftp/tdb/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="python" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="python? ( ${PYTHON_DEPS} )" +DEPEND=" + ${RDEPEND} + ${PYTHON_DEPS} + app-text/docbook-xml-dtd:4.2" + +WAF_BINARY="${S}/buildtools/bin/waf" + +RESTRICT="test" + +src_prepare() { + default + python_fix_shebang . + multilib_copy_sources +} + +multilib_src_configure() { + local extra_opts=() + if ! multilib_is_native_abi || ! use python; then + extra_opts+=( --disable-python ) + fi + + waf-utils_src_configure "${extra_opts[@]}" +} + +multilib_src_compile() { + # need to avoid parallel building, this looks like the sanest way with waf-utils/multiprocessing eclasses + unset MAKEOPTS + waf-utils_src_compile +} + +multilib_src_test() { + # the default src_test runs 'make test' and 'make check', letting + # the tests fail occasionally (reason: unknown) + emake check +} + +multilib_src_install() { + waf-utils_src_install +} diff --git a/sys-libs/tevent/Manifest b/sys-libs/tevent/Manifest index 53f1a1e44ad4..56f9dfc45c12 100644 --- a/sys-libs/tevent/Manifest +++ b/sys-libs/tevent/Manifest @@ -3,8 +3,10 @@ DIST tevent-0.9.28.tar.gz 581522 BLAKE2B 95db3ed16b91673ee99fbf30d3c40dfceda080f DIST tevent-0.9.31.tar.gz 587784 BLAKE2B 0e562600ae8ba4dae194b1a28a020f5618b1566f65cf2b2f158cd44e6cb30c422086bd2ebfd65a03bc4d4b13de4ca833ff04ab1368255eb2181c148de3487214 SHA512 048e37a7f5d3b8e948215fdb909c9b6e94b915c9d4978a8e18c73c9d27d5b1f179c10d19ec90325f8250e7c177c28231ad116a2975caaa43312c383e75517258 DIST tevent-0.9.36.tar.gz 592439 BLAKE2B b24dc37aaeb3bc08eb642c85cf34e4fbcf35fbc38421d3f5c3f03fe77ea8252e7a54a956a9c6750c78dcbb11a092e894bd24ea700acdd634edada1f930a67756 SHA512 bca9db9bcf142ba68b207180d19414dddb89a069a4f040383069c8af0df5bb184ca219293c4a1e7b0bc241b9a1ea3d414f8284278ad3a5f0383b9e432450167b DIST tevent-0.9.37.tar.gz 603859 BLAKE2B 2210416b09c3f83cf68a9f686d1d582891cd22b4547eb0e5237288dca6a0b94619769060c541e0cfc3ccce79246b1140875109934e009015b8e04a31a94d6792 SHA512 5d4833403e1c2f2749f00a389e4757261a4f22cd3a67c906001b36a8b622cc68a38e86d4eb475848a2121ebba054a7e7dac7f486d9f2906a401c3cc97fb447f4 +DIST tevent-0.9.38.tar.gz 794856 BLAKE2B 1198de5e68cec39bac3931aa5c26ee26aa5fd713d9cbc72bd90d5dd9c787d617d17c57d8393a845800168452cd8092d38ddc480d3bbe176dfe364d6c9a211094 SHA512 f475a7b7c261368bd641992c8f657c081bbbe783535ff435a7b68f7749d0e5873d57d05cf6ce80a28ccc9f11033022d28e9ae357b03854109c2c279a003d2035 EBUILD tevent-0.9.28.ebuild 1297 BLAKE2B 694a793f2113a70ac1904c7e34030fa8e272bf40c380add5fb8c88d999ce050f1075cdfbfcf416b17ea720d8a26e64e6459826a5abaf02f551a74aaf806ac6b3 SHA512 b59b124c6555646a4d8c322723f41c0f0ff35d9ea101d7aea654cb8233c14ba0d7287e00f13a7966b8fae90d1f63edffe8f5228f26e05c31339010aba296caec EBUILD tevent-0.9.31-r1.ebuild 1376 BLAKE2B 1a3463d3f1053dd5c5a31f3447b35e732076a7fc2289788b186238e34e17d072d4f6def8cea04c1eee21526d366e1dda9ca09712a7cbd6c297c14630bbd6fd7d SHA512 759f761ef52818ff165e896e641834efdae017e36111293c8f6ac02ec1ee076d7a1e9efb9c1137d0e0373ef61760f33441b6cdad2e16ff13a3428c2beceff566 EBUILD tevent-0.9.36.ebuild 1642 BLAKE2B 0e939a820a38431be3f3a937df3b74882936f98df1518ac9c9680a08b1e1b2bb4ad822b17608d220b1d4e1a7fb5f53ee9753832c51576b4982f0b6635ab9ddd3 SHA512 0c26d140b185d17021ce64207516d86175bea02fcc9625ffbb737d8ee187055c4b761245f8849d71f0f17b16534302936c222aaaf9a40be393edd89fed1a4fe0 EBUILD tevent-0.9.37.ebuild 1576 BLAKE2B 9679e1dcbb738f0b64b384f683c56663bec886a739f7af3200046025a57242aa5baebc94adb59d218b934faecb3ae03bf0200c6fa0aea33624963e4151fd7d9b SHA512 4eee3c723691fbd19b5b0957539e9945243248c732e21c074dd6be03eea548c978a54a684c292b50e7107e2035973e345c128cc536c53efb25bb492fc0f98908 +EBUILD tevent-0.9.38.ebuild 1605 BLAKE2B d7a95041b6e7294dc90741ac980d966957a25629dbcdefc4f9041146156f9a1fa217ce7d7138253079cebda6dd3edd830853685fe2479f96b93bf31fe54b86d5 SHA512 c3d9913a409eafb01b830f1c08d1a12c1ae05b9d1c05cf53c3e0638756e9a1c36a2464a85ba6abc4731878ce3a94008f69a5b2d5552e6214c4d82e59b1beceb6 MISC metadata.xml 345 BLAKE2B 2b19478c92e6a2e49d4421494986bf139e3e130ee9486f8ee2a208ac91db84662fee1b5ced560b29c926e6ab1c07752a4d6679582f220c50713c3b1dc2aa2e6b SHA512 35515a1369eeb1e4949415f8571fc54e7546ac83a59b506e04dc795f0a9b4cb06d7c8e1785577c20ca398fd87543f1742d9d4267fc09320503835bad1fc36cf5 diff --git a/sys-libs/tevent/tevent-0.9.38.ebuild b/sys-libs/tevent/tevent-0.9.38.ebuild new file mode 100644 index 000000000000..2639789e8992 --- /dev/null +++ b/sys-libs/tevent/tevent-0.9.38.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python3_{4,5,6,7} ) +PYTHON_REQ_USE="threads(+)" + +inherit waf-utils multilib-minimal python-single-r1 + +DESCRIPTION="Samba tevent library" +HOMEPAGE="https://tevent.samba.org/" +SRC_URI="https://www.samba.org/ftp/tevent/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" +IUSE="elibc_glibc python" + +RDEPEND=">=sys-libs/talloc-2.1.15[${MULTILIB_USEDEP}] + python? ( ${PYTHON_DEPS} )" + +DEPEND="${RDEPEND} + >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] + elibc_glibc? ( + net-libs/libtirpc[${MULTILIB_USEDEP}] + || ( + net-libs/rpcsvc-proto + <sys-libs/glibc-2.26[rpc(+)] + ) + ) + ${PYTHON_DEPS} +" +# build system does not work with python3 +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +WAF_BINARY="${S}/buildtools/bin/waf" + +RESTRICT="test" + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_prepare() { + default + multilib_copy_sources +} + +multilib_src_configure() { + waf-utils_src_configure \ + --bundled-libraries=NONE \ + --builtin-libraries=NONE \ + $(multilib_native_usex python '' '--disable-python') +} + +multilib_src_compile() { + # need to avoid parallel building, this looks like the sanest way with waf-utils/multiprocessing eclasses + unset MAKEOPTS + waf-utils_src_compile +} + +multilib_src_install() { + waf-utils_src_install + + multilib_is_native_abi && use python && python_domodule tevent.py +} + +multilib_src_install_all() { + insinto /usr/include + doins tevent_internal.h +} diff --git a/sys-libs/timezone-data/Manifest b/sys-libs/timezone-data/Manifest index 73d4004be770..09110b7cd2f4 100644 --- a/sys-libs/timezone-data/Manifest +++ b/sys-libs/timezone-data/Manifest @@ -1,4 +1,4 @@ DIST tzcode2018i.tar.gz 242962 BLAKE2B 682a23c324b6d8e1a0d63c6140c82ca3a24017c0972e7f915ecad5e0838f8f57743ffa2c5d9cc9744739a0e7d791ddb21947618cd11635767800ac99307c9548 SHA512 1a3d53043f20b8252f7598f547d78e7294d9e0cf1fcdd2159354d9769f824c8c8a03cef9cbb7fa579345fdb41372335117d2ef782ecd9c107dd0526e59492d9d DIST tzdata2018i.tar.gz 377009 BLAKE2B fa28fdac145756368d4760c418742efd558e63fd9900fc4649971b683b162df5e566c6214a79ec46b48fc65af488a7e0e95ddb6176a4f9adb5b39bc634426143 SHA512 6afcacb377842190648ed26f01abcf3db37aa2e7c63d8c509c29b4bc0078b7ff2d4e5375291b9f53498215b9e2f04936bc6145e2f651ae0be6d8166d8d336f6a -EBUILD timezone-data-2018i.ebuild 5181 BLAKE2B 0a6a457653aa4354050ea062ec5b96dd53b2555049cda7a251f0be39862b7fabff87cd93335432d45d1727b774ffa4d27c9116066992ec4c424da5ec1d3a1acd SHA512 72c8ef26ce3b5fbae3fb11da9f9061cfef96754b161648b771a95fbf2fdd5d4b0ee0162f3825222da6cbd218de61217d508bdb03ae9e10a5431a29aa978b8d13 +EBUILD timezone-data-2018i.ebuild 5143 BLAKE2B 80f02bc5a5f5dc1c9bb7d2cb715ac12c485c9d921767f77b49eddb08ce99e94134b9a0fc9eb5117622674bcac50c8ba97a3e9bb146acc368cb9c537e101fb7eb SHA512 29975f74113f5f1bac6773627d86d40b0ce1b2446f7eede184dff32d6c36f730e92d8fc8fbe97c94ce4b11e7760477c1ea340c7eb233522ccbb57f421678d12f MISC metadata.xml 658 BLAKE2B 75ee5deafa4e9c1336119b2b2b87de6f8520a29f8fa7901c4995bddbb0cb185de9a019ff7703d0a8aa7b2f685a9ec2ca518641ea0c0a1b6123aa05faa04274a1 SHA512 94b68a5195b17cd1a7283a90a42ba9e1dfb0e7dde7c16f48202233cc2fc20ea718a1588b57b2af372e3c35ed403276cdd59456165a225f149a813abff2144c73 diff --git a/sys-libs/timezone-data/timezone-data-2018i.ebuild b/sys-libs/timezone-data/timezone-data-2018i.ebuild index 2c38c3f65e01..48ee5887cfbc 100644 --- a/sys-libs/timezone-data/timezone-data-2018i.ebuild +++ b/sys-libs/timezone-data/timezone-data-2018i.ebuild @@ -8,7 +8,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 http://www.twinsun.com/tz/tz-link.htm" +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" -- cgit v1.2.3