summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-08-02 19:14:55 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-08-02 19:14:55 +0100
commitb24bd25253fe093f722ab576d29fdc41d04cb1ee (patch)
tree0fcf2afd9f852c4d4c291cf8afaa2c244d598105 /sys-libs
parent121ed4eec41fbf03e1998d09eede1bf449da63b9 (diff)
gentoo resync : 02.08.2019
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin15788 -> 15793 bytes
-rw-r--r--sys-libs/binutils-libs/Manifest2
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.32-r1.ebuild2
-rw-r--r--sys-libs/compiler-rt-sanitizers/Manifest7
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-10.0.0.9999.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild)5
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-8.0.1.ebuild171
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9.0.0.9999.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-8.0.9999.ebuild)12
-rw-r--r--sys-libs/compiler-rt/Manifest6
-rw-r--r--sys-libs/compiler-rt/compiler-rt-10.0.0.9999.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-9999.ebuild)5
-rw-r--r--sys-libs/compiler-rt/compiler-rt-8.0.1.ebuild110
-rw-r--r--sys-libs/compiler-rt/compiler-rt-9.0.0.9999.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-8.0.9999.ebuild)9
-rw-r--r--sys-libs/e2fsprogs-libs/Manifest2
-rw-r--r--sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.45.2.ebuild2
-rw-r--r--sys-libs/glibc/Manifest8
-rw-r--r--sys-libs/glibc/glibc-2.29-r2.ebuild36
-rw-r--r--sys-libs/glibc/glibc-2.29-r3.ebuild1460
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild36
-rw-r--r--sys-libs/kpmcore/Manifest2
-rw-r--r--sys-libs/kpmcore/kpmcore-4.0.0.ebuild4
-rw-r--r--sys-libs/libblockdev/Manifest2
-rw-r--r--sys-libs/libblockdev/libblockdev-2.22.ebuild5
-rw-r--r--sys-libs/libcxx/Manifest6
-rw-r--r--sys-libs/libcxx/libcxx-10.0.0.9999.ebuild (renamed from sys-libs/libcxx/libcxx-8.0.9999.ebuild)6
-rw-r--r--sys-libs/libcxx/libcxx-8.0.1.ebuild216
-rw-r--r--sys-libs/libcxx/libcxx-9.0.0.9999.ebuild (renamed from sys-libs/libcxx/libcxx-9999.ebuild)10
-rw-r--r--sys-libs/libcxxabi/Manifest7
-rw-r--r--sys-libs/libcxxabi/libcxxabi-10.0.0.9999.ebuild (renamed from sys-libs/libcxxabi/libcxxabi-9999.ebuild)3
-rw-r--r--sys-libs/libcxxabi/libcxxabi-8.0.1.ebuild119
-rw-r--r--sys-libs/libcxxabi/libcxxabi-9.0.0.9999.ebuild (renamed from sys-libs/libcxxabi/libcxxabi-8.0.9999.ebuild)11
-rw-r--r--sys-libs/libomp/Manifest6
-rw-r--r--sys-libs/libomp/libomp-10.0.0.9999.ebuild (renamed from sys-libs/libomp/libomp-8.0.9999.ebuild)5
-rw-r--r--sys-libs/libomp/libomp-8.0.1.ebuild116
-rw-r--r--sys-libs/libomp/libomp-9.0.0.9999.ebuild (renamed from sys-libs/libomp/libomp-9999.ebuild)7
-rw-r--r--sys-libs/llvm-libunwind/Manifest8
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-10.0.0.9999.ebuild (renamed from sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild)3
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-8.0.1.ebuild143
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-9.0.0.9999.ebuild (renamed from sys-libs/llvm-libunwind/llvm-libunwind-8.0.9999.ebuild)15
-rw-r--r--sys-libs/ncurses/Manifest6
-rw-r--r--sys-libs/ncurses/files/ncurses-6.0-gfbsd.patch24
-rw-r--r--sys-libs/ncurses/files/ncurses-6.1-st07_terminfo_typo.patch14
-rw-r--r--sys-libs/ncurses/ncurses-6.1-r2.ebuild295
-rw-r--r--sys-libs/ncurses/ncurses-6.1-r3.ebuild305
-rw-r--r--sys-libs/ncurses/ncurses-6.1_p20181020.ebuild2
-rw-r--r--sys-libs/timezone-data/Manifest2
-rw-r--r--sys-libs/timezone-data/timezone-data-2019b-r1.ebuild (renamed from sys-libs/timezone-data/timezone-data-2019b.ebuild)16
45 files changed, 2487 insertions, 744 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index fd188645a48d..7855bf03c0b5 100644
--- a/sys-libs/Manifest.gz
+++ b/sys-libs/Manifest.gz
Binary files differ
diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest
index 00dbde4cbbbf..25a5627cd423 100644
--- a/sys-libs/binutils-libs/Manifest
+++ b/sys-libs/binutils-libs/Manifest
@@ -18,5 +18,5 @@ EBUILD binutils-libs-2.28.1.ebuild 2872 BLAKE2B f0ef199dfc0025b06dbdab74f76f0a17
EBUILD binutils-libs-2.29.1-r1.ebuild 2921 BLAKE2B f38060716462c9c51bc84b98348b82952b6bb47cd33136d7eaaca822ba6e40504fad2b0c778a4a02989ca9e20f812d928d718295376141dd02e519e541a605a3 SHA512 8fc849244e3cdb9b1a35e9bed1f2e57e8bba210e6ab9aa7408904b5a04cc532dfff52a9840e866df5985f6b1d05c96ce7549c7514389a8dae9a4d5d798d48c8e
EBUILD binutils-libs-2.30-r4.ebuild 3594 BLAKE2B 60b602ed843164cceee4c490fba486e38b4fe8272ec94dafc652aa891a2a148f4e8f69d88c9fb6ca6fa154cd1365bf1473ea73ce2f9bab4d1a36d08259eb7f89 SHA512 fed6718f162b379e381900b1b4c7fcfa3bfe0710f8d489e3ba19ff1d3accb51dfde7d44df5c608d8c9cf6f5d5cc92e7e518b7719ccb832b89d285507507022ee
EBUILD binutils-libs-2.31.1-r6.ebuild 3573 BLAKE2B ab5423831f517f01dfea0f4c9ecda3c4b44a6bbd780831ac93258d8f8a2074669ea334aba2c3d8dac787e922605f00c21543ffa9186997fdab73d51cbb05f593 SHA512 66bedc93c56f13390db3676061297e958eee5b480dbf5414c6c58d150684e799b4b522f39340296ebad4e746da140cb20d026e6bc252143a04f04aa96453c26b
-EBUILD binutils-libs-2.32-r1.ebuild 3586 BLAKE2B b0d71f2911b2056ded612914e78e95d5c5032ef9f73752577e28379300834d89b90872d1fbe9fa0d5eaa606cbfb453628c50b9c0f2e4420432c7b51eb747bef0 SHA512 f29499305efb193024e0f5f2719fbc4a21735af1dec06159a6444af2bfb79a4f97da8453f52e652192a53b32e92fa0568202f94d94f34e2cf0f4115e83c3317e
+EBUILD binutils-libs-2.32-r1.ebuild 3582 BLAKE2B 56d2e3d9050e7b48c8c9236d3aca5ce285fd33742db03e316b3208e0508f9c5de82bfd36c58a807404f56c745a645c682491eb5a706421cfa01d8df5ace8ec16 SHA512 fd14800afb4b656fff121c1b3246e2a5f226cf1ecfc61069e9456253a4dfcce3df51828e4cb18b9d55929e5bfe44ff0a994393c957ec52b61d9db0de4bc6c71a
MISC metadata.xml 524 BLAKE2B 6f00793b2dc155b19d816b8acfd49e6bfc2ae35418ecc97fbbd3f9d0ed08b5f95a299b28fe6edad1a66f4d64abe99dc8a62a974fd70e28b535cd366239bf1cca SHA512 9db7c7a3082ee848ec4963831da06cced596d543e53660747fb56ac33998c219e1d7252892ffc32132d7db3c99ce9746fb6d9e85f866c3cba97552c31948342c
diff --git a/sys-libs/binutils-libs/binutils-libs-2.32-r1.ebuild b/sys-libs/binutils-libs/binutils-libs-2.32-r1.ebuild
index 52957f6cde6c..a87833e47d0f 100644
--- a/sys-libs/binutils-libs/binutils-libs-2.32-r1.ebuild
+++ b/sys-libs/binutils-libs/binutils-libs-2.32-r1.ebuild
@@ -21,7 +21,7 @@ SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz
LICENSE="|| ( GPL-3 LGPL-3 )"
SLOT="0/${PV}"
IUSE="64-bit-bfd multitarget nls static-libs"
-KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
COMMON_DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]"
DEPEND="${COMMON_DEPEND}
diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest
index 6669eb372bab..fa0643e0c798 100644
--- a/sys-libs/compiler-rt-sanitizers/Manifest
+++ b/sys-libs/compiler-rt-sanitizers/Manifest
@@ -5,15 +5,18 @@ DIST compiler-rt-5.0.2.src.tar.xz 1543256 BLAKE2B 09fa84b8f3e9b8627a14387bc6eaa3
DIST compiler-rt-6.0.1.src.tar.xz 1686820 BLAKE2B 59fa3f6e478bd4d6dfa056c85dcdc4349cbce7cea7fc56519feddc9d66c88c9ca48bad7967432ceb81d754213577f12707035afd827cf630a58627575b73b798 SHA512 69850c1ad92c66977fa217cbfb42a6a3f502fbe3d1a08daa7fc4cfeb617a7736d231f8ad8d93b10b1ae29bd753315d2a2d70f9ff1f4d18a9a7cc81758d91f963
DIST compiler-rt-7.1.0.src.tar.xz 1864248 BLAKE2B 42ab86416f7f85c5833cf85dbfb66b18a5d5cf53fa0560ad43b2ef39f5a2cd7ec1dbe4192cc8dac9b3f658b828c8306f26745c4d0e8f846d9f550ac22717eb33 SHA512 54d3ad80936f011dbf2ecebba3f1b7d4a156044b178228411ba855be5ec48eb646155b74dea1a96674adab6f93803456ae1435395e3240a4423a3f65f4566b55
DIST compiler-rt-8.0.0.src.tar.xz 1903020 BLAKE2B dc42c4772132fee5e225bb94805cd6917214c1d830b8ba4f1c774e6e1726ec7846432d1d6881085676b6d094ec04060ec2a95749eb7d93be79268ee7de1bd828 SHA512 fe9f69fe2269fa3d560ae97fdacd462f855fb0b7a5f647f5b8595206ff7febca6496725adc953de411a827c761e2b3ca11a2149f25707d6c62af0722b68ba913
+DIST compiler-rt-8.0.1.src.tar.xz 1954204 BLAKE2B cbba1d5fb37385116920da39dea26739d09e3f11c392503f8bc45293f1ef00c97f6a9fbd3ba67094d7f1e532410d0eca461943dadfdb10646110470a8e3b5f1f SHA512 12bf1bdabe25c0c3a84cc73a718fe154573dd729ec3ff5e099bd5f74c6bec9c80521b87ded646d3b20dfdb9aa51dea0234281418c7eb81805e1dd5d3107d3d8e
DIST compiler-rt-sanitizers-6.0.1-patchset.tar.xz 8820 BLAKE2B d53ca357e060d058c7f20c51e74684f4c032fdf3ccec4c9f227dc7a5757206f331b9eda25a72c5c66faf4c44b2cc63eb439bd21bdd55d37a93918ab428fd7cd4 SHA512 782a34c56134bd061da30c1f598ddb9e90cb34a4e4ef058fa9634f6da372fd8693ff5e6cf98b59700942273240f83052b89ee2736b22f4e19bc8b519fbec8cad
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.1.0.src.tar.xz 28313784 BLAKE2B b78d9a7fc5ef6e352e77d339e5c4eef5ccedf67c05e7abd949e72619aa8a5ed65e7e5e2008354be8e7916d75581719b99f34227838fcc86c5d0080913c2fb22c SHA512 a7dbd5693d1f2dae6b6e52893a100f9349cbfcfb25c5fdcad46364acbff0dbd3573f8fbc026c68eb9fd56335198aa94b866cc3dd7ea0cbd2cbfb5f8fe3444a7a
DIST llvm-8.0.0.src.tar.xz 30503732 BLAKE2B d89bdeb0ec7d885e49cfe5ae025da84f00502d409710c0807a3cdd58dbd47c50cf6a635593569483150f7f2ecb0de0310bd6785cb7625219bf9f6224a0d68e1c SHA512 1602343b451b964f5d8c2d6b0654d89384c80d45883498c5f0e2f4196168dd4a1ed2a4dadb752076020243df42ffe46cb31d82ffc145d8e5874163cbb9686a1f
+DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
+EBUILD compiler-rt-sanitizers-10.0.0.9999.ebuild 5048 BLAKE2B 89beb299d9c776943fba4887b946436ab04fee0537d133ec105ea680e8b3472760510622cb604ed2223496592516f22893ca3643d28cbe95848037da286bf605 SHA512 96189ad8c8ff12dd6b228ef21eaee35f08df6a326fc934b240927ba1c43b7937b7047ea35b0bfa0264532539130194eecaf1ca5e80538fc1ce0794ebcb0f9ed1
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.1.0.ebuild 5401 BLAKE2B 7e4069b74c630e33f5f7045764f8ad5f510fd4c03014e6274d8ba4430406d1e507ce9fc9198c64f923a3df15545f143cdeb696c9b2e74b5250c557d5a8be295b SHA512 1853c25f8b8fcd21f7f37044dfd96d6bed076324d067cbb6d14711e6e65ffe7aa7b76a3b6665acf04051ea688a08eca0bd66da47476c1cc3e969cc6ce346f0f5
EBUILD compiler-rt-sanitizers-8.0.0.ebuild 5137 BLAKE2B f155a3b8d1ea7c1ec3bd598784a0600c7c0050a7e25a17895d919a5d7d0b05b28548e42fce9ee66a7fbb9b328b5cc7f1a998cb110f1e20a1d0b55c564f33d91e SHA512 4ebfa01e7d110bee738b63c7b9129cfaff13aaa90e38f8e08bec256b7fa098eb79f8b92dacd21c0af3b717005207b0eb4c8c4ebec92da805b53c0052759f03e2
-EBUILD compiler-rt-sanitizers-8.0.9999.ebuild 5081 BLAKE2B be4564f17225c9d907a48b650af00ea76528508558ceb0272f490ccdfeca7ab7f7809499afa3b7a2640b02d6493402edc9af933b50722f87ed9532187e4215c1 SHA512 4e50aa28b004dcfc2ba5b848cb7bbe10dba5208d0db870a74c3f02fc442d6395e3937673b66252c35b92753890b2427ba2a870d299a64b283815bd9e568943f8
-EBUILD compiler-rt-sanitizers-9999.ebuild 5103 BLAKE2B ef0a05b6884bc7bbceff714aa88c61c3b0e02b38d40d129cfbe78ebf9074ef71dc169bedf8663d298b9eefee85f5c58c740da8ad46f600e188f587b7b74b50df SHA512 c593f39d336fb4f53ad9acc37dc4beda2b534afdc04559f06a9d4646c565c671d26dd6fbeee3bfe3922bd2aae04439bbc8422b92332db1ac71aadc6e135ea49c
+EBUILD compiler-rt-sanitizers-8.0.1.ebuild 5203 BLAKE2B d663a6cb26677be372e91ec3664c5b2a615dc7234170af6d7946bf73c6cab81c5ca691fdafb0108c8d8112f01daae75878ea5d9fc391ae906d401343d4d800d5 SHA512 f1d68014cc59092eefab419c505711fa5207286b44fe1d99e4dbae4b6dcb68d3393ac6f0ce63bae9251ef9ec5dfc10f1d03fc0e9b6fc19ca22c20e820390cddd
+EBUILD compiler-rt-sanitizers-9.0.0.9999.ebuild 5073 BLAKE2B e84b9d1655b1500bff0e6078e3263fd82e4fff49ee573622b63520b018bd5b0ec20b4be59de50a26a00f5b5d19f758510e46519504bf2fcd009208c59b094bed SHA512 3ea8a887b6299ce97c7dfde2bb59f67ffd4a20201f0e00651f0227f242f945e224b52e77058663946b8182b86dd15436ce2ca40a39b409b2f8f77084484f7e8e
MISC metadata.xml 547 BLAKE2B 6f9d8b65c12797fd3d168e9b3948c604265db135bda5493d9f1d8b1d01fd73a79d07e5241afc3a7fa1672827fac23d3d9dc4d7ae42371a0de892a900c8c28269 SHA512 fb73a96b1ffbc7ff2fecfba35c9acd3e54ade0154016ae04423217f5c000eee2b0b821cc626908647551a0aa7b7f462d42d56cde3993ddd52248bc373b117c3e
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-10.0.0.9999.ebuild
index 395528b7e428..eccb71269ea0 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-10.0.0.9999.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
@@ -18,8 +18,7 @@ EGIT_REPO_URI="https://git.llvm.org/git/compiler-rt.git
https://github.com/llvm-mirror/compiler-rt.git"
LICENSE="|| ( UoI-NCSA MIT )"
-# Note: this needs to be updated to match version of clang-9999
-SLOT="9.0.0"
+SLOT="$(ver_cut 1-3)"
KEYWORDS=""
IUSE="+clang +libfuzzer +profile +sanitize test +xray elibc_glibc"
# FIXME: libfuzzer does not enable all its necessary dependencies
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-8.0.1.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-8.0.1.ebuild
new file mode 100644
index 000000000000..e293bbe65f60
--- /dev/null
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-8.0.1.ebuild
@@ -0,0 +1,171 @@
+# 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 llvm \
+ multiprocessing python-any-r1
+
+MY_P=compiler-rt-${PV/_/}.src
+LLVM_P=llvm-${PV/_/}.src
+
+DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${MY_P}.tar.xz
+ test? ( https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${LLVM_P}.tar.xz )"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="${PV%_*}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="+clang +libfuzzer +profile +sanitize test +xray elibc_glibc"
+# FIXME: libfuzzer does not enable all its necessary dependencies
+REQUIRED_USE="libfuzzer? ( || ( sanitize xray ) )"
+RESTRICT="!test? ( test ) !clang? ( test )"
+
+CLANG_SLOT=${SLOT%%.*}
+# llvm-6 for new lit options
+DEPEND="
+ >=sys-devel/llvm-6
+ clang? ( sys-devel/clang )
+ elibc_glibc? ( net-libs/libtirpc )
+ test? (
+ !<sys-apps/sandbox-2.13
+ $(python_gen_any_dep ">=dev-python/lit-5[\${PYTHON_USEDEP}]")
+ =sys-devel/clang-${PV%_*}*:${CLANG_SLOT}
+ sys-libs/compiler-rt:${SLOT} )
+ ${PYTHON_DEPS}"
+
+S=${WORKDIR}/${MY_P}
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+check_space() {
+ if use test; then
+ local CHECKREQS_DISK_BUILD=11G
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ einfo "Unpacking ${MY_P}.tar.xz ..."
+ tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die
+
+ if use test; then
+ einfo "Unpacking parts of ${LLVM_P}.tar.xz ..."
+ tar -xf "${DISTDIR}/${LLVM_P}.tar.xz" \
+ "${LLVM_P}"/utils/unittest || die
+ mv "${LLVM_P}" llvm || die
+ fi
+}
+
+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/fork_and_leak.cc || 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-8.0.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9.0.0.9999.ebuild
index b377ac40e78d..2a1e62b21c02 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-8.0.9999.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9.0.0.9999.ebuild
@@ -1,12 +1,12 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
inherit check-reqs cmake-utils flag-o-matic git-r3 llvm \
multiprocessing python-any-r1
@@ -16,11 +16,10 @@ 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"
+EGIT_BRANCH="release_90"
LICENSE="|| ( UoI-NCSA MIT )"
-# Note: this needs to be updated to match version of clang-9999
-SLOT="8.0.1"
+SLOT="$(ver_cut 1-3)"
KEYWORDS=""
IUSE="+clang +libfuzzer +profile +sanitize test +xray elibc_glibc"
# FIXME: libfuzzer does not enable all its necessary dependencies
@@ -104,8 +103,9 @@ src_configure() {
-DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${SLOT}"
-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
- # built-ins installed by sys-libs/compiler-rt
+ # builtins & crt installed by sys-libs/compiler-rt
-DCOMPILER_RT_BUILD_BUILTINS=OFF
+ -DCOMPILER_RT_BUILD_CRT=OFF
-DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer)
-DCOMPILER_RT_BUILD_PROFILE=$(usex profile)
-DCOMPILER_RT_BUILD_SANITIZERS=$(usex sanitize)
diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest
index 51fcd84fc816..00b3251af207 100644
--- a/sys-libs/compiler-rt/Manifest
+++ b/sys-libs/compiler-rt/Manifest
@@ -2,10 +2,12 @@ DIST compiler-rt-5.0.2.src.tar.xz 1543256 BLAKE2B 09fa84b8f3e9b8627a14387bc6eaa3
DIST compiler-rt-6.0.1.src.tar.xz 1686820 BLAKE2B 59fa3f6e478bd4d6dfa056c85dcdc4349cbce7cea7fc56519feddc9d66c88c9ca48bad7967432ceb81d754213577f12707035afd827cf630a58627575b73b798 SHA512 69850c1ad92c66977fa217cbfb42a6a3f502fbe3d1a08daa7fc4cfeb617a7736d231f8ad8d93b10b1ae29bd753315d2a2d70f9ff1f4d18a9a7cc81758d91f963
DIST compiler-rt-7.1.0.src.tar.xz 1864248 BLAKE2B 42ab86416f7f85c5833cf85dbfb66b18a5d5cf53fa0560ad43b2ef39f5a2cd7ec1dbe4192cc8dac9b3f658b828c8306f26745c4d0e8f846d9f550ac22717eb33 SHA512 54d3ad80936f011dbf2ecebba3f1b7d4a156044b178228411ba855be5ec48eb646155b74dea1a96674adab6f93803456ae1435395e3240a4423a3f65f4566b55
DIST compiler-rt-8.0.0.src.tar.xz 1903020 BLAKE2B dc42c4772132fee5e225bb94805cd6917214c1d830b8ba4f1c774e6e1726ec7846432d1d6881085676b6d094ec04060ec2a95749eb7d93be79268ee7de1bd828 SHA512 fe9f69fe2269fa3d560ae97fdacd462f855fb0b7a5f647f5b8595206ff7febca6496725adc953de411a827c761e2b3ca11a2149f25707d6c62af0722b68ba913
+DIST compiler-rt-8.0.1.src.tar.xz 1954204 BLAKE2B cbba1d5fb37385116920da39dea26739d09e3f11c392503f8bc45293f1ef00c97f6a9fbd3ba67094d7f1e532410d0eca461943dadfdb10646110470a8e3b5f1f SHA512 12bf1bdabe25c0c3a84cc73a718fe154573dd729ec3ff5e099bd5f74c6bec9c80521b87ded646d3b20dfdb9aa51dea0234281418c7eb81805e1dd5d3107d3d8e
+EBUILD compiler-rt-10.0.0.9999.ebuild 2878 BLAKE2B ba02096b94d43b7ea004f4233289835a06e2a0221cff63061392b2bfd942f60f83d3a4c1d5041147027b2ab0936addaa1b99dbb7eaa4565fa682a951571dc7d7 SHA512 34b8176d156ac361fd6a536821e610fec1302bdbb274ac85cdf84b86d6f603ac70ba1ebc039f6f2c4b4eab92211a5054083703cb9e698e3acee18463a5715e6e
EBUILD compiler-rt-5.0.2.ebuild 2840 BLAKE2B 4c6e6ca121bad66f69f272a1ddc8a5153196c8f2608da08b5326e264842fe60ae8a4cb1aa98e2907b141068e5af997fe81ae13708dfd148f8676bebf18b894d2 SHA512 3fcea6a7045c1dc666ad6cd9c575b1ba931719bf31457f7493bb7b9c7950bca8e1c5eb8ce4342c1098250d0c126e85ba86b56724b17a3f6bb43c2846fb765a1f
EBUILD compiler-rt-6.0.1.ebuild 2911 BLAKE2B 9ee423b460c62366af5525ab3b32cd2980aff78331a65b5658a50e0f808c9cb694d2e5d85bd753d291e1b5f96ab9e6cbc6a6d9f0cddcd9f7f8521ed5280f8291 SHA512 ecce0303d9db8ec0c74b3d0b248547402c32b7bceef52a5bb999f076c8fa82e209d5d113e6c14a1511e99dbf04bfd4d79077da1c010d9069a1bd284a168b26e0
EBUILD compiler-rt-7.1.0.ebuild 2913 BLAKE2B 86f05a0f2604f7df55ecec3906f380f6838f9deb66f76f952c9dfb89d8b3738aafd7468c1cfc2c6e19e1301fc4dacdb74a4f8436cdf7daf98bebb82ee1284590 SHA512 ddb15119c6dc09816ecf15ca61c548d786c16c8380284323e27a37229dd81808fae98b2451b5bfe98b2f1ce3b0bb620acf792ba1a66e5aa67acb40a33dd64744
EBUILD compiler-rt-8.0.0.ebuild 2916 BLAKE2B cb63ba2b0e7a3f913fe58f2e53fb5deaa827c0fa7b10a89891a7da7fcf658fb6d9ab0fd50e501d35a788c9f53b3c267c85a03dbbb9722f4a3294aec4a1c0e4b8 SHA512 d11deefc294f5d99e4b92384a154dfebcb9ab5a7549aaefefbe791bf5cc319c1ea547eb076bb416702d8812d967e4721f7d51f18ec9d741a0347cd79b8172ad1
-EBUILD compiler-rt-8.0.9999.ebuild 2946 BLAKE2B a77052a7f0365fcc3c9426147ee2af5a89b4f9d4de01f6ca2bd42b88b886cd85bdb89652edf68c5b201025a02154db57cdca922c60d8081be7adf9730fc85ee8 SHA512 36c8990d9fe14953c3cc94fcd41699191a6ce41f297806ab401670aba24e126310d36ce02fbc49a8ff39772636b72d4f3214a44bad7c4af84d6e57f17f9d622a
-EBUILD compiler-rt-9999.ebuild 2933 BLAKE2B cbb1565d270a349f9b165fdc33d18e759720fe1994fd093fe9a5829bbe2c0abb43c5fe1f497b89dc047620ae408b5903f9fee4ad6dc80f0d0d67a8cdba719ba5 SHA512 dd2ab7d141de915074e7d833b778470deac4ab1e1b1677d7aeed71d8e6a4a73d9eaf623a01638a756eb0cd1434ca8dbf499e4b765c960bdaaad37040d5b55aa4
+EBUILD compiler-rt-8.0.1.ebuild 2955 BLAKE2B 702fd03689bf6442de07f5edccccc583cc151158998a0f2b9c627de68d16761dbe4463468f4e74a5ad10772878660a3a62d464a48c83e595f9e43e7bbf26cd02 SHA512 df56a69b5bc0ac31d53bbe9b44f4a7ec59d79d8b573ba0396593fc7e9ac9d8fed5ec599d41bde33adb6584f46c672e9d790bf0f933f7b67f796620d9ff06e7c1
+EBUILD compiler-rt-9.0.0.9999.ebuild 2903 BLAKE2B 119c03302c7c5443286611ce4d9612331e444b6c3836c05ec4923ac7769e5e1fb9ee71783d56203e46f55f0f426d8339913bfd2e2c08326db47fc8d4f00d240c SHA512 dd5b1f94bdd36e0b07d76f87ea74a04e83033ca31b8f7b4b1f05371e45ede630e9594b2024bc8db089d1d806facedd0711dce4deeb5fb991ec326473e552a0c1
MISC metadata.xml 333 BLAKE2B 24e417cb7b8ab7730b18a3e1e5e29d008042e4fd53cf1ba3cc9d18719160b0410854ddfae52315c690138e61fb0196015968fa09b98af6470cd8bdecc09205ef SHA512 97daa7452a696b7297c47f5f637a33425f82b51426060a75b3de6bc812f9ddcd3c70ae068bc3e88ce937ab1eb10d59b0ab48a2d2c0397a112b8b6a754e333bdc
diff --git a/sys-libs/compiler-rt/compiler-rt-9999.ebuild b/sys-libs/compiler-rt/compiler-rt-10.0.0.9999.ebuild
index 7d24d1c68fca..68a10b79beca 100644
--- a/sys-libs/compiler-rt/compiler-rt-9999.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-10.0.0.9999.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
@@ -18,8 +18,7 @@ EGIT_REPO_URI="https://git.llvm.org/git/compiler-rt.git
https://github.com/llvm-mirror/compiler-rt.git"
LICENSE="|| ( UoI-NCSA MIT )"
-# Note: this needs to be updated to match version of clang-9999
-SLOT="9.0.0"
+SLOT="$(ver_cut 1-3)"
KEYWORDS=""
IUSE="+clang test"
RESTRICT="!test? ( test ) !clang? ( test )"
diff --git a/sys-libs/compiler-rt/compiler-rt-8.0.1.ebuild b/sys-libs/compiler-rt/compiler-rt-8.0.1.ebuild
new file mode 100644
index 000000000000..2df510757e47
--- /dev/null
+++ b/sys-libs/compiler-rt/compiler-rt-8.0.1.ebuild
@@ -0,0 +1,110 @@
+# 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 llvm multiprocessing \
+ python-any-r1 toolchain-funcs
+
+MY_P=${P}.src
+DESCRIPTION="Compiler runtime library for clang (built-in part)"
+HOMEPAGE="https://llvm.org/"
+SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${MY_P}.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="${PV%_*}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="+clang test"
+RESTRICT="!test? ( test ) !clang? ( test )"
+
+CLANG_SLOT=${SLOT%%.*}
+# llvm-6 for new lit options
+DEPEND="
+ >=sys-devel/llvm-6
+ clang? ( sys-devel/clang )
+ test? (
+ $(python_gen_any_dep "dev-python/lit[\${PYTHON_USEDEP}]")
+ =sys-devel/clang-${PV%_*}*:${CLANG_SLOT} )
+ ${PYTHON_DEPS}"
+
+S=${WORKDIR}/${MY_P}
+
+# 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-8.0.9999.ebuild b/sys-libs/compiler-rt/compiler-rt-9.0.0.9999.ebuild
index 57144207baed..776326d88a4a 100644
--- a/sys-libs/compiler-rt/compiler-rt-8.0.9999.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-9.0.0.9999.ebuild
@@ -1,12 +1,12 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
inherit cmake-utils flag-o-matic git-r3 llvm multiprocessing \
python-any-r1 toolchain-funcs
@@ -16,11 +16,10 @@ 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"
+EGIT_BRANCH="release_90"
LICENSE="|| ( UoI-NCSA MIT )"
-# Note: this needs to be updated to match version of clang-9999
-SLOT="8.0.1"
+SLOT="$(ver_cut 1-3)"
KEYWORDS=""
IUSE="+clang test"
RESTRICT="!test? ( test ) !clang? ( test )"
diff --git a/sys-libs/e2fsprogs-libs/Manifest b/sys-libs/e2fsprogs-libs/Manifest
index 8f30209de752..505de122a2d4 100644
--- a/sys-libs/e2fsprogs-libs/Manifest
+++ b/sys-libs/e2fsprogs-libs/Manifest
@@ -3,6 +3,6 @@ DIST e2fsprogs-1.44.5.tar.xz 5375996 BLAKE2B a6069e7c4889cdd3a30d94994d179c024ed
DIST e2fsprogs-1.45.2.tar.xz 5560504 BLAKE2B c7764eb7fd67c422007cf2d884496babf78663ce6dab674fb023738b69e270c601dded89fc65fe4e7e1853cf8234772bfc2e28a1189b8dfd3f9e6fa34677f664 SHA512 50fdb7769c789fb143b2e4bd56e6b55eac8f84be5b7074008134fa56d980342c2307e62380f9ba6a8ab9bbc6bbf45b349aad540c8f239cf859706fd33e521e5e
DIST e2fsprogs-1.45.3.tar.xz 5561452 BLAKE2B ee41f35c3294ccb8dad4274e44d9c07dc94f93d2e921472c34da7913cdb2d60f998fa154c98f6ba4f9e598de152006a0fdb63a9006bbf3bb1847166d9342a29f SHA512 9f898d353af48a1d357cb01f64187b6dfef671bb2e0450438530fe4fa9454fccc6b755c9469d81e702e6d85a4defd02ae0a493897a4b3284cb112e8444c9bf52
EBUILD e2fsprogs-libs-1.44.5.ebuild 2420 BLAKE2B 185bc676e63b1a9d4bbeeab3f93026d90c9f147b55b40161efb57596071e0bb9f6ef2b78a234de7d7006d9a2ac9de83d563a87f4469f8525401eb346bf1dc73e SHA512 1ac2a5bbd640ead26afbb89c5d30ea8e9c07af7754591a1bc5167e016ee0a3b16a3534cdf01a89608204bbec6e1cf556720c050d658cd1d011c5bc6eceeb44c6
-EBUILD e2fsprogs-libs-1.45.2.ebuild 2424 BLAKE2B 24d3b40b550c31595052cbda7f92bf5f0345340e9c3979dba3488ef5ed9bccfbc5b09bd7fdcbdce39faf69e3d9e550d90719ad37ba607b99a728b3823774bb56 SHA512 5db41ad714c6655679994df71fac8be73b88967817716e5b29927a3b121334e914c983dfb13e0c8b9d49e9d3bdd6723e0e33d2399cfdedbcd93b583a43fd87a7
+EBUILD e2fsprogs-libs-1.45.2.ebuild 2420 BLAKE2B 81ee3f5d9d59a5add241ca79bfa2a0f9a112c16c4bb0b9970a1ee196540d2d98106c6a0d43bdad610d640407b56b312d0f58a4a6062bd311dedc96b0ecd96fe2 SHA512 be072a3070da4d0017347a9b62e09a2020410b48e29c8c9e680effa4dcd31d5cecc61604402f63dfa55256ace35b9c179fb7b6773ba0eaf8249f0144c0015939
EBUILD e2fsprogs-libs-1.45.3.ebuild 2433 BLAKE2B 25dcfee95771ef368e6b97fa8376b44dfd17e0761366b89b9a0614e5f9b9297521728b8712f6ed29ce63620092b3320c77d0dc6bebcf0a3d274ae6d17b7c245a SHA512 b5b7b987d17aa61e331cf2b7168dfcb5b7ee995fa89064cebd8ca6b636057cad389d357a78b2bef67851e9a85022e33d5a20b6a7e4eeb20355679b08439ec517
MISC metadata.xml 329 BLAKE2B 03dc6edded63d4d10b064515402e963a4770ffc36e17de351d5617849ea138796e4bf20c7feb383cc8ca3a88fba1caaf68b5411241a2558db832f9b659193644 SHA512 39e1ddf508b648594e45cd4e72a41997ab4ae7b5cfdefa136a18a1e68ac5a2bfb1f6a12328f1faee5501fbeff0c61cd91417de717c4869f530a18a05ea5d4c71
diff --git a/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.45.2.ebuild b/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.45.2.ebuild
index e830159132b6..4553bbd8c0c2 100644
--- a/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.45.2.ebuild
+++ b/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.45.2.ebuild
@@ -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 ~riscv 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 ~riscv 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/glibc/Manifest b/sys-libs/glibc/Manifest
index a01891890d8a..fe39f3262feb 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -20,8 +20,9 @@ DIST glibc-2.27.tar.xz 15395316 BLAKE2B ea206d304c8c9aa86d69db981a14bea008602cea
DIST glibc-2.28-patches-9.tar.xz 98588 BLAKE2B 4ab583be712994f949dee2512da6e12fd7f7ad73e96393f21678552b43da98f49321b53b5b009551300cdb09ca135e7f6adc636ff750c251a1d6d7f262dbc410 SHA512 e3f40ae6e9d06471c1a11bd2bce7b5161d07c3d0a81791505a72aec4817e7faf9ef09841e98c6dcf62a0a00754dff87dd194d97ac6b6354aeb2497cf60900b96
DIST glibc-2.28.tar.xz 16484344 BLAKE2B 9aa8cbd5a145c2a6fde3a60b3d0a14b12b46ed79333ad1ca3e73464adcfe700277a17a9e7fd0ca36e355a0c5b0b27decfa091da320ba802741ad75cc955bbcc8 SHA512 521f820953ff07c69ece4c2186f59fc061a7f9747932cd70ef2995c2b2deee76eeb6de700d85071cdca5949179aa8ccee75eda7feca1394121ec7b821ad0a3f3
DIST glibc-2.29-patches-3.tar.xz 35812 BLAKE2B 90b8bc57b7a63f03617795c368b92e525eccfec462d638dbc25c581e5b7a2a72ffd5191842f5ac443a868cbc950838d7e5120e866d343a14b80c55dcbfa48f30 SHA512 4c9b78d9d1a8aa629418f2d758ef800857780b8a1fd8d3582b88348a513ca26ca7f6ac9110a8c6bae16949b360ba36840d184f42293cd4324760273592d1b438
+DIST glibc-2.29-patches-4.tar.xz 63576 BLAKE2B 4a9005326e16f8c6b9e1a38e596d66c9f8063572324bfde69c01d2eda3cb026425bcb8dc16ebfc75779e0a66d595f672501cfdafbac18a8a613b84b1d8e670ba SHA512 64b2756169444a865afb20c6fec2b4534f6ae36082cf517c882c8e5e6f7335636a8f0da1b8faf476558664da460db20f5d50f526044a4c203bd7874ecd62d945
DIST glibc-2.29.tar.xz 16515488 BLAKE2B b754e6825176538a2b8ca03fce014f0d87d333dc4d038bf0cda5ee8a2f484cd3ce93ad78ec126737e093ab64b55ceedf04cd08aecb4f8041daaa329e99717afa SHA512 146bc0769fe853d9edbf93cea7f74c5b3d84d69cb7614c62588e7acdecd1ec789a9d8949f3e8b99f8f36f2ccac740a003bed94f32b07817baf780b06cfeb6ed0
-DIST glibc-9999-patches-12.tar.xz 17652 BLAKE2B 25a35eced3816dad02521b03f291292158e0c2f7c19aa416074d88ec719df9913b2d1e7e225a888a7b1f2455fc476c930f8e4b963d2439a2ba982ee038ce798b SHA512 4e985100441e761c50d76ee591924d4ed8284e55b186738c1a40001422c2382cdcfa46ac35f747897861a80045f2b92a0cd4639cd603372227d164c47460762a
+DIST glibc-9999-patches-13.tar.xz 18316 BLAKE2B c55359dda094dabfec85f53e48fcd43985d41211f29c0c3ba0d07c4ce28994f96c334c9fcc2a6b78e64123363253c701ed6e9335f4e74274c984734ac8881731 SHA512 627799f65f79e60ed3a9ba1a499d21e771f1b109934967c9fbdf3300b0c1509ef5382834e63c8ead23ffbaee80becf541da5b25e4e2cfa8f6baa801c3838c69d
EBUILD glibc-2.19-r2.ebuild 40503 BLAKE2B 86f512cbe4154292834e51109b7f233aea8e8fb2a90c643a6d875553f91e03c2e214c165fe3d08f4f0943cfe1627fc7b7e42f885a93ac50cffbe9d3f6b917e4e SHA512 8dce817f9e5fc8a252d61f89df010485e267f0612506cd8b128f151d9965d8e5a84033d07e1caefe23da9aaab95f058675c831bc410fc7cb613b2e329663f656
EBUILD glibc-2.23-r4.ebuild 4949 BLAKE2B 99db0ec4a452f04a2aef9b347a5ddec03cc88fbb1460c4f3f14b37efe5651b5db374e93a26b32b7918eb05f702d5355c5abcfcdf1228c24c4529218ecdd4017b SHA512 4384f936e1b88edc6639e4d7f31cc4641d287afda7e16f9cbd6a9fef68f04501213d9f2a84314cfb18d9da9b404a1452eba44fb49db8cf2cd1cd6012a659eb38
EBUILD glibc-2.24-r4.ebuild 4988 BLAKE2B 8e08345c96e176984b73a073efca21f771d41af1af75106ec88a22bd55d7f69f28d9c01989026a3e58f3df4fac2a59db68d5ac8a8bbb0f411c75da8792f3402a SHA512 dd1d996eaf35197f7b7b6c111957eb98ef776d0a76a949b95f9bb17075dca43b2a354f8d15be133b9f3ff6c40a5b1f4ec28bd8d41c5cfc51da006eda8b005a05
@@ -29,6 +30,7 @@ EBUILD glibc-2.25-r11.ebuild 4975 BLAKE2B cef32f5d160644845e7cf45a9dd4c8cef1dcff
EBUILD glibc-2.26-r7.ebuild 25509 BLAKE2B 49166ae538135fe9663954a2f2ae6778b240ba32ab77e600091e56f44ef06df91f856c1389e78431420a33cb381743f4b44d5f02bbe6041a01134795fd2fad14 SHA512 82111610d0de42b52cdd6452d8a7f09464a2aaceea8fee1d8d6dcc6a9ee35396a093448361111e62b8acdec06d84795600dab65dbbe4e951663827106e81268f
EBUILD glibc-2.27-r6.ebuild 41564 BLAKE2B 7a0d3bf89587630f59c8f4e271ec26db8695f1ccec95148d1d79c8bb14fb1382a37ada421c002ca0d66661b28ab1166acbfe884bcfeed8da413ff82d448ff141 SHA512 02d6d45d177bc43438a74918a8dcbd19507100b00ebd079102296ca197c05a957cdf9d58ffa11e1710d781016c4b6ab98c2aa492b2dd1483ad02de856fa2a54b
EBUILD glibc-2.28-r6.ebuild 41334 BLAKE2B 4de861388f365a5b38aa09bac691d2a6e22f4ff54942eb1fa044d125b9214d5519f10549214cfa46d96e968a6ec80b6e022a9e7000db8d351e2a03cb02530aa8 SHA512 52174bb1cafbf8401851efa950398a31d84319bf3b403f6db9bbbc0e0044b18f1c08e64ae181d062a33139d139eaca5706dd0df1a3b9f555a73a35389dcc2a6a
-EBUILD glibc-2.29-r2.ebuild 42192 BLAKE2B 8d8b87c2bdb930abb1c891ad3a7cb99edd2af002f06fe955665a8a2213ae5cc43e43f4f262f544e7438c2512208537a5e981228e92f360becdc151f264d9929b SHA512 9ce9edf2e6f70704cae70a8e9cb869cfc6130c039b5c840ca7310ec55ba7ae87fb6dc219f11d365e97d14dc33511a4e4ebd9685fbc99b0c860ac2cf5ed92f130
-EBUILD glibc-9999.ebuild 42597 BLAKE2B 101783c7b7509993c15e2309ca8f01e62ecc232fd97d775f36954d2fd8b5da09f0e770627b093ab13254174bca781e45baaa1b404d730ca0a70094b9bdca64f8 SHA512 0a2cfb665f51221163692e730b0a13f29eb192a003a096b9f103d479000df314d3e5a8eae5ddaa9e6899527bc314ebf0cfe60430c48814c5771df13356eaf9d6
+EBUILD glibc-2.29-r2.ebuild 42670 BLAKE2B bc32330106dc20ad803ac3fc8a59d9ec81bc6007f62550127eb7b20c1994d461db3460f18d5791c5ac40457ce8670fc917fe5c0a120381fdab3e90132ad96975 SHA512 2f9073351fa328a99d2c16df6633815930a865199a9412328c277ac80eb4f5d7795026e88b0ebb1982ab3c0170fe0d6cd15a63ffa6a8bfc33c0b08628d57feea
+EBUILD glibc-2.29-r3.ebuild 42678 BLAKE2B 74a6df5c1ca28b4c2df383c8a00934ac47e037e0dc536056cddd0de7d852478ca31f63fd26c1593e3c16a3f40380cab5d8de09ab431409144c682432f0de5806 SHA512 3032c8dd318ade7a6908859d0acdcd351e9dc553de9985c05073aa6fd41047a14895d81e8a061db749aab9a4e2056ac9230cb88a72ea8ac62f285ea54c3613dc
+EBUILD glibc-9999.ebuild 43078 BLAKE2B c9f6c2ad1d2cbb6a4404ce2bf2c32b6511e5a920823c27c967fa34527b5e6eb277a8539aae01333f531cb5730844c59e008d83ae4981a18e19e9ef5093122911 SHA512 1691ebacc6f2e7f4ad02f65388c66b0edc8ba6a862e0107a4573f76b8660a81679fd7e14d959c58e5ca99e4370ad114aa33236ee1aa9078c46d1755ff6c15d14
MISC metadata.xml 1323 BLAKE2B 6a19ccbf9f068c6c3d3b945d3011dce3d7712dd74a2daeaa8244eef73fd86723b275ce018ec5557862278c23883fabfb27e91e0b88ff62c34fffdadd4b024411 SHA512 848adbf531103d69b8b0e7017c25de730daecccae220e337e475ba8dbcaa95c6d5e440330be56367974607050dfa1964026ed90bc699ab5f12fef35c88d67505
diff --git a/sys-libs/glibc/glibc-2.29-r2.ebuild b/sys-libs/glibc/glibc-2.29-r2.ebuild
index ad6fed1c1662..a9ed33739e85 100644
--- a/sys-libs/glibc/glibc-2.29-r2.ebuild
+++ b/sys-libs/glibc/glibc-2.29-r2.ebuild
@@ -20,7 +20,7 @@ if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
inherit git-r3
else
- KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sh ~sparc x86"
+ KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh ~sparc x86"
SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
fi
@@ -125,6 +125,18 @@ alt_prefix() {
is_crosscompile && echo /usr/${CTARGET}
}
+# This prefix is applicable to CHOST when building against this
+# glibc. It is baked into the library at configure time.
+host_eprefix() {
+ is_crosscompile || echo "${EPREFIX}"
+}
+
+# This prefix is applicable to CBUILD when building against this
+# glibc. It determines the destination path at install time.
+build_eprefix() {
+ is_crosscompile && echo "${EPREFIX}"
+}
+
# We need to be able to set alternative headers for compiling for non-native
# platform. Will also become useful for testing kernel-headers without screwing
# up the whole system.
@@ -134,7 +146,7 @@ alt_headers() {
alt_build_headers() {
if [[ -z ${ALT_BUILD_HEADERS} ]] ; then
- ALT_BUILD_HEADERS="${EPREFIX}$(alt_headers)"
+ ALT_BUILD_HEADERS="$(host_eprefix)$(alt_headers)"
if tc-is-cross-compiler ; then
ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers)
if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then
@@ -578,7 +590,7 @@ eend_KV() {
get_kheader_version() {
printf '#include <linux/version.h>\nLINUX_VERSION_CODE\n' | \
- $(tc-getCPP ${CTARGET}) -I "${EPREFIX}/$(alt_build_headers)" - | \
+ $(tc-getCPP ${CTARGET}) -I "$(build_eprefix)$(alt_build_headers)" - | \
tail -n 1
}
@@ -602,7 +614,7 @@ sanity_prechecks() {
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."
+ [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system."
fi
if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then
@@ -892,9 +904,9 @@ glibc_do_configure() {
$(use_enable profile)
$(use_with gd)
--with-headers=$(alt_build_headers)
- --prefix="${EPREFIX}/usr"
- --sysconfdir="${EPREFIX}/etc"
- --localstatedir="${EPREFIX}/var"
+ --prefix="$(host_eprefix)/usr"
+ --sysconfdir="$(host_eprefix)/etc"
+ --localstatedir="$(host_eprefix)/var"
--libdir='$(prefix)'/$(get_libdir)
--mandir='$(prefix)'/share/man
--infodir='$(prefix)'/share/info
@@ -916,8 +928,8 @@ glibc_do_configure() {
# 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)"
+ export libc_cv_rootsbindir="$(host_eprefix)/sbin"
+ export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)"
# We take care of patching our binutils to use both hash styles,
# and many people like to force gnu hash style only, so disable
@@ -1046,7 +1058,7 @@ glibc_headers_configure() {
--build=${CBUILD_OPT:-${CBUILD}}
--host=${CTARGET_OPT:-${CTARGET}}
--with-headers=$(alt_build_headers)
- --prefix="${EPREFIX}/usr"
+ --prefix="$(host_eprefix)/usr"
${EXTRA_ECONF}
)
@@ -1136,7 +1148,7 @@ glibc_do_src_install() {
local builddir=$(builddir nptl)
cd "${builddir}"
- emake install_root="${D}$(alt_prefix)" install || die
+ emake install_root="${D}$(build_eprefix)$(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
@@ -1320,7 +1332,7 @@ glibc_do_src_install() {
glibc_headers_install() {
local builddir=$(builddir "headers")
cd "${builddir}"
- emake install_root="${D}$(alt_prefix)" install-headers
+ emake install_root="${D}$(build_eprefix)$(alt_prefix)" install-headers
insinto $(alt_headers)/gnu
doins "${S}"/include/gnu/stubs.h
diff --git a/sys-libs/glibc/glibc-2.29-r3.ebuild b/sys-libs/glibc/glibc-2.29-r3.ebuild
new file mode 100644
index 000000000000..f94b65fed35f
--- /dev/null
+++ b/sys-libs/glibc/glibc-2.29-r3.ebuild
@@ -0,0 +1,1460 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{5,6,7} )
+
+inherit python-any-r1 prefix eutils eapi7-ver toolchain-funcs flag-o-matic gnuconfig usr-ldscript \
+ 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 ~riscv ~s390 ~sh ~sparc ~x86"
+ SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
+fi
+
+RELEASE_VER=${PV}
+
+GCC_BOOTSTRAP_VER=20180511
+
+# Gentoo patchset
+PATCH_VER=4
+
+SRC_URI+=" https://dev.gentoo.org/~slyfox/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
+SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
+
+IUSE="audit caps cet compile-locales doc gd headers-only +multiarch multilib nscd profile selinux +ssp suid systemtap test vanilla"
+
+# Minimum kernel version that glibc requires
+MIN_KERN_VER="3.2.0"
+
+# Here's how the cross-compile logic breaks down ...
+# CTARGET - machine that will target the binaries
+# CHOST - machine that will host the binaries
+# CBUILD - machine that will build the binaries
+# If CTARGET != CHOST, it means you want a libc for cross-compiling.
+# If CHOST != CBUILD, it means you want to cross-compile the libc.
+# CBUILD = CHOST = CTARGET - native build/install
+# CBUILD != (CHOST = CTARGET) - cross-compile a native build
+# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
+# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
+# For install paths:
+# CHOST = CTARGET - install into /
+# CHOST != CTARGET - install into /usr/CTARGET/
+#
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+# 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}
+ ${PYTHON_DEPS}
+ >=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}
+ 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+="
+ >=net-dns/libidn2-2.0.5
+ vanilla? ( !sys-libs/timezone-data )
+ "
+ PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
+fi
+
+#
+# Small helper functions
+#
+
+is_crosscompile() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
+just_headers() {
+ is_crosscompile && use headers-only
+}
+
+alt_prefix() {
+ is_crosscompile && echo /usr/${CTARGET}
+}
+
+# This prefix is applicable to CHOST when building against this
+# glibc. It is baked into the library at configure time.
+host_eprefix() {
+ is_crosscompile || echo "${EPREFIX}"
+}
+
+# This prefix is applicable to CBUILD when building against this
+# glibc. It determines the destination path at install time.
+build_eprefix() {
+ is_crosscompile && echo "${EPREFIX}"
+}
+
+# We need to be able to set alternative headers for compiling for non-native
+# platform. Will also become useful for testing kernel-headers without screwing
+# up the whole system.
+alt_headers() {
+ echo ${ALT_HEADERS:=$(alt_prefix)/usr/include}
+}
+
+alt_build_headers() {
+ if [[ -z ${ALT_BUILD_HEADERS} ]] ; then
+ ALT_BUILD_HEADERS="$(host_eprefix)$(alt_headers)"
+ if tc-is-cross-compiler ; then
+ ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers)
+ if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then
+ local header_path=$(echo '#include <linux/version.h>' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h')
+ ALT_BUILD_HEADERS=${header_path%/linux/version.h}
+ fi
+ fi
+ fi
+ echo "${ALT_BUILD_HEADERS}"
+}
+
+alt_libdir() {
+ echo $(alt_prefix)/$(get_libdir)
+}
+alt_usrlibdir() {
+ echo $(alt_prefix)/usr/$(get_libdir)
+}
+
+builddir() {
+ echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1"
+}
+
+do_compile_test() {
+ local ret save_cflags=${CFLAGS}
+ CFLAGS+=" $1"
+ shift
+
+ pushd "${T}" >/dev/null
+
+ rm -f glibc-test*
+ printf '%b' "$*" > glibc-test.c
+
+ nonfatal emake -s glibc-test
+ ret=$?
+
+ popd >/dev/null
+
+ CFLAGS=${save_cflags}
+ return ${ret}
+}
+
+do_run_test() {
+ local ret
+
+ if [[ ${MERGE_TYPE} == "binary" ]] ; then
+ # ignore build failures when installing a binary package #324685
+ do_compile_test "" "$@" 2>/dev/null || return 0
+ else
+ if ! do_compile_test "" "$@" ; then
+ ewarn "Simple build failed ... assuming this is desired #324685"
+ return 0
+ fi
+ fi
+
+ pushd "${T}" >/dev/null
+
+ ./glibc-test
+ ret=$?
+ rm -f glibc-test*
+
+ popd >/dev/null
+
+ return ${ret}
+}
+
+setup_target_flags() {
+ # This largely mucks with compiler flags. None of which should matter
+ # when building up just the headers.
+ just_headers && return 0
+
+ case $(tc-arch) in
+ x86)
+ # -march needed for #185404 #199334
+ # TODO: When creating the first glibc cross-compile, this test will
+ # always fail as it does a full link which in turn requires glibc.
+ # Probably also applies when changing multilib profile settings (e.g.
+ # enabling x86 when the profile was amd64-only previously).
+ # We could change main to _start and pass -nostdlib here so that we
+ # only test the gcc code compilation. Or we could do a compile and
+ # then look for the symbol via scanelf.
+ if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then
+ local t=${CTARGET_OPT:-${CTARGET}}
+ t=${t%%-*}
+ filter-flags '-march=*'
+ export CFLAGS="-march=${t} ${CFLAGS}"
+ einfo "Auto adding -march=${t} to CFLAGS #185404"
+ fi
+ ;;
+ amd64)
+ # -march needed for #185404 #199334
+ # Note: This test only matters when the x86 ABI is enabled, so we could
+ # optimize a bit and elide it.
+ # TODO: See cross-compile issues listed above for x86.
+ if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then
+ local t=${CTARGET_OPT:-${CTARGET}}
+ t=${t%%-*}
+ # Normally the target is x86_64-xxx, so turn that into the -march that
+ # gcc actually accepts. #528708
+ [[ ${t} == "x86_64" ]] && t="x86-64"
+ filter-flags '-march=*'
+ # ugly, ugly, ugly. ugly.
+ CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}")
+ export CFLAGS_x86="${CFLAGS_x86} -march=${t}"
+ einfo "Auto adding -march=${t} to CFLAGS_x86 #185404"
+ fi
+ ;;
+ mips)
+ # The mips abi cannot support the GNU style hashes. #233233
+ filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
+ ;;
+ sparc)
+ # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though.
+ filter-flags "-fcall-used-g7"
+ append-flags "-fcall-used-g6"
+
+ # If the CHOST is the basic one (e.g. not sparcv9-xxx already),
+ # try to pick a better one so glibc can use cpu-specific .S files.
+ # We key off the CFLAGS to get a good value. Also need to handle
+ # version skew.
+ # We can't force users to set their CHOST to their exact machine
+ # as many of these are not recognized by config.sub/gcc and such :(.
+ # Note: If the mcpu values don't scale, we might try probing CPP defines.
+ # Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ?
+
+ local cpu
+ case ${CTARGET} in
+ sparc64-*)
+ case $(get-flag mcpu) in
+ niagara[234])
+ if ver_test -ge 2.8 ; then
+ cpu="sparc64v2"
+ elif ver_test -ge 2.4 ; then
+ cpu="sparc64v"
+ elif ver_test -ge 2.2.3 ; then
+ cpu="sparc64b"
+ fi
+ ;;
+ niagara)
+ if ver_test -ge 2.4 ; then
+ cpu="sparc64v"
+ elif ver_test -ge 2.2.3 ; then
+ cpu="sparc64b"
+ fi
+ ;;
+ ultrasparc3)
+ cpu="sparc64b"
+ ;;
+ *)
+ # We need to force at least v9a because the base build doesn't
+ # work with just v9.
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=19477
+ [[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a"
+ ;;
+ esac
+ ;;
+ sparc-*)
+ case $(get-flag mcpu) in
+ niagara[234])
+ if ver_test -ge 2.8 ; then
+ cpu="sparcv9v2"
+ elif ver_test -ge 2.4 ; then
+ cpu="sparcv9v"
+ elif ver_test -ge 2.2.3 ; then
+ cpu="sparcv9b"
+ else
+ cpu="sparcv9"
+ fi
+ ;;
+ niagara)
+ if ver_test -ge 2.4 ; then
+ cpu="sparcv9v"
+ elif ver_test -ge 2.2.3 ; then
+ cpu="sparcv9b"
+ else
+ cpu="sparcv9"
+ fi
+ ;;
+ ultrasparc3)
+ cpu="sparcv9b"
+ ;;
+ v9|ultrasparc)
+ cpu="sparcv9"
+ ;;
+ v8|supersparc|hypersparc|leon|leon3)
+ cpu="sparcv8"
+ ;;
+ esac
+ ;;
+ esac
+ [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}"
+ ;;
+ esac
+}
+
+setup_flags() {
+ # Make sure host make.conf doesn't pollute us
+ if is_crosscompile || tc-is-cross-compiler ; then
+ CHOST=${CTARGET} strip-unsupported-flags
+ fi
+
+ # Store our CFLAGS because it's changed depending on which CTARGET
+ # we are building when pulling glibc on a multilib profile
+ CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}}
+ CFLAGS=${CFLAGS_BASE}
+ CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}}
+ CXXFLAGS=${CXXFLAGS_BASE}
+ ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}}
+ ASFLAGS=${ASFLAGS_BASE}
+
+ # Over-zealous CFLAGS can often cause problems. What may work for one
+ # person may not work for another. To avoid a large influx of bugs
+ # relating to failed builds, we strip most CFLAGS out to ensure as few
+ # problems as possible.
+ strip-flags
+ strip-unsupported-flags
+ filter-flags -m32 -m64 '-mabi=*'
+
+ # glibc aborts if rpath is set by LDFLAGS
+ filter-ldflags '-Wl,-rpath=*'
+
+ # #492892
+ filter-flags -frecord-gcc-switches
+
+ unset CBUILD_OPT CTARGET_OPT
+ if use multilib ; then
+ CTARGET_OPT=$(get_abi_CTARGET)
+ [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST)
+ fi
+
+ setup_target_flags
+
+ if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then
+ CBUILD_OPT=${CTARGET_OPT}
+ fi
+
+ # Lock glibc at -O2; we want to be conservative here.
+ # -fno-strict-aliasing is to work around #155906.
+ filter-flags '-O?'
+ append-flags -O2 -fno-strict-aliasing
+
+ filter-flags '-fstack-protector*'
+}
+
+want_tls() {
+ # Archs that can use TLS (Thread Local Storage)
+ case $(tc-arch) in
+ x86)
+ # requires i486 or better #106556
+ [[ ${CTARGET} == i[4567]86* ]] && return 0
+ return 1
+ ;;
+ esac
+ return 0
+}
+
+want__thread() {
+ want_tls || return 1
+
+ # For some reason --with-tls --with__thread is causing segfaults on sparc32.
+ [[ ${PROFILE_ARCH} == "sparc" ]] && return 1
+
+ [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD}
+
+ # only test gcc -- can't test linking yet
+ tc-has-tls -c ${CTARGET}
+ WANT__THREAD=$?
+
+ return ${WANT__THREAD}
+}
+
+use_multiarch() {
+ # Allow user to disable runtime arch detection in multilib.
+ use multiarch || return 1
+ # Make sure binutils is new enough to support indirect functions,
+ # #336792. This funky sed supports gold and bfd linkers.
+ local bver nver
+ bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}')
+ case $(tc-arch ${CTARGET}) in
+ amd64|x86) nver="2.20" ;;
+ arm) nver="2.22" ;;
+ hppa) nver="2.23" ;;
+ ppc|ppc64) nver="2.20" ;;
+ # ifunc support was added in 2.23, but glibc also needs
+ # machinemode which is in 2.24.
+ s390) nver="2.24" ;;
+ sparc) nver="2.21" ;;
+ *) return 1 ;;
+ esac
+ ver_test ${bver} -ge ${nver}
+}
+
+# Setup toolchain variables that had historically been defined in the
+# profiles for these archs.
+setup_env() {
+ # silly users
+ unset LD_RUN_PATH
+ unset LD_ASSUME_KERNEL
+
+ if is_crosscompile || tc-is-cross-compiler ; then
+ multilib_env ${CTARGET_OPT:-${CTARGET}}
+
+ if ! use multilib ; then
+ MULTILIB_ABIS=${DEFAULT_ABI}
+ else
+ MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}}
+ fi
+
+ # If the user has CFLAGS_<CTARGET> in their make.conf, use that,
+ # and fall back on CFLAGS.
+ local VAR=CFLAGS_${CTARGET//[-.]/_}
+ CFLAGS=${!VAR-${CFLAGS}}
+ einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}"
+ fi
+
+ setup_flags
+
+ export ABI=${ABI:-${DEFAULT_ABI:-default}}
+
+ if just_headers ; then
+ # Avoid mixing host's CC and target's CFLAGS_${ABI}:
+ # At this bootstrap stage we have only binutils for
+ # target but not compiler yet.
+ einfo "Skip CC ABI injection. We can't use (cross-)compiler yet."
+ return 0
+ fi
+ local VAR=CFLAGS_${ABI}
+ # We need to export CFLAGS with abi information in them because glibc's
+ # configure script checks CFLAGS for some targets (like mips). Keep
+ # around the original clean value to avoid appending multiple ABIs on
+ # top of each other.
+ : ${__GLIBC_CC:=$(tc-getCC ${CTARGET_OPT:-${CTARGET}})}
+ export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}"
+ einfo " $(printf '%15s' 'Manual CC:') ${CC}"
+}
+
+foreach_abi() {
+ setup_env
+
+ local ret=0
+ local abilist=""
+ if use multilib ; then
+ abilist=$(get_install_abis)
+ else
+ abilist=${DEFAULT_ABI}
+ fi
+ local -x ABI
+ for ABI in ${abilist:-default} ; do
+ setup_env
+ einfo "Running $1 for ABI ${ABI}"
+ $1
+ : $(( ret |= $? ))
+ done
+ return ${ret}
+}
+
+glibc_banner() {
+ local b="Gentoo ${PVR}"
+ [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}"
+ echo "${b}"
+}
+
+check_devpts() {
+ # Make sure devpts is mounted correctly for use w/out setuid pt_chown.
+
+ # If merely building the binary package, then there's nothing to verify.
+ [[ ${MERGE_TYPE} == "buildonly" ]] && return
+
+ # Only sanity check when installing the native glibc.
+ [[ ${ROOT} != "/" ]] && return
+
+ # If they're opting in to the old suid code, then no need to check.
+ use suid && return
+
+ if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then
+ eerror "In order to use glibc with USE=-suid, you must make sure that"
+ eerror "you have devpts mounted at /dev/pts with the gid=5 option."
+ eerror "Openrc should do this for you, so you should check /etc/fstab"
+ eerror "and make sure you do not have any invalid settings there."
+ die "mount & fix your /dev/pts settings"
+ fi
+}
+
+# The following Kernel version handling functions are mostly copied from portage
+# source. It's better not to use linux-info.eclass here since a) it adds too
+# much magic, see bug 326693 for some of the arguments, and b) some of the
+# functions are just not provided.
+
+g_get_running_KV() {
+ uname -r
+ return $?
+}
+
+g_KV_major() {
+ [[ -z $1 ]] && return 1
+ local KV=$@
+ echo "${KV%%.*}"
+}
+
+g_KV_minor() {
+ [[ -z $1 ]] && return 1
+ local KV=$@
+ KV=${KV#*.}
+ echo "${KV%%.*}"
+}
+
+g_KV_micro() {
+ [[ -z $1 ]] && return 1
+ local KV=$@
+ KV=${KV#*.*.}
+ echo "${KV%%[^[:digit:]]*}"
+}
+
+g_KV_to_int() {
+ [[ -z $1 ]] && return 1
+ local KV_MAJOR=$(g_KV_major "$1")
+ local KV_MINOR=$(g_KV_minor "$1")
+ local KV_MICRO=$(g_KV_micro "$1")
+ local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO ))
+
+ # We make version 2.2.0 the minimum version we will handle as
+ # a sanity check ... if its less, we fail ...
+ if [[ ${KV_int} -ge 131584 ]] ; then
+ echo "${KV_int}"
+ return 0
+ fi
+ return 1
+}
+
+g_int_to_KV() {
+ local version=$1 major minor micro
+ major=$((version / 65536))
+ minor=$(((version % 65536) / 256))
+ micro=$((version % 256))
+ echo ${major}.${minor}.${micro}
+}
+
+eend_KV() {
+ [[ $(g_KV_to_int $1) -ge $(g_KV_to_int $2) ]]
+ eend $?
+}
+
+get_kheader_version() {
+ printf '#include <linux/version.h>\nLINUX_VERSION_CODE\n' | \
+ $(tc-getCPP ${CTARGET}) -I "$(build_eprefix)$(alt_build_headers)" - | \
+ tail -n 1
+}
+
+# We collect all sanity checks here. Consistency is not guranteed between
+# pkg_ and src_ phases, so we call this function both in pkg_pretend and in
+# src_unpack.
+sanity_prechecks() {
+ # Make sure devpts is mounted correctly for use w/out setuid pt_chown
+ check_devpts
+
+ # Prevent native builds from downgrading
+ if [[ ${MERGE_TYPE} != "buildonly" ]] && \
+ [[ ${ROOT} == "/" ]] && \
+ [[ ${CBUILD} == ${CHOST} ]] && \
+ [[ ${CHOST} == ${CTARGET} ]] ; then
+
+ # The high rev # is to allow people to downgrade between -r#
+ # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2
+ # should be fine. Hopefully we never actually use a r# this
+ # high.
+ if has_version ">${CATEGORY}/${P}-r10000" ; then
+ eerror "Sanity check to keep you from breaking your system:"
+ eerror " Downgrading glibc is not supported and a sure way to destruction."
+ [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system."
+ fi
+
+ if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then
+ eerror "Your old kernel is broken. You need to update it to a newer"
+ eerror "version as syscall(<bignum>) will break. See bug 279260."
+ die "Old and broken kernel."
+ fi
+ fi
+
+ # Users have had a chance to phase themselves, time to give em the boot
+ if [[ -e ${EROOT}/etc/locale.gen ]] && [[ -e ${EROOT}/etc/locales.build ]] ; then
+ eerror "You still haven't deleted ${EROOT}/etc/locales.build."
+ eerror "Do so now after making sure ${EROOT}/etc/locale.gen is kosher."
+ die "Lazy upgrader detected"
+ fi
+
+ if [[ ${CTARGET} == i386-* ]] ; then
+ eerror "i386 CHOSTs are no longer supported."
+ eerror "Chances are you don't actually want/need i386."
+ eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml"
+ die "Please fix your CHOST"
+ fi
+
+ if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then
+ ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS."
+ ewarn "This will result in a 50% performance penalty when running with a 32bit"
+ ewarn "hypervisor, which is probably not what you want."
+ fi
+
+ # Check for sanity of /etc/nsswitch.conf
+ if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then
+ local entry
+ for entry in passwd group shadow; do
+ if ! egrep -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then
+ eerror "Your ${EROOT}/etc/nsswitch.conf is out of date."
+ eerror "Please make sure you have 'files' entries for"
+ eerror "'passwd:', 'group:' and 'shadow:' databases."
+ eerror "For more details see:"
+ eerror " https://wiki.gentoo.org/wiki/Project:Toolchain/nsswitch.conf_in_glibc-2.26"
+ die "nsswitch.conf has no 'files' provider in '${entry}'."
+ fi
+ done
+ fi
+
+ # ABI-specific checks follow here. Hey, we have a lot more specific conditions that
+ # we test for...
+ if ! is_crosscompile ; then
+ if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then
+ ebegin "Checking that IA32 emulation is enabled in the running kernel"
+ echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c"
+ local STAT
+ if "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then
+ "${T}/check-ia32-emulation.elf32"
+ STAT=$?
+ else
+ # Don't fail here to allow single->multi ABI switch
+ # or recover from breakage like bug #646424
+ ewarn "Failed to compile the ABI test. Broken host glibc?"
+ STAT=0
+ fi
+ rm -f "${T}/check-ia32-emulation.elf32"
+ eend $STAT
+ [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc."
+ fi
+
+ fi
+
+ # When we actually have to compile something...
+ if ! just_headers ; then
+ ebegin "Checking gcc for __thread support"
+ if ! eend $(want__thread ; echo $?) ; then
+ echo
+ eerror "Could not find a gcc that supports the __thread directive!"
+ eerror "Please update your binutils/gcc and try again."
+ die "No __thread support in gcc!"
+ fi
+
+ if [[ ${CTARGET} == *-linux* ]] ; then
+ local run_kv build_kv want_kv
+
+ run_kv=$(g_get_running_KV)
+ build_kv=$(g_int_to_KV $(get_kheader_version))
+ want_kv=${MIN_KERN_VER}
+
+ if ! is_crosscompile && ! tc-is-cross-compiler ; then
+ # Building fails on an non-supporting kernel
+ ebegin "Checking running kernel version (${run_kv} >= ${want_kv})"
+ if ! eend_KV ${run_kv} ${want_kv} ; then
+ echo
+ eerror "You need a kernel of at least ${want_kv}!"
+ die "Kernel version too low!"
+ fi
+ fi
+
+ ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})"
+ if ! eend_KV ${build_kv} ${want_kv} ; then
+ echo
+ eerror "You need linux-headers of at least ${want_kv}!"
+ die "linux-headers version too low!"
+ fi
+ fi
+ fi
+}
+
+#
+# the phases
+#
+
+# pkg_pretend
+
+pkg_pretend() {
+ # All the checks...
+ einfo "Checking general environment sanity."
+ sanity_prechecks
+}
+
+pkg_setup() {
+ # see bug 682570
+ [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup
+}
+
+# src_unpack
+
+src_unpack() {
+ # Consistency is not guaranteed between pkg_ and src_ ...
+ sanity_prechecks
+
+ use multilib && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz
+
+ setup_env
+
+ if [[ -n ${EGIT_REPO_URI} ]] ; then
+ git-r3_src_unpack
+ else
+ unpack ${P}.tar.xz
+ fi
+
+ cd "${WORKDIR}" || die
+ unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz
+}
+
+src_prepare() {
+ if ! use vanilla ; then
+ elog "Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER}"
+ eapply "${WORKDIR}"/patches
+ einfo "Done."
+ fi
+
+ default
+
+ gnuconfig_update
+
+ cd "${WORKDIR}"
+ find . -name configure -exec touch {} +
+
+ eprefixify extra/locale/locale-gen
+
+ # Fix permissions on some of the scripts.
+ chmod u+x "${S}"/scripts/*.sh
+
+ cd "${S}"
+}
+
+glibc_do_configure() {
+ # Glibc does not work with gold (for various reasons) #269274.
+ tc-ld-disable-gold
+
+ # CXX isnt handled by the multilib system, so if we dont unset here
+ # we accumulate crap across abis
+ unset CXX
+
+ einfo "Configuring glibc for nptl"
+
+ if use doc ; then
+ export MAKEINFO=makeinfo
+ else
+ export MAKEINFO=/dev/null
+ fi
+
+ local v
+ for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO ; do
+ einfo " $(printf '%15s' ${v}:) ${!v}"
+ done
+
+ # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760
+ # To build .S (assembly) files with the same ABI-specific flags
+ # upstream currently recommends adding CFLAGS to CC/CXX:
+ # https://sourceware.org/PR23273
+ # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS
+ # and breaks multiarch support. See 659030#c3 for an example.
+ # The glibc configure script doesn't properly use LDFLAGS all the time.
+ export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}"
+ einfo " $(printf '%15s' 'Manual CC:') ${CC}"
+
+ # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
+ export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}"
+
+ if is_crosscompile; then
+ # Assume worst-case bootstrap: glibc is buil first time
+ # when ${CTARGET}-g++ is not available yet. We avoid
+ # building auxiliary programs that require C++: bug #683074
+ # It should not affect final result.
+ export libc_cv_cxx_link_ok=no
+ # The line above has the same effect. We set CXX explicitly
+ # to make build logs less confusing.
+ export CXX=
+ fi
+ einfo " $(printf '%15s' 'Manual CXX:') ${CXX}"
+
+ echo
+
+ local myconf=()
+
+ case ${CTARGET} in
+ m68k*)
+ # setjmp() is not compatible with stack protection:
+ # https://sourceware.org/PR24202
+ myconf+=( --enable-stack-protector=no )
+ ;;
+ powerpc-*)
+ # Currently gcc on powerpc32 generates invalid code for
+ # __builtin_return_address(0) calls. Normally programs
+ # don't do that but malloc hooks in glibc do:
+ # https://gcc.gnu.org/PR81996
+ # https://bugs.gentoo.org/629054
+ myconf+=( --enable-stack-protector=no )
+ ;;
+ *)
+ myconf+=( --enable-stack-protector=$(usex ssp all no) )
+ ;;
+ esac
+ myconf+=( --enable-stackguard-randomization )
+
+ # Keep a whitelist of targets supporing IFUNC. glibc's ./configure
+ # is not robust enough to detect proper support:
+ # https://bugs.gentoo.org/641216
+ # https://sourceware.org/PR22634#c0
+ case $(tc-arch ${CTARGET}) in
+ # Keep whitelist of targets where autodetection mostly works.
+ amd64|x86|sparc|ppc|ppc64|arm|arm64|s390) ;;
+ # Blacklist everywhere else
+ *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;;
+ esac
+
+ # Enable Intel Control-flow Enforcement Technology on amd64 if requested
+ case ${CTARGET} in
+ x86_64-*) myconf+=( $(use_enable cet) ) ;;
+ *) ;;
+ esac
+
+ [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp )
+
+ myconf+=( --enable-kernel=${MIN_KERN_VER} )
+
+ # Since SELinux support is only required for nscd, only enable it if:
+ # 1. USE selinux
+ # 2. only for the primary ABI on multilib systems
+ # 3. Not a crosscompile
+ if ! is_crosscompile && use selinux ; then
+ if use multilib ; then
+ if is_final_abi ; then
+ myconf+=( --with-selinux )
+ else
+ myconf+=( --without-selinux )
+ fi
+ else
+ myconf+=( --with-selinux )
+ fi
+ else
+ myconf+=( --without-selinux )
+ fi
+
+ # Force a few tests where we always know the answer but
+ # configure is incapable of finding it.
+ if is_crosscompile ; then
+ export \
+ libc_cv_c_cleanup=yes \
+ libc_cv_forced_unwind=yes
+ fi
+
+ myconf+=(
+ --without-cvs
+ --disable-werror
+ --enable-bind-now
+ --build=${CBUILD_OPT:-${CBUILD}}
+ --host=${CTARGET_OPT:-${CTARGET}}
+ $(use_enable profile)
+ $(use_with gd)
+ --with-headers=$(alt_build_headers)
+ --prefix="$(host_eprefix)/usr"
+ --sysconfdir="$(host_eprefix)/etc"
+ --localstatedir="$(host_eprefix)/var"
+ --libdir='$(prefix)'/$(get_libdir)
+ --mandir='$(prefix)'/share/man
+ --infodir='$(prefix)'/share/info
+ --libexecdir='$(libdir)'/misc/glibc
+ --with-bugurl=https://bugs.gentoo.org/
+ --with-pkgversion="$(glibc_banner)"
+ $(use_multiarch || echo --disable-multi-arch)
+ $(use_enable systemtap)
+ $(use_enable nscd)
+ ${EXTRA_ECONF}
+ )
+
+ # We rely on sys-libs/timezone-data for timezone tools normally.
+ myconf+=( $(use_enable vanilla timezone-tools) )
+
+ # These libs don't have configure flags.
+ ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no)
+ ac_cv_lib_cap_cap_init=$(usex caps || echo no)
+
+ # There is no configure option for this and we need to export it
+ # since the glibc build will re-run configure on itself
+ export libc_cv_rootsbindir="$(host_eprefix)/sbin"
+ export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)"
+
+ # We take care of patching our binutils to use both hash styles,
+ # and many people like to force gnu hash style only, so disable
+ # this overriding check. #347761
+ export libc_cv_hashstyle=no
+
+ local builddir=$(builddir nptl)
+ mkdir -p "${builddir}"
+ cd "${builddir}"
+ set -- "${S}"/configure "${myconf[@]}"
+ echo "$@"
+ "$@" || die "failed to configure glibc"
+
+ # ia64 static cross-compilers are a pita in so much that they
+ # can't produce static ELFs (as the libgcc.a is broken). so
+ # disable building of the programs for those targets if it
+ # doesn't work.
+ # XXX: We could turn this into a compiler test, but ia64 is
+ # the only one that matters, so this should be fine for now.
+ if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then
+ sed -i '1i+link-static = touch $@' config.make
+ fi
+
+ # If we're trying to migrate between ABI sets, we need
+ # to lie and use a local copy of gcc. Like if the system
+ # is built with MULTILIB_ABIS="amd64 x86" but we want to
+ # add x32 to it, gcc/glibc don't yet support x32.
+ #
+ if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib ; then
+ echo 'main(){}' > "${T}"/test.c
+ if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then
+ sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die
+ fi
+ fi
+}
+
+glibc_headers_configure() {
+ export ABI=default
+
+ local builddir=$(builddir "headers")
+ mkdir -p "${builddir}"
+ cd "${builddir}"
+
+ # if we don't have a compiler yet, we can't really test it now ...
+ # hopefully they don't affect header generation, so let's hope for
+ # the best here ...
+ local v vars=(
+ ac_cv_header_cpuid_h=yes
+ libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes
+ libc_cv_asm_cfi_directives=yes
+ libc_cv_broken_visibility_attribute=no
+ libc_cv_c_cleanup=yes
+ libc_cv_compiler_powerpc64le_binary128_ok=yes
+ libc_cv_forced_unwind=yes
+ libc_cv_gcc___thread=yes
+ libc_cv_mlong_double_128=yes
+ libc_cv_mlong_double_128ibm=yes
+ libc_cv_ppc_machine=yes
+ libc_cv_ppc_rel16=yes
+ libc_cv_predef_fortify_source=no
+ libc_cv_target_power8_ok=yes
+ libc_cv_visibility_attribute=yes
+ libc_cv_z_combreloc=yes
+ libc_cv_z_execstack=yes
+ libc_cv_z_initfirst=yes
+ libc_cv_z_nodelete=yes
+ libc_cv_z_nodlopen=yes
+ libc_cv_z_relro=yes
+ libc_mips_abi=${ABI}
+ libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard)
+ # These libs don't have configure flags.
+ ac_cv_lib_audit_audit_log_user_avc_message=no
+ ac_cv_lib_cap_cap_init=no
+ )
+
+ einfo "Forcing cached settings:"
+ for v in "${vars[@]}" ; do
+ einfo " ${v}"
+ export ${v}
+ done
+
+ local headers_only_arch_CPPFLAGS=()
+
+ # Blow away some random CC settings that screw things up. #550192
+ if [[ -d ${S}/sysdeps/mips ]]; then
+ pushd "${S}"/sysdeps/mips >/dev/null
+ sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die
+ sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die
+
+ # Force the mips ABI to the default. This is OK because the set of
+ # installed headers in this phase is the same between the 3 ABIs.
+ # If this ever changes, this hack will break, but that's unlikely
+ # as glibc discourages that behavior.
+ # https://crbug.com/647033
+ sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die
+
+ popd >/dev/null
+ fi
+
+ case ${CTARGET} in
+ riscv*)
+ # RISC-V interrogates the compiler to determine which target to
+ # build. If building the headers then we don't strictly need a
+ # RISC-V compiler, so the built-in definitions that are provided
+ # along with all RISC-V compiler might not exist. This causes
+ # glibc's RISC-V preconfigure script to blow up. Since we're just
+ # building the headers any value will actually work here, so just
+ # pick the standard one (rv64g/lp64d) to make the build scripts
+ # happy for now -- the headers are all the same anyway so it
+ # doesn't matter.
+ headers_only_arch_CPPFLAGS+=(
+ -D__riscv_xlen=64
+ -D__riscv_flen=64
+ -D__riscv_float_abi_double=1
+ -D__riscv_atomic=1
+ ) ;;
+ esac
+
+ local myconf=()
+ myconf+=(
+ --disable-sanity-checks
+ --enable-hacker-mode
+ --without-cvs
+ --disable-werror
+ --enable-bind-now
+ --build=${CBUILD_OPT:-${CBUILD}}
+ --host=${CTARGET_OPT:-${CTARGET}}
+ --with-headers=$(alt_build_headers)
+ --prefix="$(host_eprefix)/usr"
+ ${EXTRA_ECONF}
+ )
+
+ # Nothing is compiled here which would affect the headers for the target.
+ # So forcing CC/CFLAGS is sane.
+ local headers_only_CC=$(tc-getBUILD_CC)
+ local headers_only_CFLAGS="-O1 -pipe"
+ local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}"
+ local headers_only_LDFLAGS=""
+ set -- "${S}"/configure "${myconf[@]}"
+ echo \
+ "CC=${headers_only_CC}" \
+ "CFLAGS=${headers_only_CFLAGS}" \
+ "CPPFLAGS=${headers_only_CPPFLAGS}" \
+ "LDFLAGS=${headers_only_LDFLAGS}" \
+ "$@"
+ CC=${headers_only_CC} \
+ CFLAGS=${headers_only_CFLAGS} \
+ CPPFLAGS=${headers_only_CPPFLAGS} \
+ LDFLAGS="" \
+ "$@" || die "failed to configure glibc"
+}
+
+do_src_configure() {
+ if just_headers ; then
+ glibc_headers_configure
+ else
+ glibc_do_configure nptl
+ fi
+}
+
+src_configure() {
+ foreach_abi do_src_configure
+}
+
+do_src_compile() {
+ emake -C "$(builddir nptl)" || 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}$(build_eprefix)$(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
+ # riscv
+ lp64d /lib/ld-linux-riscv64-lp64d.so.1
+ lp64 /lib/ld-linux-riscv64-lp64.so.1
+ # s390
+ s390 /lib/ld.so.1
+ s390x /lib/ld64.so.1
+ # sparc
+ sparc32 /lib/ld-linux.so.2
+ sparc64 /lib64/ld-linux.so.2
+ )
+ case $(tc-endian) in
+ little)
+ ldso_abi_list+=(
+ # arm
+ arm64 /lib/ld-linux-aarch64.so.1
+ )
+ ;;
+ big)
+ ldso_abi_list+=(
+ # arm
+ arm64 /lib/ld-linux-aarch64_be.so.1
+ )
+ ;;
+ esac
+ if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then
+ dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib
+ fi
+ for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do
+ ldso_abi=${ldso_abi_list[i]}
+ has ${ldso_abi} $(get_install_abis) || continue
+
+ ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}"
+ if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then
+ dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name}
+ fi
+ done
+
+ # With devpts under Linux mounted properly, we do not need the pt_chown
+ # binary to be setuid. This is because the default owners/perms will be
+ # exactly what we want.
+ if ! use suid ; then
+ find "${ED}" -name pt_chown -exec chmod -s {} +
+ fi
+
+ #################################################################
+ # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY #
+ # Make sure we install some symlink hacks so that when we build
+ # a 2nd stage cross-compiler, gcc finds the target system
+ # headers correctly. See gcc/doc/gccinstall.info
+ if is_crosscompile ; then
+ # We need to make sure that /lib and /usr/lib always exists.
+ # gcc likes to use relative paths to get to its multilibs like
+ # /usr/lib/../lib64/. So while we don't install any files into
+ # /usr/lib/, we do need it to exist.
+ keepdir $(alt_prefix)/lib
+ keepdir $(alt_prefix)/usr/lib
+
+ dosym usr/include $(alt_prefix)/sys-include
+ return 0
+ fi
+
+ # Files for Debian-style locale updating
+ dodir /usr/share/i18n
+ sed \
+ -e "/^#/d" \
+ -e "/SUPPORTED-LOCALES=/d" \
+ -e "s: \\\\::g" -e "s:/: :g" \
+ "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \
+ || die "generating /usr/share/i18n/SUPPORTED failed"
+ cd "${WORKDIR}"/extra/locale
+ dosbin locale-gen
+ doman *.[0-8]
+ insinto /etc
+ doins locale.gen
+
+ # Make sure all the ABI's can find the locales and so we only
+ # have to generate one set
+ local a
+ keepdir /usr/$(get_libdir)/locale
+ for a in $(get_install_abis) ; do
+ if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then
+ dosym ../$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale
+ fi
+ done
+
+ # HACK: If we're building for riscv, we need to additionally make sure that
+ # we can find the locale archive afterwards
+ case ${CTARGET} in
+ riscv*)
+ if [[ ! -e ${ED}/usr/lib/locale ]] ; then
+ dosym ../$(get_libdir)/locale /usr/lib/locale
+ fi
+ ;;
+ *) ;;
+ esac
+
+ cd "${S}"
+
+ # Install misc network config files
+ insinto /etc
+ doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf
+ doins "${WORKDIR}"/extra/etc/*.conf
+
+ if use nscd ; then
+ doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/nscd)"
+
+ local nscd_args=(
+ -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):"
+ )
+
+ sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd
+
+ systemd_dounit nscd/nscd.service
+ systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf
+ else
+ # Do this since extra/etc/*.conf above might have nscd.conf.
+ rm -f "${ED}"/etc/nscd.conf
+ fi
+
+ echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc
+ doenvd "${T}"/00glibc
+
+ for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do
+ [[ -s ${d} ]] && dodoc ${d}
+ done
+ dodoc -r ChangeLog.old
+
+ # Prevent overwriting of the /etc/localtime symlink. We'll handle the
+ # creation of the "factory" symlink in pkg_postinst().
+ rm -f "${ED}"/etc/localtime
+
+ # Generate all locales if this is a native build as locale generation
+ if use compile-locales && ! is_crosscompile ; then
+ run_locale_gen "${ED}"
+ fi
+}
+
+glibc_headers_install() {
+ local builddir=$(builddir "headers")
+ cd "${builddir}"
+ emake install_root="${D}$(build_eprefix)$(alt_prefix)" install-headers
+
+ insinto $(alt_headers)/gnu
+ doins "${S}"/include/gnu/stubs.h
+
+ # Make sure we install the sys-include symlink so that when
+ # we build a 2nd stage cross-compiler, gcc finds the target
+ # system headers correctly. See gcc/doc/gccinstall.info
+ dosym usr/include $(alt_prefix)/sys-include
+}
+
+src_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/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index 39209741d278..0b6964c6a3b4 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -30,7 +30,7 @@ RELEASE_VER=${PV}
GCC_BOOTSTRAP_VER=20180511
# Gentoo patchset
-PATCH_VER=12
+PATCH_VER=13
SRC_URI+=" https://dev.gentoo.org/~slyfox/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
@@ -126,6 +126,18 @@ alt_prefix() {
is_crosscompile && echo /usr/${CTARGET}
}
+# This prefix is applicable to CHOST when building against this
+# glibc. It is baked into the library at configure time.
+host_eprefix() {
+ is_crosscompile || echo "${EPREFIX}"
+}
+
+# This prefix is applicable to CBUILD when building against this
+# glibc. It determines the destination path at install time.
+build_eprefix() {
+ is_crosscompile && echo "${EPREFIX}"
+}
+
# We need to be able to set alternative headers for compiling for non-native
# platform. Will also become useful for testing kernel-headers without screwing
# up the whole system.
@@ -135,7 +147,7 @@ alt_headers() {
alt_build_headers() {
if [[ -z ${ALT_BUILD_HEADERS} ]] ; then
- ALT_BUILD_HEADERS="${EPREFIX}$(alt_headers)"
+ ALT_BUILD_HEADERS="$(host_eprefix)$(alt_headers)"
if tc-is-cross-compiler ; then
ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers)
if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then
@@ -585,7 +597,7 @@ eend_KV() {
get_kheader_version() {
printf '#include <linux/version.h>\nLINUX_VERSION_CODE\n' | \
- $(tc-getCPP ${CTARGET}) -I "${EPREFIX}/$(alt_build_headers)" - | \
+ $(tc-getCPP ${CTARGET}) -I "$(build_eprefix)$(alt_build_headers)" - | \
tail -n 1
}
@@ -609,7 +621,7 @@ sanity_prechecks() {
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."
+ [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system."
fi
if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then
@@ -899,9 +911,9 @@ glibc_do_configure() {
$(use_enable profile)
$(use_with gd)
--with-headers=$(alt_build_headers)
- --prefix="${EPREFIX}/usr"
- --sysconfdir="${EPREFIX}/etc"
- --localstatedir="${EPREFIX}/var"
+ --prefix="$(host_eprefix)/usr"
+ --sysconfdir="$(host_eprefix)/etc"
+ --localstatedir="$(host_eprefix)/var"
--libdir='$(prefix)'/$(get_libdir)
--mandir='$(prefix)'/share/man
--infodir='$(prefix)'/share/info
@@ -923,8 +935,8 @@ glibc_do_configure() {
# 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)"
+ export libc_cv_rootsbindir="$(host_eprefix)/sbin"
+ export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)"
# We take care of patching our binutils to use both hash styles,
# and many people like to force gnu hash style only, so disable
@@ -1053,7 +1065,7 @@ glibc_headers_configure() {
--build=${CBUILD_OPT:-${CBUILD}}
--host=${CTARGET_OPT:-${CTARGET}}
--with-headers=$(alt_build_headers)
- --prefix="${EPREFIX}/usr"
+ --prefix="$(host_eprefix)/usr"
${EXTRA_ECONF}
)
@@ -1143,7 +1155,7 @@ glibc_do_src_install() {
local builddir=$(builddir nptl)
cd "${builddir}"
- emake install_root="${D}$(alt_prefix)" install || die
+ emake install_root="${D}$(build_eprefix)$(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
@@ -1327,7 +1339,7 @@ glibc_do_src_install() {
glibc_headers_install() {
local builddir=$(builddir "headers")
cd "${builddir}"
- emake install_root="${D}$(alt_prefix)" install-headers
+ emake install_root="${D}$(build_eprefix)$(alt_prefix)" install-headers
insinto $(alt_headers)/gnu
doins "${S}"/include/gnu/stubs.h
diff --git a/sys-libs/kpmcore/Manifest b/sys-libs/kpmcore/Manifest
index c217e37c2bf7..922ce1ac8f72 100644
--- a/sys-libs/kpmcore/Manifest
+++ b/sys-libs/kpmcore/Manifest
@@ -1,5 +1,5 @@
DIST kpmcore-3.3.0.tar.xz 412648 BLAKE2B c8e5bf8d20108b8c3164466bf4b08ec9e58808a20134e27b188f0b85809bf1dffabe293f7b1f53d96a6291d4a5d9c1945a496763aa5f72eaccde83f4fcc62c8b SHA512 62a0a341fbbec426291e2c9dd183a20466fce48ffaa360dd816c58402ee03c1f61c4ef7887d0a66c4693d77c2183a5da3477b828ba4ac2ed405f684ffb27125e
DIST kpmcore-4.0.0.tar.xz 417784 BLAKE2B deffb82b3ec5029ce845a398728b31b4da1b1b69377684a982b0d8067cfddc9ccb2ab2f4369faeb289b4aa54841940aae5a69051a30e4895b840c51393b0c487 SHA512 16f0a8ecae35c214272f28c49b5fff3d2d5e0959b9dceba392b9b6186d44e10d11fcf16ef0ad1da42f49f0c631ccb858d726a92d7c2f22125dae07fd4d2c5500
EBUILD kpmcore-3.3.0.ebuild 710 BLAKE2B a5e3d77dbaac4c73f90ac2d4d57e68f05709be098aab1606a6673d7206ec14d0211867707b48ec1e05f83ffc98b0d087e207c38bafb987955630c9bbb1de7b9e SHA512 386f479d2227e74448f5db42bb9f3ec18155a0a37cdd8b91a96d812316a476544745335c1145dcab835b6b51442db7401982d302278809d2d34afd280962005d
-EBUILD kpmcore-4.0.0.ebuild 841 BLAKE2B 439c8e303ab90c914eb7d954551ec472afb8622c98275b3171d6407042d1bdb0b6cba044206391b736474501448a40b1a318722ffa5bdb77851cb766670074ee SHA512 2a1a6a7ae06dea0ed97ca3606faeaaa5b42533ab521e4e9b3b6b7ee0a2183ec260930099f00e5db610b56fe60ffbff94700c89bbc39329da0e9b94aabe3d03c1
+EBUILD kpmcore-4.0.0.ebuild 845 BLAKE2B 582681de9e002e3585b65bbd3b5b37b11e2aafa93ce4eb09facab6431412810bed9970deaa088c8dde804a75b26161a45aa306277fe05f0f02046a513c99681d SHA512 5b02b87ab60439bf593c9893dcbd482bcfb37ab04c8b97615706c84cac11c653da99ebfcdafffe57d3b9ba4e153ece785b34c7e3a5211b553618964b6fdefd68
MISC metadata.xml 249 BLAKE2B ad415db89e5dee1627aa77f44ded9d4e1e5b8217d06c7ca25bbaa3fe92ce67c2b1090957c45a821b407d7927e5af798498aa6a5b903895ee1af8ee20a446c7f7 SHA512 76a5a340b13f0053ca3c5e94ed24380ea8d29b45ac8655419e22eaadb1e4a827c04d2e7e36b65145c4964e6526f656618fc6ac144e277ef53cb7373e6239e3c3
diff --git a/sys-libs/kpmcore/kpmcore-4.0.0.ebuild b/sys-libs/kpmcore/kpmcore-4.0.0.ebuild
index e053d1ab5ead..cc868268da02 100644
--- a/sys-libs/kpmcore/kpmcore-4.0.0.ebuild
+++ b/sys-libs/kpmcore/kpmcore-4.0.0.ebuild
@@ -8,11 +8,11 @@ inherit kde5
if [[ ${KDE_BUILD_TYPE} = release ]]; then
SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+ KEYWORDS="amd64 ~arm ~arm64 ~x86"
fi
DESCRIPTION="Library for managing partitions"
-HOMEPAGE="https://kde.org/applications/system/kdepartitionmanager"
+HOMEPAGE="https://kde.org/applications/system/org.kde.partitionmanager"
LICENSE="GPL-3"
SLOT="5/8"
IUSE=""
diff --git a/sys-libs/libblockdev/Manifest b/sys-libs/libblockdev/Manifest
index e70c6c84c45a..a85d52113389 100644
--- a/sys-libs/libblockdev/Manifest
+++ b/sys-libs/libblockdev/Manifest
@@ -3,6 +3,6 @@ DIST libblockdev-2.21-1.tar.gz 342121 BLAKE2B a0a1958303d38760a49eb2aca11ee84dfc
DIST libblockdev-2.22.tar.gz 854888 BLAKE2B beb1ff0ac122eb12b2066d97c81a8c62a33369aa22a6ae5d141076d52fbd82d17504a97f1a0091773d9a65b25b976edecebe3a76ba91ee8e6032fd034298fa4a SHA512 69bbd5afbd8abb0e22ef72d80375e32db653f21cf3063cf69fff71ad069ee0e6119adf6918a63e7ba9ec4ca02ffe3337be3edeeafdd3e73e4e53d85e90bf2f45
EBUILD libblockdev-2.20-r2.ebuild 1993 BLAKE2B 379104c3a7fa7e3d01cb7906ee0928db4cd6c3d03a062c25c25a1c869f18bbd8ba77be3c2ae084a9018b2b42a2a96151bd697453c5d1c6aecebeb56a36b796f2 SHA512 fba4a4dfd56f6708bc08c9f6276353a48e07284ccfe762a15e54ee7984beb74e52561062cd5b7686578d5bfd8bdeefadda35643a33c58aaf155f1a677bb61084
EBUILD libblockdev-2.21.ebuild 2029 BLAKE2B 52b4450eee896acef06c19b4ce5565739139ded79438b9a3ebbbe4c9e4d6cc37d02410b0d1c39533ff81427479efbdddb97855550a13e5aa8a5437163be3ad8b SHA512 d2b6dd2c454a83be8b2733ee215a24b4d21f200ef4c65aeb7bca293d47b92eb0ca4a69b520b623c1165b18287fefd5d9afdc37bebf75e0b994d91903285df4d8
-EBUILD libblockdev-2.22.ebuild 2330 BLAKE2B 1014f10ca9efd8b52c4be54e4b2c5b8c1d35d46dc12ca86fd240f627691e51f872c5e081c9cf4fb876b312ca2f75c451ed5a6b4fb2a643c2d1b407b2560c6cf4 SHA512 2872c9eef0989a1898fa0ddf3da2122f8f5c1298db947449897b728b0ac342f985c75549f3573fa1e7b2e02a4f90f6505d7ba651f9dedeb753bebf9a3a588883
+EBUILD libblockdev-2.22.ebuild 2498 BLAKE2B 249e31af2e2e8f0d19dc37d3dfd069a32e8bc6ec2d4cc8edae1d232a64c5c844fb5cf97b4e1d648f5b45405e2e0292b2c84ca7dd7fb9542deb0391f3d4a4a982 SHA512 0b54fd3f202027e4c7d95b381ab4503a32cb294a8e3419896621e0c3770b6ed32f7ac87d2aff9c751e3888b9c1ba7885c9275482525ac729345f7eab76f580c2
EBUILD libblockdev-9999.ebuild 2393 BLAKE2B 168e982cd69a773f96a51b5273c7529a885431b06f3c632d27e1e4858ac8c07ef14860aeff54b7c3d5ed071d3ed1b921c87cdc477383aaa066c0c8397ad14d43 SHA512 0f4cbb4d0fbb2cf2dfd300685fd3ef75ef9fe21981f4cd53a5f9b2b659520c7cb8784bc904cd5fd68d10f7f9fee13506441cd085e11b14c4e6151fc9716b1e4d
MISC metadata.xml 1079 BLAKE2B 927991dfdfefd599210651f76fa8bffbd5a54700791b57847a9ecf85cd1aa04a449eea84c4e1ee3e9eb50e541eab3d97a6218c814a018439aa6f520970a8acca SHA512 492cabe5b464c0bae48e8def1e771a27f28bcd03a47276be26a4351367bcd53e198358f8c0cbf25cd0c6c8e841ee67435b22fbe669bde1a6aa74668e70fa8fc9
diff --git a/sys-libs/libblockdev/libblockdev-2.22.ebuild b/sys-libs/libblockdev/libblockdev-2.22.ebuild
index fe1a9b0b4e7a..043dd58c3e88 100644
--- a/sys-libs/libblockdev/libblockdev-2.22.ebuild
+++ b/sys-libs/libblockdev/libblockdev-2.22.ebuild
@@ -112,4 +112,9 @@ src_configure() {
src_install() {
default
find "${ED}" -type f -name "*.la" -delete || die
+ # This is installed even with USE=-lvm, but libbd_lvm are omitted so it
+ # doesn't work at all.
+ if ! use lvm; then
+ rm -f "${ED}"/usr/bin/lvm-cache-stats || die
+ fi
}
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 7a400bc20591..226d6d3aae7c 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -2,9 +2,11 @@ AUX libcxx-3.9-cmake-link-flags.patch 1014 BLAKE2B 8e86059e00a5ebcd7a15288828766
DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03
+DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
+EBUILD libcxx-10.0.0.9999.ebuild 7061 BLAKE2B 5499f08cc6c6d5c5cef5d7f688211d8f7fbe763d0e95dfb041c73d2fe4d91f05bca6f82d5ac260b4f7e141630e37f14ba0b07104f58accac5bcc7d62b6e666a5 SHA512 8804e7c0fc2fe93d5d9a2d16388a0d136653838ce9ac19f575b439f8c22a1d0537542dc4ffb552723308709a555001409de35cd59f422752da75b02ddf346337
EBUILD libcxx-6.0.1.ebuild 6746 BLAKE2B 616128b9d49049ac6de90b84f89a48c7033f5927edc5e15674df5e3a2225630f59a99c8047c71d9128304d726241ceaa1cefabf8d44e4b2d6a491611f63bee88 SHA512 3df9e7e79b62893441212fe7baa51190ac69f0bf64332718ae53596a043dc3583b8125bbcf7339cca7cf9937aa870ea0d8b12670700962c1cb22892f706e3129
EBUILD libcxx-7.1.0.ebuild 6747 BLAKE2B 437a08ee7854b3d398c55e20ff790deca0d7c69e1050fc2ed0d0dc00f467c9c3ca3fcd9e4752898adc68c28c485091a016f6d22af202bedf2b2008e62f1b9a28 SHA512 e22930bc78ff7063b75982164effc559c2adcf25b2b126f31c15e51095cba0d14de839cf1265c6c154a7c89bc8d92de62f962946359731f7ecd5ac6f8cb6aa7b
EBUILD libcxx-8.0.0.ebuild 6750 BLAKE2B 6e03588334d2af0c0ce2e02ff2e7a8f9f9817a494fc6445a4fecfb1381884eb4a92921d7b06d5c12f36795acac5f2ee90a3794665419e9bc6ed2bde99a4f7259 SHA512 4bc27a7e3974d83a661887ca32f414b1697f0470ba8d9505f1ea795537d252cd336feb8a8db71f456821b2d9f38613458af888f530663df78a371f7e1391d897
-EBUILD libcxx-8.0.9999.ebuild 7044 BLAKE2B 12185d3065a0cdecf4b6eb2c7eca5f70a2a1732214c77c4e695418ffe5bb39273342088fa4cba2504a411db8ecc8543d219a932d5f022383197df7d4b84b1e1e SHA512 57f565cb1652c53e08ba21776dcf1707061697937533c5e447bcff37cdf274f54525ff59112a1bf54a25d39477e20f0dc7dbdf4ad71846266c06a0002d1c0980
-EBUILD libcxx-9999.ebuild 7028 BLAKE2B f8b7774790355f19f191c2c93ccb8343350e891f9d9705c27ab1625d47003b02357962f15e3d1186a02af8188e1d2d2d44b1e2f1bd1977c69aa3b5794c0e6b52 SHA512 7d4d904848cc9ff16135db6d77714261860295630ac3197a321ae122221d2ba0828db37856d01e850b273b4b9ffbfd926f320b0391482574db462516199ac0d5
+EBUILD libcxx-8.0.1.ebuild 6789 BLAKE2B de37835ae850bbebef3cb114f51db6af7e04fa76c3209b7a96e8c1ffc1928566e9ee5f11a150d26f16fe2d66440b872dde850771e1b1ed88f0f5095677baf037 SHA512 cc20b84c1d1061dc43713ca71e80c45c9ce3ea8a9212009c98524c467be60e85c96509896c835ed92a6b146e14061c5d018620f5ee6ca0e195d65c5e62ac85da
+EBUILD libcxx-9.0.0.9999.ebuild 7086 BLAKE2B bd797a16b37cd355c43d1d0a7de31c5bddf8d7be09559f05dfa4afbdcd3b7aec3be7e7ddc4a77590bf6c34feb7e4541a0bf46f96b4515cda357ce7a94ed073f4 SHA512 819d74ba3023d99186f0e0d9906d581a9187c8ccc1bf8ad9211f77eafe5c6a38a5468fee4a8f5174cb66c2a4041d4be4925caa0ee772af9ac2c8a96fd459c20e
MISC metadata.xml 854 BLAKE2B f731ffbb07722face32cfe5ef0576c572fc45d93e8d78ec4adb46c43b95999dc4eb48f20311517fe08a397f2e5dec56c530bb6787a058358cfd1af8d79ffad90 SHA512 8ef3feab266e09442a42baced2d72667fa8b1290624c2c84bab7b173ead72669568847f6e995388fc1d7bc722381f60805d87b2a0cc2d04ae0c49e36bec3802a
diff --git a/sys-libs/libcxx/libcxx-8.0.9999.ebuild b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
index 523cba0073ef..7f4a5523bd2d 100644
--- a/sys-libs/libcxx/libcxx-8.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-10.0.0.9999.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
# Ninja provides better scalability and cleaner verbose output, and is used
# throughout all LLVM projects.
@@ -10,8 +10,7 @@ EAPI=6
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 )
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
[[ ${PV} == *9999 ]] && SCM="git-r3" || SCM=""
@@ -167,6 +166,7 @@ multilib_src_configure() {
}
multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
cmake-utils_src_make check-libcxx
}
diff --git a/sys-libs/libcxx/libcxx-8.0.1.ebuild b/sys-libs/libcxx/libcxx-8.0.1.ebuild
new file mode 100644
index 000000000000..cf4bd1b3b354
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-8.0.1.ebuild
@@ -0,0 +1,216 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Ninja provides better scalability and cleaner verbose output, and is used
+# throughout all LLVM projects.
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm multiprocessing python-any-r1 \
+ toolchain-funcs
+
+MY_P=${P}.src
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${MY_P}.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+IUSE="elibc_glibc elibc_musl +libcxxabi libcxxrt +libunwind +static-libs test"
+REQUIRED_USE="libunwind? ( || ( libcxxabi libcxxrt ) )
+ ?? ( libcxxabi libcxxrt )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+ libcxxrt? ( sys-libs/libcxxrt[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+ !libcxxabi? ( !libcxxrt? ( >=sys-devel/gcc-4.7:=[cxx] ) )"
+# llvm-6 for new lit options
+# clang-3.9.0 installs necessary target symlinks unconditionally
+# which removes the need for MULTILIB_USEDEP
+DEPEND="${RDEPEND}
+ test? ( >=sys-devel/clang-3.9.0
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )
+ app-arch/xz-utils
+ >=sys-devel/llvm-6"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( CREDITS.TXT )
+
+PATCHES=(
+ # Add link flag "-Wl,-z,defs" to avoid underlinking; this is needed in a
+ # out-of-tree build.
+ "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
+)
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ llvm_pkg_setup
+ use test && python-any-r1_pkg_setup
+
+ if ! use libcxxabi && ! use libcxxrt && ! tc-is-gcc ; then
+ eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+ eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+ eerror "and try again."
+ die
+ fi
+ if tc-is-gcc && [[ $(gcc-version) < 4.7 ]] ; then
+ eerror "${PN} needs to be built with gcc-4.7 or later (or other"
+ eerror "conformant compilers). Please use gcc-config to switch to"
+ eerror "gcc-4.7 or later version."
+ die
+ fi
+}
+
+test_compiler() {
+ $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+ <<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+ # note: we need to do this before multilib kicks in since it will
+ # alter the CHOST
+ local cxxabi cxxabi_incs
+ if use libcxxabi; then
+ cxxabi=libcxxabi
+ cxxabi_incs="${EPREFIX}/usr/include/libcxxabi"
+ elif use libcxxrt; then
+ cxxabi=libcxxrt
+ cxxabi_incs="${EPREFIX}/usr/include/libcxxrt"
+ else
+ local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+ cxxabi=libsupc++
+ cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # we want -lgcc_s for unwinder, and for compiler runtime when using
+ # gcc, clang with gcc runtime (or any unknown compiler)
+ local extra_libs=() want_gcc_s=ON
+ if use libunwind; then
+ # work-around missing -lunwind upstream
+ extra_libs+=( -lunwind )
+ # if we're using libunwind and clang with compiler-rt, we want
+ # to link to compiler-rt instead of -lgcc_s
+ if tc-is-clang; then
+ local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+ ${LDFLAGS} -print-libgcc-file-name)
+ if [[ ${compiler_rt} == *libclang_rt* ]]; then
+ want_gcc_s=OFF
+ extra_libs+=( "${compiler_rt}" )
+ fi
+ fi
+ fi
+
+ # bootstrap: cmake is unhappy if compiler can't link to stdlib
+ local nolib_flags=( -nodefaultlibs -lc )
+ if ! test_compiler; then
+ if test_compiler "${nolib_flags[@]}"; then
+ local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+ ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+ fi
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DLIBCXX_LIBDIR_SUFFIX=${libdir#lib}
+ -DLIBCXX_ENABLE_SHARED=ON
+ -DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+ -DLIBCXX_CXX_ABI=${cxxabi}
+ -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+ # we're using our own mechanism for generating linker scripts
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_HAS_GCC_S_LIB=${want_gcc_s}
+ -DLIBCXX_INCLUDE_TESTS=$(usex test)
+ -DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+ )
+
+ if use test; then
+ local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+ local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+ [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+multilib_src_test() {
+ cmake-utils_src_make check-libcxx
+}
+
+# Usage: deps
+gen_ldscript() {
+ local output_format
+ output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+ [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+ cat <<-END_LDSCRIPT
+/* GNU ld script
+ Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+ local libdir=$(get_libdir)
+ local cxxabi_lib=$(usex libcxxabi "libc++abi.a" "$(usex libcxxrt "libcxxrt.a" "libsupc++.a")")
+
+ # Move it first.
+ mv "${ED}/usr/${libdir}/libc++.a" "${ED}/usr/${libdir}/libc++_static.a" || die
+ # Generate libc++.a ldscript for inclusion of its dependencies so that
+ # clang++ -stdlib=libc++ -static works out of the box.
+ local deps="libc++_static.a ${cxxabi_lib} $(usex libunwind libunwind.a libgcc_eh.a)"
+ # On Linux/glibc it does not link without libpthread or libdl. It is
+ # fine on FreeBSD.
+ use elibc_glibc && deps+=" libpthread.a libdl.a"
+
+ gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.a" || die
+}
+
+gen_shared_ldscript() {
+ local libdir=$(get_libdir)
+ # libsupc++ doesn't have a shared version
+ local cxxabi_lib=$(usex libcxxabi "libc++abi.so" "$(usex libcxxrt "libcxxrt.so" "libsupc++.a")")
+
+ mv "${ED}/usr/${libdir}/libc++.so" "${ED}/usr/${libdir}/libc++_shared.so" || die
+ local deps="libc++_shared.so ${cxxabi_lib} $(usex libunwind libunwind.so libgcc_s.so)"
+
+ gen_ldscript "${deps}" > "${ED}/usr/${libdir}/libc++.so" || die
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+ gen_shared_ldscript
+ use static-libs && gen_static_ldscript
+}
+
+pkg_postinst() {
+ elog "This package (${PN}) is mainly intended as a replacement for the C++"
+ elog "standard library when using clang."
+ elog "To use it, instead of libstdc++, use:"
+ elog " clang++ -stdlib=libc++"
+ elog "to compile your C++ programs."
+}
diff --git a/sys-libs/libcxx/libcxx-9999.ebuild b/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild
index 06a570bb8c0f..7e08263cf4bc 100644
--- a/sys-libs/libcxx/libcxx-9999.ebuild
+++ b/sys-libs/libcxx/libcxx-9.0.0.9999.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
# Ninja provides better scalability and cleaner verbose output, and is used
# throughout all LLVM projects.
@@ -10,16 +10,17 @@ EAPI=6
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_90"
PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-[[ ${PV} == 9999 ]] && SCM="git-r3" || SCM=""
+[[ ${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
+if [[ ${PV} != *9999 ]] ; then
SRC_URI="https://llvm.org/releases/${PV}/${P}.src.tar.xz"
S="${WORKDIR}/${P}.src"
else
@@ -28,7 +29,7 @@ fi
LICENSE="|| ( UoI-NCSA MIT )"
SLOT="0"
-if [[ ${PV} != 9999 ]] ; then
+if [[ ${PV} != *9999 ]] ; then
KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
else
KEYWORDS=""
@@ -166,6 +167,7 @@ multilib_src_configure() {
}
multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
cmake-utils_src_make check-libcxx
}
diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
index 5bc4307da37c..11a73614b2ea 100644
--- a/sys-libs/libcxxabi/Manifest
+++ b/sys-libs/libcxxabi/Manifest
@@ -1,12 +1,15 @@
DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03
+DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
DIST libcxxabi-6.0.1.src.tar.xz 528356 BLAKE2B b301b750b2928864d3fc51e66cf91aab6837636ec2bce706b9a97296ec96af4bd2e80b1bf80c9b4afe449335ee12bbdd1905433c27e1770e16bc306baf206927 SHA512 bbb4c7b412e295cb735f637df48a83093eef45ed5444f7766790b4b047f75fd5fd634d8f3a8ac33a5c1407bd16fd450ba113f60a9bcc1d0a911fe0c54e9c81f2
DIST libcxxabi-7.1.0.src.tar.xz 535180 BLAKE2B aa5952e3ca80f7ce2a0a79f3eaf3852234e23a8445a2539374bedb188aba7d973763a6c0d7cc7700070d942555250f87c3c9efb504bb731985be033d47b79b44 SHA512 629ef641ab5aba28ea7171efbad806f1f0464eee2d04f8903014a4f82c03f2c6513defbbe5489b2c6fd624270fe8efbad97a40e56958f8f38a4f5516a16dd102
DIST libcxxabi-8.0.0.src.tar.xz 539040 BLAKE2B 847d848e4ed66212789c50137e9556abed601ab4f30765b8b4453f0bc2609e2d1ef516b2f504ee2331a53706940b814545423da05392aed24bf290e6757b52f6 SHA512 9ee2e6d5899529be45b2e5edc395606fa9040d25789b3da1ae0182113626e7624cbb071eae525c478293a7b371876e41614348ee5808f90f3f9c7b08837e1055
+DIST libcxxabi-8.0.1.src.tar.xz 538356 BLAKE2B 52328c5890c9b9271877b953be30cc39be4758101e6b91ee45f06c81e960089523e80b83eb5c354336e4e0a140f7554640acf7b2d4fa619113f705108a314418 SHA512 577cfcb04ebb29ee84d35ed31aa8fecb28fc74b07ef7ff298f0fe2d440f823def73e092359c41d8d8600e6df18f55224ed89674d403c5ae56a7d7973487b8734
+EBUILD libcxxabi-10.0.0.9999.ebuild 3302 BLAKE2B 87a6867a94f067a1172737969d6ab747c8b614a553a60e648003b9a8bb455d707adc93faae0a31f42e29615822204b6f84cfd1d6cfbd7ce9b191900b3e281649 SHA512 f82c3ee394d31b76cd342b7e0443da0b0124ce927a927f537cbeab9e37831cdc8bc6da6bac9281523b4e1b4718050bb3e96c5b0943c6c93aa41c8670321cc1b9
EBUILD libcxxabi-6.0.1.ebuild 3172 BLAKE2B 0078aa6ca753285439a17dea5af0c66a991a1844b7bd487c0f51b95d9c8007a4d077515d3282cea8a044692a3d14f869f2b651bed3a7ba5e6acd20629bfd2e5b SHA512 b1168935e250e2a83356061456bef94635a1bb797abeb725f201298de3f6c90e285714799de4d79f30bd33f2a9ad9cfbdad2f4339100023485aee4554c36c133
EBUILD libcxxabi-7.1.0.ebuild 3173 BLAKE2B 48dda73d243e18c4591910d0f8900b0fc75eacf229f1eb11b9c402897f46a03e89bae5330daffe80a994d526fc612db237d104d9a3c69cef2c910bfb705069cc SHA512 a028cb4cd4381fea4cd487fa44a33bdbd604badfbe8c7e8452c4b19255ef672d11a415ddc4cf087ce19235cea0eac4e479bfb3d3e5d764aa431677d31683a37d
EBUILD libcxxabi-8.0.0.ebuild 3176 BLAKE2B 709c55c2aedd2490ef6a982f41fa0b3977c1109ef480aba56cbfd248c40027349daa0dd477adefd5c37b8dbac8485cb8ab3c470e440b4be050ff52c0815bd59c SHA512 76237682c5e3d09cd259a03184fc35def96a90ac2bf42efe869be7d2f2ebdde05dca1e9f2efb5a08a41e7b461d4bbcb5dacd2d1ff8d3128ae65a1dfb2683f92f
-EBUILD libcxxabi-8.0.9999.ebuild 3285 BLAKE2B 3b5ee2037761fcb1a9c90ca11f7e4d371622ec95e468b0fba6545df8c6eb6482f5ca2c5a8d46671ee7219fd99c2a729e0667939170f26ee5f4735cdf59010b66 SHA512 c45db120d7713fe9763da17cdaf2401da3c7d639bb2041fe9b5802667ae240e444c971b9914712be5eff740729b47d65b8d8f7079e4d12ec98eb8a0203220a05
-EBUILD libcxxabi-9999.ebuild 3272 BLAKE2B 885650bd3fbe87762916e5c0ad14c3f7cf28c3ef75b77e601f5e589c89176ac4610c3905085b8cf68349dd4f22ca48ed828f48b2d73f553cf76cbc90f80341f9 SHA512 8808d7a48f8a231ad438eac44cb3599ae7f6f294c12100891442b7cc46c37257c5d2b6407440236fd9620c40f25439b085f7cc5ed1622f2b7d9fefadda66c44f
+EBUILD libcxxabi-8.0.1.ebuild 3242 BLAKE2B ed19bb64b100dc6a1878a3ace19ee8a44c29402d08c41b37bd7639efb83190ba2dea56b39a50d9bf3be7d8eeb4c80b8ba71404d35593b731c157a50f06259a4c SHA512 2795ce4983faea958c8ce7c439b0d093fb267ed9884697a1a416bf2b918a31b593ab7e5a295bb3fbec8a6259168c40054c352cc2be327e9c900ae44426816f9e
+EBUILD libcxxabi-9.0.0.9999.ebuild 3327 BLAKE2B 2fcf53bd1c3ad67ffe31e315dc88bba12bd78d4837160672afabaa0f228792bf60699a3a9b83f4992ccd28b8f91018908ea5b339a32b08d056260f818e6335ea SHA512 37fc99829d0c0f2f65b72727fc1eecb50af2ce96532dad2e80b65017f2ced9a913d897f5019ddd8944c901fb5b54122ea7c2f63a9d9d2f1c711148047a2accb8
MISC metadata.xml 350 BLAKE2B 67b70b8d7292327882a845b76667ce24fee728cd84f27ed7e329bc7963631cba4c28bafce5e6a5fefb4ba1df5c7fd572b3b0d7a2b31ef649496f2f991b691bff SHA512 317dd7b59a711dd0461b5369f7e31ea196882b018e047e1dbae8077274d06cb68542c8762efb852cce0b8021bedea69c19aa0c124b9414a36cf1a9c00e0b9703
diff --git a/sys-libs/libcxxabi/libcxxabi-9999.ebuild b/sys-libs/libcxxabi/libcxxabi-10.0.0.9999.ebuild
index 9f28d04485ed..8d9edb349346 100644
--- a/sys-libs/libcxxabi/libcxxabi-9999.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-10.0.0.9999.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
@@ -112,6 +112,7 @@ multilib_src_test() {
build_libcxx
mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
+ local -x LIT_PRESERVES_TMP=1
cmake-utils_src_make check-libcxxabi
}
diff --git a/sys-libs/libcxxabi/libcxxabi-8.0.1.ebuild b/sys-libs/libcxxabi/libcxxabi-8.0.1.ebuild
new file mode 100644
index 000000000000..9a5bef364e69
--- /dev/null
+++ b/sys-libs/libcxxabi/libcxxabi-8.0.1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+# (needed due to CMAKE_BUILD_TYPE != Gentoo)
+CMAKE_MIN_VERSION=3.7.0-r1
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-multilib llvm multiprocessing python-any-r1
+
+MY_P=${P/_/}.src
+LIBCXX_P=libcxx-${PV/_/}.src
+
+DESCRIPTION="Low level support for a standard C++ library"
+HOMEPAGE="https://libcxxabi.llvm.org/"
+SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${MY_P}.tar.xz
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${LIBCXX_P}.tar.xz"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+IUSE="+libunwind +static-libs test elibc_musl"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ libunwind? (
+ || (
+ >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}]
+ >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}]
+ )
+ )"
+# llvm-6 for new lit options
+DEPEND="${RDEPEND}
+ >=sys-devel/llvm-6
+ test? ( >=sys-devel/clang-3.9.0
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
+
+S=${WORKDIR}/${MY_P}
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ llvm_pkg_setup
+ use test && python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ default
+ mv "${LIBCXX_P}" libcxx || die
+}
+
+multilib_src_configure() {
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DLIBCXXABI_LIBDIR_SUFFIX=${libdir#lib}
+ -DLIBCXXABI_ENABLE_SHARED=ON
+ -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
+ -DLIBCXXABI_USE_LLVM_UNWINDER=$(usex libunwind)
+ -DLIBCXXABI_INCLUDE_TESTS=$(usex test)
+
+ -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
+ # upstream is omitting standard search path for this
+ # probably because gcc & clang are bundling their own unwind.h
+ -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
+ )
+ if use test; then
+ local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+ local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+ [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+build_libcxx() {
+ local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
+ local CMAKE_USE_DIR=${WORKDIR}/libcxx
+ local BUILD_DIR=${BUILD_DIR}/libcxx
+ local mycmakeargs=(
+ -DLIBCXX_LIBDIR_SUFFIX=
+ -DLIBCXX_ENABLE_SHARED=ON
+ -DLIBCXX_ENABLE_STATIC=OFF
+ -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
+ -DLIBCXX_CXX_ABI=libcxxabi
+ -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_HAS_GCC_S_LIB=OFF
+ -DLIBCXX_INCLUDE_TESTS=OFF
+ )
+
+ cmake-utils_src_configure
+ cmake-utils_src_compile
+}
+
+multilib_src_test() {
+ # build a local copy of libc++ for testing to avoid circular dep
+ build_libcxx
+ mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
+
+ cmake-utils_src_make check-libcxxabi
+}
+
+multilib_src_install_all() {
+ insinto /usr/include/libcxxabi
+ doins -r include/.
+}
diff --git a/sys-libs/libcxxabi/libcxxabi-8.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-9.0.0.9999.ebuild
index d97e01f1e829..707e39ff257e 100644
--- a/sys-libs/libcxxabi/libcxxabi-8.0.9999.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-9.0.0.9999.ebuild
@@ -1,12 +1,12 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1
@@ -15,7 +15,7 @@ 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"
+EGIT_BRANCH="release_90"
LICENSE="|| ( UoI-NCSA MIT )"
SLOT="0"
@@ -93,8 +93,8 @@ build_libcxx() {
local BUILD_DIR=${BUILD_DIR}/libcxx
local mycmakeargs=(
-DLIBCXX_LIBDIR_SUFFIX=
- -DLIBCXX_ENABLE_SHARED=ON
- -DLIBCXX_ENABLE_STATIC=OFF
+ -DLIBCXX_ENABLE_SHARED=OFF
+ -DLIBCXX_ENABLE_STATIC=ON
-DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
-DLIBCXX_CXX_ABI=libcxxabi
-DLIBCXX_CXX_ABI_INCLUDE_PATHS="${S}"/include
@@ -113,6 +113,7 @@ multilib_src_test() {
build_libcxx
mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
+ local -x LIT_PRESERVES_TMP=1
cmake-utils_src_make check-libcxxabi
}
diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest
index 6ddc79b3369c..80e719be1fd1 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -1,9 +1,11 @@
DIST openmp-6.0.1.src.tar.xz 2048320 BLAKE2B 08b3a7051c985903f78331f55a1c6e928399b87c862c43c991e9bf78b66b6e412fc96f202b82c051176dbbe02422f8ceb7414f44ea8f3522f418e515c0f70c62 SHA512 abb956583e5d11d0c6f6d97183c081d658616a74933be884a591eaa3d8c4bb04f08f02016d2c86d7384c7ff1aa44fb949b0d967fc0ff50e3132aaba412e9add8
DIST openmp-7.1.0.src.tar.xz 909320 BLAKE2B 7a5fd4374992b7c440ff27917c0af6a2ec64aaeb2fda645f75b5affd4981e3ceef7f15cba61c37934c5b35be543af315cc4bff2937545fbf5eaa6593f1aa8b83 SHA512 57f18beede401c1c39766e13a03b52083a0f7b437758069f66b73d6d1388dc51e48c34b0a7ecd3552244fd35e2db57388642588febef413c161f5c5411ab1e5d
DIST openmp-8.0.0.src.tar.xz 934384 BLAKE2B f473fad9e8bcab1ad0c6ffab7cee471065d615947964177194f829847d41e726fb435562f1637f2a65d3ae84e01a8077662de047443f33d089948e2efb58906c SHA512 0fff071c9dbf118bc1908e433d6ce571f47a4f2dbc5bf2d843151889e3414473bb5a9c97dc0b6dc6d1bd9ab0c6e365cae625f97d1b11d5d6ae059fa5a0496cb3
+DIST openmp-8.0.1.src.tar.xz 933320 BLAKE2B 02a7bf70cd3a217845ef1c5a35e0d7dbfbb39069a9029d462c797b5ddf2240fd627dee55856146ca4bb81622a41f31ecd11e0ed66baf3b7d99447087271991b0 SHA512 9ded785c8129e7b3a70b54f07c4dde529456edcc94904ad77fc578cf7f096cfa3ff2279959d7f7f1db51571e11c53375f33b597c7f36ce6dc6b512c44ced8026
+EBUILD libomp-10.0.0.9999.ebuild 3218 BLAKE2B 5fe6b1be53f17c8b1b2dbf241dfa13f4e588be21e18189138bdb6e8ae210c2ca3f29a1bcaff031778ec0d10386ce31749f8571a62e2720096d5288170114422c SHA512 8d7e9091ce73351d6cc53d4f73de1fe0e698983b091e66cbf623f0260d77416e1a525ec3ed17d86138bad489fa4409edc2ea8ec72b22d7bf2c3190cc53f8bcc8
EBUILD libomp-6.0.1-r1.ebuild 3261 BLAKE2B dc43e11cbd716285018a3857b33378715338350269cbfee3292c44ebb0d10584ea1f505962c34fc9c5a58771d6abb52f444467e79834e9a04d594c914af46a2f SHA512 eb901f8810fa552cad6d6510f54f30824a1d7f7931ccc1cf6bb02a2ed22a9e9af3d924bfbc09921510d2972ac4ca36fb1df4d6b7d52342a346fb8b5cfa0ac436
EBUILD libomp-7.1.0.ebuild 3263 BLAKE2B c1ac92a7713abe0f53eb0cd60703bba001e99bd9d371af06b5ac595be438b6dbb9a2bd638026aab9c231c3cce032be487e25ba8d778afbc8220857341c910abc SHA512 554b946498e2699bbdcd99f313b03b23b78494adc1dd06ea4540b68304a58c8f25b2c619313ea5fc76be089f63fd7bd7e8e9bd2d95297342cc8b95a69aaa794f
EBUILD libomp-8.0.0.ebuild 3266 BLAKE2B 8cd6a5dfac53b82e0a92d647ae9b453a664f5b5fa8156c8185ccecf394f313ae826e29634b14126a53ce36498c485b658b36141ddd5895635437b59beabea001 SHA512 6fb36d649ce586f638f0846e26d7346ae9faeae571b1e61b2509b810a04e899b63293653d6b3af51924cbd2c1477f359b8e004f57cedf20385698eb8657caef5
-EBUILD libomp-8.0.9999.ebuild 3231 BLAKE2B a859927c6a87bcba74998bbaf785965b2cbd269fa27a7cca32bb6abb0114151a02643321ce4bea7480020e115c94344c1e2552eb2d3ec50756b2b2e8c225ae08 SHA512 ce6d9b9552894b4e639f2f065dc22741d13faf0f4426fca1d7fe74a13702a677adf8795f4e3da059b8bb703bd1d8114f6b60245a20928d83f4332102c144f8c9
-EBUILD libomp-9999.ebuild 3209 BLAKE2B 6543c8c95b56a73aef5196ec81cc9662caa1d0ba0cafa72f4f99905522427c829d3c7d2c9b329e927543a48c01dab160444409324f9d4d689548e10346b2c52e SHA512 96f0583a74d08e58dac970c5b4f836208be2e92b42685b967bd7c4ebb65368f9406585d69d295db1a1b1952fdd3acdcb0a7a595fe25795e9cfee01055c72e705
+EBUILD libomp-8.0.1.ebuild 3297 BLAKE2B 558f0d747ad1cfb8e5f2e3436a20e8151eb53c72df550fac88675c6ff664127f009f55ab10b8b1d646e0a19454795df603d2c47b7c7c05b7b34de5a6c929785c SHA512 b4ef0557edd709b18fcfea3ee08fb19e48089e985daab2488936e1f8f63ea42b8de993c8a23b5c51a9c54385f0b87a56ccefd47b43eaa9c53d2ca5d6f0df034c
+EBUILD libomp-9.0.0.9999.ebuild 3243 BLAKE2B 13b8cde7fb599695f1df84715156b2e4110defe0d91cdda068b6b9bbf266ba4a27fb805c0fe7852cdaefd5f9c379ae77c1b658a00acf41fd09bc96073b69f46b SHA512 e992391862c56ae6c21da31ee2e439913000562caa4422047c8f5546f72fce0d568d067afd15a3e583e274608b6e33c596a5cf950c7c70c648782ad76e896bd0
MISC metadata.xml 825 BLAKE2B 07802144018f2f74b0927b53a346f99cbc7e36dbf501bb8dfc786f8d549c10eb688afafb1759f13d4d56d10f1bcae67dfa86cc2047cc39a9655a09a22e9a4260 SHA512 de43d5be94a5ea1cdfd3ae747d55b50d5d6ee577743f55d006d585d2d5acd5b3100845486ac415685f07361cd9985bae9347fff9c65417d198c49a61b4f6ba5e
diff --git a/sys-libs/libomp/libomp-8.0.9999.ebuild b/sys-libs/libomp/libomp-10.0.0.9999.ebuild
index 6b3a7bf36aaf..9a293c825b66 100644
--- a/sys-libs/libomp/libomp-8.0.9999.ebuild
+++ b/sys-libs/libomp/libomp-10.0.0.9999.ebuild
@@ -1,12 +1,12 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
inherit cmake-multilib git-r3 linux-info multiprocessing python-any-r1
@@ -15,7 +15,6 @@ 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,
diff --git a/sys-libs/libomp/libomp-8.0.1.ebuild b/sys-libs/libomp/libomp-8.0.1.ebuild
new file mode 100644
index 000000000000..9272c4a89352
--- /dev/null
+++ b/sys-libs/libomp/libomp-8.0.1.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 linux-info multiprocessing python-any-r1
+
+MY_P=openmp-${PV}.src
+DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
+HOMEPAGE="https://openmp.llvm.org"
+SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${MY_P}.tar.xz"
+
+# Additional licenses:
+# - MIT-licensed Intel code,
+# - LLVM Software Grant from Intel.
+
+LICENSE="|| ( UoI-NCSA MIT ) MIT LLVM-Grant"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~x64-macos"
+IUSE="cuda hwloc kernel_linux offload ompt test"
+# CUDA works only with the x86_64 ABI
+REQUIRED_USE="offload? ( cuda? ( abi_x86_64 ) )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] )
+ offload? (
+ virtual/libelf:=[${MULTILIB_USEDEP}]
+ virtual/libffi:=[${MULTILIB_USEDEP}]
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ )"
+# tests:
+# - dev-python/lit provides the test runner
+# - sys-devel/llvm provide test utils (e.g. FileCheck)
+# - sys-devel/clang provides the compiler to run tests
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ offload? ( virtual/pkgconfig[${MULTILIB_USEDEP}] )
+ test? (
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ >=sys-devel/clang-6
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+# 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/libomp/libomp-9999.ebuild b/sys-libs/libomp/libomp-9.0.0.9999.ebuild
index 4e3869d17d86..c74e74f9ae90 100644
--- a/sys-libs/libomp/libomp-9999.ebuild
+++ b/sys-libs/libomp/libomp-9.0.0.9999.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
inherit cmake-multilib git-r3 linux-info multiprocessing python-any-r1
@@ -15,6 +15,7 @@ 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_90"
# Additional licenses:
# - MIT-licensed Intel code,
diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest
index fd3f3255b5f4..a07830801116 100644
--- a/sys-libs/llvm-libunwind/Manifest
+++ b/sys-libs/llvm-libunwind/Manifest
@@ -1,15 +1,19 @@
DIST libcxx-6.0.1.src.tar.xz 1552328 BLAKE2B 65a6addd04e530c2a72e8cba207282b9e9fafc01a594d7b11f63d10b6f88eca67a3cdf90b8055e410ede358d9be1f63fbe427f308e1337833447c0260d96e1c8 SHA512 c04f628b0924d76f035f615b59d19ce42dfc19c9a8eea4fe2b22a95cfe5a037ebdb30943fd741443939df5b4cf692bc1e51c840fefefbd134e3afbe2a75fe875
DIST libcxx-7.1.0.src.tar.xz 1638448 BLAKE2B eca192e03f839f4323e3c37beba2e6daaf935d4e784e0bc835a4d2c3ce0790f5539bdca0466feafd668d7c6675b11b7fe14d9adb680c46fd7b28b42a3b423219 SHA512 925ce5093445f84dc17d5b1610e4297ef3606b254b7350c50f88ba042fcca62125ffd97d21cb612707d5e9511267634ca1779619199f95ce819e5f5c0c2b55d5
DIST libcxx-8.0.0.src.tar.xz 1752308 BLAKE2B 1e8cd8c7100f5f8b943ba8f38b0b59a0fd5e5bea834953483a67502f67de3eb51eba4ed4be17cdb54406da4ad7ebc6fef33934c59db982afa55856ce9f1f46ff SHA512 2e0fcd3e78f7e15ea894e52c51351daef8e3a2aaf53b3df7497b11403d28f5269ff49a4674bacea1d565a5faa2b24502caaaeff9cd48518f0d141563d8f9cc03
+DIST libcxx-8.0.1.src.tar.xz 1739524 BLAKE2B 6e641cb6bda0de12c8408d3ab33f627389ac014aa65b3391c870aa96ffd347784e6b70b953bd1ee8eba56554e0f78a723ab77b9dba5f85e6219e2b95ca50c160 SHA512 75749d08b2b343c6f5f9aefb04be63e42f6d12efc51101d3647ed6f70c7a6d050afb3ab2f3636eae78cb523f5844de67b960a7a3145ed89ab0c7015deb14921e
DIST libcxxabi-6.0.1.src.tar.xz 528356 BLAKE2B b301b750b2928864d3fc51e66cf91aab6837636ec2bce706b9a97296ec96af4bd2e80b1bf80c9b4afe449335ee12bbdd1905433c27e1770e16bc306baf206927 SHA512 bbb4c7b412e295cb735f637df48a83093eef45ed5444f7766790b4b047f75fd5fd634d8f3a8ac33a5c1407bd16fd450ba113f60a9bcc1d0a911fe0c54e9c81f2
DIST libcxxabi-7.1.0.src.tar.xz 535180 BLAKE2B aa5952e3ca80f7ce2a0a79f3eaf3852234e23a8445a2539374bedb188aba7d973763a6c0d7cc7700070d942555250f87c3c9efb504bb731985be033d47b79b44 SHA512 629ef641ab5aba28ea7171efbad806f1f0464eee2d04f8903014a4f82c03f2c6513defbbe5489b2c6fd624270fe8efbad97a40e56958f8f38a4f5516a16dd102
DIST libcxxabi-8.0.0.src.tar.xz 539040 BLAKE2B 847d848e4ed66212789c50137e9556abed601ab4f30765b8b4453f0bc2609e2d1ef516b2f504ee2331a53706940b814545423da05392aed24bf290e6757b52f6 SHA512 9ee2e6d5899529be45b2e5edc395606fa9040d25789b3da1ae0182113626e7624cbb071eae525c478293a7b371876e41614348ee5808f90f3f9c7b08837e1055
+DIST libcxxabi-8.0.1.src.tar.xz 538356 BLAKE2B 52328c5890c9b9271877b953be30cc39be4758101e6b91ee45f06c81e960089523e80b83eb5c354336e4e0a140f7554640acf7b2d4fa619113f705108a314418 SHA512 577cfcb04ebb29ee84d35ed31aa8fecb28fc74b07ef7ff298f0fe2d440f823def73e092359c41d8d8600e6df18f55224ed89674d403c5ae56a7d7973487b8734
DIST libunwind-6.0.1.src.tar.xz 77036 BLAKE2B b6c293285896c8ff1f64bb56eee5a88b102b7ed9902d46436ee3cb79f204f230fd08a07d39c7fa9aeeddd093036f2bb9af38dd54268099ea9e51e12a71ff4adb SHA512 78568c28720abdd1f8471c462421df9965e05e1db048689d16ac85378716c4080ec1723af78e9f61d133b0ff82ac8c1f0dde7fd42d194485f62c1a17c02db37f
DIST libunwind-7.1.0.src.tar.xz 79780 BLAKE2B 8f15dcf4a9c8cb45f17c72bf058eed13a6cd52842ee8630781c3104be77d9a868e241eafd34a31b23aeff18dc49743dd5a566ce4cb866a170f1d09899584e2dd SHA512 8ebfeb821013167e866986a2f9cc6459e43d82f73560a15ee7e0d604a974e1c656f824c9f7ccb47da4b4830ad9a99c663961bdf7642cd105e666b8a8fdf7d03c
DIST libunwind-8.0.0.src.tar.xz 86484 BLAKE2B 74f52fbda056b98cb8a2af652270dc4404177be4fd24a3d030f43e908ef912b875f6471819d364d2ee00c6edbec78d25647f023830c6ddc1c032added1059582 SHA512 8c10e986b4123b6db9f010f053d9c67786fd739d0990146c481f7eaf69ae44fdbcb99dfad9b240b369c3f93be05dfeaf0bd977685360be94e2872ddb04019380
+DIST libunwind-8.0.1.src.tar.xz 87188 BLAKE2B 26f4d8ffbc8eb316e4e623280d6fe493e4c5c29489b90633c8215fe91349de7f7f0cfbfe8991ace11656d3782e13c7208b4a4adc04691746b4140187fba40043 SHA512 c115582ca879e215b97d24e4aa80696796383e79856cf26e40b4ddd6b255d598f9fa9867b30f0fd1691be770779835ac1d4b9a5e4a71424b18499b79ea37d060
+EBUILD llvm-libunwind-10.0.0.9999.ebuild 3886 BLAKE2B dc6e422515aa999cf428230e721025570eb6ba243ae88876bb45b91cfda14b0220d880fb548906d2b0b5d51d77c991b635be59b09ab555357585643b3c6ac428 SHA512 e1ad4acabe781ed3c38e0127688ef1b90954d8edde66400d33bba6655081be1150a9340e2f85e2d6677cd1c8a500820c1c1c346ada2504a0f9cf5611bcbc6f19
EBUILD llvm-libunwind-6.0.1.ebuild 3738 BLAKE2B 5c58eb49bac3d30643ea2d82f5e59add83fff5154ab335180778b3c7c9e7cf87b2423ee76401dd25a2fc89f5a492440236ad47328dcf05af87d4961c2c2f1761 SHA512 712fc6d98152c397f7436ffbccf62646ee53e14a5b9fc2c491b3c0d8dcfa40e81b16a4d9b7d5b1d81769282ead75d93994606fe6cf3ee08d80eaa5707f182d8e
EBUILD llvm-libunwind-7.1.0.ebuild 3739 BLAKE2B 160c33fd885e26e19ad02304ee792cb26868e92bcce527246e726e5415c63c071cc72858d35bf4d03111d0e85756b744e00f4f0ec89523232e088d3342f61adb SHA512 260d39e26ae10d62261c2cd348ec487cdc8950997c04b73b3773482fb8f54cc5518dfff58943727892fb7ba57752e1bfe785b2b621c4f00f3bdcdd909ab266c8
EBUILD llvm-libunwind-8.0.0.ebuild 3742 BLAKE2B 2284e1919e3a6dfacafc424dd0c7cf43f1eb5810ca061096801867397b40989989c4ededb3aa60261046313df3064cece909a2f9343d2225e9e7e273c7a693e9 SHA512 69d4b2bcc157f2851a1b88ac0db3a18391b1e1bc8867f7725804133fd8b91cd128299c182c7d718c98cfb062d456d14181f9fd2885cb2c32e32bb3b96843728d
-EBUILD llvm-libunwind-8.0.9999.ebuild 3878 BLAKE2B 1bb015cb550d1f63792424ff5e95d7d1ebd56063fa33bf959b6be28ccacc6cd04e3a18c503abd907c155c025c6456feffc946c64287df0b7f8003114e7cad788 SHA512 016df29600c1e700add6affa95c803e1dc2dbd2ba4cb086b3ae84251be82e3611251fc8d917c666ab43618b40a3a8424aea319a452481af6965745d3b37b3b86
-EBUILD llvm-libunwind-9999.ebuild 3856 BLAKE2B 68108179f0b27d90240c709b84f1769058749bbe10833bf7e9509c8919ddfc6d83b13f2a95001e58e18b73da2ca37b3cd598261986134f7932b6086894d7e271 SHA512 723f0e5d75bbfc74453129b85d2e5cb077b728a4e6f02dec8f3de09796f3cbb097d38cb114405ab8771b0ee932a3ab5c4215cce8d01478a300d3600d9f9bbdf0
+EBUILD llvm-libunwind-8.0.1.ebuild 3841 BLAKE2B d4d2346264a5bfc924ad9cef8bf55f5021074597a81278f175c40410fe3edefb5738e56eebeb82053aa325a7d0b2af545f057517af71420e8bceca2988b8921a SHA512 fe53dd13dd8db83812ff9b4ac91c8b486edde12b59449ca2259b3ca52997d31cac137bf57f05641d2e771f5566f83f6d809a88711e475320a7894f629c2abfdc
+EBUILD llvm-libunwind-9.0.0.9999.ebuild 3911 BLAKE2B ffd6ed8ae0d3f3f125a250e2584387593fd950602857aae427fecd48dda01de318f724d9355d2d66a2f7ba7d67a9fe3e55339ca59438ce120b936ab7dcb8ad8b SHA512 1f57903cf4d18cb72ba41a1d65990fa4bea80a7ff0fec37b632ec68517d6f486a276de591bce7c7ee15ca325e705ec37d1189b579e84021ee1b6efc4542e10ae
MISC metadata.xml 302 BLAKE2B 1cdee7813ed9a3766b2eddccd14f9e0576ba5cc7f812d7af4f35c8c2e5991790f3800c6473c37da90d72804832fd9af969a2e3bf7aa625f0d3a32da1dbcefacf SHA512 3afaef82e6a495a81e221524ae7604dc170ef5c103333728674faf0417c45ba7996118c10466eaa24f8feef9ed8f0fc60d535a5195462317d61c61a531c8a285
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-10.0.0.9999.ebuild
index a5c5c542e433..e3d8317fde30 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-9999.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-10.0.0.9999.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
@@ -134,6 +134,7 @@ multilib_src_test() {
build_libcxx
mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
+ local -x LIT_PRESERVES_TMP=1
cmake-utils_src_make check-unwind
}
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-8.0.1.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-8.0.1.ebuild
new file mode 100644
index 000000000000..48723607244a
--- /dev/null
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-8.0.1.ebuild
@@ -0,0 +1,143 @@
+# 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_5,3_6} )
+inherit cmake-multilib llvm multiprocessing python-any-r1
+
+MY_P=libunwind-${PV/_/}.src
+LIBCXX_P=libcxx-${PV/_/}.src
+LIBCXXABI_P=libcxxabi-${PV/_/}.src
+
+DESCRIPTION="C++ runtime stack unwinder from LLVM"
+HOMEPAGE="https://github.com/llvm-mirror/libunwind"
+SRC_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${MY_P}.tar.xz
+ test? (
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${LIBCXX_P}.tar.xz
+ https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/${LIBCXXABI_P}.tar.xz )"
+
+LICENSE="|| ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-fbsd"
+IUSE="debug +static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!sys-libs/libunwind"
+# llvm-6 for new lit options
+DEPEND="
+ >=sys-devel/llvm-6
+ test? ( >=sys-devel/clang-3.9.0
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
+
+S=${WORKDIR}/${MY_P}
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ default
+
+ if use test; then
+ mv "${LIBCXX_P}" libcxx || die
+ mv "${LIBCXXABI_P}" libcxxabi || die
+ fi
+}
+
+multilib_src_configure() {
+ local libdir=$(get_libdir)
+
+ local mycmakeargs=(
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+ -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
+ -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
+ -DLLVM_INCLUDE_TESTS=$(usex test)
+
+ # support non-native unwinding; given it's small enough,
+ # enable it unconditionally
+ -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON
+ )
+ if use test; then
+ local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+ local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}
+
+ [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+ -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}"/libcxx
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+build_libcxxabi() {
+ local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
+ local CMAKE_USE_DIR=${WORKDIR}/libcxxabi
+ local BUILD_DIR=${BUILD_DIR}/libcxxabi
+ local mycmakeargs=(
+ -DLIBCXXABI_LIBDIR_SUFFIX=
+ -DLIBCXXABI_ENABLE_SHARED=ON
+ -DLIBCXXABI_ENABLE_STATIC=OFF
+ -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+ -DLIBCXXABI_INCLUDE_TESTS=OFF
+
+ -DLIBCXXABI_LIBCXX_INCLUDES="${WORKDIR}"/libcxx/include
+ -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include
+ )
+
+ cmake-utils_src_configure
+ cmake-utils_src_compile
+}
+
+build_libcxx() {
+ local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/libcxxabi/lib -L${BUILD_DIR}/$(get_libdir)"
+ local CMAKE_USE_DIR=${WORKDIR}/libcxx
+ local BUILD_DIR=${BUILD_DIR}/libcxx
+ local mycmakeargs=(
+ -DLIBCXX_LIBDIR_SUFFIX=
+ -DLIBCXX_ENABLE_SHARED=ON
+ -DLIBCXX_ENABLE_STATIC=OFF
+ -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
+ -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+ -DLIBCXX_CXX_ABI=libcxxabi
+ -DLIBCXX_CXX_ABI_INCLUDE_PATHS="${WORKDIR}"/libcxxabi/include
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_HAS_GCC_S_LIB=OFF
+ -DLIBCXX_INCLUDE_TESTS=OFF
+ )
+
+ cmake-utils_src_configure
+ cmake-utils_src_compile
+}
+
+multilib_src_test() {
+ # build local copies of libc++ & libc++abi for testing to avoid
+ # circular deps
+ build_libcxxabi
+ build_libcxx
+ mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
+
+ cmake-utils_src_make check-unwind
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # install headers like sys-libs/libunwind
+ doheader "${S}"/include/*.h
+}
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-8.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-9.0.0.9999.ebuild
index 2b6d844f64be..9534257bcc71 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-8.0.9999.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-9.0.0.9999.ebuild
@@ -1,12 +1,12 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
# (needed due to CMAKE_BUILD_TYPE != Gentoo)
CMAKE_MIN_VERSION=3.7.0-r1
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
inherit cmake-multilib git-r3 llvm multiprocessing python-any-r1
DESCRIPTION="C++ runtime stack unwinder from LLVM"
@@ -14,7 +14,7 @@ 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"
+EGIT_BRANCH="release_90"
LICENSE="|| ( UoI-NCSA MIT )"
SLOT="0"
@@ -93,8 +93,8 @@ build_libcxxabi() {
local BUILD_DIR=${BUILD_DIR}/libcxxabi
local mycmakeargs=(
-DLIBCXXABI_LIBDIR_SUFFIX=
- -DLIBCXXABI_ENABLE_SHARED=ON
- -DLIBCXXABI_ENABLE_STATIC=OFF
+ -DLIBCXXABI_ENABLE_SHARED=OFF
+ -DLIBCXXABI_ENABLE_STATIC=ONF
-DLIBCXXABI_USE_LLVM_UNWINDER=ON
-DLIBCXXABI_INCLUDE_TESTS=OFF
@@ -112,8 +112,8 @@ build_libcxx() {
local BUILD_DIR=${BUILD_DIR}/libcxx
local mycmakeargs=(
-DLIBCXX_LIBDIR_SUFFIX=
- -DLIBCXX_ENABLE_SHARED=ON
- -DLIBCXX_ENABLE_STATIC=OFF
+ -DLIBCXX_ENABLE_SHARED=OFF
+ -DLIBCXX_ENABLE_STATIC=ON
-DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
-DLIBCXXABI_USE_LLVM_UNWINDER=ON
-DLIBCXX_CXX_ABI=libcxxabi
@@ -135,6 +135,7 @@ multilib_src_test() {
build_libcxx
mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
+ local -x LIT_PRESERVES_TMP=1
cmake-utils_src_make check-unwind
}
diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest
index 4288237ff6fb..b60a067747e9 100644
--- a/sys-libs/ncurses/Manifest
+++ b/sys-libs/ncurses/Manifest
@@ -6,18 +6,14 @@ AUX ncurses-5.9-no-I-usr-include.patch 1431 BLAKE2B 1dcc533936ba22fcb07a3ad42523
AUX ncurses-5.9-pkg-config.patch 1022 BLAKE2B dcaa045919e22eb174cb7c155ef05fa7c2c29d64eb586947f2afb243a13dfdc503460452be0f8075bc91b166d5b7f12ea34b39234d0832ef6bd432496932719f SHA512 a5578a4a6c2a334a77084da21d61d4a9edd7b82f027d7f54ed7be194ace5076fe86dc51ada916388feeb970255bf3bfbb09cd33072b1ef21de0dbaa5ee45fdf6
AUX ncurses-5.9-rxvt-unicode-9.15.patch 3804 BLAKE2B b88b028246c4177cac148837063b8dd76fa8dc215cb47ace2dd58b38eb8547273ac29930e2fe1c209bc8047462fe1319ac253955af445674410e21e8fe1c39b9 SHA512 82c0a9600f6ca8f36bbdce6f11a96906983fc9efd6b5f1e17134e12283e29b16d04f5e66c10edbcb7087cc4cb8fc23ddd065f9b6c8b0bf72ca684b68383e5131
AUX ncurses-6.0-cppflags-cross.patch 1240 BLAKE2B 56fbe4810c28e089a8ceb8fa8c983df744d40573b4fc2488d3f26f40ed77aba2d15da2a006e56217216740e26a295c9ab9c4be78df201514040376a986cf1b30 SHA512 db333b400ad23110bff80d86eca39e5656870caa06083b6d7098503fe34a46e387d207b135bf9aa9a0a1f2eca2a9b094f1d189ea8f8a17caaec4fc14b819fcc4
-AUX ncurses-6.0-gfbsd.patch 687 BLAKE2B 74ba99be6040287480e09e07c459651375ff1ce9473121e68f70f2cc42e6355f7aca1adf58e02e9d05c41af4f92985f03f2be985cc04d90b7dffc54287a6df93 SHA512 706425317e02448a31cdf1d66695292cb17b4cb174008218b0fe9e86ff4367fca5a80ad5eb017e06ad57f9bd75524e38c543618b5eeb6161c5baef15cb8d55ec
AUX ncurses-6.0-pkg-config.patch 386 BLAKE2B 27a61878d45aa781291e18a2e18b8e861dd88f523083a54032511ceea2784b5020c500d0d277fe448381a969989d896ca32c46af35ad29f35dace97511dda9eb SHA512 8065f50a1d0b2ccd8c8d9b5b6bcf10b07351e2f5e51c17a825057235a63459839771ea249aac7fa50e09c7bacde5179a92f3efe587cf3cf6697ec663faf6caf3
AUX ncurses-6.0-rxvt-unicode-9.15.patch 3759 BLAKE2B 88e1b6145c5d1afa9d319fdf1bb70967705cc0460fb87cb3897d0e86678b065bc365573859d1cb96ac4209e61a4c43a84cd0cc3b86680e965e3bf404271354ef SHA512 5601446d34421453fb8ed0e7172b4a5230ab4f10a6ded27e6dc52f82f121cb0af510dfc8f60d9ba0d3b9a1d90a8a832c38e24256e394d8ffccbbf12a109e2da4
AUX ncurses-6.0-ticlib.patch 492 BLAKE2B df9e747a773b532aab42def40fa048a08ae4d02b83c78bfb5fd89b70b9b753534769c5c52a0d1adde7447cd25a286fc8b5d9f52f395c6287d7cd568f184242d7 SHA512 291ed033118673aed1bc5d3b54730d099dffccad7bbe9cb47275bb216125ef9016225eaccae620fa3b06533b7633061a8029e19c8cb9f73c3e30499f587353d6
-AUX ncurses-6.1-st07_terminfo_typo.patch 563 BLAKE2B e28c682c752e8e075691045217d14f88e5a1c5805c014e9b6ccc1d19179cc60dd04dea418a6d9d6302140a89c1977e47b6d9385c7192fdac6a26c9d2e2a33f69 SHA512 a81faa2c9450179324ba56c8cbf3bc5104fbfb2bb9108dfcd93a63fb3ce88c25cb5ab130a2e015816a1a2efa42c2fb3fb3b4b381517d45804efad997a36c8508
DIST ncurses-5.9.tar.gz 2826473 BLAKE2B 91101b049a5eb6a2674fb86b5eba56515207f490dc7a6348f3194bbc50649717a26aff7a0df64f67ca318b5f244455cd57e760c65b9e551f6ec65b8c035a6ae1 SHA512 d7c5e54b6d4d8b9211f0006ca8786f7609d180cc1aaebf4f25e7e35e12959779cf66447359a602daed625621ca32b0d910d67aef3eb8b6fdc3c373819a88faa1
DIST ncurses-6.1-20181020-patch.sh.bz2 361598 BLAKE2B e74f6b4e81c822ae500724ebe707031d3157190e96256656940241e4485fa3d96669e069e764cecc829d9fccccc11caaab8c68ae489b083ade4f286647ac74af SHA512 e54bf83cae5bae3ddb909b9bbe91f549b366a5c60b6274f6b27a3f28b5f9f1afe7263487db842f8cbc22a93e0ef17f0fd518a0585523116e192174f44423ae4a
DIST ncurses-6.1-20190609-patch.sh.bz2 602174 BLAKE2B 38b1cb1f376b8fdfddc7cf9ed8e10190dd50fc2315f11eaf3a14c0299167c0e6bbd82a3684fa83d6e8fa6d2f02ea14e88ea065f8bb886905d85788bde13731c0 SHA512 efd009f5087a7b16413b94ce37ad19da0df8974be579b742d57bc64e034792ccf03b9967593a0ac5c90522ccfde4b6d23ef763d6fbeb91a5f327f8d7a0970872
DIST ncurses-6.1.tar.gz 3365395 BLAKE2B 1248a5088bc982d0880cb9550b1192457f6f624937c4b66807668c22a608002ba6c38d876986f2c2b9ee46f91d087c88bc0b19920733e4c7ca0ed8e92d9d47de SHA512 e308af43f8b7e01e98a55f4f6c4ee4d1c39ce09d95399fa555b3f0cdf5fd0db0f4c4d820b4af78a63f6cf6d8627587114a40af48cfc066134b600520808a77ee
EBUILD ncurses-5.9-r101.ebuild 5287 BLAKE2B 7429e04203c35510eec381f3ac1fe28292b191c1b0d3f37d467e97b90c3d53d03a564745a1cafbb6a6032a895af7cc4e172afd9d91ac9315463786f545117e47 SHA512 98daead57237d72df9450e95d75f25949cb0056973e29801f06bb6352e66b3e9d94212c555a72e6fbef66fa778a74acc2c2a5a9027bfda719593acb062356df6
-EBUILD ncurses-6.1-r2.ebuild 8797 BLAKE2B dae0dfb2c40e322ed2f5ff572684b5b6f6df115b1f17e3798a7bcf102cf4fb99742829fd3ff6c6778a42a531a1ec4a819cd0118b3f6ee4a33738e43fd273d3c7 SHA512 a9cec9d350f7b46a10919b4854b9b9725ff1a7ecbd368bab31d207cb2ef52a674fe12a1417b0b56b8343bfbbbdc4c502cd6747eb8b2e12b7393c560c26690199
-EBUILD ncurses-6.1-r3.ebuild 9214 BLAKE2B 1767897a38e92115abd681c5ee97002b37cbe6e2a1fe758db31bb6f35d7de73046179d350c4133e964db3fecf348f6e8677eef3f7f18771ec6e3aa45ec69472f SHA512 6556c3ccaebedb6b6fd04a5b6a8156babe241f12410730861e0513f7e71b50db14dab26bda48f9fe6f5f1ae6108da7c80cd06b45fd33176b65bd3027b9dc678c
-EBUILD ncurses-6.1_p20181020.ebuild 9293 BLAKE2B 925c0e2101e2fc45735f0f11c41868f725d62234e5da27d8d7c319681f41047a48cae79811b55bea3ce60663756f9612c8a7508365be5b4582eb652240adea47 SHA512 d6a0dffb8c3db21900f1e889680c6f24e7b7d9376678aa2a371ae60022296ff5fe4f02e4829bae6b6a4acfdb775b3372869564a6c48f0b34522e265411ecc807
+EBUILD ncurses-6.1_p20181020.ebuild 9288 BLAKE2B 5e37b4794b93a896942a7cd2510e1696128bf4b3d9f84be6016a1aaacc6a9a1c9fef134c4ec2812541720863dab20fa303582eb3ad3a41dd55b4da7cb261c9d4 SHA512 07fccd57e13ef6732a69c0bc1865b8f6d446097f919fde7d830469867cc15f791e4692f2b051a9b37cc39fd1d9f2d5234855404242ecd284b5f5a8f75573a612
EBUILD ncurses-6.1_p20190609.ebuild 9497 BLAKE2B 7e273a1ebb12f343e92e822cc72d944aeeb10deb356de599d2e3141454ec443445ac21812e185e2e67bbd659baf037ef0f2c17063eff5643d661416039a6e066 SHA512 63e9874446bf271fa3341f707c76a5eb06f4c7388e788a24666e2605ea1f7a0f42dd58a4f6ca735c107fb43558d279dde58009dd049277f9e2c377ead2df9254
MISC metadata.xml 619 BLAKE2B a5b29f22ce491bf7a308673944651ea9d916a6d487a45a2a7ee4a7e8d33f7b3bd398e3edeb830f0b443cb4524c0b73af4d6e1511e8128289a76666acd931d611 SHA512 3f28fd8aee675226f641d72d7437edf4c5840cdac3dca64b6a4c61902d4f4127d86f65acfefb270cba2fcfb0ba9d6ff9d3ca24930825b89c82f0eedc8160f9ef
diff --git a/sys-libs/ncurses/files/ncurses-6.0-gfbsd.patch b/sys-libs/ncurses/files/ncurses-6.0-gfbsd.patch
deleted file mode 100644
index 1403a29c933c..000000000000
--- a/sys-libs/ncurses/files/ncurses-6.0-gfbsd.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-we'll hijack the freebsd* case that comes later
-
---- ncurses-6.0/aclocal.m4
-+++ ncurses-6.0/aclocal.m4
-@@ -5711,7 +5711,7 @@
- fi
- cf_cv_rm_so_locs=yes
- ;;
-- (linux*|gnu*|k*bsd*-gnu)
-+ (linux*|gnu*|k*bsd*-gnu|freebsd*|dragonfly*)
- if test "$DFT_LWR_MODEL" = "shared" ; then
- LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
- LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
---- ncurses-6.0/configure
-+++ ncurses-6.0/configure
-@@ -6188,7 +6188,7 @@
- fi
- cf_cv_rm_so_locs=yes
- ;;
-- (linux*|gnu*|k*bsd*-gnu)
-+ (linux*|gnu*|k*bsd*-gnu|freebsd*|dragonfly*)
- if test "$DFT_LWR_MODEL" = "shared" ; then
- LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
- LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
diff --git a/sys-libs/ncurses/files/ncurses-6.1-st07_terminfo_typo.patch b/sys-libs/ncurses/files/ncurses-6.1-st07_terminfo_typo.patch
deleted file mode 100644
index 4532d648a64e..000000000000
--- a/sys-libs/ncurses/files/ncurses-6.1-st07_terminfo_typo.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://github.com/tmux/tmux/issues/1264
-https://bugs.gentoo.org/651494
-
---- ncurses-6.1/misc/terminfo.src
-+++ ncurses-6.1/misc/terminfo.src
-@@ -6260,7 +6260,7 @@
- %=%t3%e%p1%d%;m,
- sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
- %t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m,
-- Ss=\E]52;%p1%s;%p2%s\007, kDN3=\E[1;3B, kDN5=\E[1;5B,
-+ Ms=\E]52;%p1%s;%p2%s\007, kDN3=\E[1;3B, kDN5=\E[1;5B,
- kLFT3=\E[1;3D, kLFT5=\E[1;5D, kNXT3=\E[6;3~,
- kNXT5=\E[6;5~, kPRV3=\E[5;3~, kPRV5=\E[5;5~,
- kRIT3=\E[1;3C, kRIT5=\E[1;5C, kUP3=\E[1;3A, kUP5=\E[1;5A,
diff --git a/sys-libs/ncurses/ncurses-6.1-r2.ebuild b/sys-libs/ncurses/ncurses-6.1-r2.ebuild
deleted file mode 100644
index 85d9d9203ceb..000000000000
--- a/sys-libs/ncurses/ncurses-6.1-r2.ebuild
+++ /dev/null
@@ -1,295 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic toolchain-funcs multilib-minimal preserve-libs usr-ldscript
-
-MY_PV=${PV:0:3}
-PV_SNAP=${PV:4}
-MY_P=${PN}-${MY_PV}
-DESCRIPTION="console display library"
-HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/"
-SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-# The subslot reflects the SONAME.
-SLOT="0/6"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="ada +cxx debug doc gpm minimal profile static-libs test threads tinfo trace unicode"
-
-DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
-# berkdb? ( sys-libs/db )"
-# Block the older ncurses that installed all files w/SLOT=5. #557472
-RDEPEND="${DEPEND}
- !<=sys-libs/ncurses-5.9-r4:5
- !<sys-libs/slang-2.3.2_pre23
- !<x11-terms/rxvt-unicode-9.06-r3
- !<x11-terms/st-0.6-r1"
-
-S=${WORKDIR}/${MY_P}
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.0-gfbsd.patch"
- "${FILESDIR}/${PN}-5.7-nongnu.patch"
- "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871
- "${FILESDIR}/${PN}-6.0-pkg-config.patch"
- "${FILESDIR}/${PN}-5.9-gcc-5.patch" #545114
- "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360
- "${FILESDIR}/${PN}-6.0-cppflags-cross.patch" #601426
- "${FILESDIR}/${PN}-6.1-st07_terminfo_typo.patch" #651494
-)
-
-src_prepare() {
- [[ -n ${PV_SNAP} ]] && eapply "${WORKDIR}"/${MY_P}-${PV_SNAP}-patch.sh
- default
-}
-
-src_configure() {
- unset TERMINFO #115036
- tc-export_build_env BUILD_{CC,CPP}
- BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642
-
- # Build the various variants of ncurses -- narrow, wide, and threaded. #510440
- # Order matters here -- we want unicode/thread versions to come last so that the
- # binaries in /usr/bin support both wide and narrow.
- # The naming is also important as we use these directly with filenames and when
- # checking configure flags.
- NCURSES_TARGETS=(
- ncurses
- $(usex unicode 'ncursesw' '')
- $(usex threads 'ncursest' '')
- $(use unicode && usex threads 'ncursestw' '')
- )
-
- # When installing ncurses, we have to use a compatible version of tic.
- # This comes up when cross-compiling, doing multilib builds, upgrading,
- # or installing for the first time. Build a local copy of tic whenever
- # the host version isn't available. #249363 #557598
- if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then
- local lbuildflags="-static"
-
- # some toolchains don't quite support static linking
- local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
- case ${CHOST} in
- *-darwin*) dbuildflags= ;;
- *-aix*) dbuildflags= ;;
- esac
- echo "int main() {}" | \
- $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \
- || lbuildflags="${dbuildflags}"
-
- # We can't re-use the multilib BUILD_DIR because we run outside of it.
- BUILD_DIR="${WORKDIR}" \
- CHOST=${CBUILD} \
- CFLAGS=${BUILD_CFLAGS} \
- CXXFLAGS=${BUILD_CXXFLAGS} \
- CPPFLAGS=${BUILD_CPPFLAGS} \
- LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
- do_configure cross --without-shared --with-normal
- fi
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local t
- for t in "${NCURSES_TARGETS[@]}" ; do
- do_configure "${t}"
- done
-}
-
-do_configure() {
- local target=$1
- shift
-
- mkdir "${BUILD_DIR}/${target}" || die
- cd "${BUILD_DIR}/${target}" || die
-
- local conf=(
- # We need the basic terminfo files in /etc, bug #37026. We will
- # add '--with-terminfo-dirs' and then populate /etc/terminfo in
- # src_install() ...
- --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo"
-
- # Disabled until #245417 is sorted out.
- #$(use_with berkdb hashed-db)
-
- # Enable installation of .pc files.
- --enable-pc-files
- # This path is used to control where the .pc files are installed.
- --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
-
- # Now the rest of the various standard flags.
- --with-shared
- --without-hashed-db
- $(use_with ada)
- $(use_with cxx)
- $(use_with cxx cxx-binding)
- --with-cxx-shared
- $(use_with debug)
- $(use_with profile)
- # The configure script uses ldd to parse the linked output which
- # is flaky for cross-compiling/multilib/ldd versions/etc...
- $(use_with gpm gpm libgpm.so.1)
- # Required for building on mingw-w64, and possibly other windows
- # platforms, bug #639670
- $(use_enable kernel_Winnt term-driver)
- --disable-termcap
- --enable-symlinks
- --with-rcs-ids
- --with-manpage-format=normal
- --enable-const
- --enable-colorfgbg
- --enable-hard-tabs
- --enable-echo
- $(use_enable !ada warnings)
- $(use_with debug assertions)
- $(use_enable !debug leaks)
- $(use_with debug expanded)
- $(use_with !debug macros)
- $(multilib_native_with progs)
- $(use_with test tests)
- $(use_with trace)
- $(use_with tinfo termlib)
- --disable-stripping
- )
-
- if [[ ${target} == ncurses*w ]] ; then
- conf+=( --enable-widec )
- else
- conf+=( --disable-widec )
- fi
- if [[ ${target} == ncursest* ]] ; then
- conf+=( --with-{pthread,reentrant} )
- else
- conf+=( --without-{pthread,reentrant} )
- fi
- # Make sure each variant goes in a unique location.
- if [[ ${target} == "ncurses" ]] ; then
- # "ncurses" variant goes into "${EPREFIX}"/usr/include
- # It is needed on Prefix because the configure script appends
- # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr.
- conf+=( --enable-overwrite )
- else
- conf+=( --includedir="${EPREFIX}"/usr/include/${target} )
- fi
- # See comments in src_configure.
- if [[ ${target} != "cross" ]] ; then
- local cross_path="${WORKDIR}/cross"
- [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic"
- fi
-
- # Force bash until upstream rebuilds the configure script with a newer
- # version of autotools. #545532
- CONFIG_SHELL=${EPREFIX}/bin/bash \
- ECONF_SOURCE="${S}" \
- econf "${conf[@]}" "$@"
-}
-
-src_compile() {
- # See comments in src_configure.
- if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then
- BUILD_DIR="${WORKDIR}" \
- do_compile cross -C progs tic
- fi
-
- multilib-minimal_src_compile
-}
-
-multilib_src_compile() {
- local t
- for t in "${NCURSES_TARGETS[@]}" ; do
- do_compile "${t}"
- done
-}
-
-do_compile() {
- local target=$1
- shift
-
- cd "${BUILD_DIR}/${target}" || die
-
- # A little hack to fix parallel builds ... they break when
- # generating sources so if we generate the sources first (in
- # non-parallel), we can then build the rest of the package
- # in parallel. This is not really a perf hit since the source
- # generation is quite small.
- emake -j1 sources
- # For some reason, sources depends on pc-files which depends on
- # compiled libraries which depends on sources which ...
- # Manually delete the pc-files file so the install step will
- # create the .pc files we want.
- rm -f misc/pc-files || die
- emake "$@"
-}
-
-multilib_src_install() {
- local target
- for target in "${NCURSES_TARGETS[@]}" ; do
- emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install
- done
-
- # Move main libraries into /.
- if multilib_is_native_abi ; then
- gen_usr_ldscript -a \
- "${NCURSES_TARGETS[@]}" \
- $(use tinfo && usex unicode 'tinfow' '') \
- $(usev tinfo)
- fi
- if ! tc-is-static-only ; then
- # Provide a link for -lcurses.
- ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die
- fi
- # don't delete '*.dll.a', needed for linking #631468
- if ! use static-libs; then
- find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die
- fi
-
- # Build fails to create this ...
- dosym ../share/terminfo /usr/$(get_libdir)/terminfo
-}
-
-multilib_src_install_all() {
-# if ! use berkdb ; then
- # We need the basic terminfo files in /etc, bug #37026
- einfo "Installing basic terminfo files in /etc..."
- local x
- for x in ansi console dumb linux rxvt rxvt-unicode screen{,-256color} vt{52,100,102,200,220} \
- xterm xterm-{,256}color
- do
- local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
- local basedir=$(basename $(dirname "${termfile}"))
-
- if [[ -n ${termfile} ]] ; then
- dodir /etc/terminfo/${basedir}
- mv ${termfile} "${ED}"/etc/terminfo/${basedir}/
- dosym ../../../../etc/terminfo/${basedir}/${x} \
- /usr/share/terminfo/${basedir}/${x}
- fi
- done
-# fi
-
- echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" > "${T}"/50ncurses
- doenvd "${T}"/50ncurses
-
- use minimal && rm -r "${ED}"/usr/share/terminfo*
- # Because ncurses5-config --terminfo returns the directory we keep it
- keepdir /usr/share/terminfo #245374
-
- cd "${S}" || die
- dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
- if use doc ; then
- docinto html
- dodoc -r doc/html/
- fi
-}
-
-pkg_preinst() {
- preserve_old_lib /$(get_libdir)/libncurses.so.5
- use unicode && preserve_old_lib /$(get_libdir)/libncursesw.so.5
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /$(get_libdir)/libncurses.so.5
- use unicode && preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5
-}
diff --git a/sys-libs/ncurses/ncurses-6.1-r3.ebuild b/sys-libs/ncurses/ncurses-6.1-r3.ebuild
deleted file mode 100644
index 4fd2cc589a83..000000000000
--- a/sys-libs/ncurses/ncurses-6.1-r3.ebuild
+++ /dev/null
@@ -1,305 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit flag-o-matic toolchain-funcs multilib-minimal preserve-libs usr-ldscript
-
-MY_PV=${PV:0:3}
-PV_SNAP=${PV:4}
-MY_P=${PN}-${MY_PV}
-DESCRIPTION="console display library"
-HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/"
-SRC_URI="mirror://gnu/ncurses/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-# The subslot reflects the SONAME.
-SLOT="0/6"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="ada +cxx debug doc gpm minimal profile static-libs test threads tinfo trace unicode"
-
-DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
-# berkdb? ( sys-libs/db )"
-# Block the older ncurses that installed all files w/SLOT=5. #557472
-RDEPEND="${DEPEND}
- !<=sys-libs/ncurses-5.9-r4:5
- !<sys-libs/slang-2.3.2_pre23
- !<x11-terms/rxvt-unicode-9.06-r3
- !<x11-terms/st-0.6-r1"
-
-S=${WORKDIR}/${MY_P}
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.0-gfbsd.patch"
- "${FILESDIR}/${PN}-5.7-nongnu.patch"
- "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871
- "${FILESDIR}/${PN}-6.0-pkg-config.patch"
- "${FILESDIR}/${PN}-5.9-gcc-5.patch" #545114
- "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360
- "${FILESDIR}/${PN}-6.0-cppflags-cross.patch" #601426
- "${FILESDIR}/${PN}-6.1-st07_terminfo_typo.patch" #651494
-)
-
-src_prepare() {
- [[ -n ${PV_SNAP} ]] && eapply "${WORKDIR}"/${MY_P}-${PV_SNAP}-patch.sh
- default
-}
-
-src_configure() {
- unset TERMINFO #115036
- tc-export_build_env BUILD_{CC,CPP}
- BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642
-
- # Build the various variants of ncurses -- narrow, wide, and threaded. #510440
- # Order matters here -- we want unicode/thread versions to come last so that the
- # binaries in /usr/bin support both wide and narrow.
- # The naming is also important as we use these directly with filenames and when
- # checking configure flags.
- NCURSES_TARGETS=(
- ncurses
- $(usex unicode 'ncursesw' '')
- $(usex threads 'ncursest' '')
- $(use unicode && usex threads 'ncursestw' '')
- )
-
- # When installing ncurses, we have to use a compatible version of tic.
- # This comes up when cross-compiling, doing multilib builds, upgrading,
- # or installing for the first time. Build a local copy of tic whenever
- # the host version isn't available. #249363 #557598
- if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then
- local lbuildflags="-static"
-
- # some toolchains don't quite support static linking
- local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
- case ${CHOST} in
- *-darwin*) dbuildflags= ;;
- *-aix*) dbuildflags= ;;
- esac
- echo "int main() {}" | \
- $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \
- || lbuildflags="${dbuildflags}"
-
- # We can't re-use the multilib BUILD_DIR because we run outside of it.
- BUILD_DIR="${WORKDIR}" \
- CHOST=${CBUILD} \
- CFLAGS=${BUILD_CFLAGS} \
- CXXFLAGS=${BUILD_CXXFLAGS} \
- CPPFLAGS=${BUILD_CPPFLAGS} \
- LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
- do_configure cross --without-shared --with-normal
- fi
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local t
- for t in "${NCURSES_TARGETS[@]}" ; do
- do_configure "${t}"
- done
-}
-
-do_configure() {
- local target=$1
- shift
-
- mkdir "${BUILD_DIR}/${target}" || die
- cd "${BUILD_DIR}/${target}" || die
-
- local conf=(
- # We need the basic terminfo files in /etc, bug #37026. We will
- # add '--with-terminfo-dirs' and then populate /etc/terminfo in
- # src_install() ...
- --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo"
-
- # Disabled until #245417 is sorted out.
- #$(use_with berkdb hashed-db)
-
- # Enable installation of .pc files.
- --enable-pc-files
- # This path is used to control where the .pc files are installed.
- --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
-
- # Now the rest of the various standard flags.
- --with-shared
- --without-hashed-db
- $(use_with ada)
- $(use_with cxx)
- $(use_with cxx cxx-binding)
- --with-cxx-shared
- $(use_with debug)
- $(use_with profile)
- # The configure script uses ldd to parse the linked output which
- # is flaky for cross-compiling/multilib/ldd versions/etc...
- $(use_with gpm gpm libgpm.so.1)
- # Required for building on mingw-w64, and possibly other windows
- # platforms, bug #639670
- $(use_enable kernel_Winnt term-driver)
- --disable-termcap
- --enable-symlinks
- --with-rcs-ids
- --with-manpage-format=normal
- --enable-const
- --enable-colorfgbg
- --enable-hard-tabs
- --enable-echo
- $(use_enable !ada warnings)
- $(use_with debug assertions)
- $(use_enable !debug leaks)
- $(use_with debug expanded)
- $(use_with !debug macros)
- $(multilib_native_with progs)
- $(use_with test tests)
- $(use_with trace)
- $(use_with tinfo termlib)
- --disable-stripping
- )
-
- if [[ ${target} == ncurses*w ]] ; then
- conf+=( --enable-widec )
- else
- conf+=( --disable-widec )
- fi
- if [[ ${target} == ncursest* ]] ; then
- conf+=( --with-{pthread,reentrant} )
- else
- conf+=( --without-{pthread,reentrant} )
- fi
- # Make sure each variant goes in a unique location.
- if [[ ${target} == "ncurses" ]] ; then
- # "ncurses" variant goes into "${EPREFIX}"/usr/include
- # It is needed on Prefix because the configure script appends
- # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr.
- conf+=( --enable-overwrite )
- else
- conf+=( --includedir="${EPREFIX}"/usr/include/${target} )
- fi
- # See comments in src_configure.
- if [[ ${target} != "cross" ]] ; then
- local cross_path="${WORKDIR}/cross"
- [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic"
- fi
-
- # Force bash until upstream rebuilds the configure script with a newer
- # version of autotools. #545532
- CONFIG_SHELL=${EPREFIX}/bin/bash \
- ECONF_SOURCE="${S}" \
- econf "${conf[@]}" "$@"
-}
-
-src_compile() {
- # See comments in src_configure.
- if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then
- BUILD_DIR="${WORKDIR}" \
- do_compile cross -C progs tic
- fi
-
- multilib-minimal_src_compile
-}
-
-multilib_src_compile() {
- local t
- for t in "${NCURSES_TARGETS[@]}" ; do
- do_compile "${t}"
- done
-}
-
-do_compile() {
- local target=$1
- shift
-
- cd "${BUILD_DIR}/${target}" || die
-
- # A little hack to fix parallel builds ... they break when
- # generating sources so if we generate the sources first (in
- # non-parallel), we can then build the rest of the package
- # in parallel. This is not really a perf hit since the source
- # generation is quite small.
- emake -j1 sources
- # For some reason, sources depends on pc-files which depends on
- # compiled libraries which depends on sources which ...
- # Manually delete the pc-files file so the install step will
- # create the .pc files we want.
- rm -f misc/pc-files || die
- emake "$@"
-}
-
-multilib_src_install() {
- local target
- for target in "${NCURSES_TARGETS[@]}" ; do
- emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install
- done
-
- # Move main libraries into /.
- if multilib_is_native_abi ; then
- gen_usr_ldscript -a \
- "${NCURSES_TARGETS[@]}" \
- $(use tinfo && usex unicode 'tinfow' '') \
- $(usev tinfo)
- fi
- if ! tc-is-static-only ; then
- # Provide a link for -lcurses.
- ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die
- fi
- # don't delete '*.dll.a', needed for linking #631468
- if ! use static-libs; then
- find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die
- fi
-
- # Build fails to create this ...
- dosym ../share/terminfo /usr/$(get_libdir)/terminfo
-}
-
-multilib_src_install_all() {
-# if ! use berkdb ; then
- # We need the basic terminfo files in /etc for embedded/recovery. #37026
- einfo "Installing basic terminfo files in /etc..."
- local terms=(
- # Dumb/simple values that show up when using the in-kernel VT.
- ansi console dumb linux
- vt{52,100,102,200,220}
- # [u]rxvt users used to be pretty common. Probably should drop this
- # since upstream is dead and people are moving away from it.
- rxvt{,-unicode}{,-256color}
- # xterm users are common, as is terminals re-using/spoofing it.
- xterm xterm-{,256}color
- # screen is common (and reused by tmux).
- screen{,-256color}
- screen.xterm-256color
- )
- local x
- for x in "${terms[@]}"; do
- local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
- local basedir=$(basename "$(dirname "${termfile}")")
-
- if [[ -n ${termfile} ]] ; then
- dodir "/etc/terminfo/${basedir}"
- mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die
- dosym "../../../../etc/terminfo/${basedir}/${x}" \
- "/usr/share/terminfo/${basedir}/${x}"
- fi
- done
-# fi
-
- echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses
-
- use minimal && rm -r "${ED}"/usr/share/terminfo*
- # Because ncurses5-config --terminfo returns the directory we keep it
- keepdir /usr/share/terminfo #245374
-
- cd "${S}" || die
- dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
- if use doc ; then
- docinto html
- dodoc -r doc/html/
- fi
-}
-
-pkg_preinst() {
- preserve_old_lib /$(get_libdir)/libncurses.so.5
- use unicode && preserve_old_lib /$(get_libdir)/libncursesw.so.5
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /$(get_libdir)/libncurses.so.5
- use unicode && preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5
-}
diff --git a/sys-libs/ncurses/ncurses-6.1_p20181020.ebuild b/sys-libs/ncurses/ncurses-6.1_p20181020.ebuild
index e34de17f3547..a9a949c75088 100644
--- a/sys-libs/ncurses/ncurses-6.1_p20181020.ebuild
+++ b/sys-libs/ncurses/ncurses-6.1_p20181020.ebuild
@@ -19,7 +19,7 @@ fi
LICENSE="MIT"
# The subslot reflects the SONAME.
SLOT="0/6"
-KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
IUSE="ada +cxx debug doc gpm minimal profile static-libs test threads tinfo trace unicode"
DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
diff --git a/sys-libs/timezone-data/Manifest b/sys-libs/timezone-data/Manifest
index 01b7e8d3bb70..63cacb4e7916 100644
--- a/sys-libs/timezone-data/Manifest
+++ b/sys-libs/timezone-data/Manifest
@@ -6,5 +6,5 @@ DIST tzdata2019a.tar.gz 378961 BLAKE2B f8ab67f1fac34ab81fa9995cd70399728e6755303
DIST tzdata2019b.tar.gz 384667 BLAKE2B c045d137cbb09e1109916dfdb1265ceb560d589ded9b05aa0cfe75f5fcb19057ded4d4f12f47c895020ed02bc4138de995eadac497eb3663579b094164d7e3ad SHA512 c0104078d994e501d80a41bea31364b1390a75c2fbf42968a8343a090e2ac2eddbc58770ca470b192ea19dec89fcc634141a1de703ea2ffa0325176a64afe1fc
EBUILD timezone-data-2018i.ebuild 5143 BLAKE2B 80f02bc5a5f5dc1c9bb7d2cb715ac12c485c9d921767f77b49eddb08ce99e94134b9a0fc9eb5117622674bcac50c8ba97a3e9bb146acc368cb9c537e101fb7eb SHA512 29975f74113f5f1bac6773627d86d40b0ce1b2446f7eede184dff32d6c36f730e92d8fc8fbe97c94ce4b11e7760477c1ea340c7eb233522ccbb57f421678d12f
EBUILD timezone-data-2019a.ebuild 5153 BLAKE2B a2ea08d19dbccfd1ae9b46d0c10fc6a41c2007a6a30c6a1d4eecb04f0ca79944be7fa6419fb23ab7fdaafd3ecd78209f8dd366bd7a6d987cdbadb734ee8ef468 SHA512 3337a58a66295785d1708c0121c60785d856f13d05da120e1963fa7fd08dec0e0815b998e9693810cb600f594db55cfd27955403e6123d5c8bfb9bee6b914b0d
-EBUILD timezone-data-2019b.ebuild 5163 BLAKE2B 295175c3958d1a8ab609a13fa6027306e8e460394e730e7c85c29f940dad98ff893eb797a0c7f97c1e90dffb2e4f55c748f0e2b7638748c1dcedaaa10b6f4e90 SHA512 9801cf158e53be5737025a8384d7f8c001f815df7296080aa00123f276477d030f20407e949a2253c54b8b6226d7640d6ef589724622158b869cbd658a78c444
+EBUILD timezone-data-2019b-r1.ebuild 5173 BLAKE2B ba837151c0ca678a826f03f21a63a32c50201022199031babfa563e364960e93259c807c1c48b246d8a932e5fb99276b8c8efa72f342da503ba79ece05a407e1 SHA512 75e0bb2299d4e0d44c7280e57ee3a6750f25d6732c2f890dcb901d9a55e3fb9f24852d5c89595db64e42d8525aaa38d35a12bcdd63a2fcbaf4e2fbc04df43d1e
MISC metadata.xml 658 BLAKE2B 75ee5deafa4e9c1336119b2b2b87de6f8520a29f8fa7901c4995bddbb0cb185de9a019ff7703d0a8aa7b2f685a9ec2ca518641ea0c0a1b6123aa05faa04274a1 SHA512 94b68a5195b17cd1a7283a90a42ba9e1dfb0e7dde7c16f48202233cc2fc20ea718a1588b57b2af372e3c35ed403276cdd59456165a225f149a813abff2144c73
diff --git a/sys-libs/timezone-data/timezone-data-2019b.ebuild b/sys-libs/timezone-data/timezone-data-2019b-r1.ebuild
index 07d15cc49599..a52e4d3a7263 100644
--- a/sys-libs/timezone-data/timezone-data-2019b.ebuild
+++ b/sys-libs/timezone-data/timezone-data-2019b-r1.ebuild
@@ -103,7 +103,7 @@ src_install() {
}
get_TIMEZONE() {
- local tz src="${EROOT}etc/timezone"
+ local tz src="${EROOT}/etc/timezone"
if [[ -e ${src} ]] ; then
tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}")
else
@@ -135,11 +135,11 @@ pkg_preinst() {
configure_tz_data() {
# make sure the /etc/localtime file does not get stale #127899
- local tz src="${EROOT}etc/timezone" etc_lt="${EROOT}etc/localtime"
+ local tz src="${EROOT}/etc/timezone" etc_lt="${EROOT}/etc/localtime"
# If it's a symlink, assume the user knows what they're doing and
# they're managing it themselves. #511474
- if [[ -L ${etc_lt} ]] ; then
+ if [[ -L "${etc_lt}" ]] ; then
einfo "Assuming your ${etc_lt} symlink is what you want; skipping update."
return 0
fi
@@ -148,10 +148,10 @@ configure_tz_data() {
einfo "Assuming your empty ${etc_lt} file is what you want; skipping update."
return 0
fi
- if [[ ${tz} == "FOOKABLOIE" ]] ; then
+ if [[ "${tz}" == "FOOKABLOIE" ]] ; then
elog "You do not have TIMEZONE set in ${src}."
- if [[ ! -e ${etc_lt} ]] ; then
+ if [[ ! -e "${etc_lt}" ]] ; then
cp -f "${EROOT}"/usr/share/zoneinfo/Factory "${etc_lt}"
elog "Setting ${etc_lt} to Factory."
else
@@ -160,13 +160,13 @@ configure_tz_data() {
return 0
fi
- if [[ ! -e ${EROOT}/usr/share/zoneinfo/${tz} ]] ; then
+ if [[ ! -e "${EROOT}/usr/share/zoneinfo/${tz}" ]] ; then
elog "You have an invalid TIMEZONE setting in ${src}"
elog "Your ${etc_lt} has been reset to Factory; enjoy!"
tz="Factory"
fi
- einfo "Updating ${etc_lt} with ${EROOT}usr/share/zoneinfo/${tz}"
- cp -f "${EROOT}"/usr/share/zoneinfo/"${tz}" "${etc_lt}"
+ einfo "Updating ${etc_lt} with ${EROOT}/usr/share/zoneinfo/${tz}"
+ cp -f "${EROOT}/usr/share/zoneinfo/${tz}" "${etc_lt}"
}
pkg_config() {