summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-01-22 10:09:44 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-01-22 10:09:44 +0000
commit09351e78166b5e864197c4456ebae3f89dd0bed9 (patch)
tree41a96399f56ed3aa399006871bfce4430db84aa2 /sys-libs
parentc8a77dfe4d3d307c1d5dd2650b7297447d8b609d (diff)
gentoo resync : 22.01.2019
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin15946 -> 15932 bytes
-rw-r--r--sys-libs/compiler-rt-sanitizers/Manifest10
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-4.0.1.ebuild4
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-5.0.2.ebuild4
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-8.0.9999.ebuild173
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild8
-rw-r--r--sys-libs/compiler-rt-sanitizers/files/5.0.2/0001-sanitizer-Use-pre-computed-size-of-struct-ustat-for-.patch61
-rw-r--r--sys-libs/compiler-rt-sanitizers/files/9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch67
-rw-r--r--sys-libs/compiler-rt-sanitizers/files/9999/0002-test-Support-using-libtirpc-on-Linux.patch100
-rw-r--r--sys-libs/compiler-rt/Manifest3
-rw-r--r--sys-libs/compiler-rt/compiler-rt-8.0.9999.ebuild111
-rw-r--r--sys-libs/compiler-rt/compiler-rt-9999.ebuild4
-rw-r--r--sys-libs/e2fsprogs-libs/Manifest2
-rw-r--r--sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.44.5.ebuild4
-rw-r--r--sys-libs/efivar/Manifest2
-rw-r--r--sys-libs/efivar/efivar-37.ebuild2
-rw-r--r--sys-libs/glibc/Manifest2
-rw-r--r--sys-libs/glibc/glibc-2.28-r4.ebuild1411
-rw-r--r--sys-libs/ldb/Manifest3
-rw-r--r--sys-libs/ldb/files/ldb-1.5.2-optional_packages.patch40
-rw-r--r--sys-libs/ldb/ldb-1.5.2.ebuild105
-rw-r--r--sys-libs/libcxx/Manifest1
-rw-r--r--sys-libs/libcxx/libcxx-8.0.9999.ebuild227
-rw-r--r--sys-libs/libcxxabi/Manifest1
-rw-r--r--sys-libs/libcxxabi/libcxxabi-8.0.9999.ebuild122
-rw-r--r--sys-libs/libomp/Manifest1
-rw-r--r--sys-libs/libomp/libomp-8.0.9999.ebuild116
-rw-r--r--sys-libs/libutempter/Manifest2
-rw-r--r--sys-libs/libutempter/libutempter-1.1.6-r2.ebuild4
-rw-r--r--sys-libs/llvm-libunwind/Manifest1
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-8.0.9999.ebuild146
-rw-r--r--sys-libs/mtdev/Manifest2
-rw-r--r--sys-libs/mtdev/mtdev-1.1.5.ebuild4
-rw-r--r--sys-libs/readline/Manifest4
-rw-r--r--sys-libs/readline/readline-7.0_p5.ebuild4
-rw-r--r--sys-libs/readline/readline-8.0.ebuild2
-rw-r--r--sys-libs/talloc/Manifest2
-rw-r--r--sys-libs/talloc/talloc-2.1.15.ebuild88
-rw-r--r--sys-libs/tdb/Manifest2
-rw-r--r--sys-libs/tdb/tdb-1.3.17.ebuild61
-rw-r--r--sys-libs/tevent/Manifest2
-rw-r--r--sys-libs/tevent/tevent-0.9.38.ebuild71
-rw-r--r--sys-libs/timezone-data/Manifest2
-rw-r--r--sys-libs/timezone-data/timezone-data-2018i.ebuild2
44 files changed, 1371 insertions, 1612 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index da55351fe203..21ccb860ba77 100644
--- a/sys-libs/Manifest.gz
+++ b/sys-libs/Manifest.gz
Binary files differ
diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest
index 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"