summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-12-05 02:47:11 +0000
committerV3n3RiX <venerix@koprulu.sector>2021-12-05 02:47:11 +0000
commit2771f79232c273bc2a57d23bf335dd81ccf6af28 (patch)
treec8af0fd04194aed03cf067d44e53c7edd3e9ab84 /sys-libs
parente9d044d4b9b71200a96adfa280848858c0f468c9 (diff)
gentoo resync : 05.12.2021
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin14072 -> 14376 bytes
-rw-r--r--sys-libs/argp-standalone/Manifest6
-rw-r--r--sys-libs/argp-standalone/argp-standalone-1.4.1-r1.ebuild42
-rw-r--r--sys-libs/argp-standalone/files/argp-standalone-1.3-shared.patch5
-rw-r--r--sys-libs/argp-standalone/metadata.xml5
-rw-r--r--sys-libs/basu/Manifest5
-rw-r--r--sys-libs/basu/basu-0.2.0.ebuild41
-rw-r--r--sys-libs/basu/files/0001-basu-0.2.0-meson-add-libcap-option.patch39
-rw-r--r--sys-libs/basu/files/0002-basu-0.2.0-meson-convert-audit-option-to-feature-object.patch49
-rw-r--r--sys-libs/basu/metadata.xml19
-rw-r--r--sys-libs/binutils-libs/Manifest2
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.37_p1-r1.ebuild135
-rw-r--r--sys-libs/compiler-rt-sanitizers/Manifest9
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.0.ebuild4
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1.9999.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.0.9999.ebuild)16
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1_rc1.ebuild215
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-14.0.0.9999.ebuild18
-rw-r--r--sys-libs/compiler-rt/Manifest9
-rw-r--r--sys-libs/compiler-rt/compiler-rt-13.0.0.ebuild4
-rw-r--r--sys-libs/compiler-rt/compiler-rt-13.0.1.9999.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-13.0.0.9999.ebuild)13
-rw-r--r--sys-libs/compiler-rt/compiler-rt-13.0.1_rc1.ebuild137
-rw-r--r--sys-libs/compiler-rt/compiler-rt-14.0.0.9999.ebuild15
-rw-r--r--sys-libs/cygwin-crypt/Manifest2
-rw-r--r--sys-libs/cygwin-crypt/cygwin-crypt-1.4-r1.ebuild (renamed from sys-libs/cygwin-crypt/cygwin-crypt-1.4.ebuild)8
-rw-r--r--sys-libs/glibc/Manifest9
-rw-r--r--sys-libs/glibc/files/glibc-2.34-make-clone3-syscall-optional.patch48
-rw-r--r--sys-libs/glibc/glibc-2.34-r2.ebuild (renamed from sys-libs/glibc/glibc-2.34-r1.ebuild)32
-rw-r--r--sys-libs/glibc/glibc-2.34-r3.ebuild1591
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild21
-rw-r--r--sys-libs/glibc/metadata.xml1
-rw-r--r--sys-libs/kpmcore/Manifest8
-rw-r--r--sys-libs/kpmcore/files/kpmcore-21.08.3-dont-destroy-zfs-pool.patch46
-rw-r--r--sys-libs/kpmcore/files/kpmcore-21.08.3-fix-seek-error-when-shred-partition.patch27
-rw-r--r--sys-libs/kpmcore/kpmcore-21.08.3-r1.ebuild (renamed from sys-libs/kpmcore/kpmcore-21.04.3.ebuild)13
-rw-r--r--sys-libs/kpmcore/kpmcore-21.11.90.ebuild (renamed from sys-libs/kpmcore/kpmcore-21.08.3.ebuild)2
-rw-r--r--sys-libs/ldb/Manifest2
-rw-r--r--sys-libs/ldb/ldb-2.3.2.ebuild2
-rw-r--r--sys-libs/libblockdev/Manifest4
-rw-r--r--sys-libs/libblockdev/libblockdev-2.26.ebuild13
-rw-r--r--sys-libs/libblockdev/libblockdev-9999.ebuild13
-rw-r--r--sys-libs/libcap/Manifest20
-rw-r--r--sys-libs/libcap/files/libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch9
-rw-r--r--sys-libs/libcap/files/libcap-2.38-no_perl.patch9
-rw-r--r--sys-libs/libcap/files/libcap-2.48-build-system-fixes.patch24
-rw-r--r--sys-libs/libcap/files/libcap-2.57-parallel-make.patch29
-rw-r--r--sys-libs/libcap/files/libcap-2.61-Wformat.patch25
-rw-r--r--sys-libs/libcap/files/libcap-2.61-ignore-RAISE_SETFCAP-install-failures.patch24
-rw-r--r--sys-libs/libcap/files/libcap-2.61-no_perl.patch57
-rw-r--r--sys-libs/libcap/libcap-2.57.ebuild90
-rw-r--r--sys-libs/libcap/libcap-2.58.ebuild88
-rw-r--r--sys-libs/libcap/libcap-2.60.ebuild88
-rw-r--r--sys-libs/libcap/libcap-2.61.ebuild (renamed from sys-libs/libcap/libcap-2.59.ebuild)9
-rw-r--r--sys-libs/libcxx/Manifest9
-rw-r--r--sys-libs/libcxx/libcxx-13.0.0.ebuild1
-rw-r--r--sys-libs/libcxx/libcxx-13.0.1.9999.ebuild (renamed from sys-libs/libcxx/libcxx-13.0.0.9999.ebuild)1
-rw-r--r--sys-libs/libcxx/libcxx-13.0.1_rc1.ebuild214
-rw-r--r--sys-libs/libcxx/libcxx-14.0.0.9999.ebuild1
-rw-r--r--sys-libs/libcxxabi/Manifest8
-rw-r--r--sys-libs/libcxxabi/libcxxabi-13.0.0.ebuild2
-rw-r--r--sys-libs/libcxxabi/libcxxabi-13.0.1.9999.ebuild (renamed from sys-libs/libcxxabi/libcxxabi-13.0.0.9999.ebuild)2
-rw-r--r--sys-libs/libcxxabi/libcxxabi-13.0.1_rc1.ebuild125
-rw-r--r--sys-libs/libcxxabi/libcxxabi-14.0.0.9999.ebuild2
-rw-r--r--sys-libs/libfaketime/Manifest3
-rw-r--r--sys-libs/libfaketime/files/libfaketime-0.9.8-Treat-unknown-clock_ids-like-CLOCK_REALTIME.patch35
-rw-r--r--sys-libs/libfaketime/libfaketime-0.9.6-r4.ebuild (renamed from sys-libs/libfaketime/libfaketime-0.9.6-r3.ebuild)2
-rw-r--r--sys-libs/libhugetlbfs/Manifest3
-rw-r--r--sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-allow-building-against-glibc-2.34.patch258
-rw-r--r--sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild1
-rw-r--r--sys-libs/libomp/Manifest5
-rw-r--r--sys-libs/libomp/libomp-13.0.1.9999.ebuild (renamed from sys-libs/libomp/libomp-13.0.0.9999.ebuild)0
-rw-r--r--sys-libs/libomp/libomp-13.0.1_rc1.ebuild131
-rw-r--r--sys-libs/libosinfo/Manifest1
-rw-r--r--sys-libs/libosinfo/libosinfo-1.9.0-r1.ebuild60
-rw-r--r--sys-libs/librtas/Manifest2
-rw-r--r--sys-libs/librtas/librtas-2.0.2-r2.ebuild (renamed from sys-libs/librtas/librtas-2.0.2-r1.ebuild)4
-rw-r--r--sys-libs/libselinux/Manifest2
-rw-r--r--sys-libs/libselinux/libselinux-3.2.ebuild2
-rw-r--r--sys-libs/libsemanage/Manifest2
-rw-r--r--sys-libs/libsemanage/libsemanage-3.2.ebuild2
-rw-r--r--sys-libs/libsepol/Manifest2
-rw-r--r--sys-libs/libsepol/libsepol-3.2.ebuild2
-rw-r--r--sys-libs/libucontext/Manifest3
-rw-r--r--sys-libs/libucontext/libucontext-1.1.ebuild51
-rw-r--r--sys-libs/libucontext/metadata.xml11
-rw-r--r--sys-libs/libunwind/Manifest6
-rw-r--r--sys-libs/libunwind/files/libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch2
-rw-r--r--sys-libs/libunwind/libunwind-1.6.2.ebuild (renamed from sys-libs/libunwind/libunwind-1.6.0_rc2.ebuild)68
-rw-r--r--sys-libs/liburing/Manifest10
-rw-r--r--sys-libs/liburing/files/liburing-0.7-ucontext_h-detection.patch72
-rw-r--r--sys-libs/liburing/files/liburing-2.0-spec_version.patch29
-rw-r--r--sys-libs/liburing/liburing-0.7-r1.ebuild59
-rw-r--r--sys-libs/liburing/liburing-2.0-r1.ebuild59
-rw-r--r--sys-libs/liburing/liburing-2.1.ebuild2
-rw-r--r--sys-libs/liburing/liburing-9999.ebuild2
-rw-r--r--sys-libs/libxcrypt/Manifest4
-rw-r--r--sys-libs/libxcrypt/libxcrypt-4.4.25-r1.ebuild (renamed from sys-libs/libxcrypt/libxcrypt-4.4.25.ebuild)17
-rw-r--r--sys-libs/libxcrypt/libxcrypt-4.4.26-r1.ebuild (renamed from sys-libs/libxcrypt/libxcrypt-4.4.26.ebuild)17
-rw-r--r--sys-libs/llvm-libunwind/Manifest8
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-13.0.0.ebuild1
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-13.0.1.9999.ebuild (renamed from sys-libs/llvm-libunwind/llvm-libunwind-13.0.0.9999.ebuild)1
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-13.0.1_rc1.ebuild142
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-14.0.0.9999.ebuild1
-rw-r--r--sys-libs/musl/Manifest8
-rw-r--r--sys-libs/musl/files/ldconfig.in-r1155
-rw-r--r--sys-libs/musl/files/ldconfig.in-r2157
-rw-r--r--sys-libs/musl/musl-1.2.2-r4.ebuild8
-rw-r--r--sys-libs/musl/musl-1.2.2-r6.ebuild167
-rw-r--r--sys-libs/musl/musl-1.2.2-r7.ebuild167
-rw-r--r--sys-libs/musl/musl-9999.ebuild8
-rw-r--r--sys-libs/newlib/Manifest4
-rw-r--r--sys-libs/newlib/newlib-4.1.0-r1.ebuild2
-rw-r--r--sys-libs/newlib/newlib-9999.ebuild2
-rw-r--r--sys-libs/pam_wrapper/Manifest4
-rw-r--r--sys-libs/pam_wrapper/pam_wrapper-1.1.3-r3.ebuild (renamed from sys-libs/pam_wrapper/pam_wrapper-1.1.3-r2.ebuild)10
-rw-r--r--sys-libs/pam_wrapper/pam_wrapper-1.1.4.ebuild70
-rw-r--r--sys-libs/readline/Manifest2
-rw-r--r--sys-libs/readline/readline-8.1_p1-r1.ebuild2
117 files changed, 4590 insertions, 725 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index 1cc24d6e3e1a..17f79ac5cc29 100644
--- a/sys-libs/Manifest.gz
+++ b/sys-libs/Manifest.gz
Binary files differ
diff --git a/sys-libs/argp-standalone/Manifest b/sys-libs/argp-standalone/Manifest
index 811ac414aa89..82bef5752f46 100644
--- a/sys-libs/argp-standalone/Manifest
+++ b/sys-libs/argp-standalone/Manifest
@@ -1,5 +1,7 @@
-AUX argp-standalone-1.3-shared.patch 1407 BLAKE2B 6d838b7b65b38562eca560bf094a74bb671cc0e911aed8e858e37768f12756cb579d9d984fe9444dd9b78f33b28ab080a7f6d0160dfeaf3ca4f0758c2d732d4d SHA512 2ee3386b1f63d64abff6a6b58dd7d0a7724bc07fd20f3f9daf24de1abb39d1ef35e3c616926fe3e939ccd491e84a82373e9554566a78683c3622494be2071d72
+AUX argp-standalone-1.3-shared.patch 1711 BLAKE2B a1a4df243b805b889f03df0a35362ae065bb93c0846257038582f8202ee4f827d627fcbbe452491f5d0fc10ad53a7a1c8f54dde3867a4aef775655807fe8899a SHA512 080a214bb372df8bfefbceef106bd6a773ef3d722feab05e21d8d24bfad9a3da6598be03cafcde20f197ff4ea73c77abc4032fb446dbd358f98855e8842390b8
AUX argp-standalone-1.3-throw-in-funcdef.patch 2500 BLAKE2B 050476f7dec2ff8d79e09f717eada121bc07ef26e0567c2d89ed18d44a4905741494d660ce82df8fb39f19020cf529b513d0e21b651197066d781250a921177e SHA512 5e4cdeeb16e6a4fb46a00ab95f3da9276ee554eec00bb2a05da7467961234ba3f9a630aafa7ceb5feb429a84ece8bf03b869fa996b86468f4716935a914c79a4
DIST argp-standalone-1.3.tar.gz 130255 BLAKE2B 0848a0e7a98cfa09de52fa152eb9a793a9bf25c1edfc7401851ef134b62c051ad6ef2134d6f528e167046be582be23f311e74614c5511d659060addc14de6b2f SHA512 58c3feb8852b90248fff39e49b5019bd0dcf646790c3eaf70c3262eb81dda31a61dc0a45963c7b4a010e80fc14b37288dcb3b3ef48d02f2d33dd72c1c62e62d9
+DIST argp-standalone-1.4.1.tar.gz 58158 BLAKE2B aa55965d6c4a9d61e82a5f3af7a62bf1a35b82ad91c87b4b31a6fa314ba0bcf30667137b420ccae5fbe24301c994971ef48c8dfa4db48620e56edc4300fbd961 SHA512 c5f07e88434589a13a2e88e66d1142b581f19aa82da28507f3c31ea782e080a13a4504d8108c003b5d3c8a3aa20f52ea5e81f337c11a4b1342b16361d4877c1c
EBUILD argp-standalone-1.3-r2.ebuild 798 BLAKE2B 5ae6cbd67e575f2f43bb34812bc9db103e2a1562b688c72fafb84ab23df3c4a3b8e087c7c4f37624779656184660357925942be7775b8e793c2034792cf319e9 SHA512 9e71d722741aeae44aaf89e70df7932ec0336487dc8d06334d495cb478ca2e537f5ee3f75c14a366a38d5865c8d4472460a9fed4d8abb589c14a941f3fa2d3f5
-MISC metadata.xml 254 BLAKE2B 499e85f1d389e50e0599d7e5be6888d828f46d66a065a8d69757543c5e63472ffdb8b7d9c2e95685b1d5b8287ae8e25adc8f91766532035d9313911e0cc1938b SHA512 9211c6278fd886d05d8c6b235e9e0f914c0c3220fe60b4be134d4119ddd01da335a4024201b67e88c8c50280381a0be0f3e32fb7f295134b348bfc157304d267
+EBUILD argp-standalone-1.4.1-r1.ebuild 818 BLAKE2B 29f5058db3a21d18d413343f9076fdd4824041ecb40998d7cde05fe8282ec0714b113ed404fc68dd8ebcf3f79bb446ccd3a976393c61ecf2c3e6efb63ed56208 SHA512 87182b6412c9c85c205cf1df8f2e9ad644ec6f0bc1dbcb87a3f404a8e378ddc1d21ff50d1bf770b50459ed004bcca28e93baa9793270842a1484769de4b88646
+MISC metadata.xml 330 BLAKE2B b4dbb8cb3424140a3286bd442dc4996da5678ead43e08ce02fe8f86e6b7540c2c76f2221776e09e49f9b5e8e2ded3cc45f9b85c430cee0dc03e5d0e3c5f08b33 SHA512 aa460753f6f9537cb67f2d83a98108f9904e9bf1d50e030fe04822aa1f16b89cb91538fee54581aae1d05d8de070565113cecefe61a6078db1fb1eba69047e09
diff --git a/sys-libs/argp-standalone/argp-standalone-1.4.1-r1.ebuild b/sys-libs/argp-standalone/argp-standalone-1.4.1-r1.ebuild
new file mode 100644
index 000000000000..c665f174dc20
--- /dev/null
+++ b/sys-libs/argp-standalone/argp-standalone-1.4.1-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Standalone argp library for use with musl"
+HOMEPAGE="https://github.com/ericonr/argp-standalone"
+SRC_URI="https://github.com/ericonr/argp-standalone/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="public-domain GPL-2 GPL-3 XC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~x86"
+IUSE="static-libs"
+
+DEPEND="!sys-libs/glibc"
+
+PATCHES=(
+ "${FILESDIR}"/argp-standalone-1.3-shared.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cflags "-fgnu89-inline"
+
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+
+ insinto /usr/include
+ doins argp.h
+}
diff --git a/sys-libs/argp-standalone/files/argp-standalone-1.3-shared.patch b/sys-libs/argp-standalone/files/argp-standalone-1.3-shared.patch
index 7164103f8a7d..eea801c4ee98 100644
--- a/sys-libs/argp-standalone/files/argp-standalone-1.3-shared.patch
+++ b/sys-libs/argp-standalone/files/argp-standalone-1.3-shared.patch
@@ -1,3 +1,8 @@
+Initially added in https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb196546c62e9894a46900e8078f753388d4cc1a.
+Commit mentions it being from Debian but not found any other references yet.
+
+We use -largp fairly extensively across the tree which this patch
+accommodates (easier than forcing includes?).
--- a/Makefile.am 2009-05-28 15:19:50.000000000 +0200
+++ b/Makefile.am 2009-05-28 15:30:57.000000000 +0200
@@ -21,20 +21,20 @@
diff --git a/sys-libs/argp-standalone/metadata.xml b/sys-libs/argp-standalone/metadata.xml
index bfcf597206ec..b4d9c5f484e7 100644
--- a/sys-libs/argp-standalone/metadata.xml
+++ b/sys-libs/argp-standalone/metadata.xml
@@ -5,4 +5,7 @@
<email>blueness@gentoo.org</email>
<name>Anthony G. Basile</name>
</maintainer>
- </pkgmetadata>
+ <maintainer type="project">
+ <email>musl@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-libs/basu/Manifest b/sys-libs/basu/Manifest
new file mode 100644
index 000000000000..e273ccbf0235
--- /dev/null
+++ b/sys-libs/basu/Manifest
@@ -0,0 +1,5 @@
+AUX 0001-basu-0.2.0-meson-add-libcap-option.patch 1222 BLAKE2B 6edec60701a78f5a2f109eccfdc76363379c2c07126cac46b2ce7eab6bce8f51a67b55b5bd8d689acdc11ca703dee3c601512a206f06a6954ae20e87c774abf1 SHA512 a20c6fde6297720654cd2daafbeeb11e6b2b0c1a8c565cd7680b747b7a0b178b0931bd8aede89060e20f473f4ff1dc2bdf06262fc6196515e47ea1cb5a34e1e3
+AUX 0002-basu-0.2.0-meson-convert-audit-option-to-feature-object.patch 1574 BLAKE2B 44e2669b30b4f6f254b79031e8f4272e3d002ef152f93754dd93dbca13945d3dc49952de714ce2d5609600f89539417c1d505bd48d51d8e4b7bbd1f2dcfb8dab SHA512 645040b869ad362e4d0dc40210ed63018f224704ab121d59561c039486a9423d1b9f5995df4ddd73de2a6872f5752a006f6a4bc66aa8d8ca3604950072bc59a5
+DIST basu-0.2.0.tar.gz 238861 BLAKE2B 4fcc664d031477c2ae82e535711561d1a7cb60503fb31fa80101c2046e3fe11f7886851649d38f3d5868a3266f45e651085d99ec95f6788baddbf78e893b1528 SHA512 dbc2f72b6e1a880fa41fe6067a38a301f456e4305dae6eb4d465089d7d9c2f629677ba23752b3e1a1fd476cb440db01ef3a218c1c976f38d0058eed584c80165
+EBUILD basu-0.2.0.ebuild 871 BLAKE2B 280617e4049db3c9b9588ae5cc14d2d20b34bb7cc2f58406b06052a2e66602393795f12d0ab6fb026f095308d5b621680c30c122bdd6b3b99f1e2de68d2670da SHA512 e692aeb121525e307eef9707a891f713f4bb6bf6a6822dfd3bc6fb912f7f0390e602530c98b0e7ad831e4d5deaa9af2d91fd70f3863b2e552a2df6cc798d3aa1
+MISC metadata.xml 635 BLAKE2B 76f9661d661cd12fc608fa261e1a387755915fba2f9bd1ee148f7d32f3f38560b30334539837b30236ad2e69b7eb4d32e97d451a3a159605d681953e845fbf3f SHA512 e3659d0ab5a3c1bf3cc5f12c537d84a6c3f612efec64a1478899fa7a899637938000eeadd7236a43101f28dfa83e2a5831378bc026807a45c98d9d63c4f2db6f
diff --git a/sys-libs/basu/basu-0.2.0.ebuild b/sys-libs/basu/basu-0.2.0.ebuild
new file mode 100644
index 000000000000..46c936a536d0
--- /dev/null
+++ b/sys-libs/basu/basu-0.2.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit meson python-any-r1
+
+DESCRIPTION="The sd-bus library, extracted from systemd"
+HOMEPAGE="https://sr.ht/~emersion/basu/"
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+SRC_URI="https://git.sr.ht/~emersion/basu/refs/download/v${PV}/basu-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+IUSE="audit caps"
+
+DEPEND="
+ audit? ( sys-process/audit )
+ caps? ( sys-libs/libcap )
+"
+
+RDEPEND="${DEPEND}"
+# Needed to generate hash tables
+BDEPEND="${PYTHON_DEPS}
+ dev-util/gperf
+"
+
+PATCHES=(
+ "${FILESDIR}"/0001-"${PN}"-0.2.0-meson-add-libcap-option.patch
+ "${FILESDIR}"/0002-"${PN}"-0.2.0-meson-convert-audit-option-to-feature-object.patch
+)
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature audit)
+ $(meson_feature caps libcap)
+ )
+ meson_src_configure
+}
diff --git a/sys-libs/basu/files/0001-basu-0.2.0-meson-add-libcap-option.patch b/sys-libs/basu/files/0001-basu-0.2.0-meson-add-libcap-option.patch
new file mode 100644
index 000000000000..b2727b95a7d7
--- /dev/null
+++ b/sys-libs/basu/files/0001-basu-0.2.0-meson-add-libcap-option.patch
@@ -0,0 +1,39 @@
+From 64c1c624ea63f7a3eba4f0b7cf6a7d7aff952982 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me>
+Date: Fri, 5 Nov 2021 18:36:54 +0100
+Subject: [PATCH 1/2] meson: add libcap option
+
+it's better to provide the user with this choice instead of
+unconditionally magically depending on it
+---
+ meson.build | 2 +-
+ meson_options.txt | 3 +++
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 056c7c4..357b346 100644
+--- a/meson.build
++++ b/meson.build
+@@ -231,7 +231,7 @@ threads = dependency('threads')
+ librt = cc.find_library('rt')
+ libm = cc.find_library('m')
+
+-libcap = dependency('libcap', required: false)
++libcap = dependency('libcap', required: get_option('libcap'))
+ have_libcap = libcap.found()
+ conf.set10('HAVE_LIBCAP', have_libcap)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index 8cf3a33..ae5c7b1 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -14,3 +14,6 @@ option('system-bus-address', type : 'string',
+
+ option('audit', type : 'combo', choices : ['auto', 'true', 'false'],
+ description : 'libaudit support')
++
++option('libcap', type : 'feature',
++ description : 'libcap support')
+--
+2.32.0
+
diff --git a/sys-libs/basu/files/0002-basu-0.2.0-meson-convert-audit-option-to-feature-object.patch b/sys-libs/basu/files/0002-basu-0.2.0-meson-convert-audit-option-to-feature-object.patch
new file mode 100644
index 000000000000..3d32f0b2352b
--- /dev/null
+++ b/sys-libs/basu/files/0002-basu-0.2.0-meson-convert-audit-option-to-feature-object.patch
@@ -0,0 +1,49 @@
+From 34d1b77f1dd15d55cfc12ef2ee52fd3b6b1d76ce Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me>
+Date: Fri, 5 Nov 2021 18:39:56 +0100
+Subject: [PATCH 2/2] meson: convert audit option to feature object
+
+features are more idiomatic and ubiquitous
+---
+ meson.build | 11 ++---------
+ meson_options.txt | 2 +-
+ 2 files changed, 3 insertions(+), 10 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 357b346..1f29690 100644
+--- a/meson.build
++++ b/meson.build
+@@ -235,15 +235,8 @@ libcap = dependency('libcap', required: get_option('libcap'))
+ have_libcap = libcap.found()
+ conf.set10('HAVE_LIBCAP', have_libcap)
+
+-want_audit = get_option('audit')
+-if want_audit != 'false'
+- libaudit = dependency('audit', required : want_audit == 'true')
+- have = libaudit.found()
+-else
+- have = false
+- libaudit = []
+-endif
+-conf.set10('HAVE_AUDIT', have)
++libaudit = dependency('audit', required : get_option('audit'))
++conf.set10('HAVE_AUDIT', libaudit.found())
+
+ tests = []
+
+diff --git a/meson_options.txt b/meson_options.txt
+index ae5c7b1..87adfc2 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -12,7 +12,7 @@ option('system-bus-address', type : 'string',
+ description : 'The address of the sytem bus (defined at dbus compilation)',
+ value : 'unix:path=/var/run/dbus/system_bus_socket')
+
+-option('audit', type : 'combo', choices : ['auto', 'true', 'false'],
++option('audit', type : 'feature',
+ description : 'libaudit support')
+
+ option('libcap', type : 'feature',
+--
+2.32.0
+
diff --git a/sys-libs/basu/metadata.xml b/sys-libs/basu/metadata.xml
new file mode 100644
index 000000000000..e97261f56145
--- /dev/null
+++ b/sys-libs/basu/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arsen@aarsen.me</email>
+ <name>Arsen Arsenović</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ The sd-bus library, extracted from systemd.
+
+ Some projects rely on the sd-bus library for DBus support.
+ However not all systems have systemd or elogind installed. This
+ library provides just sd-bus (and the busctl utility).
+ </longdescription>
+</pkgmetadata>
diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest
index c991c52e2782..d8de0c0b06be 100644
--- a/sys-libs/binutils-libs/Manifest
+++ b/sys-libs/binutils-libs/Manifest
@@ -6,9 +6,11 @@ DIST binutils-2.35.2.tar.xz 22056908 BLAKE2B 9c392e0db2b482442f9476f30bd80cf2796
DIST binutils-2.36.1-patches-5.tar.xz 44388 BLAKE2B 1dadb012fe35ec5fb0c5a15d348ab535bc5e3765375c97a3768c6b9f7126e0fda15d35163c9f9c33a4be98662dd120d7c1b21930a20c18dbb5345f56ecd9ecc1 SHA512 a2ce3388f1f1a77ff865481ff4b625121fd55f5234fed0a885312744f2f9c504717de1499b68252c6de64fa45866db7692df91c5838b43fbeb178938811cbe84
DIST binutils-2.36.1.tar.xz 22772248 BLAKE2B 03fbfbedd6dba2beaa836b1ed254eddd7a54a163d3061fd93edd2b9591cae24ba049b26658c524b5ccecc2f22d431dfa168218d2531aa356945c994fbbe896fa SHA512 cc24590bcead10b90763386b6f96bb027d7594c659c2d95174a6352e8b98465a50ec3e4088d0da038428abe059bbc4ae5f37b269f31a40fc048072c8a234f4e9
DIST binutils-2.37_p1-patches-0.tar.xz 1392 BLAKE2B 128930a381022fea5d1fcb0695953e8dada2513b088b8540fe08d4e0da93ec18b6bf9c78acad6ec5a8982ae2c115d143462ef0bb7bfd63cfeb06c10ad472c2f8 SHA512 44666821f96349e96685ffcfd53a80a94659e38fc63eeeb980d0eed13aab03ae3e2d5059b4932cd9018f2f7698cdb5e15b443d60c01b2bd1385eeb0c698e0e24
+DIST binutils-2.37_p1-patches-1.tar.xz 28956 BLAKE2B 3bc14fcc52a6d11992ad9ed88fa3347ca3d5facd59de094a178a5f720d0eed6297dadf9a8fea7189076eb81274612c0b71c01f15a8f58deeaed8c8f6135ef50d SHA512 f6b2a09bfc692cf90f6cd56be81f424a68831db48054dc150eb6ec28bfa18d35933203c2d3b502f0c80e38771353c373446aec2488469fe2df20d8066033f59e
DIST binutils-2.37_p1.tar.xz 22992196 BLAKE2B a8aa0f386d03a5b1466166ac7c40989c228351ccf0949a9b462b4d4615d70ab7e1a45351299140a42baf39c317b8007733c253eb547ee1dfadb612addde11621 SHA512 46c297ec2a7a5b81d1c6e3f16486a6dc2860a07520fe2dd8871d1eb5160065bbe2cc6b0415d5352bf12284133e5817a4e429e6077182d615e969bd1a8f52ed28
EBUILD binutils-libs-2.34-r2.ebuild 3680 BLAKE2B 96fbeb96af93c6db271250870c4df85773db022aa7dd070ccfa33ed2dae57ecb0d543d93cb2ff0666e1b403f325e035a1f9988a05a16f53c167d168e3d6bec4a SHA512 9d540bd681a08451091742e9dba7044ab77a9d8c7920b8f078146fa7eacaa31b872f20c30477a33ec5bec3070408e1b2ac51e145af86d56fae794ace5f2972a2
EBUILD binutils-libs-2.35.2.ebuild 4102 BLAKE2B e988ab2daeb4f77f469f76af9a56d5509100d6dda39cbebfd41e554d944ef2f4aba2f4c320477947b2979ede808dc4b9a06747e10f878d885e8339e58e7e4f24 SHA512 384c2b9e3819516b9191e65793e32c54b492f31fefbe17c6cb61357452ffb5e6916f9b1dc6bb90ae8c9603f805e3c601aca12b7bd66ebafb2b3106f436185a03
EBUILD binutils-libs-2.36.1-r2.ebuild 4055 BLAKE2B 3131fe7e6474a1dd1cccd360287395d4d700f745bdb4020a3d7577145cd26eb02406df2e5151069b9d8147f9f1c60d36912c37acfe4af970e799c0701726ab8d SHA512 4db97077101d8852fe80dd4c11b0a9eb660797271dcc4c62f4ed86a55564b8a988a447183cf219d6fb404dd8acbebaf9fa48dca8d1c0ec8ffaefbde25c58cb33
+EBUILD binutils-libs-2.37_p1-r1.ebuild 4136 BLAKE2B ed003ab1363e5b7ca577c6fdd714cb4c34ed3f874103766ba4a4bc267c9ab3efb4e7443ff127fae75c6cd4e1d6fc2a2b0fd3cd2b2712fd180d91e538c2379b2a SHA512 00bcf138499808e9dafe94edfbda6febe6fd17e3fff0be646195336c5842829738639f20db079a0cc33630bc1881d429e8c9594782fc7626123303cbbf31df59
EBUILD binutils-libs-2.37_p1.ebuild 4128 BLAKE2B f1f81bfe2c221329c7ae4ba43e0506f49e875febdbb69a668a98aebc454345b0e9747c28024e08b6e2d28d8ece4e7e524b31d9b6921b1387d01c6836e72f7854 SHA512 f649fc052ec6341c3cd23fe73df9d366588ddbb5854d6dcfaeea89f6892100cd0c69d80b90c33b7daf08329b6c8f8f02a2763d02ca11a50d08fffec02967d782
MISC metadata.xml 612 BLAKE2B ceaafd9fd1421e9f3993e003d0029c92a78054c7a2b90bd78afc05370ad19c931c6a7c150545cfb7d57165168e0fdaf3a00dde1905b328826a91cbc70d9548a8 SHA512 c8d33bb8d1c62c7e95758624ed0febbc9d40e9f141bfd280837b3207bcd771412158d71c0cb5548d60be0b236f6fe103621daf7efa8875191982859b566ffa8d
diff --git a/sys-libs/binutils-libs/binutils-libs-2.37_p1-r1.ebuild b/sys-libs/binutils-libs/binutils-libs-2.37_p1-r1.ebuild
new file mode 100644
index 000000000000..c6195ef2ed9b
--- /dev/null
+++ b/sys-libs/binutils-libs/binutils-libs-2.37_p1-r1.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PATCH_VER=1
+PATCH_DEV=dilfridge
+
+inherit libtool toolchain-funcs multilib-minimal
+
+MY_PN="binutils"
+MY_P="${MY_PN}-${PV}"
+PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
+PATCH_DEV=${PATCH_DEV:-dilfridge}
+
+DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages"
+HOMEPAGE="https://sourceware.org/binutils/"
+SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
+
+LICENSE="|| ( GPL-3 LGPL-3 )"
+SLOT="0/${PV%_p?}"
+IUSE="64-bit-bfd cet multitarget nls static-libs"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+BDEPEND="nls? ( sys-devel/gettext )"
+DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]"
+# Need a newer binutils-config that'll reset include/lib symlinks for us.
+RDEPEND="${DEPEND}
+ >=sys-devel/binutils-config-5
+"
+
+S="${WORKDIR}/${MY_P%_p?}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/bfd.h
+)
+
+src_prepare() {
+ if [[ ! -z ${PATCH_VER} ]] ; then
+ einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}"
+ eapply "${WORKDIR}/patch"/*.patch
+ fi
+
+ # Fix cross-compile relinking issue, bug #626402
+ elibtoolize
+
+ default
+}
+
+pkgversion() {
+ printf "Gentoo ${PVR}"
+ [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}"
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --enable-obsolete
+ --enable-shared
+ --enable-threads
+ # Newer versions (>=2.24) make this an explicit option. #497268
+ --enable-install-libiberty
+ --disable-werror
+ --with-bugurl="https://bugs.gentoo.org/"
+ --with-pkgversion="$(pkgversion)"
+ $(use_enable static-libs static)
+ # The binutils eclass enables this flag for all bi-arch builds,
+ # but other tools often don't care about that support. Put it
+ # beyond a flag if people really want it, but otherwise leave
+ # it disabled as it can slow things down on 32bit arches. #438522
+ $(use_enable 64-bit-bfd)
+ # This only disables building in the zlib subdir.
+ # For binutils itself, it'll use the system version. #591516
+ --without-zlib
+ --with-system-zlib
+ # We only care about the libs, so disable programs. #528088
+ --disable-{binutils,etc,ld,gas,gold,gprof}
+ # Disable modules that are in a combined binutils/gdb tree. #490566
+ --disable-{gdb,libdecnumber,readline,sim}
+ # Strip out broken static link flags.
+ # https://gcc.gnu.org/PR56750
+ --without-stage1-ldflags
+ # We pull in all USE-flags that change ABI in an incompatible
+ # way. #666100
+ # USE=multitarget change size of global arrays
+ # USE=64-bit-bfd changes data structures of exported API
+ --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def)
+
+ # avoid automagic dependency on (currently prefix) systems
+ # systems with debuginfod library, bug #754753
+ --without-debuginfod
+
+ # Allow user to opt into CET for host libraries.
+ # Ideally we would like automagic-or-disabled here.
+ # But the check does not quite work on i686: bug #760926.
+ $(use_enable cet)
+ )
+
+ # mips can't do hash-style=gnu ...
+ if [[ $(tc-arch) != mips ]] ; then
+ myconf+=( --enable-default-hash-style=gnu )
+ fi
+
+ use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd )
+
+ use nls \
+ && myconf+=( --without-included-gettext ) \
+ || myconf+=( --disable-nls )
+
+ if [[ ${CHOST} == *-darwin* ]] && use nls ; then
+ # fix underlinking in opcodes
+ sed -i -e 's/@SHARED_LDFLAGS@/@SHARED_LDFLAGS@ -lintl/' \
+ "${S}"/opcodes/Makefile.in || die
+ fi
+
+ ECONF_SOURCE=${S} \
+ econf "${myconf[@]}"
+
+ # Prevent makeinfo from running as we don't build docs here.
+ # bug #622652
+ sed -i \
+ -e '/^MAKEINFO/s:=.*:= true:' \
+ Makefile || die
+}
+
+multilib_src_install() {
+ default
+ # Provide libiberty.h directly.
+ dosym libiberty/libiberty.h /usr/include/libiberty.h
+}
+
+multilib_src_install_all() {
+ use static-libs || find "${ED}"/usr -name '*.la' -delete
+}
diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest
index 5bbed7d9cb89..2fb7688b166f 100644
--- a/sys-libs/compiler-rt-sanitizers/Manifest
+++ b/sys-libs/compiler-rt-sanitizers/Manifest
@@ -1,13 +1,16 @@
DIST llvm-gentoo-patchset-11.1.0-3.tar.xz 5984 BLAKE2B 89056fb8e82c7a29ae76c643ac631876d51391ffb579324aaf13c7f79e03f6fd8bbcb27d46e57e0f04a702602ebf51c116e82cb092452a1dbc97fb0eb7518f11 SHA512 08aabe8836b62ecfde4e264d567169ba495d5b5915b56aba35ae86992387e534bba6d512fde94056e641abe909b478e47edcbdaa3ee0b94182ecd68c98201441
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6
+DIST llvm-gentoo-patchset-13.0.1-rc1.tar.xz 5988 BLAKE2B 8f1d295d4b6937518d9e0cc00cc2ba9e12ff9773b35261f0985b2d2a4ed1e3363a7f961cb385728b5ae552d0e129d99d11e63958d32c3353b0a79a88ba5cc0d5 SHA512 8272c423a5e0e99d412bb449794ba2e8134aca69d09e90e93555dbd3b7549d6ce4d68617ca11074af0a35a6f6830bf0330cbc672c5a56054cfd824e3ac1900ea
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
+DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d
EBUILD compiler-rt-sanitizers-11.1.0-r1.ebuild 6054 BLAKE2B 0e7ecc21c987bdb184c18456c2d6482d268b6f04fa8a9e1694e2e4733c0ff5e0f5f93639358b1bb9ede250c1543dd89cdfadf1382aa334a4593b3655f1915c56 SHA512 e13805c26cf03152295f9794468910560932fdcc769a4dd9461f92172a20e41b38b9867d988c82ae7d9516c5f2b18e32d8e14bbbe0702c81b7f222eae51988ab
EBUILD compiler-rt-sanitizers-12.0.1.ebuild 5971 BLAKE2B c71a8e7f9c741b7bb9ce9034312dd3fcea08a2097ec322126efe3ddc9f8d945f9aa02fbf6c0afdd12d19e2ec038e4894d74a149e83caf0aa59fad0cff84c2eee SHA512 9b7ea1e034d0d89cec9d5ff97e2bb34c09303f339c3d4fd4d4f31e2ba4ae7aab1bdcc8201afde8899c87892bdd7022104d90c78b8d4dab5f7c01787c21a41b17
-EBUILD compiler-rt-sanitizers-13.0.0.9999.ebuild 6082 BLAKE2B 41bf42010e9a12a624c04d8c2d05e6ae31f9257561b4d0d95573d4dffd8463bf50a65f219e3541ea0a35630493f31600cbc3fb0a08163bc68fda4ee241d29068 SHA512 6e8ca73ad90955e6b6d7fbefed05ffc888da81af615995a752a99a9a46c0ced0bde661036c613b9f85f6064fc5d8cf577fe59d3793c4843bfb8e5bdb36045daf
-EBUILD compiler-rt-sanitizers-13.0.0.ebuild 6152 BLAKE2B 595a843498fa2c53c7d50ccadec868bf5971326dbc1181516d98ce78dd70878f69bbc3e1f60a96d1a37847f72c1818a8f374344bf7f4f88261f274b4b8dba34f SHA512 d62e14e926ba08d25f86dccca81692c42dcd779bd75d34e11822f2234a0c45e2cd6b4f066ee03cc6fcf6cacb1c5ae9fb22497ff99431453d7feb2657b3bc715c
-EBUILD compiler-rt-sanitizers-14.0.0.9999.ebuild 6082 BLAKE2B 41bf42010e9a12a624c04d8c2d05e6ae31f9257561b4d0d95573d4dffd8463bf50a65f219e3541ea0a35630493f31600cbc3fb0a08163bc68fda4ee241d29068 SHA512 6e8ca73ad90955e6b6d7fbefed05ffc888da81af615995a752a99a9a46c0ced0bde661036c613b9f85f6064fc5d8cf577fe59d3793c4843bfb8e5bdb36045daf
+EBUILD compiler-rt-sanitizers-13.0.0.ebuild 6166 BLAKE2B da87e6107b847ca1c396f0156a30b6601fe2f63365f8f240f5f2ad2fd176ed1381192deae9914477adc89f1e671136e5a7957c7abbf6f3eebd679faa96ed4e44 SHA512 e7c6b8cc95630d79ce7eab3d9bd495d48c42d30cb8093ae58f54345b1c2e218ce2341a720d356633651e521723b6733afefc049684b8282eb527dd260c73f0d9
+EBUILD compiler-rt-sanitizers-13.0.1.9999.ebuild 6279 BLAKE2B df8334b59452915cf01032ec01a83b1377558abfda797b9c95327fb56c7b9d7fc46af4a1eb86f1679a2c44e8e055f790929fe3485022b80bfc5e58623d79d96a SHA512 acbc028c23560765dc152ff982a57120536718ccabd7298e388187a13adb065610ad94ae51655622b69498305bec6e24f13c6c67fe00b4aa33df160140f593c4
+EBUILD compiler-rt-sanitizers-13.0.1_rc1.ebuild 6282 BLAKE2B 5fd607563088ad551f09ee07d0c087d208970c7e20e1faa0e21b88bc8775ae5594eb3a341469d2d5488e09d062ddfbad5e3044523376ce429a42e8e8b38dd7f9 SHA512 209def963cca6193e1dfdd20cc6b68829d292905827c6a7a23ebdc18eca67815783362649c68c1590f908916a52db0106c046dcb46d6eee746487f2c8bc38ba2
+EBUILD compiler-rt-sanitizers-14.0.0.9999.ebuild 6285 BLAKE2B 4a58d2e54544efc3c3e5f93bc271f3ea1614cf57fbcbf6843f002a604408113d716af623cd48220c7b6213ca15d28740962b919e86bd9e2ee104bdd701732ded SHA512 ee85bf07631a79eea71973f2dbf006afde4642fd4fc001f0480618a846182ee4abdc8f2347d42fd90aa4da51ece7509c69ba001b61363f6e2eefe686d17d16e3
MISC metadata.xml 1330 BLAKE2B 8381c36fb0ee37358cebacf512ee2a0ff6f2c0fc8e05544d9dc1bb1e11bc53f4196c2ecc6c8eb66c833f266c8d12da2c92a5f0b94cb3404397f925f9ebfc2a72 SHA512 6ea6159eb0929dc9f009ab326295549db329f7594dd5ff82e255238ed1fb17e3e8909079c915c6ae4829bb853666456772d17fa2078a332f6340807d6cd4f20e
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.0.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.0.ebuild
index 13512435fcd3..68f7e7b395dd 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.0.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.0.ebuild
@@ -45,7 +45,9 @@ BDEPEND="
=sys-devel/clang-${PV%_*}*:${CLANG_SLOT}
sys-libs/compiler-rt:${SLOT}
)
- ${PYTHON_DEPS}"
+ !test? (
+ ${PYTHON_DEPS}
+ )"
LLVM_COMPONENTS=( compiler-rt )
LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/unittest )
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.0.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1.9999.ebuild
index 80c9d7d0f6b4..f89af63c6d33 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.0.9999.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1.9999.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="$(ver_cut 1-3)"
KEYWORDS=""
-IUSE="+clang debug test elibc_glibc"
+IUSE="+abi_x86_32 abi_x86_64 +clang debug test elibc_glibc"
# base targets
IUSE+=" +libfuzzer +memprof +orc +profile +xray"
# sanitizer targets, keep in sync with config-ix.cmake
@@ -34,7 +34,7 @@ CLANG_SLOT=${SLOT%%.*}
# llvm-6 for new lit options
DEPEND="
>=sys-devel/llvm-6
- virtual/libcrypt"
+ virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]"
BDEPEND="
>=dev-util/cmake-3.16
clang? ( sys-devel/clang )
@@ -45,7 +45,9 @@ BDEPEND="
=sys-devel/clang-${PV%_*}*:${CLANG_SLOT}
sys-libs/compiler-rt:${SLOT}
)
- ${PYTHON_DEPS}"
+ !test? (
+ ${PYTHON_DEPS}
+ )"
LLVM_COMPONENTS=( compiler-rt )
LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/unittest )
@@ -137,6 +139,14 @@ src_configure() {
-DPython3_EXECUTABLE="${PYTHON}"
)
+
+ if use amd64; then
+ mycmakeargs+=(
+ -DCAN_TARGET_i386=$(usex abi_x86_32)
+ -DCAN_TARGET_x86_64=$(usex abi_x86_64)
+ )
+ fi
+
if use test; then
mycmakeargs+=(
-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1_rc1.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1_rc1.ebuild
new file mode 100644
index 000000000000..c456d296bcb8
--- /dev/null
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-13.0.1_rc1.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit check-reqs cmake flag-o-matic llvm llvm.org python-any-r1
+
+DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="$(ver_cut 1-3)"
+KEYWORDS=""
+IUSE="+abi_x86_32 abi_x86_64 +clang debug test elibc_glibc"
+# base targets
+IUSE+=" +libfuzzer +memprof +orc +profile +xray"
+# sanitizer targets, keep in sync with config-ix.cmake
+# NB: ubsan, scudo deliberately match two entries
+SANITIZER_FLAGS=(
+ asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo
+ shadowcallstack gwp-asan
+)
+IUSE+=" ${SANITIZER_FLAGS[@]/#/+}"
+REQUIRED_USE="
+ || ( ${SANITIZER_FLAGS[*]} libfuzzer orc profile xray )
+ test? (
+ cfi? ( ubsan )
+ gwp-asan? ( scudo )
+ )"
+RESTRICT="!test? ( test ) !clang? ( test )"
+
+CLANG_SLOT=${SLOT%%.*}
+# llvm-6 for new lit options
+DEPEND="
+ >=sys-devel/llvm-6
+ virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]"
+BDEPEND="
+ >=dev-util/cmake-3.16
+ clang? ( sys-devel/clang )
+ elibc_glibc? ( net-libs/libtirpc )
+ test? (
+ !<sys-apps/sandbox-2.13
+ $(python_gen_any_dep ">=dev-python/lit-5[\${PYTHON_USEDEP}]")
+ =sys-devel/clang-${PV%_*}*:${CLANG_SLOT}
+ sys-libs/compiler-rt:${SLOT}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )"
+
+LLVM_COMPONENTS=( compiler-rt )
+LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/unittest )
+LLVM_PATCHSET=${PV/_/-}
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+check_space() {
+ if use test; then
+ local CHECKREQS_DISK_BUILD=11G
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die
+
+ local flag
+ for flag in "${SANITIZER_FLAGS[@]}"; do
+ if ! use "${flag}"; then
+ local cmake_flag=${flag/-/_}
+ sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \
+ cmake/config-ix.cmake || die
+ fi
+ done
+
+ # TODO: fix these tests to be skipped upstream
+ if use asan && ! use profile; then
+ rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die
+ fi
+ if use ubsan && ! use cfi; then
+ > test/cfi/CMakeLists.txt || die
+ fi
+
+ llvm.org_src_prepare
+}
+
+src_configure() {
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ # pre-set since we need to pass it to cmake
+ BUILD_DIR=${WORKDIR}/compiler-rt_build
+
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ local flag want_sanitizer=OFF
+ for flag in "${SANITIZER_FLAGS[@]}"; do
+ if use "${flag}"; then
+ want_sanitizer=ON
+ break
+ fi
+ done
+
+ local mycmakeargs=(
+ -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}"
+ # use a build dir structure consistent with install
+ # this makes it possible to easily deploy test-friendly clang
+ -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${SLOT}"
+
+ -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+ # builtins & crt installed by sys-libs/compiler-rt
+ -DCOMPILER_RT_BUILD_BUILTINS=OFF
+ -DCOMPILER_RT_BUILD_CRT=OFF
+ -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer)
+ -DCOMPILER_RT_BUILD_MEMPROF=$(usex memprof)
+ -DCOMPILER_RT_BUILD_ORC=$(usex orc)
+ -DCOMPILER_RT_BUILD_PROFILE=$(usex profile)
+ -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}"
+ -DCOMPILER_RT_BUILD_XRAY=$(usex xray)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ if use amd64; then
+ mycmakeargs+=(
+ -DCAN_TARGET_i386=$(usex abi_x86_32)
+ -DCAN_TARGET_x86_64=$(usex abi_x86_64)
+ )
+ fi
+
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+ # they are created during src_test()
+ -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang"
+ -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang++"
+ )
+
+ # same flags are passed for build & tests, so we need to strip
+ # them down to a subset supported by clang
+ CC=${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang \
+ CXX=${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++ \
+ strip-unsupported-flags
+ fi
+
+ if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
+ mycmakeargs+=(
+ # setting -isysroot is disabled with compiler-rt-prefix-paths.patch
+ # this allows adding arm64 support using SDK in EPREFIX
+ -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk"
+ # Set version based on the SDK in EPREFIX
+ # This disables i386 for SDK >= 10.15
+ # Will error if has_use tsan and SDK < 10.12
+ -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')"
+ # Use our libtool instead of looking it up with xcrun
+ -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool"
+ )
+ fi
+
+ cmake_src_configure
+
+ if use test; then
+ local sys_dir=( "${EPREFIX}"/usr/lib/clang/${SLOT}/lib/* )
+ [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}"
+ [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}"
+
+ # copy clang over since resource_dir is located relatively to binary
+ # therefore, we can put our new libraries in it
+ mkdir -p "${BUILD_DIR}"/lib/{llvm/${CLANG_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die
+ cp "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/bin/clang{,++} \
+ "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/bin/ || die
+ cp "${EPREFIX}"/usr/lib/clang/${SLOT}/include/*.h \
+ "${BUILD_DIR}"/lib/clang/${SLOT}/include/ || die
+ cp "${sys_dir}"/*builtins*.a \
+ "${BUILD_DIR}/lib/clang/${SLOT}/lib/${sys_dir##*/}/" || die
+ # we also need LLVMgold.so for gold-based tests
+ if [[ -f ${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so ]]; then
+ ln -s "${EPREFIX}"/usr/lib/llvm/${CLANG_SLOT}/$(get_libdir)/LLVMgold.so \
+ "${BUILD_DIR}"/lib/llvm/${CLANG_SLOT}/$(get_libdir)/ || die
+ fi
+ fi
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ # disable sandbox to have it stop clobbering LD_PRELOAD
+ local -x SANDBOX_ON=0
+ # wipe LD_PRELOAD to make ASAN happy
+ local -x LD_PRELOAD=
+
+ cmake_build check-all
+}
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-14.0.0.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-14.0.0.9999.ebuild
index 80c9d7d0f6b4..4e70cfd227c4 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-14.0.0.9999.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-14.0.0.9999.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="$(ver_cut 1-3)"
KEYWORDS=""
-IUSE="+clang debug test elibc_glibc"
+IUSE="+abi_x86_32 abi_x86_64 +clang debug test elibc_glibc"
# base targets
IUSE+=" +libfuzzer +memprof +orc +profile +xray"
# sanitizer targets, keep in sync with config-ix.cmake
@@ -34,7 +34,7 @@ CLANG_SLOT=${SLOT%%.*}
# llvm-6 for new lit options
DEPEND="
>=sys-devel/llvm-6
- virtual/libcrypt"
+ virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]"
BDEPEND="
>=dev-util/cmake-3.16
clang? ( sys-devel/clang )
@@ -45,9 +45,11 @@ BDEPEND="
=sys-devel/clang-${PV%_*}*:${CLANG_SLOT}
sys-libs/compiler-rt:${SLOT}
)
- ${PYTHON_DEPS}"
+ !test? (
+ ${PYTHON_DEPS}
+ )"
-LLVM_COMPONENTS=( compiler-rt )
+LLVM_COMPONENTS=( compiler-rt cmake )
LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/unittest )
LLVM_PATCHSET=9999-1
llvm.org_set_globals
@@ -137,6 +139,14 @@ src_configure() {
-DPython3_EXECUTABLE="${PYTHON}"
)
+
+ if use amd64; then
+ mycmakeargs+=(
+ -DCAN_TARGET_i386=$(usex abi_x86_32)
+ -DCAN_TARGET_x86_64=$(usex abi_x86_64)
+ )
+ fi
+
if use test; then
mycmakeargs+=(
-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest
index ec07f7fb0707..43e9abb65d81 100644
--- a/sys-libs/compiler-rt/Manifest
+++ b/sys-libs/compiler-rt/Manifest
@@ -1,13 +1,16 @@
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6
+DIST llvm-gentoo-patchset-13.0.1-rc1.tar.xz 5988 BLAKE2B 8f1d295d4b6937518d9e0cc00cc2ba9e12ff9773b35261f0985b2d2a4ed1e3363a7f961cb385728b5ae552d0e129d99d11e63958d32c3353b0a79a88ba5cc0d5 SHA512 8272c423a5e0e99d412bb449794ba2e8134aca69d09e90e93555dbd3b7549d6ce4d68617ca11074af0a35a6f6830bf0330cbc672c5a56054cfd824e3ac1900ea
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
+DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d
EBUILD compiler-rt-11.1.0.ebuild 3506 BLAKE2B fea54ca4aabe9bf35afc64a579ae18eb4491eeecb58ede43369ba9c294f624851214525f399cfa3adadee70ca66cbe64821376272b9965304266bcfc07b9f220 SHA512 f50906ee9f3b044a251ddd56db6ce10d3d2b632ffa7d3fd608cc5d7320e8d4b47b1ada26965b5fc9bb746e77c1b01ec61b5f719bc6bb2805720df035fca993da
EBUILD compiler-rt-12.0.1.ebuild 3539 BLAKE2B 7d6bd0a7be4fec1b8427aa9d81eacf69d3338490c70f097910ad0bb4a67f0313ea8fd6bae15a5e05b8805cad6a789124d94ee91577a58beb96f471a1bf49c3b3 SHA512 bd671f1896182a00ade3b53252ba6b7cb8a6f65eec3d806bbfc7bd4e2b9253a8bc2bd497c018705f34fb30ad1897693af268c6e4cc39e044c788807042d7b55e
-EBUILD compiler-rt-13.0.0.9999.ebuild 3633 BLAKE2B 71e8599736191e3c621bfba764f8e7133fe78f1f6520ce32bbb2af010629096091e380d6958487c76ee5978bf16ef88b42d767cf09d2fdbefe2a8fc0a8adb932 SHA512 4a73ddead2969c3d4370dc9f543795a3714fd93b38ba6c819ccc7ea59caae018cdb50f3a580b1ba3a2a39d661992a419591c04b8027b28238b18ef421c61e2a3
-EBUILD compiler-rt-13.0.0.ebuild 3703 BLAKE2B 422d8938d97c2c28f8efc14007462dc590e6384b3b9dd00ca7c221fcaadf9d078bfa8ac309a04583d78cc54cd4433d625e3d9485b1a1aab1f226a5b21f372216 SHA512 15fb7c0a06bb49edf76b0436b12e30b272de864b79174c789b12ccd08afbd461953e2a6f1c8e7dc1339459dab97bbf5e9ff46c9e54f4cef08ef27adf901d9946
-EBUILD compiler-rt-14.0.0.9999.ebuild 3633 BLAKE2B 71e8599736191e3c621bfba764f8e7133fe78f1f6520ce32bbb2af010629096091e380d6958487c76ee5978bf16ef88b42d767cf09d2fdbefe2a8fc0a8adb932 SHA512 4a73ddead2969c3d4370dc9f543795a3714fd93b38ba6c819ccc7ea59caae018cdb50f3a580b1ba3a2a39d661992a419591c04b8027b28238b18ef421c61e2a3
+EBUILD compiler-rt-13.0.0.ebuild 3717 BLAKE2B bb6b7ccb4ee20e7da325bd111adefa0c212be6b6291d71e2553d31b56e0c95e7a50ea5ba2b2107bf3cbd052126491ae5811844a06a60b742069cb8ca268c8315 SHA512 03e3925de867fefa79ffc8bf6a1b53020452ccda98d79dedc09b4d2c5dddcef07890b2055c7774ea054241cb124f0629819aef9df1102cb70b6e7579ed52aa44
+EBUILD compiler-rt-13.0.1.9999.ebuild 3798 BLAKE2B 80bbefbd5a86e82afcb4292184f27d53ce12513c140c4515cc774960429b37e0fb6e8849a8fa0eac86321476c7131baac09e6a1b1cf7eeb3d575d90e20bccc98 SHA512 5d400cb861a9f9d2ef6f1cdc303c67053d1a1a4182881a1b9fe120565cfaf80504e02254eee1d617a992b47e5f587fbde0578af9e0395dbcdb8f876d222831bf
+EBUILD compiler-rt-13.0.1_rc1.ebuild 3801 BLAKE2B c1e329e51d035db51692d0fa5e5f86f454bc1e6d47923c6493f8fdb7b6d09405511e5b2159e915b0344c6fc97de4444147cbd861860c1452c91e7112c0bdee1f SHA512 23a4780b617ae48236469c08d5d4bf4d637860391096c35d76f5af5dd3b2e327117704bfeeb3a8e9b2ea5bf64ab7880405a255f26ce686b5f2b7bf4991f25c5a
+EBUILD compiler-rt-14.0.0.9999.ebuild 3804 BLAKE2B 82c0f8ca2a0505fb8365fa410d063df60f79a2bc5148f9d0372e2e987121d88bc407542eee0069d3b8495158fc51054e8087c09275eeb3d935132dadb4866271 SHA512 3cc9e175bdc873aa27f753c12562107aaacee59f066e305ccfbd80444e45abd91d7139251b100541e598c88d31fc899e5ac25f96edf398ec203d2a0964da6afa
MISC metadata.xml 334 BLAKE2B e52ad011edc624e8b4c6449a9c77d0972222c4e3ecad01ea24eb9f3175053b191df6267886a186bc3e169581b86b624b6c77f37fac763a12129a1dd8cd6ee285 SHA512 1bf0f62c12690e6596650e8872405fc53bc3c4bbddcf80e02b3bcce9b762f0aa02d462949b9b54c0c930ca6cce5518333e79951ae57378def8eb9719463a9297
diff --git a/sys-libs/compiler-rt/compiler-rt-13.0.0.ebuild b/sys-libs/compiler-rt/compiler-rt-13.0.0.ebuild
index 564c29b11eaa..a2d62590de11 100644
--- a/sys-libs/compiler-rt/compiler-rt-13.0.0.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-13.0.0.ebuild
@@ -26,7 +26,9 @@ BDEPEND="
$(python_gen_any_dep ">=dev-python/lit-9.0.1[\${PYTHON_USEDEP}]")
=sys-devel/clang-${PV%_*}*:${CLANG_SLOT}
)
- ${PYTHON_DEPS}"
+ !test? (
+ ${PYTHON_DEPS}
+ )"
LLVM_COMPONENTS=( compiler-rt )
LLVM_PATCHSET=${PV/_/-}
diff --git a/sys-libs/compiler-rt/compiler-rt-13.0.0.9999.ebuild b/sys-libs/compiler-rt/compiler-rt-13.0.1.9999.ebuild
index d6a1a16eb346..1f0bd3af8c06 100644
--- a/sys-libs/compiler-rt/compiler-rt-13.0.0.9999.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-13.0.1.9999.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="$(ver_cut 1-3)"
KEYWORDS=""
-IUSE="+clang debug test"
+IUSE="+abi_x86_32 abi_x86_64 +clang debug test"
RESTRICT="!test? ( test ) !clang? ( test )"
CLANG_SLOT=${SLOT%%.*}
@@ -26,7 +26,9 @@ BDEPEND="
$(python_gen_any_dep ">=dev-python/lit-9.0.1[\${PYTHON_USEDEP}]")
=sys-devel/clang-${PV%_*}*:${CLANG_SLOT}
)
- ${PYTHON_DEPS}"
+ !test? (
+ ${PYTHON_DEPS}
+ )"
LLVM_COMPONENTS=( compiler-rt )
LLVM_PATCHSET=9999-1
@@ -94,6 +96,13 @@ src_configure() {
-DPython3_EXECUTABLE="${PYTHON}"
)
+ if use amd64; then
+ mycmakeargs+=(
+ -DCAN_TARGET_i386=$(usex abi_x86_32)
+ -DCAN_TARGET_x86_64=$(usex abi_x86_64)
+ )
+ fi
+
if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
mycmakeargs+=(
# setting -isysroot is disabled with compiler-rt-prefix-paths.patch
diff --git a/sys-libs/compiler-rt/compiler-rt-13.0.1_rc1.ebuild b/sys-libs/compiler-rt/compiler-rt-13.0.1_rc1.ebuild
new file mode 100644
index 000000000000..b2851d32c00e
--- /dev/null
+++ b/sys-libs/compiler-rt/compiler-rt-13.0.1_rc1.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs
+
+DESCRIPTION="Compiler runtime library for clang (built-in part)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="$(ver_cut 1-3)"
+KEYWORDS=""
+IUSE="+abi_x86_32 abi_x86_64 +clang debug test"
+RESTRICT="!test? ( test ) !clang? ( test )"
+
+CLANG_SLOT=${SLOT%%.*}
+# llvm-6 for new lit options
+DEPEND="
+ >=sys-devel/llvm-6"
+BDEPEND="
+ >=dev-util/cmake-3.16
+ clang? ( sys-devel/clang )
+ test? (
+ $(python_gen_any_dep ">=dev-python/lit-9.0.1[\${PYTHON_USEDEP}]")
+ =sys-devel/clang-${PV%_*}*:${CLANG_SLOT}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )"
+
+LLVM_COMPONENTS=( compiler-rt )
+LLVM_PATCHSET=${PV/_/-}
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ if ! use clang && ! tc-is-clang; then
+ ewarn "Building using a compiler other than clang may result in broken atomics"
+ ewarn "library. Enable USE=clang unless you have a very good reason not to."
+ fi
+}
+
+pkg_setup() {
+ # Darwin Prefix builds do not have llvm installed yet, so rely on
+ # bootstrap-prefix to set the appropriate path vars to LLVM instead
+ # of using llvm_pkg_setup.
+ if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then
+ llvm_pkg_setup
+ fi
+ python-any-r1_pkg_setup
+}
+
+test_compiler() {
+ $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \
+ <<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ # pre-set since we need to pass it to cmake
+ BUILD_DIR=${WORKDIR}/${P}_build
+
+ local nolib_flags=( -nodefaultlibs -lc )
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ # ensure we can use clang before installing compiler-rt
+ local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+ elif ! test_compiler; then
+ if test_compiler "${nolib_flags[@]}"; then
+ local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+ ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}"
+ fi
+ fi
+
+ local mycmakeargs=(
+ -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}"
+
+ -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+ -DCOMPILER_RT_BUILD_LIBFUZZER=OFF
+ -DCOMPILER_RT_BUILD_MEMPROF=OFF
+ -DCOMPILER_RT_BUILD_ORC=OFF
+ -DCOMPILER_RT_BUILD_PROFILE=OFF
+ -DCOMPILER_RT_BUILD_SANITIZERS=OFF
+ -DCOMPILER_RT_BUILD_XRAY=OFF
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ if use amd64; then
+ mycmakeargs+=(
+ -DCAN_TARGET_i386=$(usex abi_x86_32)
+ -DCAN_TARGET_x86_64=$(usex abi_x86_64)
+ )
+ fi
+
+ if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
+ mycmakeargs+=(
+ # setting -isysroot is disabled with compiler-rt-prefix-paths.patch
+ # this allows adding arm64 support using SDK in EPREFIX
+ -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk"
+ # Set version based on the SDK in EPREFIX.
+ # This disables i386 for SDK >= 10.15
+ -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')"
+ # Use our libtool instead of looking it up with xcrun
+ -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool"
+ )
+ fi
+
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+ -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_src_configure
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+
+ cmake_build check-builtins
+}
diff --git a/sys-libs/compiler-rt/compiler-rt-14.0.0.9999.ebuild b/sys-libs/compiler-rt/compiler-rt-14.0.0.9999.ebuild
index d6a1a16eb346..98c8fe855cfe 100644
--- a/sys-libs/compiler-rt/compiler-rt-14.0.0.9999.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-14.0.0.9999.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="$(ver_cut 1-3)"
KEYWORDS=""
-IUSE="+clang debug test"
+IUSE="+abi_x86_32 abi_x86_64 +clang debug test"
RESTRICT="!test? ( test ) !clang? ( test )"
CLANG_SLOT=${SLOT%%.*}
@@ -26,9 +26,11 @@ BDEPEND="
$(python_gen_any_dep ">=dev-python/lit-9.0.1[\${PYTHON_USEDEP}]")
=sys-devel/clang-${PV%_*}*:${CLANG_SLOT}
)
- ${PYTHON_DEPS}"
+ !test? (
+ ${PYTHON_DEPS}
+ )"
-LLVM_COMPONENTS=( compiler-rt )
+LLVM_COMPONENTS=( compiler-rt cmake )
LLVM_PATCHSET=9999-1
llvm.org_set_globals
@@ -94,6 +96,13 @@ src_configure() {
-DPython3_EXECUTABLE="${PYTHON}"
)
+ if use amd64; then
+ mycmakeargs+=(
+ -DCAN_TARGET_i386=$(usex abi_x86_32)
+ -DCAN_TARGET_x86_64=$(usex abi_x86_64)
+ )
+ fi
+
if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
mycmakeargs+=(
# setting -isysroot is disabled with compiler-rt-prefix-paths.patch
diff --git a/sys-libs/cygwin-crypt/Manifest b/sys-libs/cygwin-crypt/Manifest
index 05d7f01d9846..3c10e8443516 100644
--- a/sys-libs/cygwin-crypt/Manifest
+++ b/sys-libs/cygwin-crypt/Manifest
@@ -1,3 +1,3 @@
DIST cygwin-crypt-1.4.tar.bz2 4446 BLAKE2B a0644f036c55fd169a1d708d51fc7d3b1cc0a94fba845319357b4251eb379aa799ed39ba81b2551774c870944b19e6e1053453e1e99b48a93ed5a62272c37e25 SHA512 1ecc4256730f13161a651cfdf71b27c1042e6f56fb859943426c371d4b37b8b2bd6ea768f86e45f7b8cf3478e97ff9578b79e5c37178c8794ff9b87799f2cab3
-EBUILD cygwin-crypt-1.4.ebuild 854 BLAKE2B 82868e38fc34dc233ecd8b72dad6b24c82c2ac142d15807c4e64c4e48fbe3035b8e7c10341834c585f306395f60ae3d44243b72c4cfac9066884e92105d323cf SHA512 725f80eb0acf1d0a30ff8a0afef0abb67bf21ce32b1f86f9066f42eeb37b2d324373dad87709567454f9c90790df9a5bc7b02103476012ca35f113f64a9d2864
+EBUILD cygwin-crypt-1.4-r1.ebuild 815 BLAKE2B a34fb9953b3811969077d7950406c13207e331e4107ff866a44f6a5179361acd8cc7e67d8cc1418e3d12a1d50ab6e55d07b10143e26caa81f0ee3b912f923644 SHA512 42d1304ba6a61c18865e34df6042205e10590aab719d0c0d6478c388477e8fc25938b597f3aefc0b42e7eb7ebd5af949ebe1aaaf167e16f578ebcc7593d55103
MISC metadata.xml 432 BLAKE2B f50d3fff254fbadbd6bf9d364e25bfdeb6396aa7f582213c8ae25f4e5acaba0b5cb780843d37d42fdbc6dd88d7c773335651d97c3d7d6fb2a20513e2e9d4c008 SHA512 76afb2545351cd7c5bbd93579faa56ffefd6f2fa0027666905c61926658bfc5901f492311a6ee4db3c5461f7b90019eef7a3e5816771d32060999fd6e671835b
diff --git a/sys-libs/cygwin-crypt/cygwin-crypt-1.4.ebuild b/sys-libs/cygwin-crypt/cygwin-crypt-1.4-r1.ebuild
index 37c9ff3d46f3..24de50f1790b 100644
--- a/sys-libs/cygwin-crypt/cygwin-crypt-1.4.ebuild
+++ b/sys-libs/cygwin-crypt/cygwin-crypt-1.4-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
inherit toolchain-funcs
@@ -17,10 +17,6 @@ SRC_URI="mirror://gentoo/${P}.tar.bz2"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~x64-cygwin"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
mymake() {
emake \
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 4a3d2deae31e..a742d8a07e61 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -3,6 +3,7 @@ AUX 2.19/glibc-2.19-ia64-gcc-4.8-reloc-hack.patch 1360 BLAKE2B 19d218e91b1d3d38c
AUX 2.19/glibc-2.19-kernel-2.6.16-compat.patch 3214 BLAKE2B 64af88703bddaa301ce25d4400e00140fae536882443510466510766a60ac1cf4ceca35ca0ad4384f0cdc05b79352ac7da92f555561d1f6cdd65f7cc8464c6d7 SHA512 c21d80b7ae5b2691e5b6d43a42153193822ccc2b4418728edd5f2fa72412992d103b61418b57f9cf26e72378b24aa7cbaed05eeb31a4ec312a715d258cf5232b
AUX 2.19/glibc-2.19-kernel-2.6.16-hide-pipe2.patch 620 BLAKE2B 216e728e40b044684843bff97eae31d65689595bcc3e345ef019a68e15c190cbd7fa685ff39e6363cf213f3f5676dee49f235beb1984a9e150e2b4ab72fcf605 SHA512 b93822269e67262fa45cbc50c5ec562d60ef69b2338afd56421b2d74d97360823dd4252abb0faee83231e4b3fd3f7357ef0249be8721f48fe176e512c6f5e447
AUX 2.25/glibc-2.25-gentoo-chk_fail.c 9068 BLAKE2B 6fabcbb981d92101ff3b97e8eed4da3c0ee4fc3d09ca344c2d0b7ee5e04fec66b5db314263541beeb1290bafa837795fef1a6300986de938d2958ba89a9c1f2f SHA512 4503002b0e2cee0b6efc4599152d24fcff330157d4e35992a77d0d83a2decc4cf2da2b8645a44d90d428a1d82300a4fd8d13c5937b7c89f368c12b3c9139be6f
+AUX glibc-2.34-make-clone3-syscall-optional.patch 1846 BLAKE2B 92242838da715f49f7005bd48c15fc28d40fcf234d0a2537df2c760161853e6c91469ba26c93a76ba5548c03d5e805c15057d3d8671182581c4f7159a41ab91a SHA512 06344b86e5cef0ecb79e7f573ff5c3e7c9f2dd11eea06e0e2b9ecdfb564770299b7b39b655a7718d1a7c31e070267e4ee5c9f2e6eac548f6cf4e2bbe3b36772d
AUX host.conf-1 826 BLAKE2B 32fe7f016325e781d477a0f855c32d0df12626edd11d58c0ec368fc579811b73e4851dec6bfca9e9f53d1c2de1bb2b3b4406e50b7f665870958d727fbeab2f87 SHA512 91102a5383b49199eceb94fb1ecd223ce0f585021de94dc1646af1095a220ba1acf540271af908da47a3ee1aa55c35f5f372d61e34d0e14f1718e67633a13e76
AUX nscd-1 1897 BLAKE2B aefa781de3181c5609ac2659632f0a5bdfa6bbc8e22b73fdf5c28ca36184b5614bb2febd581d0c41a1f3dd72c45a191866cbc827f5e7009722b6d839518a27d6 SHA512 b2edbdc33fb4290378d9520bfcefcbb5183e8b8f0e80cf3573fb4ce6cf309e21f59178f31eec4ada90b4b37e502038e71b31f93b2ba2c7fa36a7eef1b1d9bf70
AUX nscd.service 337 BLAKE2B 6b163465dd8db024652921892dc913da8dfc0984eec7ffce621229e48fa99dcedc3b5944844529190122c81f4884b6a6fe7836d37d2d812f34059c530856dec1 SHA512 2001100f3b054843c69b6fd2d38852c7c824282aa8998c25a3c0352db993705429d25c70d8ce6cb3579f836b7089644c520acac423ebd69cb1b36e94a77c5bea
@@ -24,6 +25,7 @@ DIST glibc-2.33-patches-4.tar.xz 60124 BLAKE2B a7a99f39c16df241745772c31b10946dc
DIST glibc-2.33-patches-6.tar.xz 64632 BLAKE2B f04ca4320d65c8796c67471cb56d3bf002cc34fb6a81075b85948e41c94df46cb2a3a944cced42d6d2c17ffc11e32a9840810864e655cc0fe18e6e0fe9f3c985 SHA512 b95746cd3415ec9ca275e542a2b5fddd5ce5680aa3bda08e94e96cf431191f7488ef6b7999ff0dfaf7405a4212531a75283e9bd7f5ae65bf572912038877a6df
DIST glibc-2.33.tar.xz 17031280 BLAKE2B 703d12121c1e2c5d9e0c6ba5341f5fb5c4d9111611a83f2360029b5de9c6e5a5611249d1833684a58ed4afdf49cae614365d87ec8721ba0e5d218f593b1f229d SHA512 4cb5777b68b22b746cc51669e0e9282b43c83f6944e42656e6db7195ebb68f2f9260f130fdeb4e3cfc64efae4f58d96c43d388f52be1eb024ca448084684abdb
DIST glibc-2.34-patches-5.tar.xz 56832 BLAKE2B e5f5e8e41551d9f90355e9fc854e541cdcd5dd172e12dafa84256b7aeb999c0980ec6e7299701b78b0257980f5cf91019edfdf9796bec6b886434aa1960b2d6c SHA512 bc56fe2870629700d931150e1ebdc6e9b3318e8dabf5491d3645efd4db11032e21562e9276d97fc052c45362bfbca7f3d80d93277c2bf8aa3e05a5001df75c60
+DIST glibc-2.34-patches-6.tar.xz 58396 BLAKE2B c25696e2aceef9ea4724716acde377d91b8a76b2edca2b293fcd6c89f635f63a612f8c1ecd861367b1394ebacc4b0151b0c6b68c2b08a7bde3a54a76400f35c5 SHA512 343922492e448d978dbcad1718804f892d002b6d4ce366da4cf571d97145ed850fb4b2862645681f487a9a18a77ea48f23010c0c61ea7cf914d26fd149b8271d
DIST glibc-2.34.tar.xz 17301232 BLAKE2B 874031192f2f5a3b35c3f5b044a467d4be4e67e8593e070e5b49b901ce8ea6bde2f8d2f6c92fa33b3f61eb723572a9e5f2b45e56064168df80a96d3fdb6fa30c SHA512 15252affd9ef4523a8001db16d497f4fdcb3ddf4cde7fe80e075df0bd3cc6524dc29fbe20229dbf5f97af580556e6b1fac0de321a5fe25322bc3e72f93beb624
DIST glibc-systemd-20210729.tar.gz 1480 BLAKE2B 37722c7579df782d890e44dbab99c3de52ab466eb9de80d82405e9bb5620bf39ffc8c5f466a435bdb86ef6d36dd7019c0736573916bda6c67d02a2581e0ec979 SHA512 efd75af58b50522c28cdac7abd1fc56555bc1bb042512c90d8340c1ec09c5791b3872a305bf83723252bbde5855b75d958c041083457765c4cfd170732d09238
DIST glibc-systemd-20210814.tar.gz 1469 BLAKE2B 10fa7bcb46d4fdce9c0ab353cbd30871e9b09a347a13a9c9a3b5777f931aa3c826c158d2e49532c604d4a834f2fab4089b67495fb88d0398945dc50d45ad9ef1 SHA512 5346a9ea459a1e6ccf665389f2a294de1e16f1e3e05cdf07e3dd99ed0e4f6f8b52cc333d4bff3c75ac90ab6ce70cd4ab2b3e126f920ce7979abd6dda56315efc
@@ -36,6 +38,7 @@ EBUILD glibc-2.31-r7.ebuild 44522 BLAKE2B 1adfba68c35d3af5ec8476b2fe5d3bebf13880
EBUILD glibc-2.32-r8.ebuild 44853 BLAKE2B 724f95c0ed2cda18dc2edcaa03b0783a2bc603b72a67e1451535040ddc83be6d1a90ad4b30f9623140b5c0a329ecafb6f19793390137e629d43a3c26e202b28a SHA512 0973b86c266e40203e301cf0c6f8fddc4273c002ffb8fd6c16f6e78f2cfdfbea95fda04adfebb8ee84a14dc950763ba706eadadb2e83f7982b800bee636d5d8f
EBUILD glibc-2.33-r1.ebuild 45233 BLAKE2B 881f8eebb4c7e4e78760b92bd6cb64de2372abed3f15b916ab0d47f60d5cbceaaedf2624db92aec97a2742f205e7b243a02f7ddd3932a83ba8d0de3b40f72caf SHA512 54978040ee64ccc03bf8aea55af21775d8e360fcf5eeddad61b36c51dcc016849e9650270463e46edbd35e7eb6ffa1c72f1068031c80b6fca316980674c22dce
EBUILD glibc-2.33-r7.ebuild 46954 BLAKE2B da9c95ef74942a7261b8fb32b5ac926f71315e7197c8b235e4892bbdbbce1a4e3ad2c26c4587695dc54dd61f8cdbac274d1fb620815daec286ae8b682937ea2a SHA512 4861947122e6ccd3ddbdfe1f750dec174902ebf3778b6ac40dbda1b5e8598782800bfa40887a795858a7094ecb691f3647941d0dced05c3bedd113480c558c6e
-EBUILD glibc-2.34-r1.ebuild 47425 BLAKE2B 0d1f27f4aea9ecf0eab109b9a978b16910469f2eb760711b6c6e8fac23924426cd02ac1b756455544797ee20373070d0d96b91aefbfcb05ef623a21cae4bb3a4 SHA512 6657fa2c75f8a42ec0b22977dfa9df855425946ca85c1969564fe1484bf88f954417288c1c9f4256f08d187ad1096016612add0425fde27a863058e4fe414061
-EBUILD glibc-9999.ebuild 47425 BLAKE2B 7fe569cfb3a09da55216c5c9b0e55808092ba8f88e5d244a62e846602f8ee00e8162ef398a81c9fc964f9f1d07d6af8ab32ae2a5c2df01968caeb08f9421a776 SHA512 0fd4f9959a984a847eb1215f124110263c1169994e29556410aed71c53fbaca5717df419b16ac4bc0a0a1cdac037fff154b8c30ee7a827b6af160bbe6471acff
-MISC metadata.xml 1556 BLAKE2B c8deb6ffdb2f6d045ea8c96dbefde33d108f8123d4c51351d77aa487db703b7312d26394e6c320b97e4955acbc0fc97c7ca918426f3bba3b1c2536c2461d334d SHA512 c47d15cf75001e40e6533bc157689d621e853966e70e504e540a16e1390dc0f122acaa705956d25b43683f9c633eb40bc2ffab64ce93f21a8a6346a9fc9dd51e
+EBUILD glibc-2.34-r2.ebuild 48420 BLAKE2B 8f0af59f0834a99e16c7a45a7f56f5deff51b63f745da101d0f69a839a0ab4d8c8c2de2c2ddb53d35259334484bbba199c48a86fa5d3290ae80c3ba158c5024b SHA512 212949c5e6f91bde921f0074f263e2cb752e0492b94c12b5263cbf8615d2666fac427828e1ee7faa2455f701d1cdb9839465e7d1163c6810c0b10c7823733d0b
+EBUILD glibc-2.34-r3.ebuild 48459 BLAKE2B c5e71ef6938078eefc3cc2ead33e6296c5efa37f455a905a99daf43068872406c2351ec79bcc1f5f1a89d61e7d49ef2a57a6541e2e7832af4b46143fbfe3e96d SHA512 365784b53e98903d3b28bc6384650973ad864abc282944e476e0c0109b7bc852997a4604b8c59a8c2dc047e71504f34352fe335dfdb7f28786a1c6aea1cd8f07
+EBUILD glibc-9999.ebuild 47925 BLAKE2B 6c31e95d2e41fb2b76dfe2e69915bd923e8636d009f0309bcc5d948e3b7911fc5558ad4ea73777641764246dac5d2c6ab64c0f7e48a1f12c913a59825e21bcb6 SHA512 f8d6d9c836fe4550178cf92f3208b951ff762c96dc1fa0d25e0243823c955731257c411406d9ec4e1801fd5e762458b2632945e684fbd0c29a87cd8698dfcda7
+MISC metadata.xml 1701 BLAKE2B 91bd245d0a3685d76e3f874b50db872660054767fca5181871022fbdef9a18c4e674890bfed52cc3332c9557430ae8eec64505e67cdbedff000987406ab69ac5 SHA512 524edc37a01a47958ef557d586e8f06c6132481734ea28ed57e146969503fd129ad1da813a4d2d143a9bb8abe8810b0d8c920ab3c422a729287838435c44743a
diff --git a/sys-libs/glibc/files/glibc-2.34-make-clone3-syscall-optional.patch b/sys-libs/glibc/files/glibc-2.34-make-clone3-syscall-optional.patch
new file mode 100644
index 000000000000..bbc6cabb463d
--- /dev/null
+++ b/sys-libs/glibc/files/glibc-2.34-make-clone3-syscall-optional.patch
@@ -0,0 +1,48 @@
+From 22afb7abbfa0e2d4d168dcd2844aa9935a71cb37 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 1 Dec 2021 14:58:40 +0000
+Subject: [PATCH] clone-internal.c: disable use of clone3 conditinally
+
+We're disabling clone3 for now _CONDITIONALLY_ (not by default) to allow
+compatibility with applications using older Electron.
+
+Use -DGENTOO_USE_CLONE3 to enable clone3 for now. In future, we will
+revert back to always using clone3.
+
+This was impacting e.g. Discord and Skype. This patch stops glibc from using
+clone3 internally (which is the only real use of it) and falls back to the old
+behaviour.
+
+Specifically, we want https://github.com/electron/electron/pull/31091
+to work its way downstream to various Electron applications.
+
+https://bugs.gentoo.org/819045
+https://bugs.gentoo.org/827386
+
+https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/glibc/plain/debian/patches/ubuntu/disable-clone3.patch
+
+This is the same as the patch that was considered but ultimately rejected
+for 2.34 because Docker got sorted out in time:
+https://patchwork.ozlabs.org/project/glibc/patch/87eebkf8ph.fsf@oldenburg.str.redhat.com/.
+
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ sysdeps/unix/sysv/linux/clone-internal.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sysdeps/unix/sysv/linux/clone-internal.c b/sysdeps/unix/sysv/linux/clone-internal.c
+index 979f7880be..c5566daf73 100644
+--- a/sysdeps/unix/sysv/linux/clone-internal.c
++++ b/sysdeps/unix/sysv/linux/clone-internal.c
+@@ -48,7 +48,7 @@ __clone_internal (struct clone_args *cl_args,
+ int (*func) (void *arg), void *arg)
+ {
+ int ret;
+-#ifdef HAVE_CLONE3_WRAPPER
++#if defined(HAVE_CLONE3_WRAPPER) && defined(GENTOO_USE_CLONE3)
+ /* Try clone3 first. */
+ int saved_errno = errno;
+ ret = __clone3 (cl_args, sizeof (*cl_args), func, arg);
+--
+2.34.1
+
diff --git a/sys-libs/glibc/glibc-2.34-r1.ebuild b/sys-libs/glibc/glibc-2.34-r2.ebuild
index f5d98be9cf6a..dd50e8578a35 100644
--- a/sys-libs/glibc/glibc-2.34-r1.ebuild
+++ b/sys-libs/glibc/glibc-2.34-r2.ebuild
@@ -29,8 +29,7 @@ PATCH_DEV=dilfridge
if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
- #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- KEYWORDS=""
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
fi
@@ -327,6 +326,14 @@ setup_target_flags() {
export CFLAGS_x86="${CFLAGS_x86} -march=${t}"
einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})"
fi
+
+ # Workaround for https://bugs.gentoo.org/823780. This really should
+ # be removed when the upstream bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103275
+ # is fixed in our tree, either via 11.3 or an 11.2p2 patch set.
+ if [[ ${ABI} == x86 ]] && tc-is-gcc && (($(gcc-major-version) == 11)) && (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)); then
+ export CFLAGS_x86="${CFLAGS_x86} -mno-avx512f"
+ einfo "Auto adding -mno-avx512f to CFLAGS_x86 (bug #823780) (ABI=${ABI})"
+ fi
;;
mips)
# The mips abi cannot support the GNU style hashes. #233233
@@ -723,6 +730,20 @@ sanity_prechecks() {
fi
}
+upgrade_warning() {
+ if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then
+ local oldv newv=$(ver_cut 1-2 ${PV})
+ for oldv in ${REPLACING_VERSIONS}; do
+ if ver_test ${oldv} -lt ${newv}; then
+ ewarn "After upgrading glibc, please restart all running processes."
+ ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)."
+ ewarn "Alternatively, reboot your system."
+ break
+ fi
+ done
+ fi
+}
+
#
# the phases
#
@@ -733,6 +754,7 @@ pkg_pretend() {
# All the checks...
einfo "Checking general environment sanity."
sanity_prechecks
+ upgrade_warning
}
pkg_setup() {
@@ -1197,13 +1219,13 @@ run_locale_gen() {
root="$2"
fi
- local locale_list="${root}/etc/locale.gen"
+ local locale_list="${root%/}/etc/locale.gen"
pushd "${ED}"/$(get_libdir) >/dev/null
if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
[[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
- locale_list="${root}/usr/share/i18n/SUPPORTED"
+ locale_list="${root%/}/usr/share/i18n/SUPPORTED"
fi
set -- locale-gen ${inplace} --jobs $(makeopts_jobs) --config "${locale_list}" \
@@ -1540,6 +1562,8 @@ pkg_postinst() {
use compile-locales || run_locale_gen "${EROOT}/"
fi
+ upgrade_warning
+
# Check for sanity of /etc/nsswitch.conf, take 2
if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then
local entry
diff --git a/sys-libs/glibc/glibc-2.34-r3.ebuild b/sys-libs/glibc/glibc-2.34-r3.ebuild
new file mode 100644
index 000000000000..7053b85282f1
--- /dev/null
+++ b/sys-libs/glibc/glibc-2.34-r3.ebuild
@@ -0,0 +1,1591 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc
+# Please read & adapt the page as necessary if obsolete.
+
+# We avoid Python 3.10 here _for now_ (it does work!) to avoid circular dependencies
+# on upgrades as people migrate to libxcrypt.
+# https://wiki.gentoo.org/wiki/User:Sam/Portage_help/Circular_dependencies#Python_and_libcrypt
+PYTHON_COMPAT=( python3_{7,8,9} )
+TMPFILES_OPTIONAL=1
+
+inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \
+ multilib systemd multiprocessing tmpfiles
+
+DESCRIPTION="GNU libc C library"
+HOMEPAGE="https://www.gnu.org/software/libc/"
+LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
+SLOT="2.2"
+
+EMULTILIB_PKG="true"
+
+# Gentoo patchset (ignored for live ebuilds)
+PATCH_VER=6
+PATCH_DEV=dilfridge
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
+ SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
+fi
+
+RELEASE_VER=${PV}
+
+GCC_BOOTSTRAP_VER=20201208
+
+LOCALE_GEN_VER=2.22
+
+GLIBC_SYSTEMD_VER=20210729
+
+SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${LOCALE_GEN_VER}.tar.gz"
+SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
+SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )"
+
+IUSE="audit caps cet +clone3 compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs static-pie suid systemd systemtap test vanilla"
+
+# Minimum kernel version that glibc requires
+MIN_KERN_VER="3.2.0"
+# Minimum pax-utils version needed (which contains any new syscall changes for
+# its seccomp filter!). Please double check this!
+MIN_PAX_UTILS_VER="1.3.3"
+
+# Here's how the cross-compile logic breaks down ...
+# CTARGET - machine that will target the binaries
+# CHOST - machine that will host the binaries
+# CBUILD - machine that will build the binaries
+# If CTARGET != CHOST, it means you want a libc for cross-compiling.
+# If CHOST != CBUILD, it means you want to cross-compile the libc.
+# CBUILD = CHOST = CTARGET - native build/install
+# CBUILD != (CHOST = CTARGET) - cross-compile a native build
+# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
+# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
+# For install paths:
+# CHOST = CTARGET - install into /
+# CHOST != CTARGET - install into /usr/CTARGET/
+#
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+# Note [Disable automatic stripping]
+# Disabling automatic stripping for a few reasons:
+# - portage's attempt to strip breaks non-native binaries at least on
+# arm: bug #697428
+# - portage's attempt to strip libpthread.so.0 breaks gdb thread
+# enumeration: bug #697910. This is quite subtle:
+# * gdb uses glibc's libthread_db-1.0.so to enumerate threads.
+# * libthread_db-1.0.so needs access to libpthread.so.0 local symbols
+# via 'ps_pglobal_lookup' symbol defined in gdb.
+# * 'ps_pglobal_lookup' uses '.symtab' section table to resolve all
+# known symbols in 'libpthread.so.0'. Specifically 'nptl_version'
+# (unexported) is used to sanity check compatibility before enabling
+# debugging.
+# Also see https://sourceware.org/gdb/wiki/FAQ#GDB_does_not_see_any_threads_besides_the_one_in_which_crash_occurred.3B_or_SIGTRAP_kills_my_program_when_I_set_a_breakpoint
+# * normal 'strip' command trims '.symtab'
+# Thus our main goal here is to prevent 'libpthread.so.0' from
+# losing it's '.symtab' entries.
+# As Gentoo's strip does not allow us to pass less aggressive stripping
+# options and does not check the machine target we strip selectively.
+
+# We need a new-enough binutils/gcc to match upstream baseline.
+# Also we need to make sure our binutils/gcc supports TLS,
+# and that gcc already contains the hardened patches.
+# Lastly, let's avoid some openssh nastiness, bug 708224, as
+# convenience to our users.
+
+# gzip, grep, awk are needed by locale-gen, bug 740750
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=app-misc/pax-utils-${MIN_PAX_UTILS_VER}
+ sys-devel/bison
+ doc? ( sys-apps/texinfo )
+ !compile-locales? (
+ app-arch/gzip
+ sys-apps/grep
+ virtual/awk
+ )
+"
+COMMON_DEPEND="
+ gd? ( media-libs/gd:2= )
+ 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}
+ compile-locales? (
+ app-arch/gzip
+ sys-apps/grep
+ virtual/awk
+ )
+ test? ( >=net-dns/libidn2-2.3.0 )
+"
+RDEPEND="${COMMON_DEPEND}
+ app-arch/gzip
+ sys-apps/grep
+ virtual/awk
+ sys-apps/gentoo-functions
+ !<app-misc/pax-utils-${MIN_PAX_UTILS_VER}
+ !<net-misc/openssh-8.1_p1-r2
+"
+
+RESTRICT="!test? ( test )"
+
+if [[ ${CATEGORY} == cross-* ]] ; then
+ BDEPEND+=" !headers-only? (
+ >=${CATEGORY}/binutils-2.27
+ >=${CATEGORY}/gcc-6
+ )"
+ [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
+else
+ BDEPEND+="
+ >=sys-devel/binutils-2.27
+ >=sys-devel/gcc-6
+ "
+ DEPEND+=" virtual/os-headers "
+ RDEPEND+="
+ >=net-dns/libidn2-2.3.0
+ vanilla? ( !sys-libs/timezone-data )
+ "
+ PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
+fi
+
+# Ignore tests whitelisted below
+GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}"
+
+# The following tests fail due to the Gentoo build system and are thus
+# executed but ignored:
+XFAIL_TEST_LIST=(
+ # 9) Failures of unknown origin
+ tst-latepthread
+
+ # buggy test, assumes /dev/ and /dev/null on a single filesystem
+ # 'mount --bind /dev/null /chroot/dev/null' breaks it.
+ # https://sourceware.org/PR25909
+ tst-support_descriptors
+
+ # Flaky test, known to fail occasionally:
+ # https://sourceware.org/PR19329
+ # https://bugs.gentoo.org/719674#c12
+ tst-stack4
+)
+
+#
+# Small helper functions
+#
+
+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
+
+ # Most of the time CC is already set, but not in early sanity checks.
+ nonfatal emake glibc-test CC="${CC-$(tc-getCC ${CTARGET})}"
+ 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'; 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
+ # TODO: See cross-compile issues listed above for x86.
+ [[ ${ABI} == x86 ]] &&
+ if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then
+ local t=${CTARGET_OPT:-${CTARGET}}
+ t=${t%%-*}
+ # Normally the target is x86_64-xxx, so turn that into the -march that
+ # 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 (ABI=${ABI})"
+ fi
+
+ # Workaround for https://bugs.gentoo.org/823780. This really should
+ # be removed when the upstream bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103275
+ # is fixed in our tree, either via 11.3 or an 11.2p2 patch set.
+ if [[ ${ABI} == x86 ]] && tc-is-gcc && (($(gcc-major-version) == 11)) && (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)); then
+ export CFLAGS_x86="${CFLAGS_x86} -mno-avx512f"
+ einfo "Auto adding -mno-avx512f to CFLAGS_x86 (bug #823780) (ABI=${ABI})"
+ fi
+ ;;
+ mips)
+ # The mips abi cannot support the GNU style hashes. #233233
+ filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
+ ;;
+ ppc|ppc64)
+ # Many arch-specific implementations do not work on ppc with
+ # cache-block not equal to 128 bytes. This breaks memset:
+ # https://sourceware.org/PR26522
+ # https://bugs.gentoo.org/737996
+ # Use default -mcpu=. For ppc it means non-multiarch setup.
+ filter-flags '-mcpu=*'
+ ;;
+ sparc)
+ # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though.
+ filter-flags "-fcall-used-g7"
+ append-flags "-fcall-used-g6"
+
+ local cpu
+ case ${CTARGET} in
+ sparc64-*)
+ cpu="sparc64"
+ case $(get-flag mcpu) in
+ v9)
+ # We need to force at least v9a because the base build doesn't
+ # work with just v9.
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=19477
+ append-flags "-Wa,-xarch=v9a"
+ ;;
+ esac
+ ;;
+ sparc-*)
+ case $(get-flag mcpu) in
+ v8|supersparc|hypersparc|leon|leon3)
+ cpu="sparcv8"
+ ;;
+ *)
+ cpu="sparcv9"
+ ;;
+ esac
+ ;;
+ esac
+ [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}"
+ ;;
+ esac
+}
+
+setup_flags() {
+ # Make sure host make.conf doesn't pollute us
+ if is_crosscompile || tc-is-cross-compiler ; then
+ CHOST=${CTARGET} strip-unsupported-flags
+ fi
+
+ # Store our CFLAGS because it's changed depending on which CTARGET
+ # we are building when pulling glibc on a multilib profile
+ CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}}
+ CFLAGS=${CFLAGS_BASE}
+ CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}}
+ CXXFLAGS=${CXXFLAGS_BASE}
+ ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}}
+ ASFLAGS=${ASFLAGS_BASE}
+
+ # Allow users to explicitly avoid flag sanitization via
+ # USE=custom-cflags.
+ if ! use custom-cflags; then
+ # Over-zealous CFLAGS can often cause problems. What may work for one
+ # person may not work for another. To avoid a large influx of bugs
+ # relating to failed builds, we strip most CFLAGS out to ensure as few
+ # problems as possible.
+ strip-flags
+ # Lock glibc at -O2; we want to be conservative here.
+ filter-flags '-O?'
+ append-flags -O2
+ fi
+ strip-unsupported-flags
+ filter-flags -m32 -m64 '-mabi=*'
+
+ # glibc aborts if rpath is set by LDFLAGS
+ filter-ldflags '-Wl,-rpath=*'
+
+ # ld can't use -r & --relax at the same time, bug #788901
+ # https://sourceware.org/PR27837
+ filter-ldflags '-Wl,--relax'
+
+ # #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
+
+ # glibc's headers disallow -O0 and fail at build time:
+ # include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization"
+ replace-flags -O0 -O1
+
+ filter-flags '-fstack-protector*'
+}
+
+want_tls() {
+ # Archs that can use TLS (Thread Local Storage)
+ case $(tc-arch) in
+ x86)
+ # requires i486 or better #106556
+ [[ ${CTARGET} == i[4567]86* ]] && return 0
+ return 1
+ ;;
+ esac
+ return 0
+}
+
+want__thread() {
+ want_tls || return 1
+
+ # For some reason --with-tls --with__thread is causing segfaults on sparc32.
+ [[ ${PROFILE_ARCH} == "sparc" ]] && return 1
+
+ [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD}
+
+ # only test gcc -- can't test linking yet
+ tc-has-tls -c ${CTARGET}
+ WANT__THREAD=$?
+
+ return ${WANT__THREAD}
+}
+
+use_multiarch() {
+ # Allow user to disable runtime arch detection in multilib.
+ use multiarch || return 1
+ # Make sure binutils is new enough to support indirect functions,
+ # #336792. This funky sed supports gold and bfd linkers.
+ local bver nver
+ bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}')
+ case $(tc-arch ${CTARGET}) in
+ amd64|x86) nver="2.20" ;;
+ arm) nver="2.22" ;;
+ hppa) nver="2.23" ;;
+ ppc|ppc64) nver="2.20" ;;
+ # ifunc support was added in 2.23, but glibc also needs
+ # machinemode which is in 2.24.
+ s390) nver="2.24" ;;
+ sparc) nver="2.21" ;;
+ *) return 1 ;;
+ esac
+ ver_test ${bver} -ge ${nver}
+}
+
+# Setup toolchain variables that had historically been defined in the
+# profiles for these archs.
+setup_env() {
+ # silly users
+ unset LD_RUN_PATH
+ unset LD_ASSUME_KERNEL
+
+ if is_crosscompile || tc-is-cross-compiler ; then
+ multilib_env ${CTARGET_OPT:-${CTARGET}}
+
+ if ! use multilib ; then
+ MULTILIB_ABIS=${DEFAULT_ABI}
+ else
+ MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}}
+ fi
+
+ # If the user has CFLAGS_<CTARGET> in their make.conf, use that,
+ # and fall back on CFLAGS.
+ local VAR=CFLAGS_${CTARGET//[-.]/_}
+ CFLAGS=${!VAR-${CFLAGS}}
+ einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}"
+ fi
+
+ setup_flags
+
+ export ABI=${ABI:-${DEFAULT_ABI:-default}}
+
+ if just_headers ; then
+ # Avoid mixing host's CC and target's CFLAGS_${ABI}:
+ # At this bootstrap stage we have only binutils for
+ # target but not compiler yet.
+ einfo "Skip CC ABI injection. We can't use (cross-)compiler yet."
+ return 0
+ fi
+ local VAR=CFLAGS_${ABI}
+ # We need to export CFLAGS with abi information in them because glibc's
+ # configure script checks CFLAGS for some targets (like mips). Keep
+ # around the original clean value to avoid appending multiple ABIs on
+ # top of each other.
+ : ${__GLIBC_CC:=$(tc-getCC ${CTARGET})}
+ export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}"
+ einfo " $(printf '%15s' 'Manual CC:') ${CC}"
+}
+
+foreach_abi() {
+ setup_env
+
+ local ret=0
+ local abilist=""
+ if use multilib ; then
+ abilist=$(get_install_abis)
+ else
+ abilist=${DEFAULT_ABI}
+ fi
+ local -x ABI
+ for ABI in ${abilist:-default} ; do
+ setup_env
+ einfo "Running $1 for ABI ${ABI}"
+ $1
+ : $(( ret |= $? ))
+ done
+ return ${ret}
+}
+
+glibc_banner() {
+ local b="Gentoo ${PVR}"
+ [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}"
+ echo "${b}"
+}
+
+# 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() {
+ # Prevent native builds from downgrading
+ if [[ ${MERGE_TYPE} != "buildonly" ]] && \
+ [[ -z ${ROOT} ]] && \
+ [[ ${CBUILD} == ${CHOST} ]] && \
+ [[ ${CHOST} == ${CTARGET} ]] ; then
+
+ # The high rev # is to allow people to downgrade between -r#
+ # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2
+ # should be fine. Hopefully we never actually use a r# this
+ # high.
+ if has_version ">${CATEGORY}/${P}-r10000" ; then
+ eerror "Sanity check to keep you from breaking your system:"
+ eerror " Downgrading glibc is not supported and a sure way to destruction."
+ [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system."
+ fi
+
+ if ! do_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n' ; then
+ eerror "Your old kernel is broken. You need to update it to a newer"
+ eerror "version as syscall(<bignum>) will break. See bug 279260."
+ die "Old and broken kernel."
+ fi
+ fi
+
+ # Users have had a chance to phase themselves, time to give em the boot
+ if [[ -e ${EROOT}/etc/locale.gen ]] && [[ -e ${EROOT}/etc/locales.build ]] ; then
+ eerror "You still haven't deleted ${EROOT}/etc/locales.build."
+ eerror "Do so now after making sure ${EROOT}/etc/locale.gen is kosher."
+ die "Lazy upgrader detected"
+ fi
+
+ if [[ ${CTARGET} == i386-* ]] ; then
+ eerror "i386 CHOSTs are no longer supported."
+ eerror "Chances are you don't actually want/need i386."
+ eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml"
+ die "Please fix your CHOST"
+ fi
+
+ if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then
+ ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS."
+ ewarn "This will result in a 50% performance penalty when running with a 32bit"
+ ewarn "hypervisor, which is probably not what you want."
+ fi
+
+ # 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 && [[ ${MERGE_TYPE} != "binary" ]] ; 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-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz
+
+ setup_env
+
+ if [[ ${PV} == 9999* ]] ; then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
+ git-r3_src_unpack
+ mv patches-git/9999 patches || die
+
+ EGIT_REPO_URI="https://sourceware.org/git/glibc.git"
+ EGIT_CHECKOUT_DIR=${S}
+ git-r3_src_unpack
+ else
+ unpack ${P}.tar.xz
+
+ cd "${WORKDIR}" || die
+ unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz
+ fi
+
+ cd "${WORKDIR}" || die
+ unpack locale-gen-${LOCALE_GEN_VER}.tar.gz
+ use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz
+}
+
+src_prepare() {
+ local patchsetname
+ if ! use vanilla ; then
+ if [[ ${PV} == 9999* ]] ; then
+ patchsetname="from git master"
+ else
+ patchsetname="${RELEASE_VER}-${PATCH_VER}"
+ fi
+ einfo "Applying Gentoo Glibc Patchset ${patchsetname}"
+ eapply "${WORKDIR}"/patches
+ einfo "Done."
+ fi
+
+ # Apply patch to allow conditional disabling of clone3
+ eapply "${FILESDIR}"/${PN}-2.34-make-clone3-syscall-optional.patch
+
+ if use clone3 ; then
+ append-cppflags -DGENTOO_USE_CLONE3
+ else
+ # See e.g. bug #827386, bug #819045.
+ elog "Disabling the clone3 syscall for compatibility with older Electron apps."
+ elog "Please re-enable this flag before filing bugs!"
+ fi
+
+ default
+
+ gnuconfig_update
+
+ cd "${WORKDIR}"
+ find . -name configure -exec touch {} +
+
+ # move the external locale-gen to its old place
+ mkdir extra || die
+ mv locale-gen-${LOCALE_GEN_VER} extra/locale || die
+
+ 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 NM READELF; do
+ einfo " $(printf '%15s' ${v}:) ${!v}"
+ done
+
+ # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760
+ # To build .S (assembly) files with the same ABI-specific flags
+ # upstream currently recommends adding CFLAGS to CC/CXX:
+ # https://sourceware.org/PR23273
+ # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS
+ # and breaks multiarch support. See 659030#c3 for an example.
+ # The glibc configure script doesn't properly use LDFLAGS all the time.
+ export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}"
+ einfo " $(printf '%15s' 'Manual CC:') ${CC}"
+
+ # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
+ export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}"
+
+ if is_crosscompile; then
+ # Assume worst-case bootstrap: glibc is buil first time
+ # when ${CTARGET}-g++ is not available yet. We avoid
+ # building auxiliary programs that require C++: bug #683074
+ # It should not affect final result.
+ export libc_cv_cxx_link_ok=no
+ # The line above has the same effect. We set CXX explicitly
+ # to make build logs less confusing.
+ export CXX=
+ fi
+ einfo " $(printf '%15s' 'Manual CXX:') ${CXX}"
+
+ # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure
+ # can't detect them automatically due to ${CHOST} mismatch and fallbacks
+ # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup().
+ export NM="$(tc-getNM ${CTARGET})"
+ export READELF="$(tc-getREADELF ${CTARGET})"
+ einfo " $(printf '%15s' 'Manual NM:') ${NM}"
+ einfo " $(printf '%15s' 'Manual READELF:') ${READELF}"
+
+ echo
+
+ local myconf=()
+
+ case ${CTARGET} in
+ m68k*)
+ # setjmp() is not compatible with stack protection:
+ # https://sourceware.org/PR24202
+ myconf+=( --enable-stack-protector=no )
+ ;;
+ *)
+ # Use '=strong' instead of '=all' to protect only functions
+ # worth protecting from stack smashes.
+ # '=all' is also known to have a problem in IFUNC resolution
+ # tests: https://sourceware.org/PR25680, bug #712356.
+ myconf+=( --enable-stack-protector=$(usex ssp strong 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=$(build_eprefix)$(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_enable crypt)
+ $(use_multiarch || echo --disable-multi-arch)
+ $(use_enable static-pie)
+ $(use_enable systemtap)
+ $(use_enable nscd)
+
+ # locale data is arch-independent
+ # https://bugs.gentoo.org/753740
+ libc_cv_complocaledir='${exec_prefix}/lib/locale'
+
+ # -march= option tricks build system to infer too
+ # high ISA level: https://sourceware.org/PR27318
+ libc_cv_include_x86_isa_level=no
+ # Explicit override of https://sourceware.org/PR27991
+ # exposes a bug in glibc's configure:
+ # https://sourceware.org/PR27991
+ libc_cv_have_x86_lahf_sahf=no
+ libc_cv_have_x86_movbe=no
+
+ ${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-bootstrap ; 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=$(build_eprefix)$(alt_build_headers)
+ --prefix="$(host_eprefix)/usr"
+ ${EXTRA_ECONF}
+ )
+
+ # Nothing is compiled here which would affect the headers for the target.
+ # So forcing CC/CFLAGS is sane.
+ local headers_only_CC=$(tc-getBUILD_CC)
+ local headers_only_CFLAGS="-O1 -pipe"
+ local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}"
+ local headers_only_LDFLAGS=""
+ set -- "${S}"/configure "${myconf[@]}"
+ echo \
+ "CC=${headers_only_CC}" \
+ "CFLAGS=${headers_only_CFLAGS}" \
+ "CPPFLAGS=${headers_only_CPPFLAGS}" \
+ "LDFLAGS=${headers_only_LDFLAGS}" \
+ "$@"
+ CC=${headers_only_CC} \
+ CFLAGS=${headers_only_CFLAGS} \
+ CPPFLAGS=${headers_only_CPPFLAGS} \
+ LDFLAGS="" \
+ "$@" || die "failed to configure glibc"
+}
+
+do_src_configure() {
+ if just_headers ; then
+ glibc_headers_configure
+ else
+ glibc_do_configure nptl
+ fi
+}
+
+src_configure() {
+ foreach_abi do_src_configure
+}
+
+do_src_compile() {
+ emake -C "$(builddir nptl)"
+}
+
+src_compile() {
+ if just_headers ; then
+ return
+ fi
+
+ foreach_abi do_src_compile
+}
+
+glibc_src_test() {
+ cd "$(builddir nptl)"
+
+ local myxfailparams=""
+ if [[ "${GENTOO_GLIBC_XFAIL_TESTS}" == "yes" ]] ; then
+ for myt in ${XFAIL_TEST_LIST[@]} ; do
+ myxfailparams+="test-xfail-${myt}=yes "
+ done
+ fi
+
+ # sandbox does not understand unshare() and prevents
+ # writes to /proc/, which makes many tests fail
+
+ SANDBOX_ON=0 LD_PRELOAD= emake ${myxfailparams} check
+}
+
+do_src_test() {
+ local ret=0
+
+ glibc_src_test
+ : $(( ret |= $? ))
+
+ return ${ret}
+}
+
+src_test() {
+ if just_headers ; then
+ return
+ fi
+
+ # Give tests more time to complete.
+ export TIMEOUTFACTOR=5
+
+ foreach_abi do_src_test || die "tests failed"
+}
+
+run_locale_gen() {
+ # if the host locales.gen contains no entries, we'll install everything
+ local root="$1"
+ local inplace=""
+
+ if [[ "${root}" == "--inplace-glibc" ]] ; then
+ inplace="--inplace-glibc"
+ root="$2"
+ fi
+
+ local locale_list="${root%/}/etc/locale.gen"
+
+ pushd "${ED}"/$(get_libdir) >/dev/null
+
+ if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
+ [[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
+ locale_list="${root%/}/usr/share/i18n/SUPPORTED"
+ fi
+
+ set -- locale-gen ${inplace} --jobs $(makeopts_jobs) --config "${locale_list}" \
+ --destdir "${root}"
+ echo "$@"
+ "$@"
+
+ popd >/dev/null
+}
+
+glibc_do_src_install() {
+ local builddir=$(builddir nptl)
+ cd "${builddir}"
+
+ emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install
+
+ # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support
+ # which come without headers etc. Only needed for binary packages since the
+ # external net-libs/libnsl has increased soversion. Keep only versioned libraries.
+ find "${D}" -name "libnsl.a" -delete
+ find "${D}" -name "libnsl.so" -delete
+
+ # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need
+ # to infer upstream version:
+ # '#define VERSION "2.26.90"' -> '2.26.90'
+ local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h)
+
+ # Avoid stripping binaries not targeted by ${CHOST}. Or else
+ # ${CHOST}-strip would break binaries build for ${CTARGET}.
+ is_crosscompile && dostrip -x /
+ # gdb thread introspection relies on local libpthreas symbols. stripping breaks it
+ # See Note [Disable automatic stripping]
+ dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so
+
+ if [[ -e ${ED}/$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then
+ # Move versioned .a file out of libdir to evade portage QA checks
+ # instead of using gen_usr_ldscript(). We fix ldscript as:
+ # "GROUP ( /usr/lib64/libm-<pv>.a ..." -> "GROUP ( /usr/lib64/glibc-<pv>/libm-<pv>.a ..."
+ sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" "${ED}"/$(alt_usrlibdir)/libm.a || die
+ dodir $(alt_usrlibdir)/${P}
+ mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a "${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die
+ fi
+
+ # We'll take care of the cache ourselves
+ rm -f "${ED}"/etc/ld.so.cache
+
+ # Everything past this point just needs to be done once ...
+ is_final_abi || return 0
+
+ # Make sure the non-native interp can be found on multilib systems even
+ # if the main library set isn't installed into the right place. Maybe
+ # we should query the active gcc for info instead of hardcoding it ?
+ local i ldso_abi ldso_name
+ local ldso_abi_list=(
+ # x86
+ amd64 /lib64/ld-linux-x86-64.so.2
+ x32 /libx32/ld-linux-x32.so.2
+ x86 /lib/ld-linux.so.2
+ # mips
+ o32 /lib/ld.so.1
+ n32 /lib32/ld.so.1
+ n64 /lib64/ld.so.1
+ # powerpc
+ ppc /lib/ld.so.1
+ # riscv
+ ilp32d /lib/ld-linux-riscv32-ilp32d.so.1
+ ilp32 /lib/ld-linux-riscv32-ilp32.so.1
+ 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
+ # ELFv2 (glibc does not support ELFv1 on LE)
+ ppc64 /lib64/ld64.so.2
+ )
+ ;;
+ big)
+ ldso_abi_list+=(
+ # arm
+ arm64 /lib/ld-linux-aarch64_be.so.1
+ # ELFv1 (glibc does not support ELFv2 on BE)
+ ppc64 /lib64/ld64.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
+
+ # In the LSB 5.0 definition, someone had the excellent idea to "standardize"
+ # the runtime loader name, see also https://xkcd.com/927/
+ # Normally, in Gentoo one should never come across executables that require this.
+ # However, binary commercial packages are known to adhere to weird practices.
+ # https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-AMD64/LSB-Core-AMD64.html#BASELIB
+ local lsb_ldso_name native_ldso_name lsb_ldso_abi
+ local lsb_ldso_abi_list=(
+ # x86
+ amd64 ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3
+ )
+ for (( i = 0; i < ${#lsb_ldso_abi_list[@]}; i += 3 )) ; do
+ lsb_ldso_abi=${lsb_ldso_abi_list[i]}
+ native_ldso_name=${lsb_ldso_abi_list[i+1]}
+ lsb_ldso_name=${lsb_ldso_abi_list[i+2]}
+ has ${lsb_ldso_abi} $(get_install_abis) || continue
+
+ if [[ ! -L ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} && ! -e ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} ]] ; then
+ dosym ${native_ldso_name} "$(alt_prefix)/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_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
+
+ keepdir /usr/lib/locale
+
+ cd "${S}"
+
+ # Install misc network config files
+ insinto /etc
+ doins posix/gai.conf
+
+ if use systemd ; then
+ doins "${WORKDIR}/glibc-systemd-${GLIBC_SYSTEMD_VER}/gentoo-config/nsswitch.conf"
+ else
+ doins nss/nsswitch.conf
+ fi
+
+ # Gentoo-specific
+ newins "${FILESDIR}"/host.conf-1 host.conf
+
+ if use nscd ; then
+ doins nscd/nscd.conf
+
+ newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd
+
+ local nscd_args=(
+ -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):"
+ )
+
+ sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd
+
+ use systemd && systemd_dounit nscd/nscd.service
+ newtmpfiles nscd/nscd.tmpfiles nscd.conf
+ fi
+
+ echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc
+ doenvd "${T}"/00glibc
+
+ for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do
+ [[ -s ${d} ]] && dodoc ${d}
+ done
+ dodoc -r ChangeLog.old
+
+ # Prevent overwriting of the /etc/localtime symlink. We'll handle the
+ # creation of the "factory" symlink in pkg_postinst().
+ rm -f "${ED}"/etc/localtime
+
+ # Generate all locales if this is a native build as locale generation
+ if use compile-locales && ! is_crosscompile ; then
+ run_locale_gen --inplace-glibc "${ED}/"
+ sed -e 's:COMPILED_LOCALES="":COMPILED_LOCALES="1":' -i "${ED}"/usr/sbin/locale-gen || die
+ fi
+}
+
+glibc_headers_install() {
+ local builddir=$(builddir "headers")
+ cd "${builddir}"
+ emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers
+
+ insinto $(alt_headers)/gnu
+ doins "${S}"/include/gnu/stubs.h
+
+ # Make sure we install the sys-include symlink so that when
+ # we build a 2nd stage cross-compiler, gcc finds the target
+ # system headers correctly. See gcc/doc/gccinstall.info
+ dosym usr/include $(alt_prefix)/sys-include
+}
+
+src_install() {
+ if just_headers ; then
+ export ABI=default
+ glibc_headers_install
+ return
+ fi
+
+ foreach_abi glibc_do_src_install
+
+ if ! use static-libs ; then
+ einfo "Not installing static glibc libraries"
+ find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete
+ fi
+}
+
+# Simple test to make sure our new glibc isn't completely broken.
+# 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
+
+ # first let's find the actual dynamic linker here
+ # symlinks may point to the wrong abi
+ local newldso=$(find . -name 'ld*so.?' -type f -print -quit)
+
+ einfo Last-minute run tests with ${newldso} in /$(get_libdir) ...
+
+ 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 \
+ ${newldso} --library-path . ${x} > /dev/null \
+ || die "simple run test (${x}) failed"
+ done
+
+ popd >/dev/null
+}
+
+pkg_preinst() {
+ # nothing to do if just installing headers
+ just_headers && return
+
+ # prepare /etc/ld.so.conf.d/ for files
+ mkdir -p "${EROOT}"/etc/ld.so.conf.d
+
+ # Default /etc/hosts.conf:multi to on for systems with small dbs.
+ if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then
+ sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf
+ einfo "Defaulting /etc/host.conf:multi to on"
+ fi
+
+ [[ -n ${ROOT} ]] && return 0
+ [[ -d ${ED}/$(get_libdir) ]] || return 0
+ [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check
+
+ if [[ -L ${EROOT}/usr/lib/locale ]]; then
+ # Help portage migrate this to a directory
+ # https://bugs.gentoo.org/753740
+ rm "${EROOT}"/usr/lib/locale || die
+ fi
+
+ # Keep around libcrypt so that Perl doesn't break when merging libxcrypt
+ # (libxcrypt is the new provider for now of libcrypt.so.{1,2}).
+ # bug #802207
+ if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then
+ PRESERVED_OLD_LIBCRYPT=1
+ cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" "${T}/libcrypt$(get_libname 1)" || die
+ else
+ PRESERVED_OLD_LIBCRYPT=0
+ fi
+}
+
+pkg_postinst() {
+ # nothing to do if just installing headers
+ just_headers && return
+
+ if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then
+ # Generate fastloading iconv module configuration file.
+ "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}/"
+ fi
+
+ if ! is_crosscompile && [[ -z ${ROOT} ]] ; then
+ use compile-locales || run_locale_gen "${EROOT}/"
+ fi
+
+ if systemd_is_booted && [[ -z ${ROOT} ]] ; then
+ # We need to restart systemd when upgrading from < 2.34
+ # bug #823756
+ systemctl daemon-reexec
+ 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
+
+ if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then
+ cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die
+ preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1)
+
+ elog "Please ignore a possible later error message about a file collision involving"
+ elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep"
+ elog "the upgrade working, but it also needs to be overwritten when"
+ elog "sys-libs/libxcrypt is installed. See bug 802210 for more details."
+ fi
+}
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index ce5ad8d3c43d..79318fb53543 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -723,6 +723,20 @@ sanity_prechecks() {
fi
}
+upgrade_warning() {
+ if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then
+ local oldv newv=$(ver_cut 1-2 ${PV})
+ for oldv in ${REPLACING_VERSIONS}; do
+ if ver_test ${oldv} -lt ${newv}; then
+ ewarn "After upgrading glibc, please restart all running processes."
+ ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)."
+ ewarn "Alternatively, reboot your system."
+ break
+ fi
+ done
+ fi
+}
+
#
# the phases
#
@@ -733,6 +747,7 @@ pkg_pretend() {
# All the checks...
einfo "Checking general environment sanity."
sanity_prechecks
+ upgrade_warning
}
pkg_setup() {
@@ -1197,13 +1212,13 @@ run_locale_gen() {
root="$2"
fi
- local locale_list="${root}/etc/locale.gen"
+ local locale_list="${root%/}/etc/locale.gen"
pushd "${ED}"/$(get_libdir) >/dev/null
if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
[[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
- locale_list="${root}/usr/share/i18n/SUPPORTED"
+ locale_list="${root%/}/usr/share/i18n/SUPPORTED"
fi
set -- locale-gen ${inplace} --jobs $(makeopts_jobs) --config "${locale_list}" \
@@ -1540,6 +1555,8 @@ pkg_postinst() {
use compile-locales || run_locale_gen "${EROOT}/"
fi
+ upgrade_warning
+
# Check for sanity of /etc/nsswitch.conf, take 2
if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then
local entry
diff --git a/sys-libs/glibc/metadata.xml b/sys-libs/glibc/metadata.xml
index a87c547c6a07..613e58eff7ee 100644
--- a/sys-libs/glibc/metadata.xml
+++ b/sys-libs/glibc/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<use>
<flag name="cet">Enable Intel Control-flow Enforcement Technology (needs binutils 2.29 and gcc 8)</flag>
+ <flag name="clone3">Enable the new clone3 syscall within glibc. Can be disabled to allow compatibility with older Electron applications.</flag>
<flag name="compile-locales">build *all* locales in src_install; this is generally meant for stage building only as it ignores /etc/locale.gen file and can be pretty slow</flag>
<flag name="crypt">build and install libcrypt and crypt.h</flag>
<flag name="debug">When USE=hardened, allow fortify/stack violations to dump core (SIGABRT) and not kill self (SIGKILL)</flag>
diff --git a/sys-libs/kpmcore/Manifest b/sys-libs/kpmcore/Manifest
index b29d8ecab217..638804342746 100644
--- a/sys-libs/kpmcore/Manifest
+++ b/sys-libs/kpmcore/Manifest
@@ -1,5 +1,7 @@
-DIST kpmcore-21.04.3.tar.xz 586264 BLAKE2B b9733f8b941fed98503e78b9c0357e002df92a39c4e70885822f6bb8944cf2c76be1fbba23e4cedf104b46a95832e72d2384c0d78abde312e0b2be40aa4d5745 SHA512 44614e3a0db646b81e56b87daa841b7b7e03ff97699ea393d83b6cc61e6c12efa36ac6b8aba87da612f2973a1d108bdad21ef0d73fc2db98595e5b711e5a0fcf
+AUX kpmcore-21.08.3-dont-destroy-zfs-pool.patch 1539 BLAKE2B 926b93a359383686e341a52ac5a74b20b48e9c8e66ff0b61ebaeaf39137ea1f96600951c41b503c903d778767547717b271d7052f688e46964873e8ba3e2c81e SHA512 3da2cadc6ab753edaf502dbca775cd96700096b2b28d9ad63039872e6728d111b855b77d77b9b2481ff439945f094f35e071425584e752c92ddc53ed5b5ae96e
+AUX kpmcore-21.08.3-fix-seek-error-when-shred-partition.patch 1017 BLAKE2B 88775e15a0d7ab025645f3423675cc6a141ce343eb91c8f352cc5e32dbb4e02c11763c777fb7eccea653eeec49adaefe407261d3415745d4c561a00999ffbcb6 SHA512 2321b77cb3f80de4ff94dc886f06317bb6f3a09080d71b9e3ffbc87c6091332e6dc4e01b7c33da4724683c860f6df7b547a3c10be38f48310cbd707707e9688d
DIST kpmcore-21.08.3.tar.xz 589464 BLAKE2B 188a702b21976c352bea49c3e40e86c6d3f85b398c3dc9577301471c49cbbf8f161a5f6b62acfc020bcd9530aab2739a39023170c7586a1f18e52add4b2d6ecd SHA512 16570fe9b5e4e83d26b1c2e591d797cd23f37a2195ac5f043ee921d038d0e10d63f9d2c72c4d710e10eeb05d81a6df577f9ddb48b762b034154e399560daa7a7
-EBUILD kpmcore-21.04.3.ebuild 738 BLAKE2B 283bdba57268a73410f37b011dc4b1d975bd4319497aed024073950a695c13ceb7b7912966da86ebbd71181a70539b443c81062f4abdf60895cb672e39688d4e SHA512 ec32c6db3717e1c8be8fff04cd566ef313fb5a7c6c6de2dc6d7b3dd18fcd4ebec16ee24d92bd8ff094dba7dc1ccb51f4eb921cc193eb4023096c346e5e955f6b
-EBUILD kpmcore-21.08.3.ebuild 739 BLAKE2B b33db70a783bbfabdd5c3863896d8914346cb18e22a806a14418ed6800365d800f348e3b8540c063f33c78ce186240abe18274980ba165021b93824280da4e2e SHA512 8d73b3aca6a8ec64a2e93ee1f59f6ebe6d6bfa857067bcab8eb776795f2deb6789eb686ac55272b225a26c0549aea735fa8249d8c548a89f4882e8af33b17dda
+DIST kpmcore-21.11.90.tar.xz 594208 BLAKE2B 972ec50bf2deb8d9c987cc1902d3b744a668010e2f081a27307349ecae0629a2a7e75844450df6b2f2be584d2c47eeeeffcabff8a65b5730dfef0140ddc28f4d SHA512 c975c0221b711976551a1f9457329da5c52dd2ba8e582ef0e92be0f8bb1fe51c92df875044c1f8c6ed55b7e8c008215bf43cb9b98486dbc11b17acd58e15dbdf
+EBUILD kpmcore-21.08.3-r1.ebuild 859 BLAKE2B ce8a1d8701008c122a79d78d39f3b744015848db11202201493ced6b342da5cc4cf40fe02f9ba75862c6f2f3f2a473695676d85ea44b588bc212e8e2e2259824 SHA512 dc3bc3f41ac00c73c4403dd4b07cb4be14e63ed30a78d0228391a5b40abdcd51bdbc9faa4c3359e3dff029a5c5ed26aced47f3dd3af9431933c161749b55b8dd
+EBUILD kpmcore-21.11.90.ebuild 739 BLAKE2B d61b51f7d4f75c83a52ecbb5aef0db9bb96992ef84783079cd2f58d094a99bda659756b140988bfc27137eb641f14ab1d904a3af2b3ee64fb3efce2207440354 SHA512 fa9f6bc514b18cfa9b737d1c4223d2dbf312d95d5d46dfa10a0b1b5b0530e5441803c8c70e5766ca4d1526b149613fabff2e18e58eb77292fb87975250eeef57
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
diff --git a/sys-libs/kpmcore/files/kpmcore-21.08.3-dont-destroy-zfs-pool.patch b/sys-libs/kpmcore/files/kpmcore-21.08.3-dont-destroy-zfs-pool.patch
new file mode 100644
index 000000000000..83cc15d0f2d5
--- /dev/null
+++ b/sys-libs/kpmcore/files/kpmcore-21.08.3-dont-destroy-zfs-pool.patch
@@ -0,0 +1,46 @@
+From 282cfdcde179ec44d053b257e13aa715158596bd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= <andrius@stikonas.eu>
+Date: Sat, 30 Oct 2021 21:13:07 +0100
+Subject: [PATCH] Do not destroy zfs pool when removing zfs partition.
+
+This can be dangerous, e.g. if partition is part of raid set.
+So better be more cautious and in some cases fail to remove partition
+than lose data.
+---
+ src/fs/zfs.cpp | 7 -------
+ src/fs/zfs.h | 1 -
+ 2 files changed, 8 deletions(-)
+
+diff --git a/src/fs/zfs.cpp b/src/fs/zfs.cpp
+index 5d12894..5f4c87d 100644
+--- a/src/fs/zfs.cpp
++++ b/src/fs/zfs.cpp
+@@ -77,13 +77,6 @@ qint64 zfs::maxCapacity() const
+ return Capacity::unitFactor(Capacity::Unit::Byte, Capacity::Unit::EiB);
+ }
+
+-bool zfs::remove(Report& report, const QString& deviceNode) const
+-{
+- Q_UNUSED(deviceNode)
+- ExternalCommand cmd(report, QStringLiteral("zpool"), { QStringLiteral("destroy"), QStringLiteral("-f"), label() });
+- return cmd.run(-1) && cmd.exitCode() == 0;
+-}
+-
+ bool zfs::writeLabel(Report& report, const QString& deviceNode, const QString& newLabel)
+ {
+ Q_UNUSED(deviceNode)
+diff --git a/src/fs/zfs.h b/src/fs/zfs.h
+index 6e559de..61026c3 100644
+--- a/src/fs/zfs.h
++++ b/src/fs/zfs.h
+@@ -35,7 +35,6 @@ public:
+ public:
+ void init() override;
+
+- bool remove(Report& report, const QString& deviceNode) const override;
+ bool writeLabel(Report& report, const QString& deviceNode, const QString& newLabel) override;
+
+ CommandSupportType supportGetUsed() const override {
+--
+GitLab
+
diff --git a/sys-libs/kpmcore/files/kpmcore-21.08.3-fix-seek-error-when-shred-partition.patch b/sys-libs/kpmcore/files/kpmcore-21.08.3-fix-seek-error-when-shred-partition.patch
new file mode 100644
index 000000000000..568db790c7e9
--- /dev/null
+++ b/sys-libs/kpmcore/files/kpmcore-21.08.3-fix-seek-error-when-shred-partition.patch
@@ -0,0 +1,27 @@
+From e9fc875c5e233401afd12f54ab0472c66ff6fdff Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= <andrius@stikonas.eu>
+Date: Fri, 12 Nov 2021 01:02:15 +0000
+Subject: [PATCH] Fix seek error when filling device with random data or
+ zeroes.
+
+---
+ src/util/externalcommandhelper.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/util/externalcommandhelper.cpp b/src/util/externalcommandhelper.cpp
+index 6e61aba..0fa400d 100644
+--- a/src/util/externalcommandhelper.cpp
++++ b/src/util/externalcommandhelper.cpp
+@@ -80,7 +80,8 @@ bool ExternalCommandHelper::readData(const QString& sourceDevice, QByteArray& bu
+ return false;
+ }
+
+- if (!device.seek(offset)) {
++ // Sequential devices such as /dev/zero or /dev/urandom return false on seek().
++ if (!device.isSequential() && !device.seek(offset)) {
+ qCritical() << xi18n("Could not seek position %1 on device <filename>%2</filename>.", offset, sourceDevice);
+ return false;
+ }
+--
+GitLab
+
diff --git a/sys-libs/kpmcore/kpmcore-21.04.3.ebuild b/sys-libs/kpmcore/kpmcore-21.08.3-r1.ebuild
index 89b01d630c8b..dbf7c293053e 100644
--- a/sys-libs/kpmcore/kpmcore-21.04.3.ebuild
+++ b/sys-libs/kpmcore/kpmcore-21.08.3-r1.ebuild
@@ -1,11 +1,11 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
ECM_NONGUI="true"
KDE_GEAR="true"
-KFMIN=5.80.0
+KFMIN=5.84.0
QTMIN=5.15.2
inherit ecm kde.org
@@ -18,9 +18,8 @@ KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
IUSE=""
# bug 689468, tests need polkit etc.
-RESTRICT+=" test"
+RESTRICT="test"
-BDEPEND="virtual/pkgconfig"
DEPEND="
>=dev-qt/qtdbus-${QTMIN}:5
>=dev-qt/qtgui-${QTMIN}:5
@@ -32,3 +31,9 @@ DEPEND="
sys-auth/polkit-qt
"
RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${P}-dont-destroy-zfs-pool.patch"
+ "${FILESDIR}/${P}-fix-seek-error-when-shred-partition.patch"
+)
diff --git a/sys-libs/kpmcore/kpmcore-21.08.3.ebuild b/sys-libs/kpmcore/kpmcore-21.11.90.ebuild
index ba39ac6ae27c..9cf2587af684 100644
--- a/sys-libs/kpmcore/kpmcore-21.08.3.ebuild
+++ b/sys-libs/kpmcore/kpmcore-21.11.90.ebuild
@@ -5,7 +5,7 @@ EAPI=8
ECM_NONGUI="true"
KDE_GEAR="true"
-KFMIN=5.84.0
+KFMIN=5.88.0
QTMIN=5.15.2
inherit ecm kde.org
diff --git a/sys-libs/ldb/Manifest b/sys-libs/ldb/Manifest
index 2e5ca44fdab7..a0954b2f691e 100644
--- a/sys-libs/ldb/Manifest
+++ b/sys-libs/ldb/Manifest
@@ -5,7 +5,7 @@ DIST ldb-2.3.2.tar.gz 1718583 BLAKE2B 48b9fb77e414af0f9fffe0cda9cf49971d79ed8b66
DIST ldb-2.4.0.tar.gz 1689484 BLAKE2B 904d74900011ce3f63ad1c24fe88b1a090e835c68829ddfda5e8af2c0ab3674d7a8cd9a62b95c1f38f26578d0704556d3562e46e21a54cbb44a15b9d83676521 SHA512 6c500b723c081488bc0717b6a5b0e8966c5d8a751232f8856281a6fe4d358ae6b5878c8400a82fa666379066105fbb9259b2967313e73efabef0e1386095e2ee
DIST ldb-2.4.1.tar.gz 1719769 BLAKE2B 868d3dcc51bd8272d99f2335ed1af2e37506b6a175254f1aca37f758488ba0997e37419a7d8c81def77698128307df97de26d4807ac78c34088f7a623f8d9e68 SHA512 14ab5397d28c369142b2ccf55a2ab4e678a3fe6e018541cfce46241f8226400bc169360bbef254fae4410a6e15024ae986f02298d3d324e3d3a8b88801bf76d7
EBUILD ldb-2.3.1.ebuild 2958 BLAKE2B 4772b687017e2bf2b3caf8b0036e973351b1870999cda1f4d97734de5b7823a4a04881df2cc5dfd971ef74c649e6d208fe89b9a1b0e93b4edbd068d3c7e49cbc SHA512 a79c712823172a0d057066fa9130aa3d1044002cd26984714d60a9df8073cdbc119f2b497adaafee6ec06f42068e9ec287741c78adcaf77b58d58f3f2312390f
-EBUILD ldb-2.3.2.ebuild 2965 BLAKE2B a48500904765bee47cb1602681eba2a315975dda608fadbbcd5e92035152a3b001c66520b9dcd40e0984c17b06cd9ec28d641e0311a1a62938f2242d1fb42194 SHA512 954d17af1bb7bcb1129deb25697cefa10876c50d478d7d7b302d1ad14cac95d2d55f7c6d5d6aaecabbda9a43c6ec021fc6f4a258ab170790bf54f0e93640a5a7
+EBUILD ldb-2.3.2.ebuild 2958 BLAKE2B 4772b687017e2bf2b3caf8b0036e973351b1870999cda1f4d97734de5b7823a4a04881df2cc5dfd971ef74c649e6d208fe89b9a1b0e93b4edbd068d3c7e49cbc SHA512 a79c712823172a0d057066fa9130aa3d1044002cd26984714d60a9df8073cdbc119f2b497adaafee6ec06f42068e9ec287741c78adcaf77b58d58f3f2312390f
EBUILD ldb-2.4.0-r1.ebuild 2965 BLAKE2B 5293b2e50baafd1d8456a754479490e7c33d901107c5e02626b776067b8b7513f3d5256bc651a31823f7f0dea9ec1f2ec0caa1044c0fb883fbed83555c27c1d2 SHA512 0e07f17782c88dd472d1d7e55df6241c04e535fbe7cb1cc7511dfb98fb2c13bb5b7e9ec0f101a93b50ca20eab5b439139c511ae4a707b630a3fd1adc470ac0c0
EBUILD ldb-2.4.1.ebuild 2966 BLAKE2B 73acc4a2d887f831270afcabd5e8fbd5f864b040b77b1dbe169b1738dfab673641a9447e3cc5c35e69812698b7f980d803b26b4ab021032bbd70ae8027232d5c SHA512 0faa4a0b011ab32d57845ee12da878b13120775474c26321dc4d02fb9aa6f0a4c735d27f88ccce67adc98b2818658383b5263051031c227cdc3f7b4ac0045d40
MISC metadata.xml 526 BLAKE2B 004dbbf0286ced4bcd404eb3caf091f973e67e00b9230d2399f07dcb31d93a423045b353c1813958da151cded2f52996608de1b4294e3cb90cb8da0ac8877f9f SHA512 9f8008b5b57e5f73e79df68d828f1644edb0a154fa97504c3088301aa60e6ba3ac83a2e06d55d14c06cded89196dd635598f1d767ca93398cbf9610af3b49038
diff --git a/sys-libs/ldb/ldb-2.3.2.ebuild b/sys-libs/ldb/ldb-2.3.2.ebuild
index 5444904e23cf..b6e69d0d5297 100644
--- a/sys-libs/ldb/ldb-2.3.2.ebuild
+++ b/sys-libs/ldb/ldb-2.3.2.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/pub/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc ldap +lmdb python test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
diff --git a/sys-libs/libblockdev/Manifest b/sys-libs/libblockdev/Manifest
index ee9173c8d115..4838efc018fe 100644
--- a/sys-libs/libblockdev/Manifest
+++ b/sys-libs/libblockdev/Manifest
@@ -1,6 +1,6 @@
DIST libblockdev-2.25.tar.gz 930238 BLAKE2B ae28c40b5e114826baf4a8ba9012267b297dbc4abee52669cf39c886d2c9989291f41937ec742c7457049a6a30e674f9c89ad6478923f393ae1773db3afcf621 SHA512 628d05f3a257b44208a9d0b5d84ae248fefd415812d9a93d132c03039b09fefc4d6110beb9aa0d3072e3f0c992e642d7867d0241209056538f132f86a748e195
DIST libblockdev-2.26.tar.gz 932129 BLAKE2B 39d95db69de917449e6009fa0160b6288327b2c49b64309d17a1e4e028756d1ce170779ce1c4df926c8796d8a8ed7b9131b5d4b51115a3ea901dacdaa971961a SHA512 ddd4e9c22135bd7dad0bb9bc254ac0c63e3bacc592e7c5a0c846e367da3fc248bf6187f1c81407c3bce599d3b0ceeec9a8a0030ad8e981e245f715b35eaec523
EBUILD libblockdev-2.25.ebuild 2613 BLAKE2B 848c426ed0dc619799901680eb16d5d00d94c36894adf29c9b8338edb711a090d57ebadd94d6dc720217902fda2390f1d45f46c41febe3dee89333b42fd845f8 SHA512 781c02b20d97d28430ba2834998c62aff5721e6b9f36f7e2325285dbaab4eaa7adf5b2511caf6accf48d0935c9bdff455c976c7f0b4a9bebc36c31c71fd919ad
-EBUILD libblockdev-2.26.ebuild 2620 BLAKE2B abdec73cdc1336f734acd7658dc0869f3b05c0653c0cb52b976393f5e4056196cc5e98f5b1072812ae0c593d93eddcf905cb814bb592d3c2b025a738dd08174e SHA512 90894691d584bea79837c9b6c216c7104ffbe59c928ba7c3d7f491cae90650870e12489771c2c62403481580f01d3f331760a61b442a0ffcd40c2666555739e2
-EBUILD libblockdev-9999.ebuild 2620 BLAKE2B abdec73cdc1336f734acd7658dc0869f3b05c0653c0cb52b976393f5e4056196cc5e98f5b1072812ae0c593d93eddcf905cb814bb592d3c2b025a738dd08174e SHA512 90894691d584bea79837c9b6c216c7104ffbe59c928ba7c3d7f491cae90650870e12489771c2c62403481580f01d3f331760a61b442a0ffcd40c2666555739e2
+EBUILD libblockdev-2.26.ebuild 2886 BLAKE2B 42732b4d5822bb2c5f512064dc4367d46a310a9a68eb4f3ee693b94c220a87cbbe666a8c850e3623be5db260bb3839f0b3965b8c354733c22221ee54d9b5827b SHA512 01b97554ec2e6870bbb0e3e8cd0636daacbc3b1636c75e18765273656668c572e2cb39ac68b0c228808208dd74ea5d8aeb5c709a0a8e45fcc15c828720a6d8b3
+EBUILD libblockdev-9999.ebuild 2886 BLAKE2B 42732b4d5822bb2c5f512064dc4367d46a310a9a68eb4f3ee693b94c220a87cbbe666a8c850e3623be5db260bb3839f0b3965b8c354733c22221ee54d9b5827b SHA512 01b97554ec2e6870bbb0e3e8cd0636daacbc3b1636c75e18765273656668c572e2cb39ac68b0c228808208dd74ea5d8aeb5c709a0a8e45fcc15c828720a6d8b3
MISC metadata.xml 1080 BLAKE2B e959d07886b20d615c369d2a9dd621f7b4af9cb3a93c425cf9ac1c64179eeb09f9b78d95bfc5b8deabe50e9d6bc6f5364eb4ace76c1b8f7f5aab2f01f83e1c08 SHA512 7f6fe7ab61119dcd024bc8a6fd62d2b60ac59e5eb70244d13e62c8e35279db8690717e67381ae05eb10b4b7e6cdeedb8c5b423ddd7fb8e750a77e2d254e6162d
diff --git a/sys-libs/libblockdev/libblockdev-2.26.ebuild b/sys-libs/libblockdev/libblockdev-2.26.ebuild
index 7a897bf92547..0682b4b778eb 100644
--- a/sys-libs/libblockdev/libblockdev-2.26.ebuild
+++ b/sys-libs/libblockdev/libblockdev-2.26.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{7..10} )
inherit autotools python-single-r1 xdg-utils
DESCRIPTION="A library for manipulating block devices"
@@ -25,7 +25,9 @@ fi
LICENSE="LGPL-2+"
SLOT="0"
IUSE="bcache +cryptsetup device-mapper dmraid escrow gtk-doc introspection lvm kbd test +tools vdo"
-RESTRICT="!test? ( test )"
+# Tests require root. In a future release, we may be able to run a smaller
+# subset with new run_tests.py arguments.
+RESTRICT="!test? ( test ) test"
RDEPEND="
>=dev-libs/glib-2.42.2
@@ -107,6 +109,13 @@ src_configure() {
econf "${myeconfargs[@]}"
}
+src_test() {
+ # See http://storaged.org/libblockdev/ch03.html
+ # The 'check' target just does Pylint.
+ # ... but it needs root.
+ emake test
+}
+
src_install() {
default
find "${ED}" -type f -name "*.la" -delete || die
diff --git a/sys-libs/libblockdev/libblockdev-9999.ebuild b/sys-libs/libblockdev/libblockdev-9999.ebuild
index 7a897bf92547..0682b4b778eb 100644
--- a/sys-libs/libblockdev/libblockdev-9999.ebuild
+++ b/sys-libs/libblockdev/libblockdev-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{7..10} )
inherit autotools python-single-r1 xdg-utils
DESCRIPTION="A library for manipulating block devices"
@@ -25,7 +25,9 @@ fi
LICENSE="LGPL-2+"
SLOT="0"
IUSE="bcache +cryptsetup device-mapper dmraid escrow gtk-doc introspection lvm kbd test +tools vdo"
-RESTRICT="!test? ( test )"
+# Tests require root. In a future release, we may be able to run a smaller
+# subset with new run_tests.py arguments.
+RESTRICT="!test? ( test ) test"
RDEPEND="
>=dev-libs/glib-2.42.2
@@ -107,6 +109,13 @@ src_configure() {
econf "${myeconfargs[@]}"
}
+src_test() {
+ # See http://storaged.org/libblockdev/ch03.html
+ # The 'check' target just does Pylint.
+ # ... but it needs root.
+ emake test
+}
+
src_install() {
default
find "${ED}" -type f -name "*.la" -delete || die
diff --git a/sys-libs/libcap/Manifest b/sys-libs/libcap/Manifest
index c80ac99e3db4..e4b1322543a5 100644
--- a/sys-libs/libcap/Manifest
+++ b/sys-libs/libcap/Manifest
@@ -1,16 +1,12 @@
AUX libcap-2.21-include.patch 218 BLAKE2B 536be33e749bc818efb29e3a7a010029025520c4694178aa1d85bf0c48abfca4c77f940b4fbb9bd08464edc31af657960fc41cab71d112ebf3573d1aa1f23148 SHA512 637f5dc2d7ead44a19a57db436ddf7e8afa1b368c72e5520a1ac77633c20b0f9a2af9defdafed1edb7209474798d1bcd236c712a160b5c6920d8864411baefed
-AUX libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch 988 BLAKE2B 63417032b843ff7cb704c9880cfca4db5083d05d479c71dd12925d729f22a4900c2ae277a20399d58830eaca969842d587a2ae0a646809d6b659a75d13678312 SHA512 ba573ce68858c1370f3d25ad03678a534e6f3052076694d09e795d1febf2f3d76a6a170658b71d9e31105521fd5d22dd72095585a5402286dba424937064b389
-AUX libcap-2.38-no_perl.patch 3049 BLAKE2B 77fdcda75b273fd69695161d48f37fda40375f5f36acdb31e9f9e5b7585e6933733586c6ad96673efb79a6657dbbffd4431612ed723905e9f4d595a9dd8c49c4 SHA512 f3938a8a78407639bfdda4d9c4b4096025f956430f9efbce438689aabbea74915c55c6afbd45a7af4ecc0c437ee72e9aa8335da52d3237c928702e62824e537a
-AUX libcap-2.48-build-system-fixes.patch 6274 BLAKE2B 4c81eb50b0a682ca9df03145a53e884589e0961e1b754b522f40d48fca60fe983ae93349d256e62977bf28c99c8c25763d05aa8483aebfc436664756a220d70a SHA512 5b88a5c5ea14d2270ed4018249ceb32b0c91db03ed18a6989cc44250da91887385dc3f37087f716771ddbaa90c7e3d733a64063507465eb354252d9f64b85f80
-AUX libcap-2.57-parallel-make.patch 1103 BLAKE2B f5c1517577d7c34ed8a4b9fcc8527e93a5b6301b3c2bbcfda21f3caa4bd3c22e6d524ea19f93c645f4f93153a71f93c132c97bac90594d4abbb3bb629d175daf SHA512 06e2d5d3bc757760b3bddedaec88373a7aef7d9052003bac46fe491d2e356247f0f1b199dc1ea11cfd368a5c047e8621e8f0cf8a1d82407deeee2ebde60f67a5
+AUX libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch 827 BLAKE2B 0ed207a478c50dd9f3590cd36ab4b37e6c41ddb266709b1bf012cf11dec0c2f8e3f0cbb0918f3be72831321aa8953f936a2706f1038c4ce5287c73dc83887e43 SHA512 d0302604e28ed2354214d315a812422355f98cd69d2b3089dd20cef1e243e4ac433ae47026b57a8f6db66572693ce2523af6cb2a8e4715af266442de7dd33e9b
+AUX libcap-2.38-no_perl.patch 2856 BLAKE2B f10169dab10a60973a5fbbbe55a14342a7a582dd79a40a0ca33f3cc3cbd5c695ef7cfcce28d6448df8875903f53e265b85c6738d8fe8800bfa1e596748deecbe SHA512 6b3fdebe763b7f7300c4e6c16140f95c490e8fdd9a8d7b6ddf250299a32dcbd78b3a3936cf8bbeb381cd305966b37f381a26965e3ff91944ebdac22e810ec49f
+AUX libcap-2.48-build-system-fixes.patch 5591 BLAKE2B 20fce03037ffbd59e3000f7c757d698c412d5709d2a575b5b59197b263097a445684509b2d0b8d77ea0e3e39f7660147e676a12b8e56fc1e2204f8c8a8da1fe7 SHA512 a7e22630b2690b039f9b257dc148868ee9c5b397bab2bd9d6591ab57929be7fb9c75db2a51f08815a618756743299b08537d93eb7507a984eb7bcf086e82ff10
+AUX libcap-2.61-Wformat.patch 723 BLAKE2B c337561e8505a2d6afac05aa9f4b628ac3305c0fe5963d5b8ffd4767e5f8e4e5e01490801b91c2bc6bf676f9b86f95d600def2e3e02ebcee6e9a568e17cbd126 SHA512 810cc4249c0b64f5e7aa5308dfd0d491ace50b02a55b40696b0136a71213e3c600a853a68940411c3cb64a63af4b9c65f839803533ed29e475bfded2b571d51d
+AUX libcap-2.61-ignore-RAISE_SETFCAP-install-failures.patch 813 BLAKE2B 0f2fffffab12d4c1cdd939aae5f8cb0e73073feec92af9f4bf44005a545c991d9649307370061a5dcbaa30285761276549da9253c891fc5ea0108f552c04cd8e SHA512 1ed308be3e66bb315584aa0bf7915893b168850fe9ef7c5035214abc6a2eea5371aaa7f14c2f2790e60c4024e7bb0c08eabb1b8ed63eb22113644d95f057b533
+AUX libcap-2.61-no_perl.patch 2469 BLAKE2B d059cb89175b413f5ddabc2c30e4c8f37226cbd589b936ba0cd94f9529d46abffa2679125e9c8e8f939ef3c7c0e68a1b3b16685ce5b386d82176862a05428bf6 SHA512 0706d6b5ee2d93fe58ae53c9850622b21531af682d4774ecaccb04bab11a45393c46a5c9c64ba3d2df1cf2b25152c72145f66951a9a16ac0452700b503f96d86
DIST libcap-2.49.tar.xz 139568 BLAKE2B 5746dcdf2a737e747450bd50a701ee8543277b17b7fbf1304b79f707a088ea74dc6dc79c61ff89b55b718a460a7b0814f960f44d07944a97b832b78f4e14e07f SHA512 2934a2ded1370edeb9603dbf43d8ca23a2eb5d67efc5cec5d4ba96c707a8db2702da8aa9be0cb86c5ff100d37ec96115c7777a7566ad0ab2e0b4a288bbe357d0
-DIST libcap-2.57.tar.xz 167740 BLAKE2B e0c004f3d11caf824d907315e6102707bb34c0ef3e9d430f23c191d711f073267ef6dc44463e2ce8041b8d13658b0c20560f7f3c6387f770ff9e66b81ff9f5d3 SHA512 5c70b3c6a1248ca0de92538614f0d0d516d72f6f25b135c92738c377b67533662e6fd6b0b61cb051ec99f406387d3334fcc7ddb54789626e4c387bcf46ebffbf
-DIST libcap-2.58.tar.xz 168520 BLAKE2B 9f160c08e7e8bcb9eb49ab6a7a0805145461613a946ccfebeadc269b26331eadc9f467437b2f5b022e9a545b034ea4fd8fed4d5893e84d9a48dd85318810b974 SHA512 092e45f82113293e1c2db7e51dca7298496c2a3af08eb41107e8c2b4798c25d3c9059e152181dc048b232fe0e59c4c3beaa158da2e5798cd6e1013d85226a9cf
-DIST libcap-2.59.tar.xz 168404 BLAKE2B 5db562b389f2c4034b5fa840a14f7fd7ada49470fea8d13828b2c302a7d768831a6215593d21938b8e1d5bd65fa0581628809526fa5f6091ca4eac5e884cd38c SHA512 296c11259e1b4d577b3527ab5e2160be3f94a2bee7d63d1b7feadc603f7e160b72f8c8ede34dec269f5eb7595304ff290693803be778bdbbe088de0e99a33812
-DIST libcap-2.60.tar.xz 170744 BLAKE2B 858b5133a5cb2f3b30dab569a6c9f2097034318c90419fa2372e0b28c891160f5e84b54b302b2d98664df8f7c44df78eb3cb4e47b328cecd4c27e7ab223045ae SHA512 f2ff0d81df7251c05decda706ccc6463ce58df6a3c542fe479328dce5416f77aa5c6a09a1ab05a1d1a3638e6dae5c0e546aaa4824843a570700a8927fb7f73e6
+DIST libcap-2.61.tar.xz 173892 BLAKE2B 50874d3510ab2476aaceb775314d98744736aacd7364a23827756caa160c101e8bc890b7c33b5e19df8b30bb6b3b1c2be323e4b6a963f97e9ee557e86b4f13a0 SHA512 40096bf511d1c45e36f5d7f24e49c709528f3f01fcadd47b6ac40a7e8d5f1705b29b4cc56356b030639f67d0641b9f4e7c19449c3c7f4f77a4070c35745b465c
EBUILD libcap-2.49-r1.ebuild 2127 BLAKE2B d77712422b1cb13b04b1a18e573c20151b03098a9effaee4a62b51f4035eac2f3dcc2760f6050d05220dca63edbd978df79299e6be4c885a73ec7a079d1cd558 SHA512 fb01c7f3c68d3fa55221bc0602c21ddb399121f97a0a3c9ef5788bbecb3912cc9f9924bd0339e27acc3103d3a1e110b4029f99c27a7232fd83229075383d898b
-EBUILD libcap-2.57.ebuild 2218 BLAKE2B 31b59f3288097cbad2db73d8a08f6c92dd20e8f3db24ca3a70e38d6d8d07294833eb6773db1822b508c11fc7af47f30b422f0c578dd7f4d029e5af278e77cfd9 SHA512 ebf697457e90c80c89f67b0d1087856edb50a5ec7dc2cc45d13ad3e83c060bd71b519f88c02e70d2207d24e85941942663f370fe5ce488364cffa1c7e8b5f7b3
-EBUILD libcap-2.58.ebuild 2136 BLAKE2B 01dfe09c3089be3dc63da9d5c2ab8a1804979bb2a901d229cdd1f4722050307dc020f6745609bebc2e3d331065fa0ab06bcff2ce0b53588276eb3087f8afacb2 SHA512 75de17b063652f6c0788c26d19589c1790d5e713c47558f1e6ff28e4e7adfc6a66683be2fbc8cf6250ebc3e8670e4bcbee8f8f1d692846550b3aeb35334dbac9
-EBUILD libcap-2.59.ebuild 2136 BLAKE2B 01dfe09c3089be3dc63da9d5c2ab8a1804979bb2a901d229cdd1f4722050307dc020f6745609bebc2e3d331065fa0ab06bcff2ce0b53588276eb3087f8afacb2 SHA512 75de17b063652f6c0788c26d19589c1790d5e713c47558f1e6ff28e4e7adfc6a66683be2fbc8cf6250ebc3e8670e4bcbee8f8f1d692846550b3aeb35334dbac9
-EBUILD libcap-2.60.ebuild 2136 BLAKE2B 01dfe09c3089be3dc63da9d5c2ab8a1804979bb2a901d229cdd1f4722050307dc020f6745609bebc2e3d331065fa0ab06bcff2ce0b53588276eb3087f8afacb2 SHA512 75de17b063652f6c0788c26d19589c1790d5e713c47558f1e6ff28e4e7adfc6a66683be2fbc8cf6250ebc3e8670e4bcbee8f8f1d692846550b3aeb35334dbac9
+EBUILD libcap-2.61.ebuild 2198 BLAKE2B 70773f85a588a95c37ca9338fd89d1eb573372971b97383b829d4fd67305b9ffb188462c1213ea996b01a305bfed4b653c31f1d575974dd5b0ef24b2e8d824c0 SHA512 d3ed87ac4b12733546fda55113c5e50409856e7d8373a7f55813852c411509d880d819f01bc5a273e94ef1187b01f3883c68d4366c8ed900cdd7c732668ac4a3
MISC metadata.xml 438 BLAKE2B b5260cc84a3fe6b992bb6218846c738af296522d7a467337c05a6240fd07fc9d6cece779bd9fcf24a11486a70874e17acae8182647d307a31cf43e1c19c3a2d3 SHA512 fa3713dcf6b7bb2ea6d4c2fdefc05e92ae345c76a6187ebcb40dab8c4ce0148650a8301f236efcb8cf53fff25730977a385578dbaa160b800159c6d6abbf37a9
diff --git a/sys-libs/libcap/files/libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch b/sys-libs/libcap/files/libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch
index 0f737361a4d1..e5455cd1ebb6 100644
--- a/sys-libs/libcap/files/libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch
+++ b/sys-libs/libcap/files/libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch
@@ -11,12 +11,6 @@ Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Forward ported from libcap-2.20 to libcap-2.25
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- progs/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/progs/Makefile b/progs/Makefile
-index c094a24..4a6db38 100644
--- a/progs/Makefile
+++ b/progs/Makefile
@@ -27,7 +27,7 @@ install: all
@@ -28,6 +22,3 @@ index c094a24..4a6db38 100644
endif
clean:
---
-2.7.1
-
diff --git a/sys-libs/libcap/files/libcap-2.38-no_perl.patch b/sys-libs/libcap/files/libcap-2.38-no_perl.patch
index f3e0c468c869..9104484d5770 100644
--- a/sys-libs/libcap/files/libcap-2.38-no_perl.patch
+++ b/sys-libs/libcap/files/libcap-2.38-no_perl.patch
@@ -14,12 +14,6 @@ Forward ported from libcap-2.26 to libcap-2.28
Forward ported from libcap-2.28 to libcap-2.38
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- libcap/Makefile | 26 +++++++++++++++++++-------
- 1 file changed, 19 insertions(+), 7 deletions(-)
-
-diff --git a/libcap/Makefile b/libcap/Makefile
-index 3d6463d..df2526c 100644
--- a/libcap/Makefile
+++ b/libcap/Makefile
@@ -22,6 +22,8 @@ MAJLIBNAME=$(LIBNAME).$(VERSION)
@@ -66,6 +60,3 @@ index 3d6463d..df2526c 100644
$(STACAPLIBNAME): $(CAPOBJS)
$(AR) rcs $@ $^
---
-2.27.0
-
diff --git a/sys-libs/libcap/files/libcap-2.48-build-system-fixes.patch b/sys-libs/libcap/files/libcap-2.48-build-system-fixes.patch
index a672ecedaca6..b3986e19546c 100644
--- a/sys-libs/libcap/files/libcap-2.48-build-system-fixes.patch
+++ b/sys-libs/libcap/files/libcap-2.48-build-system-fixes.patch
@@ -27,17 +27,6 @@ Forward ported from libcap-2.44 to libcap-2.45
Forward ported from libcap-2.45 to libcap-2.48
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- Make.Rules | 10 ++++++----
- Makefile | 1 -
- libcap/Makefile | 7 ++++---
- pam_cap/Makefile | 8 +++++---
- progs/Makefile | 2 +-
- tests/Makefile | 6 ++++--
- 6 files changed, 20 insertions(+), 14 deletions(-)
-
-diff --git a/Make.Rules b/Make.Rules
-index ded9014..07b716f 100644
--- a/Make.Rules
+++ b/Make.Rules
@@ -52,7 +52,6 @@ GOMAJOR=0
@@ -73,8 +62,6 @@ index ded9014..07b716f 100644
INDENT := $(shell if [ -n "$$(which indent 2>/dev/null)" ]; then echo "| indent -kr" ; fi)
# SHARED tracks whether or not the SHARED libraries (libcap.so,
-diff --git a/Makefile b/Makefile
-index 7150b9b..9dff1e9 100644
--- a/Makefile
+++ b/Makefile
@@ -17,7 +17,6 @@ ifeq ($(GOLANG),yes)
@@ -85,8 +72,6 @@ index 7150b9b..9dff1e9 100644
$(MAKE) -C progs $@
$(MAKE) -C doc $@
$(MAKE) -C kdebug $@
-diff --git a/libcap/Makefile b/libcap/Makefile
-index 9563d88..4b42f01 100644
--- a/libcap/Makefile
+++ b/libcap/Makefile
@@ -25,6 +25,7 @@ MINCAPLIBNAME=$(MAJCAPLIBNAME).$(MINOR)
@@ -119,8 +104,6 @@ index 9563d88..4b42f01 100644
cap_test: cap_test.c libcap.h
$(CC) $(CFLAGS) $(IPATH) $< -o $@
-diff --git a/pam_cap/Makefile b/pam_cap/Makefile
-index 56604fd..2da4674 100644
--- a/pam_cap/Makefile
+++ b/pam_cap/Makefile
@@ -3,6 +3,8 @@
@@ -152,8 +135,6 @@ index 56604fd..2da4674 100644
test: pam_cap.so
make testlink
-diff --git a/progs/Makefile b/progs/Makefile
-index 1d7fc7a..64dbe86 100644
--- a/progs/Makefile
+++ b/progs/Makefile
@@ -28,7 +28,7 @@ $(BUILD): %: %.o $(DEPS)
@@ -165,8 +146,6 @@ index 1d7fc7a..64dbe86 100644
install: all
mkdir -p -m 0755 $(FAKEROOT)$(SBINDIR)
-diff --git a/tests/Makefile b/tests/Makefile
-index 1e7039d..5874624 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -13,6 +13,8 @@ ifeq ($(PTHREADS),yes)
@@ -194,6 +173,3 @@ index 1e7039d..5874624 100644
# privileged
run_libcap_launch_test: libcap_launch_test noop ../progs/tcapsh-static
---
-2.30.0
-
diff --git a/sys-libs/libcap/files/libcap-2.57-parallel-make.patch b/sys-libs/libcap/files/libcap-2.57-parallel-make.patch
deleted file mode 100644
index 612044bcfb0d..000000000000
--- a/sys-libs/libcap/files/libcap-2.57-parallel-make.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://git.kernel.org/pub/scm/libs/libcap/libcap.git/patch/?id=893c134ca5cd6fc33ac19d8dbb9d985067d2e66b
-
-From: "Andrew G. Morgan" <morgan@kernel.org>
-Date: Fri, 10 Sep 2021 16:11:57 -0700
-Subject: Another missing dependency for make -j13
-
-One more missing dependency for pam_cap.so building.
-
-Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
---- a/pam_cap/Makefile
-+++ b/pam_cap/Makefile
-@@ -19,7 +19,11 @@ install: all
- execable.o: execable.c ../libcap/execable.h ../libcap/loader.txt
- $(CC) $(CFLAGS) $(CPPFLAGS) -DLIBCAP_VERSION=\"libcap-$(VERSION).$(MINOR)\" -DSHARED_LOADER=\"$(shell cat ../libcap/loader.txt)\" -c execable.c -o $@
-
--pam_cap.so: pam_cap.o execable.o pam_cap_linkopts
-+LIBCAP:
-+ $(MAKE) -C ../libcap all
-+ touch $@
-+
-+pam_cap.so: pam_cap.o execable.o pam_cap_linkopts LIBCAP
- cat pam_cap_linkopts | xargs -e $(LD) $(LDFLAGS) -o $@ pam_cap.o execable.o $(LIBCAPLIB)
-
- # Some distributions force link everything at compile time, and don't
-@@ -83,3 +87,4 @@ sudotest: test_pam_cap
-
- clean:
- rm -f *.o *.so testlink lazylink.so test_pam_cap pam_cap_linkopts *~
-+ rm -f LIBCAP
diff --git a/sys-libs/libcap/files/libcap-2.61-Wformat.patch b/sys-libs/libcap/files/libcap-2.61-Wformat.patch
new file mode 100644
index 000000000000..e0046de58770
--- /dev/null
+++ b/sys-libs/libcap/files/libcap-2.61-Wformat.patch
@@ -0,0 +1,25 @@
+From 9fd3e7ac5870f84c73ac777d9a14480227ad7f00 Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Sun, 28 Nov 2021 14:14:42 +0100
+Subject: [PATCH] Fix `-Wformat` on 32-bit platforms
+
+---
+ libcap/cap_test.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libcap/cap_test.c b/libcap/cap_test.c
+index b7fb2c5..39df261 100644
+--- a/libcap/cap_test.c
++++ b/libcap/cap_test.c
+@@ -124,7 +124,7 @@ static int test_short_bits(void)
+ }
+ if (strlen(tmp) > __CAP_NAME_SIZE) {
+ printf("cap_to_text buffer size reservation needs fixing (%ld > %d)\n",
+- strlen(tmp), __CAP_NAME_SIZE);
++ (long int)strlen(tmp), __CAP_NAME_SIZE);
+ result = -1;
+ }
+ free(tmp);
+--
+2.34.1
+
diff --git a/sys-libs/libcap/files/libcap-2.61-ignore-RAISE_SETFCAP-install-failures.patch b/sys-libs/libcap/files/libcap-2.61-ignore-RAISE_SETFCAP-install-failures.patch
new file mode 100644
index 000000000000..25f853b2a982
--- /dev/null
+++ b/sys-libs/libcap/files/libcap-2.61-ignore-RAISE_SETFCAP-install-failures.patch
@@ -0,0 +1,24 @@
+From 8dfcdcfdcb9c462a05566aa8d3c6eca871f0ddbf Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Wed, 10 Feb 2016 09:52:45 +0100
+Subject: [PATCH] ignore RAISE_SETFCAP install failures
+
+While the new RAISE_SETFCAP feature is nifty, its failure to run (often
+due to the fs not supporting it) shouldn't impair the default install.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+Forward ported from libcap-2.20 to libcap-2.25
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+--- a/progs/Makefile
++++ b/progs/Makefile
+@@ -39,7 +39,7 @@
+ install -m 0755 $$p $(FAKEROOT)$(SBINDIR) ; \
+ done
+ ifeq ($(RAISE_SETFCAP),yes)
+- $(FAKEROOT)$(SBINDIR)/setcap cap_setfcap=i $(FAKEROOT)$(SBINDIR)/setcap
++ -$(FAKEROOT)$(SBINDIR)/setcap cap_setfcap=i $(FAKEROOT)$(SBINDIR)/setcap
+ endif
+
+ test:
diff --git a/sys-libs/libcap/files/libcap-2.61-no_perl.patch b/sys-libs/libcap/files/libcap-2.61-no_perl.patch
new file mode 100644
index 000000000000..3d42a4dc6135
--- /dev/null
+++ b/sys-libs/libcap/files/libcap-2.61-no_perl.patch
@@ -0,0 +1,57 @@
+From 3f76418eaf73896489129c529fac021e4f3a03c0 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Wed, 21 Nov 2018 11:00:54 +0100
+Subject: [PATCH] use awk/sed instead of perl for creating header files
+
+More systems should have awk/sed than perl.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+Forward ported from libcap-2.22 to libcap-2.26
+and incorporated the gperf-3.1 fix provided by Mike Gilbert
+<floppym@gentoo.org>
+Forward ported from libcap-2.26 to libcap-2.28
+Forward ported from libcap-2.28 to libcap-2.38
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+--- a/libcap/Makefile
++++ b/libcap/Makefile
+@@ -20,6 +20,8 @@
+
+ # Always build libcap sources this way:
+ CFLAGS += -fPIC
++AWK = awk
++SED = sed
+
+ # The linker magic needed to build a dynamic library as independently
+ # executable
+@@ -82,8 +84,18 @@
+ ./_makenames > cap_names.h
+
+ $(GPERF_OUTPUT): cap_names.list.h
+- perl -e 'print "struct __cap_token_s { const char *name; int index; };\n%{\nconst struct __cap_token_s *__cap_lookup_name(const char *, size_t);\n%}\n%%\n"; while ($$l = <>) { $$l =~ s/[\{\"]//g; $$l =~ s/\}.*// ; print $$l; }' < $< | gperf --ignore-case --language=ANSI-C --readonly --null-strings --global-table --hash-function-name=__cap_hash_name --lookup-function-name="__cap_lookup_name" -c -t -m20 $(INDENT) > $@
+- sed -e 's/unsigned int len/size_t len/' -i $@
++ (printf "%b" "struct __cap_token_s { const char *name; int index; };\n%%\n"; \
++ $(SED) -e 's:["{}]::g' -e 's:,$$::' $<) | \
++ gperf \
++ --ignore-case \
++ --language=ANSI-C \
++ --includes \
++ --readonly \
++ --null-strings \
++ --global-table \
++ --hash-function-name=__cap_hash_name \
++ --lookup-function-name="__cap_lookup_name" \
++ -c -t -m20 $(INDENT) > $@
+
+ # Intention is that libcap keeps up with torvalds' tree, as reflected
+ # by this maintained version of the kernel header. libcap dynamically
+@@ -92,7 +104,7 @@
+ UAPI_HEADER := $(topdir)/libcap/include/uapi/linux/capability.h
+ cap_names.list.h: Makefile $(UAPI_HEADER)
+ @echo "=> making $@ from $(UAPI_HEADER)"
+- perl -e 'while ($$l=<>) { if ($$l =~ /^\#define[ \t](CAP[_A-Z]+)[ \t]+([0-9]+)\s+$$/) { $$tok=$$1; $$val=$$2; $$tok =~ tr/A-Z/a-z/; print "{\"$$tok\",$$val},\n"; } }' $(UAPI_HEADER) | fgrep -v 0x > $@
++ $(AWK) '($$0 ~ /^#define[[:space:]]+CAP[_A-Z]+[[:space:]]+[0-9]+[[:space:]]*$$/) { printf "{\"%s\",%s},\n", tolower($$2), $$3 }' $(UAPI_HEADER) > $@
+
+ $(STACAPLIBNAME): $(CAPOBJS)
+ $(AR) rcs $@ $^
diff --git a/sys-libs/libcap/libcap-2.57.ebuild b/sys-libs/libcap/libcap-2.57.ebuild
deleted file mode 100644
index ca29aacc3bb7..000000000000
--- a/sys-libs/libcap/libcap-2.57.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal toolchain-funcs pam usr-ldscript
-
-DESCRIPTION="POSIX 1003.1e capabilities"
-HOMEPAGE="https://sites.google.com/site/fullycapable/"
-SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz"
-
-# it's available under either of the licenses
-LICENSE="|| ( GPL-2 BSD )"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="pam static-libs tools"
-
-# While the build system optionally uses gperf, we don't DEPEND on it because
-# the build automatically falls back when it's unavailable. #604802
-PDEPEND="pam? ( sys-libs/pam[${MULTILIB_USEDEP}] )"
-DEPEND="${PDEPEND}
- sys-kernel/linux-headers"
-BDEPEND="tools? ( dev-lang/go )"
-
-PATCHES=(
- # Backported patch, drop on > 2.57
- "${FILESDIR}"/${PN}-2.57-parallel-make.patch
- "${FILESDIR}"/${PN}-2.38-no_perl.patch
- "${FILESDIR}"/${PN}-2.25-ignore-RAISE_SETFCAP-install-failures.patch
-)
-
-QA_FLAGS_IGNORED="sbin/captree" # go binaries don't use LDFLAGS
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-run_emake() {
- local args=(
- AR="$(tc-getAR)"
- CC="$(tc-getCC)"
- OBJCOPY="$(tc-getOBJCOPY)"
- RANLIB="$(tc-getRANLIB)"
- exec_prefix="${EPREFIX}"
- lib_prefix="${EPREFIX}/usr"
- lib="$(get_libdir)"
- prefix="${EPREFIX}/usr"
- PAM_CAP="$(usex pam yes no)"
- DYNAMIC=yes
- GOLANG="$(multilib_native_usex tools yes no)"
- )
- emake "${args[@]}" "$@"
-}
-
-src_configure() {
- tc-export_build_env BUILD_CC
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- run_emake
-}
-
-multilib_src_test() {
- run_emake test
-}
-
-multilib_src_install() {
- # no configure, needs explicit install line #444724#c3
- run_emake DESTDIR="${D}" install
-
- gen_usr_ldscript -a cap
- gen_usr_ldscript -a psx
- if ! use static-libs ; then
- rm "${ED}"/usr/$(get_libdir)/lib{cap,psx}.a || die
- fi
-
- # install pam plugins ourselves
- rm -rf "${ED}"/usr/$(get_libdir)/security || die
-
- if use pam ; then
- dopammod pam_cap/pam_cap.so
- dopamsecurity '' pam_cap/capability.conf
- fi
-}
-
-multilib_src_install_all() {
- dodoc CHANGELOG README doc/capability.notes
-}
diff --git a/sys-libs/libcap/libcap-2.58.ebuild b/sys-libs/libcap/libcap-2.58.ebuild
deleted file mode 100644
index ea1e6af49768..000000000000
--- a/sys-libs/libcap/libcap-2.58.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal toolchain-funcs pam usr-ldscript
-
-DESCRIPTION="POSIX 1003.1e capabilities"
-HOMEPAGE="https://sites.google.com/site/fullycapable/"
-SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz"
-
-# it's available under either of the licenses
-LICENSE="|| ( GPL-2 BSD )"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="pam static-libs tools"
-
-# While the build system optionally uses gperf, we don't DEPEND on it because
-# the build automatically falls back when it's unavailable. #604802
-PDEPEND="pam? ( sys-libs/pam[${MULTILIB_USEDEP}] )"
-DEPEND="${PDEPEND}
- sys-kernel/linux-headers"
-BDEPEND="tools? ( dev-lang/go )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.38-no_perl.patch
- "${FILESDIR}"/${PN}-2.25-ignore-RAISE_SETFCAP-install-failures.patch
-)
-
-QA_FLAGS_IGNORED="sbin/captree" # go binaries don't use LDFLAGS
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-run_emake() {
- local args=(
- AR="$(tc-getAR)"
- CC="$(tc-getCC)"
- OBJCOPY="$(tc-getOBJCOPY)"
- RANLIB="$(tc-getRANLIB)"
- exec_prefix="${EPREFIX}"
- lib_prefix="${EPREFIX}/usr"
- lib="$(get_libdir)"
- prefix="${EPREFIX}/usr"
- PAM_CAP="$(usex pam yes no)"
- DYNAMIC=yes
- GOLANG="$(multilib_native_usex tools yes no)"
- )
- emake "${args[@]}" "$@"
-}
-
-src_configure() {
- tc-export_build_env BUILD_CC
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- run_emake
-}
-
-multilib_src_test() {
- run_emake test
-}
-
-multilib_src_install() {
- # no configure, needs explicit install line #444724#c3
- run_emake DESTDIR="${D}" install
-
- gen_usr_ldscript -a cap
- gen_usr_ldscript -a psx
- if ! use static-libs ; then
- rm "${ED}"/usr/$(get_libdir)/lib{cap,psx}.a || die
- fi
-
- # install pam plugins ourselves
- rm -rf "${ED}"/usr/$(get_libdir)/security || die
-
- if use pam ; then
- dopammod pam_cap/pam_cap.so
- dopamsecurity '' pam_cap/capability.conf
- fi
-}
-
-multilib_src_install_all() {
- dodoc CHANGELOG README doc/capability.notes
-}
diff --git a/sys-libs/libcap/libcap-2.60.ebuild b/sys-libs/libcap/libcap-2.60.ebuild
deleted file mode 100644
index ea1e6af49768..000000000000
--- a/sys-libs/libcap/libcap-2.60.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal toolchain-funcs pam usr-ldscript
-
-DESCRIPTION="POSIX 1003.1e capabilities"
-HOMEPAGE="https://sites.google.com/site/fullycapable/"
-SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz"
-
-# it's available under either of the licenses
-LICENSE="|| ( GPL-2 BSD )"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="pam static-libs tools"
-
-# While the build system optionally uses gperf, we don't DEPEND on it because
-# the build automatically falls back when it's unavailable. #604802
-PDEPEND="pam? ( sys-libs/pam[${MULTILIB_USEDEP}] )"
-DEPEND="${PDEPEND}
- sys-kernel/linux-headers"
-BDEPEND="tools? ( dev-lang/go )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.38-no_perl.patch
- "${FILESDIR}"/${PN}-2.25-ignore-RAISE_SETFCAP-install-failures.patch
-)
-
-QA_FLAGS_IGNORED="sbin/captree" # go binaries don't use LDFLAGS
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-run_emake() {
- local args=(
- AR="$(tc-getAR)"
- CC="$(tc-getCC)"
- OBJCOPY="$(tc-getOBJCOPY)"
- RANLIB="$(tc-getRANLIB)"
- exec_prefix="${EPREFIX}"
- lib_prefix="${EPREFIX}/usr"
- lib="$(get_libdir)"
- prefix="${EPREFIX}/usr"
- PAM_CAP="$(usex pam yes no)"
- DYNAMIC=yes
- GOLANG="$(multilib_native_usex tools yes no)"
- )
- emake "${args[@]}" "$@"
-}
-
-src_configure() {
- tc-export_build_env BUILD_CC
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- run_emake
-}
-
-multilib_src_test() {
- run_emake test
-}
-
-multilib_src_install() {
- # no configure, needs explicit install line #444724#c3
- run_emake DESTDIR="${D}" install
-
- gen_usr_ldscript -a cap
- gen_usr_ldscript -a psx
- if ! use static-libs ; then
- rm "${ED}"/usr/$(get_libdir)/lib{cap,psx}.a || die
- fi
-
- # install pam plugins ourselves
- rm -rf "${ED}"/usr/$(get_libdir)/security || die
-
- if use pam ; then
- dopammod pam_cap/pam_cap.so
- dopamsecurity '' pam_cap/capability.conf
- fi
-}
-
-multilib_src_install_all() {
- dodoc CHANGELOG README doc/capability.notes
-}
diff --git a/sys-libs/libcap/libcap-2.59.ebuild b/sys-libs/libcap/libcap-2.61.ebuild
index ea1e6af49768..28b28501b9d6 100644
--- a/sys-libs/libcap/libcap-2.59.ebuild
+++ b/sys-libs/libcap/libcap-2.61.ebuild
@@ -20,11 +20,14 @@ IUSE="pam static-libs tools"
PDEPEND="pam? ( sys-libs/pam[${MULTILIB_USEDEP}] )"
DEPEND="${PDEPEND}
sys-kernel/linux-headers"
-BDEPEND="tools? ( dev-lang/go )"
+BDEPEND="
+ sys-apps/diffutils
+ tools? ( dev-lang/go )"
PATCHES=(
- "${FILESDIR}"/${PN}-2.38-no_perl.patch
- "${FILESDIR}"/${PN}-2.25-ignore-RAISE_SETFCAP-install-failures.patch
+ "${FILESDIR}"/${PN}-2.61-no_perl.patch
+ "${FILESDIR}"/${PN}-2.61-ignore-RAISE_SETFCAP-install-failures.patch
+ "${FILESDIR}"/${PN}-2.61-Wformat.patch
)
QA_FLAGS_IGNORED="sbin/captree" # go binaries don't use LDFLAGS
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 76f35072f6a2..3710550d4fce 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,13 +1,16 @@
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0.tar.xz 5012 BLAKE2B 6760c78c086aaf6629143fd920b0a2c68cad9278628fbea8164dfeb59db95984a5b5d6b3505b510c697e8c95bf8d2be782c6b73c01622d52f2da9b07ecff39e0 SHA512 7764d49343b795b6bebae64f646ba27e3e6cc2a20b8a1aee645ce0d8474633c34acfbb73c08546fee415755dd4ea5a98c1d84db5e394cf5f4fc802eb61148ab6
+DIST llvm-gentoo-patchset-13.0.1-rc1.tar.xz 5988 BLAKE2B 8f1d295d4b6937518d9e0cc00cc2ba9e12ff9773b35261f0985b2d2a4ed1e3363a7f961cb385728b5ae552d0e129d99d11e63958d32c3353b0a79a88ba5cc0d5 SHA512 8272c423a5e0e99d412bb449794ba2e8134aca69d09e90e93555dbd3b7549d6ce4d68617ca11074af0a35a6f6830bf0330cbc672c5a56054cfd824e3ac1900ea
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
+DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d
EBUILD libcxx-11.1.0.ebuild 6661 BLAKE2B 93445de819484ea32a708d2ff616501d715e7fd3a3f4204f143e64c40bc89ebceb8e50c80215c6b54d7c8a3cce00fcecaac099298b41e010bf77655563d30a20 SHA512 ce56f24e7b4aed1405e682af6b3cb48bad6617d5b7e2ecf5b990fae4f7d6badc479a583ef24801e34b0155c12354a7b76a414402f89c31f228315eb92f279a62
EBUILD libcxx-12.0.1.ebuild 6700 BLAKE2B 95f0550dda3dc1b71a25dd2b3bf433f8fa92a12465a19558123dcf4704713af9c394544503eb1eed12251a392bf9ff91e69b994355a7f0fad5c00b5fa6457c26 SHA512 14c72df06a748c4788ad9e2f0e9de703e6ef3b9498f0ed8797ae2c31890754396cb2cdcb13b082b8f9a726929811cd421558a7867c9b1f5658827875fd2cf651
-EBUILD libcxx-13.0.0.9999.ebuild 6703 BLAKE2B e4988bec759918ae49a368a4b7c79918cfc99a6da325b04153f548f64c1d0de9698c9aa0f2c917a9a5fc75c96bac54771c2681f46a79bc698d175e29b7bcf3c4 SHA512 75408fcc8004065d88c5b114487107ed754e7fd7c4474f2b39d8956e704bc6889b7d5ad6159d593731d78c4fd1996468026827b21e2ae929eef6f9f0742466ba
-EBUILD libcxx-13.0.0.ebuild 6743 BLAKE2B 967212bda63df969dc62008caa53086ae90e0f8002345a943513cfc33d87ff1c50ad081f0b42a018eb984773f99a37212fc320b91140a006a8a9505cb7ccea6b SHA512 3da33c128ed5fe983b81e5257c039648716082246028e9fbb2b8deef0679b1170eaded4629eb29df74eb1d3b22008a871aa3bdca2b284fc1bb452ab4f65cf507
-EBUILD libcxx-14.0.0.9999.ebuild 6703 BLAKE2B e4988bec759918ae49a368a4b7c79918cfc99a6da325b04153f548f64c1d0de9698c9aa0f2c917a9a5fc75c96bac54771c2681f46a79bc698d175e29b7bcf3c4 SHA512 75408fcc8004065d88c5b114487107ed754e7fd7c4474f2b39d8956e704bc6889b7d5ad6159d593731d78c4fd1996468026827b21e2ae929eef6f9f0742466ba
+EBUILD libcxx-13.0.0.ebuild 6779 BLAKE2B d0e34a8ce5899d4cc3193ff38ade25eb1724b4f74eee947f8d1a6966bc2c2769ebfbdeef58759cb732da74d265305778a4023f4e7817afc0d015d79fb533af53 SHA512 107cb690a1f2492c968a402d7a9f6c3a22691c225f4167349a8b2b568f2aeeba8283ffff5956f5357a04d58a8ee7ad6fa2a3082c998a86bc4a05a8ab0489c05a
+EBUILD libcxx-13.0.1.9999.ebuild 6739 BLAKE2B d3a64e3bd251a455f39a92cf02aa5ff6c3511b2306f6aaf47cb2605e17f3e2d0b22156fe1c0e5087a404936fabda41e32c8bbefd2e733a65366f8ef65cb214e0 SHA512 dff5e069025b4f9a35ae37a8d87199173c62a729042f35549653330eaea389bc9ff11aa55fb77d2c135829695a808be356b0806c1e2f83d43188e624632a6084
+EBUILD libcxx-13.0.1_rc1.ebuild 6742 BLAKE2B f429f6dd210e2dc12acccd74ec6428fe90a8fbaf50ef8975fd01c00eb5e3e1741785828e96c180e23dca382ed5ed779b8e696b4b13c758daee8fb51c4aab8457 SHA512 1d2541c6d2aca5d603bb9adc835b2a673831ec61a1f7653f676b543da187c7beb9a3bf9f7ec89c00d91bc46237eb9d50798eeb0b4f9386638ed4636f29849c3b
+EBUILD libcxx-14.0.0.9999.ebuild 6739 BLAKE2B d3a64e3bd251a455f39a92cf02aa5ff6c3511b2306f6aaf47cb2605e17f3e2d0b22156fe1c0e5087a404936fabda41e32c8bbefd2e733a65366f8ef65cb214e0 SHA512 dff5e069025b4f9a35ae37a8d87199173c62a729042f35549653330eaea389bc9ff11aa55fb77d2c135829695a808be356b0806c1e2f83d43188e624632a6084
MISC metadata.xml 622 BLAKE2B 33ff3f89844694f08cdcdb12d7098ad937041c31aa6f453fbd887bfebec688bc05552f9a39431daccd2b309a58c2fb75b04a6350410f90beb96f32c14ab3ca95 SHA512 8b3d12f8904c336cc35f31352014ffe247dd4475f143921cdd56e5396590ebd64fb700df64f76e83aece127d8ed39af5f45da086fa75fca841c9a5ad767cbed2
diff --git a/sys-libs/libcxx/libcxx-13.0.0.ebuild b/sys-libs/libcxx/libcxx-13.0.0.ebuild
index a4f36e792e65..851870fd9e95 100644
--- a/sys-libs/libcxx/libcxx-13.0.0.ebuild
+++ b/sys-libs/libcxx/libcxx-13.0.0.ebuild
@@ -132,6 +132,7 @@ multilib_src_configure() {
-DLIBCXX_INCLUDE_TESTS=$(usex test)
-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
-DLIBCXX_HAS_ATOMIC_LIB=${want_gcc_s}
+ -DLIBCXX_TARGET_TRIPLE="${CHOST}"
-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
)
diff --git a/sys-libs/libcxx/libcxx-13.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-13.0.1.9999.ebuild
index 5dca7551438c..be5566afa3bf 100644
--- a/sys-libs/libcxx/libcxx-13.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-13.0.1.9999.ebuild
@@ -132,6 +132,7 @@ multilib_src_configure() {
-DLIBCXX_INCLUDE_TESTS=$(usex test)
-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
-DLIBCXX_HAS_ATOMIC_LIB=${want_gcc_s}
+ -DLIBCXX_TARGET_TRIPLE="${CHOST}"
-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
)
diff --git a/sys-libs/libcxx/libcxx-13.0.1_rc1.ebuild b/sys-libs/libcxx/libcxx-13.0.1_rc1.ebuild
new file mode 100644
index 000000000000..f8fd0e126832
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-13.0.1_rc1.ebuild
@@ -0,0 +1,214 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="elibc_glibc elibc_musl +libcxxabi +libunwind static-libs test"
+REQUIRED_USE="libunwind? ( libcxxabi )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ libcxxabi? ( ~sys-libs/libcxxabi-${PV}[libunwind=,static-libs?,${MULTILIB_USEDEP}] )
+ !libcxxabi? ( >=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}
+ >=sys-devel/llvm-6"
+BDEPEND="
+ test? (
+ >=dev-util/cmake-3.16
+ >=sys-devel/clang-3.9.0
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )"
+
+DOCS=( CREDITS.TXT )
+
+LLVM_COMPONENTS=( libcxx{,abi} llvm/{cmake,utils/llvm-lit} )
+LLVM_PATCHSET=${PV/_/-}
+llvm.org_set_globals
+
+python_check_deps() {
+ has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ # Darwin Prefix builds do not have llvm installed yet, so rely on
+ # bootstrap-prefix to set the appropriate path vars to LLVM instead
+ # of using llvm_pkg_setup.
+ if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then
+ llvm_pkg_setup
+ fi
+ use test && python-any-r1_pkg_setup
+
+ if ! use libcxxabi && ! 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
+}
+
+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"
+ 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 want_compiler_rt=OFF
+ 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
+ want_compiler_rt=ON
+ extra_libs+=( "${compiler_rt}" )
+ fi
+ fi
+ elif [[ ${CHOST} == *-darwin* ]] && tc-is-clang; then
+ # clang-based darwin prefix disables libunwind useflag during
+ # bootstrap, because libunwind is not in the prefix yet.
+ # override the default, though, because clang based libcxx
+ # should never use gcc_s on Darwin.
+ want_gcc_s=OFF
+ # compiler_rt is not available in EPREFIX during bootstrap,
+ # so we cannot link to it yet anyway, so keep the defaults
+ # of want_compiler_rt=OFF and extra_libs=()
+ 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)
+ -DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
+ -DLIBCXX_HAS_ATOMIC_LIB=${want_gcc_s}
+ -DLIBCXX_TARGET_TRIPLE="${CHOST}"
+ -DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
+ )
+
+ if use test; then
+ local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+ [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
+ -DLIBCXX_LINK_TESTS_WITH_SHARED_LIBCXXABI=ON
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ fi
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-cxx
+}
+
+# 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" "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" "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_src_install
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ gen_shared_ldscript
+ use static-libs && gen_static_ldscript
+ fi
+}
+
+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-14.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-14.0.0.9999.ebuild
index 5dca7551438c..be5566afa3bf 100644
--- a/sys-libs/libcxx/libcxx-14.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-14.0.0.9999.ebuild
@@ -132,6 +132,7 @@ multilib_src_configure() {
-DLIBCXX_INCLUDE_TESTS=$(usex test)
-DLIBCXX_USE_COMPILER_RT=${want_compiler_rt}
-DLIBCXX_HAS_ATOMIC_LIB=${want_gcc_s}
+ -DLIBCXX_TARGET_TRIPLE="${CHOST}"
-DCMAKE_SHARED_LINKER_FLAGS="${extra_libs[*]} ${LDFLAGS}"
)
diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
index d1df0e62afb9..0ccf2e8e2d65 100644
--- a/sys-libs/libcxxabi/Manifest
+++ b/sys-libs/libcxxabi/Manifest
@@ -1,9 +1,11 @@
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
+DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d
EBUILD libcxxabi-11.1.0.ebuild 3559 BLAKE2B dc74318b252f772fbc6833e413ee2dd9b682c01ae3bca88a78d2f7854aa374311474f7af9f19453e4b4fbb6db4149e8330db7632faf710a0aeb2e0d741119096 SHA512 18632637cb6fb86a3c003ba66f6a80aece299f50e356870599bb932fa100ba3e51293cee71576cc994a7e2b5f56f3b4ec8b4d3eae6202322d50a9bc0aa922ac3
EBUILD libcxxabi-12.0.1.ebuild 3543 BLAKE2B 23ac0eb64a29631b4bc4e18f3ae3cd03d8491b7a14cd88a35513da666c400e05ef2624c7eb214e0e4a6b297a993ca93ceedc0900bc3cdf850ff71157caa36f34 SHA512 0c7b72e68db1056f927283a361aa6771d77d5e5d8ecfb5f11a5204d82abd2843a9c6beccd7e2f2cbd95d23c4f4a863fb1cca7dd4f18ea66eb2f936af6ff5cb63
-EBUILD libcxxabi-13.0.0.9999.ebuild 3504 BLAKE2B bfa2d35ac94fb452d09b37a9d7d1810a7ecf33ee9509020caecb700d8e5b8e30067429f03db8297cc40ba194b819689e2bc6a46e78b48cc0f943da10536aec8a SHA512 830df6f081e8012d43062e0388bf5bd8975a3896765d38567c0ba52a54435b8be06df3955ed8dda5d6025091fd52eb1b1ec1c774e558ffc5eae5812822bb6725
-EBUILD libcxxabi-13.0.0.ebuild 3541 BLAKE2B c45771cf9395e4f17f9da1611bb72fa18e11e688d6ffd6d77336050db9035a44940968d0f2dfb957d3903a34e5d79ea39f2bc5553a13629767d046c11007b9cf SHA512 6f42b29927928675e96c162ce8ef53ad1672b571d02b37ec8c8b53ac8460f0544d9911765f2103c3d7278763e8f295cdcaa215f2143953bcddd69d68094f6564
-EBUILD libcxxabi-14.0.0.9999.ebuild 3504 BLAKE2B bfa2d35ac94fb452d09b37a9d7d1810a7ecf33ee9509020caecb700d8e5b8e30067429f03db8297cc40ba194b819689e2bc6a46e78b48cc0f943da10536aec8a SHA512 830df6f081e8012d43062e0388bf5bd8975a3896765d38567c0ba52a54435b8be06df3955ed8dda5d6025091fd52eb1b1ec1c774e558ffc5eae5812822bb6725
+EBUILD libcxxabi-13.0.0.ebuild 3616 BLAKE2B 5858918647fd9436167f7f239840ab17e43fc15472ab33462170a89c6d1c8400a2be8d6b7fa88da81affad6ddce974440659da5e89e6ae9e803786edda73b300 SHA512 884061d8d15fce36721a29d3fdb95d4967a7fa43709a1a1c7efe0dd836aa41b65f6fcd5bbeb1646a1829feb0cf40883045265c15c62b94af205974c86a1e24b8
+EBUILD libcxxabi-13.0.1.9999.ebuild 3579 BLAKE2B 79c3f0ca256500269bd03a8bd9645b4ae87b3bf6b08579eefbbcec270ab4113dffc8504c7e65e4fc5d3a8b29112a1a3f28ab5c9d9b88cf490f97d65baf104699 SHA512 516680fdbe4ee3cf381d2f6a8ffcc98bdc69b96f4c2404c55e8199f9daacb9f3ff1c556b06be966a4694c3c8673bab30051cb5e0ac8b314c82addb91c7925d06
+EBUILD libcxxabi-13.0.1_rc1.ebuild 3579 BLAKE2B 79c3f0ca256500269bd03a8bd9645b4ae87b3bf6b08579eefbbcec270ab4113dffc8504c7e65e4fc5d3a8b29112a1a3f28ab5c9d9b88cf490f97d65baf104699 SHA512 516680fdbe4ee3cf381d2f6a8ffcc98bdc69b96f4c2404c55e8199f9daacb9f3ff1c556b06be966a4694c3c8673bab30051cb5e0ac8b314c82addb91c7925d06
+EBUILD libcxxabi-14.0.0.9999.ebuild 3579 BLAKE2B 79c3f0ca256500269bd03a8bd9645b4ae87b3bf6b08579eefbbcec270ab4113dffc8504c7e65e4fc5d3a8b29112a1a3f28ab5c9d9b88cf490f97d65baf104699 SHA512 516680fdbe4ee3cf381d2f6a8ffcc98bdc69b96f4c2404c55e8199f9daacb9f3ff1c556b06be966a4694c3c8673bab30051cb5e0ac8b314c82addb91c7925d06
MISC metadata.xml 351 BLAKE2B 9071a2cbb0eee25e4396bd720f39cd09b011e70fa4a2a87bab63801fa54d307304219a6bddc9b6fb8d0e3b32b07ea09d0419b8ea74af25d601505c3b577c656a SHA512 096b95417b8cdaeed177108ac27e54cd44c4488e8dd3b6ca0aa07f2c70fc59d42343c926d44adf54349e3f9791b9151293383e471df1282678a3c60031184d13
diff --git a/sys-libs/libcxxabi/libcxxabi-13.0.0.ebuild b/sys-libs/libcxxabi/libcxxabi-13.0.0.ebuild
index 47e8d7f440b0..628752042eea 100644
--- a/sys-libs/libcxxabi/libcxxabi-13.0.0.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-13.0.0.ebuild
@@ -75,6 +75,7 @@ multilib_src_configure() {
# upstream is omitting standard search path for this
# probably because gcc & clang are bundling their own unwind.h
-DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
+ -DLIBCXXABI_TARGET_TRIPLE="${CHOST}"
)
if use test; then
local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
@@ -104,6 +105,7 @@ wrap_libcxx() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_HAS_GCC_S_LIB=OFF
-DLIBCXX_INCLUDE_TESTS=OFF
+ -DLIBCXX_TARGET_TRIPLE="${CHOST}"
)
"${@}"
diff --git a/sys-libs/libcxxabi/libcxxabi-13.0.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-13.0.1.9999.ebuild
index d11be625eea5..36ccca5e938a 100644
--- a/sys-libs/libcxxabi/libcxxabi-13.0.0.9999.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-13.0.1.9999.ebuild
@@ -75,6 +75,7 @@ multilib_src_configure() {
# upstream is omitting standard search path for this
# probably because gcc & clang are bundling their own unwind.h
-DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
+ -DLIBCXXABI_TARGET_TRIPLE="${CHOST}"
)
if use test; then
local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
@@ -104,6 +105,7 @@ wrap_libcxx() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_HAS_GCC_S_LIB=OFF
-DLIBCXX_INCLUDE_TESTS=OFF
+ -DLIBCXX_TARGET_TRIPLE="${CHOST}"
)
"${@}"
diff --git a/sys-libs/libcxxabi/libcxxabi-13.0.1_rc1.ebuild b/sys-libs/libcxxabi/libcxxabi-13.0.1_rc1.ebuild
new file mode 100644
index 000000000000..36ccca5e938a
--- /dev/null
+++ b/sys-libs/libcxxabi/libcxxabi-13.0.1_rc1.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs
+
+DESCRIPTION="Low level support for a standard C++ library"
+HOMEPAGE="https://libcxxabi.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="+libunwind static-libs test elibc_musl"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ libunwind? (
+ || (
+ >=sys-libs/libunwind-1.0.1-r1[static-libs?,${MULTILIB_USEDEP}]
+ >=sys-libs/llvm-libunwind-3.9.0-r1[static-libs?,${MULTILIB_USEDEP}]
+ )
+ )"
+# llvm-6 for new lit options
+DEPEND="${RDEPEND}
+ >=sys-devel/llvm-6"
+BDEPEND="
+ test? ( >=sys-devel/clang-3.9.0
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )"
+
+LLVM_COMPONENTS=( libcxx{abi,} llvm/cmake )
+llvm.org_set_globals
+
+python_check_deps() {
+ has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ # darwin prefix builds do not have llvm installed yet, so rely on bootstrap-prefix
+ # to set the appropriate path vars to LLVM instead of using llvm_pkg_setup.
+ if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then
+ llvm_pkg_setup
+ fi
+ use test && python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ # we need a configured libc++ for __config_site
+ wrap_libcxx cmake_src_configure
+ wrap_libcxx cmake_build generate-cxx-headers
+
+ # link against compiler-rt instead of libgcc if we are using clang with libunwind
+ local want_compiler_rt=OFF
+ if use libunwind && tc-is-clang; then
+ local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+ ${LDFLAGS} -print-libgcc-file-name)
+ if [[ ${compiler_rt} == *libclang_rt* ]]; then
+ want_compiler_rt=ON
+ fi
+ fi
+
+ 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_USE_COMPILER_RT=${want_compiler_rt}
+
+ -DLIBCXXABI_LIBCXX_INCLUDES="${BUILD_DIR}"/libcxx/include/c++/v1
+ # upstream is omitting standard search path for this
+ # probably because gcc & clang are bundling their own unwind.h
+ -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
+ -DLIBCXXABI_TARGET_TRIPLE="${CHOST}"
+ )
+ if use test; then
+ local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+ [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ fi
+ cmake_src_configure
+}
+
+wrap_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=OFF
+ -DLIBCXX_ENABLE_STATIC=ON
+ -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
+ -DLIBCXX_TARGET_TRIPLE="${CHOST}"
+ )
+
+ "${@}"
+}
+
+multilib_src_test() {
+ wrap_libcxx cmake_src_compile
+ mv "${BUILD_DIR}"/libcxx/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
+
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-cxxabi
+}
+
+multilib_src_install_all() {
+ insinto /usr/include/libcxxabi
+ doins -r include/.
+}
diff --git a/sys-libs/libcxxabi/libcxxabi-14.0.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-14.0.0.9999.ebuild
index d11be625eea5..36ccca5e938a 100644
--- a/sys-libs/libcxxabi/libcxxabi-14.0.0.9999.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-14.0.0.9999.ebuild
@@ -75,6 +75,7 @@ multilib_src_configure() {
# upstream is omitting standard search path for this
# probably because gcc & clang are bundling their own unwind.h
-DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
+ -DLIBCXXABI_TARGET_TRIPLE="${CHOST}"
)
if use test; then
local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
@@ -104,6 +105,7 @@ wrap_libcxx() {
-DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
-DLIBCXX_HAS_GCC_S_LIB=OFF
-DLIBCXX_INCLUDE_TESTS=OFF
+ -DLIBCXX_TARGET_TRIPLE="${CHOST}"
)
"${@}"
diff --git a/sys-libs/libfaketime/Manifest b/sys-libs/libfaketime/Manifest
index 2f2a14a3e683..2e43c0b382f9 100644
--- a/sys-libs/libfaketime/Manifest
+++ b/sys-libs/libfaketime/Manifest
@@ -1,5 +1,6 @@
+AUX libfaketime-0.9.8-Treat-unknown-clock_ids-like-CLOCK_REALTIME.patch 1166 BLAKE2B b7bcbeecc9e36f7b364d14b82cb32da033e98bb84f6212977f09fd43a79a78bd3b2784e02a40375c2e45423ee00d03cbeb3c2904d140af52ebc6fe63d78f80cb SHA512 d9d7b41cea6aba3f0083237641dbaa685072f428f97198b8925f4f56dda1f2d1f7730b5e4b7c3c7984c0db3406c35c8aefe666ce51f6eaaca05b2deae7b391b8
DIST libfaketime-0.9.6.tar.gz 53540 BLAKE2B 5559e683d9d513fe60fe4b7f22a2ee794bccd8b1fe2a58735876fb9a0f05e1157d20485cfc2f0bcefa0b1f642f3b981de00471a36998867b0024dd8ac5a77466 SHA512 22cd796d4c6f7b327c664895df5b93b72a7243d886bf5241f932cc23fd54049c5fb6a8351078d036d78d12cb6f530ff66b98ef75df6eba5339ebfef1e7561225
DIST libfaketime-0.9.9.tar.gz 78610 BLAKE2B 863e3aaf5f26a7b4d6104bdf5dd8fc0ac70547770d01cad302e476a7eeee63f0900ddc825aa75f6db7be08155d7ceb05f3b730fffb9e4928147fbdc097ee0df8 SHA512 b1aecf456753ccf771f0f80c92d57ffcd2c8349dde93a575862b4570a06812d4bce104f2efbcfd627a85a80fed99dbc37cb156dda0389892bfb4e71df816191f
-EBUILD libfaketime-0.9.6-r3.ebuild 1412 BLAKE2B bc345e1c106a7d8965bf8925082672760927259f7b03ae1d6695ee0afdce025711d383c5dc1e742276573b043826609cdad9b738daf7af23904219339fe1d5da SHA512 4ac78c91052aca7ea4197efd078c3fb5012f973601669b310f5643e96d86c00c8632755873598980c4ccf112882669ab7b815fe9bf6d5d578ac9de6b4697ea10
+EBUILD libfaketime-0.9.6-r4.ebuild 1501 BLAKE2B a7dff7e211244bf9d6d131572998ca57f57a0450dc4b5c260afaeef26475c44fb669b1a071c3649aa66761799040ec3b06d53817f1a651ae8ef15c8032748208 SHA512 623b40aec7945a7b6033b7544dbd333dcc4e8ec555f20130df69baf237937a80d5268771a0d014582b1499acf53e4ce9d58400a473bc99fb7a2f3e7a9d4cb149
EBUILD libfaketime-0.9.9.ebuild 1782 BLAKE2B ec3bea54e1113a5f411ae8e375f1ee470a1ac5958a091d75588d6e6edbed0fb1179fb1fc40861f5555189928d4545d41d9a015e0a3b4e7cb84b63d5e6cfc423e SHA512 718bd709994ad62613ad6f96bbd1496fb21ee284b99430b01cc0c5c2df172286a4debb7212b9972329554143ce7fbad8c405e6747ee50858e33200918557cd5b
MISC metadata.xml 845 BLAKE2B 9de860fb57dbce9f967b490013f86f697426b4d134d515649922512b0a0446753e4417520023913dd2379779125b20eb2854f06e02a764eee3c4c7a6322f5215 SHA512 ebba6366729d3a317664310ea7203d9ba16071c23cfbb8b3b9f1dbfaffc41268a498646e9c79d2086e7da52fdfa97fdd5cdecc3c472b7ca147aecc4873546205
diff --git a/sys-libs/libfaketime/files/libfaketime-0.9.8-Treat-unknown-clock_ids-like-CLOCK_REALTIME.patch b/sys-libs/libfaketime/files/libfaketime-0.9.8-Treat-unknown-clock_ids-like-CLOCK_REALTIME.patch
new file mode 100644
index 000000000000..13d7698ec1bd
--- /dev/null
+++ b/sys-libs/libfaketime/files/libfaketime-0.9.8-Treat-unknown-clock_ids-like-CLOCK_REALTIME.patch
@@ -0,0 +1,35 @@
+From bb635e4367adcac2c1517a698799a60a2bf86e83 Mon Sep 17 00:00:00 2001
+From: Wolfgang Hommel <wolf@code-wizards.com>
+Date: Thu, 30 Nov 2017 20:28:06 +0100
+Subject: [PATCH] Treat unknown clock_ids like CLOCK_REALTIME (experimental)
+
+---
+ src/libfaketime.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/libfaketime.c b/src/libfaketime.c
+index b59298c..b36c75b 100644
+--- a/src/libfaketime.c
++++ b/src/libfaketime.c
+@@ -2020,8 +2020,8 @@ int fake_clock_gettime(clockid_t clk_id, struct timespec *tp)
+ break;
+ #endif
+ default:
+- printf("Invalid clock_id for clock_gettime: %d", clk_id);
+- exit(EXIT_FAILURE);
++ timespecsub(tp, &ftpl_starttime.real, &tmp_ts);
++ break;
+ }
+
+ if (limited_faking)
+@@ -2171,8 +2171,8 @@ int fake_clock_gettime(clockid_t clk_id, struct timespec *tp)
+ break;
+ #endif
+ default:
+- printf("Invalid clock_id for clock_gettime: %d", clk_id);
+- exit(EXIT_FAILURE);
++ timespecsub(tp, &ftpl_starttime.real, &tdiff);
++ break;
+ } // end of switch (clk_id)
+ if (user_rate_set)
+ {
diff --git a/sys-libs/libfaketime/libfaketime-0.9.6-r3.ebuild b/sys-libs/libfaketime/libfaketime-0.9.6-r4.ebuild
index b115280410ee..0d1e323682b4 100644
--- a/sys-libs/libfaketime/libfaketime-0.9.6-r3.ebuild
+++ b/sys-libs/libfaketime/libfaketime-0.9.6-r4.ebuild
@@ -13,6 +13,8 @@ LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ~ppc64 -riscv sparc x86"
+PATCHES=( "${FILESDIR}"/${PN}-0.9.8-Treat-unknown-clock_ids-like-CLOCK_REALTIME.patch )
+
src_prepare() {
default
diff --git a/sys-libs/libhugetlbfs/Manifest b/sys-libs/libhugetlbfs/Manifest
index 8ae94cbdaf41..16046e398d08 100644
--- a/sys-libs/libhugetlbfs/Manifest
+++ b/sys-libs/libhugetlbfs/Manifest
@@ -1,5 +1,6 @@
+AUX libhugetlbfs-2.23-allow-building-against-glibc-2.34.patch 10055 BLAKE2B 38b3c28321bdaa5271d8655823ea00952ca8571c84bfe9ec980a35ad7ad77e382ac9235c058597628cc574e03ce0dadbe19bab298c30763e03508aff01275e4b SHA512 abfcfdd87cf7c17663ba466c46182ac04aac454bcedc55a5032bd142419388daa8b0ca0a885f3aedfc830bbd2c58dfd15c4a3499a6fb26df679d8cbe87bf2143
AUX libhugetlbfs-2.23-uncompressed-man-pages.patch 1515 BLAKE2B b43415a3059f1071f0fc04ec834cd51d87a8bd93f2df6b428a33296b1b55745f23861415a463d5899b12699c5f4a3e5bdd837a8ec2894d1fc89039924330d77d SHA512 ea3ef19a688866676315af59422233681a41338fd049cfa50ed91f660f0baf1950ba056b9fcd540e6694b8ec348c0d1fbb3aa6b8c1840e22a77634e26555c9bc
AUX libhugetlbfs-2.6-fixup-testsuite.patch 1231 BLAKE2B e49ac448b4ac17a6ce9c32543e3ad7391bc8525e147d7a5100ef7ae15e4b0cf48b58ff1fe62d9a0fa61f142b7b8366228974c6628999edaa61d96114371bc09d SHA512 af9ee541ac4a30260e17baab1616cee13fdcc679ae3fdceed29ca6282c12a6b60d24b04bb61e3aa5f42092e017eb3bae59a56fd2b03954e40803f9f6f2cc4f80
DIST libhugetlbfs-2.23.tar.gz 175459 BLAKE2B f469ff9a65364e9f0e04c11c8010c958855ebd4d50e1dd719576cda7c280586623404304be64a794907a5fb1d97bd9c0620a91d7a2492577e04fa40ff432b4c7 SHA512 fc9a7d59bcda9d3ca9c9e43a3a348f989c9cbdbbb77f21a43a06e71eacd05bbe5a7b2b51e20ae9ea00da9f1c4d1130da529bbfb702e8c9d11cab6efadd3dc168
-EBUILD libhugetlbfs-2.23.ebuild 4218 BLAKE2B bd527e5c16ef3f0f9a4a4a7743755d1dc1aac2a6caad747182347600d04ff26ff72b2ea7f4a874ac1e34bfddd38845e69186ae864c7408d759320ca1ff777fe3 SHA512 60facbec943112d3eedfbc66133ee26a9300271ba4e9bca14e7e2f0c01145eedba2d6dbfb9e79183f827e9707be9ae5e3ddd087bdb415fd34aaaed3939e57f63
+EBUILD libhugetlbfs-2.23.ebuild 4284 BLAKE2B 544569161a2110825e2919e7556947f8730531db4a5dc23bfc887fe5066226e9f9a54ce9efb44eb6537fc68080a76e5aba20018e5b4df8825735a4149f94d0b3 SHA512 98d912b5ff58d48f3e4bdbb64e5e33d4eb5700d52227d3f314179a2b9552ce605c32a4a7b24f8c212d94c8b75cd8bef7527daa85a4b7b09579c4d53e496c3655
MISC metadata.xml 397 BLAKE2B 7b521a2822a494f6a2b7a85420a38edd396ca0e3856faeb682378c48eda3d1932788af7ac7bbb4e07cae37b2119afd386f75c5dc0ab1f69c8e4630be16cc549e SHA512 96065769a7893c1e05bc3ab9396eb01a60a293dac9b090419087a9bb5a152b2f291a950e8217ffcb7bed34262a5369119da469e22cc3171fdc0ad2b87ae6d698
diff --git a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-allow-building-against-glibc-2.34.patch b/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-allow-building-against-glibc-2.34.patch
new file mode 100644
index 000000000000..68e121e240ab
--- /dev/null
+++ b/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-allow-building-against-glibc-2.34.patch
@@ -0,0 +1,258 @@
+From 959d74fd0fbbff310943096e15024a84e8f5cba4 Mon Sep 17 00:00:00 2001
+From: Matheus Castanho <msc@linux.ibm.com>
+Date: Thu, 12 Aug 2021 16:38:46 -0300
+Subject: [PATCH] Disable hugepage-backed malloc if __morecore is not available
+
+Starting with glibc 2.32, __morecore hook has been marked as deprecated, and was
+completely removed on glibc 2.34, which causes an undefined symbol error during
+the build of libhugetlbfs.
+
+Greater changes are needed in order to keep providing the same functionality
+with future versions of glibc (see issue #52). Meanwhile, we can disable
+hugepage-backed malloc setup if __morecore is not available so users can at
+least keep using the other features provided by the library. Related tests are
+also conditionally disabled, and will show as SKIPPED if __morecore is not
+available.
+
+Tested on powerpc64le and x86_64 with glibc 2.34 and olders.
+
+Signed-off-by: Matheus Castanho <msc@linux.ibm.com>
+---
+ Makefile | 6 +++++
+ morecore.c | 8 ++++++
+ tests/run_tests.py | 67 +++++++++++++++++++++++++++++++++++++++-------
+ 3 files changed, 71 insertions(+), 10 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 8b73523..35e53e7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -192,6 +192,12 @@ endif
+ endif
+ endif
+
++# glibc 2.34 removed __morecore, so it may not be available with recent versions
++HAS_MORECORE := $(shell /bin/echo -e '\#include <malloc.h>\nvoid * morecore_exists() { return &__morecore; }' | $(CC) -c -xc -o /dev/null - &> /dev/null && /bin/echo yes || /bin/echo no)
++ifeq ($(HAS_MORECORE),yes)
++CFLAGS += -DHAS_MORECORE
++endif
++
+ HEADERDIR = $(PREFIX)/include
+ LIBDIR32 = $(PREFIX)/$(LIB32)
+ LIBDIR64 = $(PREFIX)/$(LIB64)
+diff --git a/morecore.c b/morecore.c
+index 6563bbd..405c566 100644
+--- a/morecore.c
++++ b/morecore.c
+@@ -33,6 +33,13 @@
+
+ #include "libhugetlbfs_internal.h"
+
++#ifndef HAS_MORECORE
++void hugetlbfs_setup_morecore(void)
++{
++ INFO("Not setting up morecore because it's not available (see issue #52).\n");
++}
++#else
++
+ static int heap_fd;
+
+ static void *heapbase;
+@@ -381,3 +388,4 @@ void hugetlbfs_setup_morecore(void)
+ * to mmap() if we run out of hugepages. */
+ mallopt(M_MMAP_MAX, 0);
+ }
++#endif /* HAS_MORECORE */
+diff --git a/tests/run_tests.py b/tests/run_tests.py
+index 018264d..871d04d 100755
+--- a/tests/run_tests.py
++++ b/tests/run_tests.py
+@@ -60,7 +60,7 @@ def snapshot_pool_state():
+ l.append((d, tuple(substate)))
+ return tuple(l)
+
+-def run_test_prog(bits, pagesize, cmd, **env):
++def run_test_prog(bits, pagesize, cmd, output='stdout', **env):
+ if paranoid_pool_check:
+ beforepool = snapshot_pool_state()
+ print("Pool state: %s" % str(beforepool))
+@@ -73,15 +73,17 @@ def run_test_prog(bits, pagesize, cmd, **env):
+ % (bits, bits, local_env.get("LD_LIBRARY_PATH", ""))
+ local_env["HUGETLB_DEFAULT_PAGE_SIZE"] = repr(pagesize)
+
++ popen_args = {'env' : local_env, output : subprocess.PIPE}
++
+ try:
+- p = subprocess.Popen(cmd, env=local_env, stdout=subprocess.PIPE)
++ p = subprocess.Popen(cmd, **popen_args)
+ rc = p.wait()
+ except KeyboardInterrupt:
+ # Abort and mark this a strange test result
+ return (None, "")
+ except OSError as e:
+ return (-e.errno, "")
+- out = p.stdout.read().decode().strip()
++ out = getattr(p, output).read().decode().strip()
+
+ if paranoid_pool_check:
+ afterpool = snapshot_pool_state()
+@@ -309,6 +311,33 @@ def check_linkhuge_tests():
+ okbits.add(bits)
+ return okbits
+
++def check_morecore_disabled():
++ """
++ Check if support for morecore is available.
++
++ Newer glibc versions (>= 2.34) removed the __morecore malloc hook, so tests
++ relying on that functionality will not work as expected, and should be
++ disabled.
++ """
++ global morecore_disabled, wordsizes, pagesizes
++
++ # Quick and dirty way to get a word and page size. Which one doesn't really
++ # matter in this case.
++ for wsz in wordsizes:
++ b = wsz
++ break
++ for psz in pagesizes:
++ p = psz
++ break
++
++ # Run an arbitrary program and check stderr for the "morecore disabled"
++ # message
++ (rc, out) = run_test_prog(b, p, "gethugepagesize", output='stderr',
++ HUGETLB_MORECORE="yes",
++ HUGETLB_VERBOSE="3")
++
++ morecore_disabled = "Not setting up morecore" in out
++
+ def print_cmd(pagesize, bits, cmd, env):
+ if env:
+ print(' '.join(['%s=%s' % (k, v) for k, v in env.items()]), end=" ")
+@@ -357,14 +386,17 @@ def skip_test(pagesize, bits, cmd, **env):
+ print_cmd(pagesize, bits, cmd, env)
+ print("SKIPPED")
+
+-def do_test(cmd, bits=None, **env):
++def do_test(cmd, bits=None, skip=False, **env):
+ """
+ Run a test case, testing each page size and each indicated word size.
+ """
+ if bits == None: bits = wordsizes
+ for p in pagesizes:
+ for b in (set(bits) & wordsizes_by_pagesize[p]):
+- run_test(p, b, cmd, **env)
++ if skip:
++ skip_test(p, b, cmd, **env)
++ else:
++ run_test(p, b, cmd, **env)
+
+ def do_test_with_rlimit(rtype, limit, cmd, bits=None, **env):
+ """
+@@ -375,7 +407,7 @@ def do_test_with_rlimit(rtype, limit, cmd, bits=None, **env):
+ do_test(cmd, bits, **env)
+ resource.setrlimit(rtype, oldlimit)
+
+-def do_test_with_pagesize(pagesize, cmd, bits=None, **env):
++def do_test_with_pagesize(pagesize, cmd, bits=None, skip=False, **env):
+ """
+ Run a test case, testing with a specified huge page size and
+ each indicated word size.
+@@ -383,7 +415,10 @@ def do_test_with_pagesize(pagesize, cmd, bits=None, **env):
+ if bits == None:
+ bits = wordsizes
+ for b in (set(bits) & wordsizes_by_pagesize[pagesize]):
+- run_test(pagesize, b, cmd, **env)
++ if skip:
++ skip_test(pagesize, b, cmd, **env)
++ else:
++ run_test(pagesize, b, cmd, **env)
+
+ def do_elflink_test(cmd, **env):
+ """
+@@ -533,7 +568,7 @@ def functional_tests():
+ """
+ Run the set of functional tests.
+ """
+- global linkhuge_wordsizes
++ global linkhuge_wordsizes, morecore_disabled
+
+ # Kernel background tests not requiring hugepage support
+ do_test("zero_filesize_segment")
+@@ -598,19 +633,24 @@ def functional_tests():
+ do_test("fork-cow")
+ do_test("direct")
+ do_test_with_pagesize(system_default_hpage_size, "malloc")
++
+ do_test_with_pagesize(system_default_hpage_size, "malloc",
++ skip=morecore_disabled,
+ LD_PRELOAD="libhugetlbfs.so",
+ HUGETLB_MORECORE="yes")
+ do_test_with_pagesize(system_default_hpage_size, "malloc",
++ skip=morecore_disabled,
+ LD_PRELOAD="libhugetlbfs.so",
+ HUGETLB_MORECORE="yes",
+ HUGETLB_RESTRICT_EXE="unknown:none")
+ do_test_with_pagesize(system_default_hpage_size, "malloc",
++ skip=morecore_disabled,
+ LD_PRELOAD="libhugetlbfs.so",
+ HUGETLB_MORECORE="yes",
+ HUGETLB_RESTRICT_EXE="unknown:malloc")
+ do_test_with_pagesize(system_default_hpage_size, "malloc_manysmall")
+ do_test_with_pagesize(system_default_hpage_size, "malloc_manysmall",
++ skip=morecore_disabled,
+ LD_PRELOAD="libhugetlbfs.so",
+ HUGETLB_MORECORE="yes")
+
+@@ -630,26 +670,32 @@ def functional_tests():
+ do_test_with_pagesize(system_default_hpage_size, "heapshrink",
+ GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
+ LD_PRELOAD="libheapshrink.so")
++
+ do_test_with_pagesize(system_default_hpage_size, "heapshrink",
++ skip=morecore_disabled,
+ GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
+ LD_PRELOAD="libhugetlbfs.so",
+ HUGETLB_MORECORE="yes")
+ do_test_with_pagesize(system_default_hpage_size, "heapshrink",
++ skip=morecore_disabled,
+ GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
+ LD_PRELOAD="libhugetlbfs.so libheapshrink.so",
+ HUGETLB_MORECORE="yes")
+ do_test_with_pagesize(system_default_hpage_size, "heapshrink",
++ skip=morecore_disabled,
+ GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
+ LD_PRELOAD="libheapshrink.so",
+ HUGETLB_MORECORE="yes",
+ HUGETLB_MORECORE_SHRINK="yes")
+ do_test_with_pagesize(system_default_hpage_size, "heapshrink",
++ skip=morecore_disabled,
+ GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
+ LD_PRELOAD="libhugetlbfs.so libheapshrink.so",
+ HUGETLB_MORECORE="yes",
+ HUGETLB_MORECORE_SHRINK="yes")
+
+- do_test("heap-overflow", HUGETLB_VERBOSE="1", HUGETLB_MORECORE="yes")
++ do_test("heap-overflow", skip=morecore_disabled, HUGETLB_VERBOSE="1",
++ HUGETLB_MORECORE="yes")
+
+ # Run the remapping tests' up-front checks
+ linkhuge_wordsizes = check_linkhuge_tests()
+@@ -747,7 +793,7 @@ def print_help():
+
+ def main():
+ global wordsizes, pagesizes, dangerous, paranoid_pool_check, system_default_hpage_size
+- global custom_ldscripts
++ global custom_ldscripts, morecore_disabled
+ testsets = set()
+ env_override = {"QUIET_TEST": "1", "HUGETLBFS_MOUNTS": "",
+ "HUGETLB_ELFMAP": None, "HUGETLB_MORECORE": None}
+@@ -802,6 +848,7 @@ def main():
+ return 1
+
+ check_hugetlbfs_path()
++ check_morecore_disabled()
+
+ if "func" in testsets: functional_tests()
+ if "stress" in testsets: stress_tests()
diff --git a/sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild b/sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild
index ce5da82ddfcd..c091b4a8c00b 100644
--- a/sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild
+++ b/sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild
@@ -22,6 +22,7 @@ BDEPEND="test? ( ${PYTHON_DEPS} )"
PATCHES=(
"${FILESDIR}"/${PN}-2.6-fixup-testsuite.patch
"${FILESDIR}"/${PN}-2.23-uncompressed-man-pages.patch
+ "${FILESDIR}"/${PN}-2.23-allow-building-against-glibc-2.34.patch
)
src_prepare() {
diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest
index 466b58423112..9e60d88144e0 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -1,11 +1,14 @@
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
DIST llvm-gentoo-patchset-13.0.0-r2.tar.xz 6500 BLAKE2B 0ce8d0c4a5508f70c8ec49dbc03dfbfc6371ac224bc5dfc9a39f71def0f574405a06df5666baf6159afafd83a8028c5ea6cb369f22a06f927f3ce6795e96994d SHA512 800d44b382c03b673b43965d80d6ed1b7e8e4ced8d066183b9b8df722b2cc002a6aa54092e600f0d77611be581d312f8886ce8af25b23ff818115a209ec21312
+DIST llvm-gentoo-patchset-13.0.1-rc1.tar.xz 5988 BLAKE2B 8f1d295d4b6937518d9e0cc00cc2ba9e12ff9773b35261f0985b2d2a4ed1e3363a7f961cb385728b5ae552d0e129d99d11e63958d32c3353b0a79a88ba5cc0d5 SHA512 8272c423a5e0e99d412bb449794ba2e8134aca69d09e90e93555dbd3b7549d6ce4d68617ca11074af0a35a6f6830bf0330cbc672c5a56054cfd824e3ac1900ea
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
+DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d
EBUILD libomp-11.1.0.ebuild 2901 BLAKE2B e18155f24e5d0aa2de9a1976c818777e8d2d16092aa5e58b5c38197461a0b4ca5967ec161140b2a63835a0cfa601eb31fc08cbaa492088269808d6d803c7a47a SHA512 23a429ded341114ea3c4282b974520146ea0734e01b5863c837d119517b39365b537126091f5efcf752ca7860bccf0e0e2d763b507e903321532db87bcd42b79
EBUILD libomp-12.0.1.ebuild 2968 BLAKE2B 4e5511872021796bc51f8544a9f6ca5372650297c3c805a1bb16696def4901b34ad6ecbb7fcd4ce87a192e04aacda3d121b8dd62175e3ab3fab7d2a28095fe09 SHA512 d1f169993b83021c8c31b1911d827b62be19b916f2c53b7ef7b59d82b88c241d36eb054947d56bea13cf064f8737050d988ab6379be8a09e81bb04d7e333e3ff
EBUILD libomp-13.0.0-r1.ebuild 3815 BLAKE2B 83157bf0d69f4c15d268d059215228e00b4f192a70d91903e41c52aef04f79d90484d0b3e455cd8ea95aa0e6e4a0959c3af67f06793cf9b38a16dfd08564b2c2 SHA512 75da1352febcf3d596e9b733070fbf957a052c856a2e3710c4bbdc216f2a902fdfb1fc8ebdfaaca9194ee2414bcae44e83e5bdda9e018d183e04f762c5535a74
-EBUILD libomp-13.0.0.9999.ebuild 3727 BLAKE2B 684536b9dce5ebe7e0e973eb085ff923c55a9afff200943ec962c6169e0062543b4378dda72144001b3a8b8736fa3f94a3109bf4ef49013c154872f9f2b98215 SHA512 304eb23923016bbed50fd3cf63ecfa4b6d0d22e29c57a07c9034d4ec6edd96c66471c3bcc41067aa52a5cd1aec035b206dc2d87d9ffc04d76f9e13ed30d69eff
+EBUILD libomp-13.0.1.9999.ebuild 3727 BLAKE2B 684536b9dce5ebe7e0e973eb085ff923c55a9afff200943ec962c6169e0062543b4378dda72144001b3a8b8736fa3f94a3109bf4ef49013c154872f9f2b98215 SHA512 304eb23923016bbed50fd3cf63ecfa4b6d0d22e29c57a07c9034d4ec6edd96c66471c3bcc41067aa52a5cd1aec035b206dc2d87d9ffc04d76f9e13ed30d69eff
+EBUILD libomp-13.0.1_rc1.ebuild 3751 BLAKE2B 5601a3610923f3b6c5d594f9c8eb201afbad23bf039772ecb52a9169b289c3b6097e7ae1a7c4397fee38be8ba0124b507675cd09cbeb6ac427e43abc60fa0e4b SHA512 0ee02da8241f5d42254909652d2eb6521cdd29762e8febb8b19911536660eb1142163bba82407cd5850111afd781b39b646a4a6e5f1625d12a1f1cb1da7509ec
EBUILD libomp-14.0.0.9999.ebuild 3727 BLAKE2B 684536b9dce5ebe7e0e973eb085ff923c55a9afff200943ec962c6169e0062543b4378dda72144001b3a8b8736fa3f94a3109bf4ef49013c154872f9f2b98215 SHA512 304eb23923016bbed50fd3cf63ecfa4b6d0d22e29c57a07c9034d4ec6edd96c66471c3bcc41067aa52a5cd1aec035b206dc2d87d9ffc04d76f9e13ed30d69eff
MISC metadata.xml 826 BLAKE2B 94bad2982b52156c2755f4fcdc534648e30b45b514f486028d7beba9af050c3c6847a33fdc11cbf26195794b8e8a7cbeb4e110b8b4398f784c7b7c3edeea02ca SHA512 60de2890b1edc3d60feb5b04dbce840b17e0812ff301f00fd7c12242d3b81cdb3b8ad7afeb3624d70526a93cf8285c96a65b5fcd0384dd093b722c1ae645fa2f
diff --git a/sys-libs/libomp/libomp-13.0.0.9999.ebuild b/sys-libs/libomp/libomp-13.0.1.9999.ebuild
index 28c0f1fb620c..28c0f1fb620c 100644
--- a/sys-libs/libomp/libomp-13.0.0.9999.ebuild
+++ b/sys-libs/libomp/libomp-13.0.1.9999.ebuild
diff --git a/sys-libs/libomp/libomp-13.0.1_rc1.ebuild b/sys-libs/libomp/libomp-13.0.1_rc1.ebuild
new file mode 100644
index 000000000000..7f61ca615aa0
--- /dev/null
+++ b/sys-libs/libomp/libomp-13.0.1_rc1.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake-multilib linux-info llvm llvm.org python-any-r1
+
+DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
+HOMEPAGE="https://openmp.llvm.org"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="cuda debug hwloc kernel_linux offload ompt test
+ llvm_targets_AMDGPU llvm_targets_NVPTX"
+# CUDA works only with the x86_64 ABI
+REQUIRED_USE="
+ cuda? ( llvm_targets_NVPTX )
+ offload? ( cuda? ( abi_x86_64 ) )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ hwloc? ( sys-apps/hwloc:0=[${MULTILIB_USEDEP}] )
+ offload? (
+ virtual/libelf:=[${MULTILIB_USEDEP}]
+ dev-libs/libffi:=[${MULTILIB_USEDEP}]
+ ~sys-devel/llvm-${PV}[${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}"
+BDEPEND="dev-lang/perl
+ offload? (
+ llvm_targets_AMDGPU? ( sys-devel/clang )
+ llvm_targets_NVPTX? ( sys-devel/clang )
+ virtual/pkgconfig
+ )
+ test? (
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ sys-devel/clang
+ )"
+
+LLVM_COMPONENTS=( openmp llvm/include )
+LLVM_PATCHSET=${PV/_/-}
+llvm.org_set_globals
+
+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 offload && LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
+ use test && python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ 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
+ )
+ if use offload && has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then
+ mycmakeargs+=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=$(usex !cuda)
+ -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=$(usex llvm_targets_AMDGPU)
+ -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=$(usex llvm_targets_NVPTX)
+ # a cheap hack to force clang
+ -DLIBOMPTARGET_NVPTX_CUDA_COMPILER="$(type -P "${CHOST}-clang")"
+ # upstream defaults to looking for it in clang dir
+ # this fails when ccache is being used
+ -DLIBOMPTARGET_NVPTX_BC_LINKER="$(type -P llvm-link)"
+ )
+ else
+ mycmakeargs+=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
+ -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF
+ -DLIBOMPTARGET_BUILD_NVPTX_BCLIB=OFF
+ )
+ fi
+ use test && mycmakeargs+=(
+ # this project does not use standard LLVM cmake macros
+ -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit"
+ -DOPENMP_LIT_ARGS="$(get_lit_flags)"
+
+ -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")"
+ -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")"
+ )
+ addpredict /dev/nvidiactl
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+
+ cmake_build check-libomp
+}
diff --git a/sys-libs/libosinfo/Manifest b/sys-libs/libosinfo/Manifest
index 01507bdf990a..e32e80001f62 100644
--- a/sys-libs/libosinfo/Manifest
+++ b/sys-libs/libosinfo/Manifest
@@ -1,3 +1,4 @@
DIST libosinfo-1.9.0.tar.xz 279376 BLAKE2B 9f231f022d80e96fc9b031ff8f16ea1e432e5e3ce079e384ad123043b89dd5e47ae119aec3052c8926965bf30c49b150f0ee727fb3b0e0391d393b1031aabeab SHA512 2e62e69f4353eb935734f091caa4cc4e3dce74020a93b684807470f068da73e8ecb7f4af0623b6d3053ecff3a34c6709a783dec3d25a56dc69f0e7ff9041cf26
+EBUILD libosinfo-1.9.0-r1.ebuild 1547 BLAKE2B a1b4f5a179d4ff7184e97c85d1d0345d87ee6f9461066d9a27a7df6193dd32e41745756c0b49e26b03770d5700f4456bb3e49fd8ab8df1fdf9d21b15d2153af2 SHA512 ca2dcc4226a07c7b60c02225e0df310638afc1057f9260aa7344e78cf182a1c0ccedec0dd20da70156443a63d32b58d6bcd92831ba2f47234795f9010f1d1a76
EBUILD libosinfo-1.9.0.ebuild 1524 BLAKE2B 4fe809771ec4d270e13d710f86974cb98d4c029716fea1fd19cc5dbbc6a1f5ce9c8cf62442bf2176bf37a3a1467ae35a928db29528354994664d07d806758c79 SHA512 e59941dafc9c3d40c2143b69ed06268eec25bd53022f44ac3914c0b19cb5e2baadf50f99a68abf3d49d314641a3770e2e6a30dcb2b963501e32d364c98bc362f
MISC metadata.xml 250 BLAKE2B 8f7f0fe023d43e380e7861e897e6afcb5de4baefb42ea9c65a57dfc0d204c6f787a99295141832e732ebb08be218da56ba77e2dd9639e4e3aabf718ce4db1d0c SHA512 2684e772dd6d83e4b49f08f2ba22d8a0a753e7b46863489eff1b5d1f2f147ad80ffd93245ca405ac4c747249bc1b754454ec9865fe16da70f9b257051e105fd8
diff --git a/sys-libs/libosinfo/libosinfo-1.9.0-r1.ebuild b/sys-libs/libosinfo/libosinfo-1.9.0-r1.ebuild
new file mode 100644
index 000000000000..54ada71ed302
--- /dev/null
+++ b/sys-libs/libosinfo/libosinfo-1.9.0-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VALA_USE_DEPEND="vapigen"
+
+inherit meson udev vala xdg
+
+DESCRIPTION="GObject library for managing information about real and virtual OSes"
+HOMEPAGE="https://libosinfo.org/"
+SRC_URI="https://releases.pagure.org/libosinfo/${P}.tar.xz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+
+IUSE="gtk-doc +introspection +vala test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="vala? ( introspection )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+# Unsure about osinfo-db-tools rdep, but at least fedora does it too
+RDEPEND="
+ >=dev-libs/glib-2.44:2
+ net-libs/libsoup:2.4
+ >=dev-libs/libxml2-2.6.0
+ >=dev-libs/libxslt-1.0.0
+ sys-apps/hwdata
+ sys-apps/osinfo-db-tools
+ sys-apps/osinfo-db
+ introspection? ( >=dev-libs/gobject-introspection-1.56:= )
+"
+DEPEND="${RDEPEND}"
+# perl dep is for pod2man for automagic manpage building
+BDEPEND="
+ dev-lang/perl
+ dev-util/glib-utils
+ gtk-doc? ( >=dev-util/gtk-doc-1.10
+ app-text/docbook-xml-dtd:4.3 )
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ xdg_src_prepare
+ use vala && vala_src_prepare
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use gtk-doc enable-gtk-doc)
+ $(meson_feature introspection enable-introspection)
+ $(meson_use test enable-tests)
+ $(meson_feature vala enable-vala)
+ -Dwith-pci-ids-path="${EPREFIX}"/usr/share/hwdata/pci.ids
+ -Dwith-usb-ids-path="${EPREFIX}"/usr/share/hwdata/usb.ids
+ )
+ meson_src_configure
+}
diff --git a/sys-libs/librtas/Manifest b/sys-libs/librtas/Manifest
index 0456e3fcb067..2fb24a8b1925 100644
--- a/sys-libs/librtas/Manifest
+++ b/sys-libs/librtas/Manifest
@@ -1,4 +1,4 @@
AUX librtas-2.0.2-musl.patch 1073 BLAKE2B 51c0ff8a61aa16409f43abb4171b790308565baef19f9d74596f2c3bb0feab5538cbbc60133e95706b116dc68c957b69dc280fa3a75396812f09f227d032328e SHA512 d461f8f9fc11ea81c4b9847f4fd36fe1498d90df414a3e31daa7a385435267edee5ff851382a7c8c1c575ff1ec09c3612ee59bd882196ce270f8c41ddd3ee629
DIST librtas-2.0.2.tar.gz 91627 BLAKE2B 1455af1af4a932fb81815ba67d1d1d8eeb0866bcf49fdcced622c1982121b5bb3ddeaf78f121a6540ec6c60d641991a87342713478a5be5232128db35d272059 SHA512 112d355bc486657289a186d9f1b8c576af55422f1527259a0cd680c07d6fa787aef2dc0cb6322721dc4aa1c5bd1de669f5c4d05e6a07de65262e9e3d4d0283c7
-EBUILD librtas-2.0.2-r1.ebuild 728 BLAKE2B ebc8a29955fbd67f30c4c9a2bb2f367185e752f0271f7b3fcabaec1fe99fdb499d4400209809c5840ae005d545a3bd17c2aaba384b4b6c69441f3aac531e3089 SHA512 035abe76ed04cf1dd43974e29f936f63bd3969ff8585fb066b9a09edea113667706a51a46d3e8744766fe4e37ff72e310dfd101c6aae0ee15ee307af573b83fa
+EBUILD librtas-2.0.2-r2.ebuild 997 BLAKE2B a0d59eded6abe538ab2984b650672e352dc514d3e22bff5315c18ba22667672dbf966805efc649881187f4de8557e9cb3e4e0a9a3dbf6760c94ef6f9b6e434c0 SHA512 e5230ef175e47a8ac3a3fd5fed2de73dd18db4689de999869f6ed60f80bcdcda614a24d696558468ac720272131eb7b0bfc9c898a383a49c741374e5e42ac219
MISC metadata.xml 341 BLAKE2B 7a3729c933c0154a1b1d8789e940557051e2b46a34988d0ea45f28f6e491ebecf48ce1bd8c76f939a9c8abda07ca40431d60a839eb45ebdc669151d8312e6701 SHA512 e97728d7fb4a1be9cfc2945b6e59fe507ad2783a93d41cf72adaf61f5331d2ca165a545d522c3009ef550aaa67e9a83b3324d0c0dd311bf367758efdd813b54e
diff --git a/sys-libs/librtas/librtas-2.0.2-r1.ebuild b/sys-libs/librtas/librtas-2.0.2-r2.ebuild
index 61863ff24d39..f43d44b267f5 100644
--- a/sys-libs/librtas/librtas-2.0.2-r1.ebuild
+++ b/sys-libs/librtas/librtas-2.0.2-r2.ebuild
@@ -27,4 +27,8 @@ src_configure() {
src_install() {
emake DESTDIR="${D}" install docdir="${EPREFIX}"/usr/share/doc/${PF}
find "${D}" -name '*.la' -delete || die
+ # librtas_src/syscall_rmo.c: static const char *lockfile_path = "/var/lock/LCK..librtas";
+ # this way we prevent sandbox violations in lscpu linked to rtas
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/run/lock/LCK..librtas"' > "${ED}"/etc/sandbox.d/50librtas || die
}
diff --git a/sys-libs/libselinux/Manifest b/sys-libs/libselinux/Manifest
index 1915493dae08..f5ac08274567 100644
--- a/sys-libs/libselinux/Manifest
+++ b/sys-libs/libselinux/Manifest
@@ -2,7 +2,7 @@ DIST libselinux-3.1.tar.gz 204703 BLAKE2B 72ff2d99dd6640405e804f58bdfbf05e152615
DIST libselinux-3.2.tar.gz 206380 BLAKE2B 544eaaa87b9738c61929abe48713b530a8909eaea017890040f2fe299af86f09b6eb2cf4c9a68e06268ba09923b2b67703ac7a2b973906acb45f698e9ccaeed2 SHA512 18129ac0b9936e1f66021f1b311cf1c1e27a01e50cb70f08a3e1c642c5251e4538aec25a8427778569dfecf5333cf1fb84f1a59afdce8019328d0cff7e5833c5
DIST libselinux-3.3.tar.gz 206826 BLAKE2B e4cd2bf7172db1dd7661dd7981f875eb45f3c123805618edd03d7258f4b1f7afc974020187ec2e9e50dd59b3581ee21a29012eaa90ddfa82e43db4b8e60c51b7 SHA512 9a89c05ea4b17453168a985ece93ba6d6c4127916e657c46d4135eb59a1f6408faa0802cc2e49187defbde5247d659037beee089877affbab3eab6af3433696c
EBUILD libselinux-3.1-r1.ebuild 4215 BLAKE2B 36d801acf1836645c710ba451aee245317c85dca7452ee990b1ae4f409e758d1cbdd3e47bd839e642e04e6d0cc30a4413060470a47a613a503361182d51128d6 SHA512 1e62339dd7530ce1eed4884024960e2012b533bc7d1160ce3a821956c502af7eaefee69dddb166df44a5d2a26940d5357400f5019c7b62cfc0209161cfa33af5
-EBUILD libselinux-3.2.ebuild 4241 BLAKE2B 4b93aa92a88f03e0bbbc1dd917f899416537e8894d6e830e60920c1cd6b17fc8809c1f2753ddf957f5a5c6fda3b74afeb1ab0012cd1e4dcf3bdee41e5b712982 SHA512 9441fd4d3afe9a1a016d3a99de27c2c1c82c0ad8646dae3bc4cd4775aa3ccece58d95343a3f43b6e6c6eec4ac967a8d0735ff162506e06a99e5fdaa82274a740
+EBUILD libselinux-3.2.ebuild 4239 BLAKE2B ad7894053b45a7637e7c2e0584265077b848b522657b29738e80598706179e69044d773f9c4c2251ccba9f8564d6ab07402305a90bc3359422e4c15c30acf9c9 SHA512 8b379f9b3aef6fc99081a154f98e68abdcd6318b64658e52421f892a73cfc6a37495e0d3c689e2dcb0ed2a40d149c7484db850e078f7a9914b3b3fbcf31ebd3e
EBUILD libselinux-3.3.ebuild 4243 BLAKE2B 5c7c423ff4a25cd4631099320e406722fea8f539d4ac986f8be445de22fbc07b52b4190ff3709fde9df32e30213c4a3414df28e2971aa976a57a8c984bb88a10 SHA512 64dc774c7687ffb3c5a5d79943eefad9dac019352d1e458b81b1ca5d5766b6e2f757a49ec8118b514984ac793842534ce76c10c4075cd509d61210baf76464e5
EBUILD libselinux-9999.ebuild 4235 BLAKE2B 907af15311f4f5e94583ecd32a097021feb022ef997d95eaddf046c6d36c384f6d9ad4de9f2a58cdeb8a65a2993ea5faf4060a840a2af23fe7fd7c5c1e42fef0 SHA512 83b2dca2f27d387db7ce337a217ff3cc25f2271b9a57d0017aec52f4dbed53aab7bbdea3f5f930ad033dcb9bfa1ac3bd3f37ccaa72b31f4b2341919d0d739e65
MISC metadata.xml 746 BLAKE2B 4965c5541d4d9481d3e74e28a7d40a47b17895b3fb095111a46524fa77ec45527306f7960375c2d5c1fcfa3cc106aebd6e055341e99b46a2bb2e2f464c6b35ed SHA512 683a5acd27beb458c2f6c8aa7404e4920923d873a993ac21f52b9191a86e0ca5a74e9376a9a6d9e7b225a95a79ae4e813a05184c8c49d0ed7859e768890f080f
diff --git a/sys-libs/libselinux/libselinux-3.2.ebuild b/sys-libs/libselinux/libselinux-3.2.ebuild
index 2956e1e94ad9..8cb65e1d9e80 100644
--- a/sys-libs/libselinux/libselinux-3.2.ebuild
+++ b/sys-libs/libselinux/libselinux-3.2.ebuild
@@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]]; then
S="${WORKDIR}/${P}/${PN}"
else
SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~mips ~riscv x86"
+ KEYWORDS="amd64 arm arm64 ~mips ~riscv x86"
S="${WORKDIR}/${MY_P}"
fi
diff --git a/sys-libs/libsemanage/Manifest b/sys-libs/libsemanage/Manifest
index ae4df810d344..a89e8413d60e 100644
--- a/sys-libs/libsemanage/Manifest
+++ b/sys-libs/libsemanage/Manifest
@@ -2,7 +2,7 @@ DIST libsemanage-3.1.tar.gz 179601 BLAKE2B 69450a4eda1f3728d339f65db1eec9940995f
DIST libsemanage-3.2.tar.gz 178839 BLAKE2B c0925812d784923a7a239ba919fc0a0e1d84cb528cbf4a357fb7938d3c06ebd2f0b60cd3eba40b76bf7c2922a081b99b16b32dc16638aa1bfce32553e241fb9f SHA512 6ad670bb298b1bab506217b12a3fda5d2209f4387a11410f0c1b65f765ffb579b0d70795dee19048909e0b72ef904fc318be60d5a01f80ab12742ce07647a084
DIST libsemanage-3.3.tar.gz 178890 BLAKE2B f1ff2d25f0c98e9794cb443365e6193db80a42104b645ef4edf783db2eb3d940d1f39cddfa59f9a86ba16957c77852159b3ced83c5d01ecb1811aa6255f8be83 SHA512 6026d9773c0886436ad801bc0c8beac888b6fb62034edeb863192dea4b6ef34a88e080758820fe635a20e048ac666beee505a0f946258f18571709cca5228aad
EBUILD libsemanage-3.1-r1.ebuild 4274 BLAKE2B eb0866da968e01b89d6ba51cdcdd89f8796b0beeac515a3dbb47a823d7d5b24b64e01a05948373e6a2159b80866394d98edef9d3048436e527b38f0e8a5cb40c SHA512 21cc2d83b6efd83a691010699104d7a5344c84665cc505d4cae13a1a5891c836c728760766ae9492bb1ab0ee03e4d9e764acf6d39aa52824a6e0175db72cfebf
-EBUILD libsemanage-3.2.ebuild 4280 BLAKE2B 073fa436221091ee5a8594a1194c96aae7d3c73c29b34bcf0f594e6cefd3cca082599338c29c10929b11d01151c786d6c9d1d17740484a7282bf78ced31cdff6 SHA512 12d968aacde29854b50fab62d72f08219dbbac21268919cdd867ed01b36e4d8cfbd95ae496477bb4c5ab8a8479c8dbbfaa33d97d8b1856b2265df193ad22c445
+EBUILD libsemanage-3.2.ebuild 4278 BLAKE2B a6573952f71dba7cb067bfe450c688b78b75063b671b28dc370c22adc5dbe4e7229d7066969306a24229b5ef4753b180d1aa043137778bcac9ff85bc94a15c55 SHA512 35b73c5294c66272ca49e52bae6a459ddc16e6d6de4c520945d3829e338afcd2415b7f8b35fca0ad8643743e7463da62349090f6c480e8ee8c7d29a9e49671a1
EBUILD libsemanage-3.3.ebuild 4282 BLAKE2B 3716d5e4f40f02f3c4fb51cbb9975046c8bf39906b8ec9e051d01cc9dd82c02d66abff58474472b66a9c31ee78afa43e09d6ef1aae526bf9380a8ee9512bc76a SHA512 5e131b3fe80ca66e1dd2c1de7383dfeab9172fd64eca70960373a582a12be2498d1423803144699cf1dca36c78aa2798199a255ba44b0d57a35e0e1b457b60b4
EBUILD libsemanage-9999.ebuild 4275 BLAKE2B f1cb24ab333c9f3d565d7a3d5a4fb80b6339b84b17cc4c7fc445ab1748f443d8ae15c51ff52500e8404f2e635082d24f220afa023f0516214dc2802290518efc SHA512 d2c375e0bd73b51cc663550ecad5401e2a21951105cec6fe0d12ee18e70334a0284afd3ab9eb7454dfe7a172a974804bacc86bd3071c67c03681536e8dc2eeeb
MISC metadata.xml 335 BLAKE2B 72e72bc2d0ca05bf3caafd68121e0d4616306368f355541c2944254262a3ac96a3a6b8e5503ad691c2b7bc18dc6856101c81c47de3a623efc34b23185d9d4e60 SHA512 43cef46780c81459cc75b2a09181e84698a11e81196fea4e962b8081e712de437c8af032349aeb4f1ebe84ccef9cab4978467304d05801317db7a71521cf0664
diff --git a/sys-libs/libsemanage/libsemanage-3.2.ebuild b/sys-libs/libsemanage/libsemanage-3.2.ebuild
index 6ed97a92c982..cea18c8179bf 100644
--- a/sys-libs/libsemanage/libsemanage-3.2.ebuild
+++ b/sys-libs/libsemanage/libsemanage-3.2.ebuild
@@ -18,7 +18,7 @@ if [[ ${PV} == 9999 ]]; then
S="${WORKDIR}/${P}/${PN}"
else
SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~mips ~riscv x86"
+ KEYWORDS="amd64 arm arm64 ~mips ~riscv x86"
S="${WORKDIR}/${MY_P}"
fi
diff --git a/sys-libs/libsepol/Manifest b/sys-libs/libsepol/Manifest
index dfc3c861c5a0..c5596dd62b45 100644
--- a/sys-libs/libsepol/Manifest
+++ b/sys-libs/libsepol/Manifest
@@ -2,7 +2,7 @@ DIST libsepol-3.1.tar.gz 473842 BLAKE2B ef1d596c4d53cc0a87e899ef4aeb5bf29c9d6b83
DIST libsepol-3.2.tar.gz 477749 BLAKE2B 6f35387c0373869672080e151f212c081389f6799539124353aa1749ae2648669b2e237a271297c1c212b7a9e0c35f05edfff1bb724c8a15993e8fb8c599ac2e SHA512 1a6b3489ff766958a4b444b9be63a794267243aed303d3e7d87278f11be492dbf603a0c8181c4c5e01cb0e1ceb43810a77f738f0b9bd1d7d2be67053f9c67a6f
DIST libsepol-3.3.tar.gz 482546 BLAKE2B 977996f68807f73a5bc0bd3a07b605640eb02a7bc67971882d489def166539ff7cfd00e474adde7e923fbebebdfcdcb71d17a43e3396c3176e25fd7d3bd65238 SHA512 fb6bb69f8e43a911a1a9cbd791593215386e93cb9292e003f5d8efe6e86e0ce5d0287e95d52fe2fbce518a618beaf9b1135aea0d04eaebcdbd8c6d07ee67b500
EBUILD libsepol-3.1.ebuild 1136 BLAKE2B 7ea108a698f5701cff8eea482f58442c9e339ed0c720f4cc9a50c2fee7513dc3f4b0d5427cfd1f67d72c48ac4659f31ee653a13cab56b441980c44a850e37a92 SHA512 cfd3e50a39e3dc0b35f961515b8c6d643826280489cc720376641b5b098bab3f883f009b924ca238a1f45af725da0a498a811fc8b841c7d5330e3ea0b7576f43
-EBUILD libsepol-3.2.ebuild 1116 BLAKE2B 62ca7f18493ba4a8785f1532aed2f907ef065b3ddf5b42a241b1ec7d90ad816276882953504594925d6ccb5d6795a9e5973a7bc3d9af5cfae60ae0fc4e3ddc18 SHA512 33388414115ff52f1848e4bb79a52db30a872b96d94c2a8ef7a249214da9c50671d41d9d19cdce863f671b8f54b7863bf663cc1bd8c907ba74f262fcc4bd244a
+EBUILD libsepol-3.2.ebuild 1114 BLAKE2B 30238b022ac29f78b41a68dc92b7f3c668be4c1ea913e8a8318a1384071679abb66247b5738bc53d7b6f43af34ef3fd53ebf0c07dfabd52cf92e56b4e6c3bb1d SHA512 b59f7ed7ceed214843e703311eb8adca0b695ba1e891e63f1f94d405a3f97c57694e9a156d1ea3c616e1a600ea8ecb47ef0fa0999ec1912121b3df01fb9f5605
EBUILD libsepol-3.3.ebuild 1118 BLAKE2B 5fc14ee13738cb5bf42042f18ce34bceb0a786a064a81a275693517f737f6d26b44b217d7c5e66819ea14e30e3bfa69636a75ce116b20a9d9c1e41b58298063b SHA512 48455f528c71f5076fe2683b47458a59c078903bfd7a7f888805068bcd7b006a2a5e5039c9a14c701c0cf4dae200f4e317d04f71875b6010e89c08f9838e4ffd
EBUILD libsepol-9999.ebuild 1111 BLAKE2B 8ae2517a060279cb7be432e25697ef5905856b9f271b78f28ee25a73d94efb969c28efb26b34bba4a43ad52f1c316767682fbd8c90f09b825921aae6f945684a SHA512 023d89e557b8dfdc6bcb92b18d0433a23cf030b1c179d8fbb583edf5e4fb7b5fc005ba4305f402e62e818793430141b6a69cda791e99c7dadca4ec0d8feecb89
MISC metadata.xml 402 BLAKE2B 0450441687952fc82e64536652076085d66870e8cd81d9aaa99d023d17d46bc8ef6627c9ebdd6084b4c60e7d26edb61b4aaf5693794105b04b500c74a37c25be SHA512 a107ad99e8050f4cbe1c32f76699524afdced1f4b9a0c0fb3a4b5954d4f9cd5993d4d047d7a3fb45fb68c2be361c658be48287e1099ea7a6b6fca7d676969c2d
diff --git a/sys-libs/libsepol/libsepol-3.2.ebuild b/sys-libs/libsepol/libsepol-3.2.ebuild
index 23a044ae99eb..58ebda5eaea9 100644
--- a/sys-libs/libsepol/libsepol-3.2.ebuild
+++ b/sys-libs/libsepol/libsepol-3.2.ebuild
@@ -17,7 +17,7 @@ if [[ ${PV} == 9999 ]]; then
S="${WORKDIR}/${P}/${PN}"
else
SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~mips ~riscv x86"
+ KEYWORDS="amd64 arm arm64 ~mips ~riscv x86"
S="${WORKDIR}/${MY_P}"
fi
diff --git a/sys-libs/libucontext/Manifest b/sys-libs/libucontext/Manifest
new file mode 100644
index 000000000000..91334bc00e78
--- /dev/null
+++ b/sys-libs/libucontext/Manifest
@@ -0,0 +1,3 @@
+DIST libucontext-1.1.tar.gz 25261 BLAKE2B 269b3899657779bc2c6a2f1c365242f0ee936afeb0acf74e48af5c1e6b96918bbaa239039508e7b1b1f7b358679fb4a222311b761223b69b9a3e7a9be2d0bc40 SHA512 05aed6f82a2b3d9dba896423335a7fc2fc5eddc87ed725f05e14488c6ddfcef10b835c928619439c7783e052baff7ef2dc162b6e06aa78992f6f611ca13c2e39
+EBUILD libucontext-1.1.ebuild 1077 BLAKE2B 0c4b3f18440b3fb002fb9538fc97360056038ac2f59e9c63e18cf6203d89aec95c47161bd0dd09261172b20a5da3dd150285b9088c4ad6abf27611e929315b6a SHA512 beeddc6b1366d0e94e9826074c4137a778838be4cba9b698890c1b7ebcdcb936b1731a22510c3774ee997423f75ae49f9bb4be149f83a0e306c52e7163357cc6
+MISC metadata.xml 329 BLAKE2B 8958a3567263e9f2fc2409c2cd5858ca3e68659a45f67e5132fca640c6ffe05cac8810436f334b5c775ed049709f43aaf366cfecc97bc732a0917bb47aa5c34d SHA512 7b5d5832b22828f6a0600e3be45ff1da8ff340481a3602db6f5b8540373ff0ac3c72f0de64f00a1691598bbd9cea0128eb869cda67d8ac4894e3a51a7009a730
diff --git a/sys-libs/libucontext/libucontext-1.1.ebuild b/sys-libs/libucontext/libucontext-1.1.ebuild
new file mode 100644
index 000000000000..f637a693a337
--- /dev/null
+++ b/sys-libs/libucontext/libucontext-1.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="ucontext implementation featuring glibc-compatible ABI"
+HOMEPAGE="https://github.com/kaniini/libucontext"
+SRC_URI="https://github.com/kaniini/libucontext/archive/refs/tags/${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${P}
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+man"
+
+BDEPEND="man? ( app-text/scdoc )"
+
+# segfault needs investigation
+RESTRICT="test"
+
+src_compile() {
+ tc-export AR CC
+
+ local arch
+
+ # Override arch detection
+ # https://github.com/kaniini/libucontext/blob/master/Makefile#L3
+ if use x86 ; then
+ arch="x86"
+ elif use arm ; then
+ arch="arm"
+ elif use arm64 ; then
+ arch="aarch64"
+ elif use ppc64 ; then
+ arch="ppc64"
+ else
+ arch="$(uname -m)"
+ fi
+
+ emake ARCH="${arch}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" all $(usev man 'docs')
+}
+
+src_test() {
+ emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" check
+}
+
+src_install() {
+ emake DESTDIR="${ED}" LIBDIR="/usr/$(get_libdir)" install $(usev man 'install_docs')
+}
diff --git a/sys-libs/libucontext/metadata.xml b/sys-libs/libucontext/metadata.xml
new file mode 100644
index 000000000000..6d14eb740806
--- /dev/null
+++ b/sys-libs/libucontext/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>musl@gentoo.org</email>
+ <name>Musl project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kaniini/libucontext</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-libs/libunwind/Manifest b/sys-libs/libunwind/Manifest
index 3c3d17e498a5..54f76c9add69 100644
--- a/sys-libs/libunwind/Manifest
+++ b/sys-libs/libunwind/Manifest
@@ -1,10 +1,10 @@
AUX libunwind-1.2-coredump-regs.patch 619 BLAKE2B b901d50cb7fa4ab372da26120e512da0ca506322130583623eebe31548a65f5a53249b632d71409d77a6dc00eb002beddd44f8a5d11dc82bf8450b812770a023 SHA512 48536ef54590221b42a3ca568ec781e526807b3d8aed3e33e19e6efacfa05a428a6101d3a51e79ea5d3e1d783bcba9acb92f7623c121d3e00cd3e1a17d13e282
AUX libunwind-1.2-ia64-missing.patch 3863 BLAKE2B 384d2afd7d725f0730207b5b32ff4ffcedd852043af83b1884c7dc95116298eff41bd7f997e0ad51c9912b59e36b439eb524d3d4786f2a0a19dff32437e62003 SHA512 e8f65d706839770d993f9801371e1e294a0231c4bfe29b497e4a859567b7f5b6561b0a15d59b1626311e549fe57149046f5a76424a2ad69c521610aaa3019c17
AUX libunwind-1.2-ia64-ptrace-coredump.patch 1445 BLAKE2B 0b4b6b5d7b3cfc8be58c3973b096ceeb19faa84f175a23f2130588351e40f94abf5c53a4eb5813d8b9da7762f032671031d2d637bd2ec445f7e4f9ea9d276773 SHA512 0bab310ff16294d7617077ffa1261fe9c1a6aaeb4339c96918869c4dd9a2b1b73fbe2ebb5c895f1a420ff7922da85cbb44ccfcd69df6e2518c1f2ff64b7b2d76
-AUX libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch 1290 BLAKE2B eac40a5cb05fbda00e5dde5b4ecedfa21442cb5481281b8aac45b118d8b8d503bafe69aa9adb93cac9c7e89cb72f8b44bdb7018a09aa4c9d512e20a457c7d78f SHA512 36b76eefdff3ca832696c13b18d9153ca89d5b648c7df11d3c112a85e9ab92e9f124fdbd05d2d9017bd9c5cdc6bbb2de5038918c9f3a2695c8fa3a05835abdb0
+AUX libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch 1378 BLAKE2B f343464943d1689e379b702baa63f7c0f198421c124354af035b100a25d8bf1a2c493e09517c27a1abbdc6064cbf1d6ecf8cbb88bb377921277e8c9979c40921 SHA512 7de66bc7a107ada353cc50992fc141bc87b927d55d8df113d5ecea90b27f5518cc6f6aafa19ea7f7f85719a6b48610f9029ba88c2a84d4950c05e1fa37f9ef57
AUX libunwind-1.5.0-x32.patch 596 BLAKE2B dc032ca1b2c3e21595239954252a41676c07451e1b8a4759b64a0341e0392bd7ff0046cfde53bbd9bffc4f044221d6172b127a8cffa50dfd137930ea7b2b0ec5 SHA512 e3ccd5458ec4247d4d162bd730823483711dc958a51eaf4062b2385c67205c7998255eee33fbeb2cdc32bcc34f5ab27bbdcfb9f66b0a2144650e4a84893a652f
DIST libunwind-1.5.0.tar.gz 878355 BLAKE2B ee35441289926ac22a58bedb9f831d8e13bacd663a99b3ce25eed229f25f0423bbbd90e09e3d62b003518d7a620aa6d15b0dd5b93632736a89fa0667b35d5fc2 SHA512 1df20ca7a8cee2f2e61294fa9b677e88fec52e9d5a329f88d05c2671c69fa462f6c18808c97ca9ff664ef57292537a844f00b18d142b1938c9da701ca95a4bab
-DIST libunwind-1.6.0-rc2.tar.gz 900974 BLAKE2B bbf88b6eb0ddf1371a8d69904e7763d2b2892641f88ed985f342962de7b2d19b6201f84422252aa5ca3d6beed7b3af0e2fe1fdb603497dbe68215ebc94942074 SHA512 7b3933c4693595a85182cc11d24527c5ccda3c3af115a3947bdc9877ecb4a77659a2196f559112868b36cd2cdc5623cabef68ad519fd4017c510ee375b97cbe9
+DIST libunwind-1.6.2.tar.gz 901392 BLAKE2B 3d0313f7e92cbc3e1a84ad3831a5170f21cdf772f1697ca0a59dea63cdd47da382e9f1fd77325d9ff8bcd47559a425dc883a820c646c628cd00faed82cb0f83f SHA512 1d17dfb14f99a894a6cda256caf9ec481c14068aaf8f3a85fa3befa7c7cca7fca0f544a91a3a7c2f2fc55bab19b06a67ca79f55ac9081151d94478c7f611f8f7
EBUILD libunwind-1.5.0-r1.ebuild 3276 BLAKE2B 0a0ab57f71c05521de552b6a9e7530258e6390e64a33bb09f1751ede229abf5ec0d70537321ff77a80946abb1d3d8b6b5517fe17648231e7a5f4b14032870636 SHA512 48aa9c88e5d535bff85cad52fe7ef2b9d854d4adbdb9249430932458cbf5918ce7d4cd29330882577a1acfc85f06efe6adfe669093c8a7cdc3b0ec61f1459a04
-EBUILD libunwind-1.6.0_rc2.ebuild 2970 BLAKE2B d4e27d8128f06372d219cc8ecc3eb80dc62b013f855e00e6df8124ca367f2b15abe034d58c43dc6a374101c1d31aa5d9e8eefad6b2aa1e62209da27ba0ce19f1 SHA512 dbb9bad0c6fd72ab11ddd7c8cab651667972c786ba859f7f95a173cfcd276556ebb2f00e86e4ba15fcc82dbcb9df288aa0a863fd0838868755b5b199fdbe7f59
+EBUILD libunwind-1.6.2.ebuild 2705 BLAKE2B 1a4427b1cfc39508ce326f568ba6fe966455eff7d6d2c69e99acdcb5e9335324aea0479fd971218628932510f675909600685eef1025ef28d3e8c920d6d4ec7d SHA512 b0c75e2f5afe535f443e57cbbd9be5ec83694914c0d4f37e19c1df74b020032709c24ce3776410acd60e45b5375c96d96c232dc5fe840c8ff277c719d28e7658
MISC metadata.xml 574 BLAKE2B cf49536a68a838e39d6c67191eff496d8910f1d58cd7830546e519af38972db7cf7add177a6e5902202d2a66bc6b3dadcd261505b3bb61f285f0be10a0db42e7 SHA512 bf5fd787ae0b233c7fe5e8f4b987c472a03b93c07adebf35ce27c7b6759b9ac239296d5ede6725ac11f5030365199533389e51ced10dc6a20bb5aa74baf34ab0
diff --git a/sys-libs/libunwind/files/libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch b/sys-libs/libunwind/files/libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch
index ee11149771cd..b6ba0028c80f 100644
--- a/sys-libs/libunwind/files/libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch
+++ b/sys-libs/libunwind/files/libunwind-1.2.1-only-include-execinfo_h-if-avaliable.patch
@@ -1,3 +1,5 @@
+https://github.com/libunwind/libunwind/commit/6382d6f5c9d4d149989e47b20446f794365137c1
+
From 0f3f41a86842f2b19aa07af5242cb775ef9b20d3 Mon Sep 17 00:00:00 2001
From: "Jory A. Pratt" <anarchy@gentoo.org>
Date: Sat, 30 Jun 2018 22:44:22 -0500
diff --git a/sys-libs/libunwind/libunwind-1.6.0_rc2.ebuild b/sys-libs/libunwind/libunwind-1.6.2.ebuild
index 2c27a4785c80..62c11c5c04ce 100644
--- a/sys-libs/libunwind/libunwind-1.6.0_rc2.ebuild
+++ b/sys-libs/libunwind/libunwind-1.6.2.ebuild
@@ -5,19 +5,19 @@ EAPI=7
MY_PV=${PV/_/-}
MY_P=${PN}-${MY_PV}
-inherit autotools flag-o-matic libtool multilib-minimal
+inherit autotools multilib-minimal
DESCRIPTION="Portable and efficient API to determine the call-chain of a program"
HOMEPAGE="https://savannah.nongnu.org/projects/libunwind"
SRC_URI="mirror://nongnu/libunwind/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0/8" # libunwind.so.8
-#KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv -sparc ~x86 ~amd64-linux ~x86-linux"
-KEYWORDS="~riscv"
-IUSE="debug debug-frame doc libatomic lzma static-libs zlib"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv -sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug debug-frame doc libatomic lzma static-libs test zlib"
-RESTRICT="test" # some tests are broken (toolchain version dependent, rely on external binaries)
+RESTRICT="test !test? ( test )" # some tests are broken (toolchain version dependent, rely on external binaries)
# We just use the header from libatomic.
RDEPEND="
@@ -27,8 +27,6 @@ RDEPEND="
DEPEND="${RDEPEND}
libatomic? ( dev-libs/libatomic_ops[${MULTILIB_USEDEP}] )"
-S="${WORKDIR}/${MY_P}"
-
MULTILIB_WRAPPED_HEADERS=(
/usr/include/libunwind.h
@@ -47,47 +45,43 @@ MULTILIB_WRAPPED_HEADERS=(
/usr/include/libunwind-x86_64.h
)
-PATCHES=(
- # needs refresh:
- #"${FILESDIR}"/${PN}-1.2.1-only-include-execinfo_h-if-avaliable.patch
-)
-
src_prepare() {
default
+
chmod +x src/ia64/mk_cursor_i || die
- # Since we have tests disabled via RESTRICT, disable building in the subdir
- # entirely. This works around some build errors too. #484846
- sed -i -e '/^SUBDIRS/s:tests::' Makefile.in || die
- elibtoolize
eautoreconf
}
multilib_src_configure() {
- # --enable-cxx-exceptions: always enable it, headers provide the interface
- # and on some archs it is disabled by default causing a mismatch between the
- # API and the ABI, bug #418253
- # conservative-checks: validate memory addresses before use; as of 1.0.1,
- # only x86_64 supports this, yet may be useful for debugging, couple it with
- # debug useflag.
- ECONF_SOURCE="${S}" \
- ac_cv_header_atomic_ops_h=$(usex libatomic) \
- econf \
- --enable-cxx-exceptions \
- --enable-coredump \
- --enable-ptrace \
- --enable-setjmp \
- $(use_enable debug-frame) \
- $(use_enable doc documentation) \
- $(use_enable lzma minidebuginfo) \
- $(use_enable static-libs static) \
- $(use_enable zlib zlibdebuginfo) \
- $(use_enable debug conservative_checks) \
+ local myeconfargs=(
+ # --enable-cxx-exceptions: always enable it, headers provide the interface
+ # and on some archs it is disabled by default causing a mismatch between the
+ # API and the ABI, bug #418253
+ --enable-cxx-exceptions
+ --enable-coredump
+ --enable-ptrace
+ --enable-setjmp
+ $(use_enable debug-frame)
+ $(use_enable doc documentation)
+ $(use_enable lzma minidebuginfo)
+ $(use_enable static-libs static)
+ $(use_enable zlib zlibdebuginfo)
+ # conservative-checks: validate memory addresses before use; as of 1.0.1,
+ # only x86_64 supports this, yet may be useful for debugging, couple it with
+ # debug useflag.
+ $(use_enable debug conservative_checks)
$(use_enable debug)
+ $(use_enable test tests)
+ )
+
+ export ac_cv_header_atomic_ops_h=$(usex libatomic)
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
multilib_src_compile() {
- # Bug 586208
+ # bug #586208
CCACHE_NODIRECT=1 default
}
@@ -98,5 +92,5 @@ multilib_src_test() {
}
multilib_src_install_all() {
- find "${D}" -name "*.la" -type f -delete || die
+ find "${ED}" -name "*.la" -type f -delete || die
}
diff --git a/sys-libs/liburing/Manifest b/sys-libs/liburing/Manifest
index 860f9b4c776b..117e5f65c0c3 100644
--- a/sys-libs/liburing/Manifest
+++ b/sys-libs/liburing/Manifest
@@ -1,11 +1,5 @@
-AUX liburing-0.7-ucontext_h-detection.patch 1920 BLAKE2B 0a360811328eb19f0b0a37725cad95879faf5664966351544f290fcf8cabbc2d8d66592ab6da994f3232ec4275717019543044c1592827c0e2b9c07f337707fa SHA512 4a32e8825b805c47778ef32a636fde984e1648cd966f49309e5f3b63511afbdaeb723ba245ffbc4f7e7589f1a0ee98415f4fe3815ddd0650ac9fba2b0ae2780e
-AUX liburing-2.0-spec_version.patch 995 BLAKE2B dda31830765cd4bb8fc0e178429b4e632c30e2c212a04ae0849fe4cad09a91b299a3c177d62de0939fbaa269e2d8895d60fa356952f1ac797bda340a5b1ae01c SHA512 4b22e6e1cc24ee427bb162fc1bf58e4509709deabad2a9ddb156abdbd1a094086520c5786f3f2a9c047bf4241518f88308d588b542fec292837bf23d79d4aacb
AUX liburing-2.1-arm-syscall.patch 1752 BLAKE2B f2f27e9ff6f86b75808d99a0e89e2c8609f481ba3ff1f908b1f2ec670a5ab5518ea990ff4bc24506f5ce6f6d8e1083ac7e3b0aaee9d72a8fb5bc3d4577617309 SHA512 04e1c92d6b399f046c500ff3a7d78990682e60df3994431977f7a01bea0fba0fb1dea6e66340bfd79869fbc2114f4e9a9eb391ed26d81a3041accf78141fd158
-DIST liburing-0.7.tar.bz2 86386 BLAKE2B a4fa00cc8e384f9909f3c628d479774beaffd5ab09c9f321ef22bfbabd273e4c8d4dbb30a3280633e89e1a79e893348e68f0aa2f3b1b4deda56759f77d9b1875 SHA512 9a23bc08e0fa59273264295859dddbe3276b2911df6d937b3c6f7647a250a3175222b5f051f3094efc98e48cacd242511327c5c5b895ebde10c8c87929ba4328
-DIST liburing-2.0.tar.bz2 109066 BLAKE2B e2be57f66d2a40650c74502bef55e646986443450b2cdf4d2b5247a3fa099178ae19e61a20e4452dc723351053b613a96743f1268004939da9fddd8f38df3fa5 SHA512 a0da3472eb876c9cfbe56abe14b4d926e4d1c362ee9c4f38eec4c4ab01edab6d76651ffe2afe5cac8589caadc02517950974332eb7990f8bcc9f4f4800b66e33
DIST liburing-2.1.tar.bz2 120806 BLAKE2B 3a09d1504150ed1c111f064187d868fd86ec7c3dbf661f73999f7fbb9c945b528f7ab2e0cfff5d270a1a977f04deedc7c790b6df8708ef2884fbf28c1a9ffd1b SHA512 a658454869b01752b5e499c4f0b50c342a8ff63b3dd1a473a96f9fad03f22a6e4d2354b0e658a4e7e50ea27440a84ee274856b3687803583bc80cb4bc45aec71
-EBUILD liburing-0.7-r1.ebuild 1284 BLAKE2B 70202e46fdeced14f4f6b2f931191af8108225fb74e771630b633cfc0f8e90efadc6013e4ff16cce9e4e1211ff2bfca7ab6228c88bf0c9bc4ff49b61a39c7fad SHA512 c09d8936d6a0955d541e3b02e7d6f0b5a76e54db4c175a549e8b5863df79a27a299d1b0badf3a45b8fe936343f20f921c52ba72464228372c0599f2db915a16d
-EBUILD liburing-2.0-r1.ebuild 1293 BLAKE2B 5c377b39f0f8297f227b84453ac0f909075d4f5f37ef3feea19c1178d3bcf383cb2368acce1d6f52753799fe74ffa708c4aa7266200e715b10149193ecb69138 SHA512 cc9c46893838fa836cf5c3e45c669545522a3e6bf10933bd5ca94af9f7169f61081824d15aa36636c2e3cd52fd4f8fc1fc7c749b81c9e3940e05bdfcf1fd9a02
-EBUILD liburing-2.1.ebuild 1311 BLAKE2B f2cc49c107b20dbf0fc61b94e80f3c369a2e41a367128608ff49caeae0abb0b966b13156d37beb637c36111241eeb49fe9778e06f1054b3045ced22b2c30c971 SHA512 9277b411c2ddfd71a1dab8519c4f4ceb57bd8ef9b5f61659ffbcadc5e9bf25ff78e264bfc0d200c14d561cd511d125d66fd5e356688fee21d1a86d9c835b22b3
-EBUILD liburing-9999.ebuild 1235 BLAKE2B 9d64187cadaa2fe0f6f67a8640fe9d6ce3a545e3810493efbb62d1b2f27d7f293dc01ef2fda2b474be9a46d76675c328eddf25e7b484e592d3b41f149a0a65eb SHA512 7434cdcdf2b0fc93ae81d8f63ccfd237f4ad454c017903f9a0e741d37069ce3932baabd97d80913f3cc9fd10c68c30ca1d59c3f0933eaf79c05bb2abef381202
+EBUILD liburing-2.1.ebuild 1304 BLAKE2B f44fbd40a77269d7fdd5536c2d9e317979d81f723ec420173153b1ff7b935d771f26012c70c4e8421e017d5edbb5d97385f763f53af7f427c2b8d740ecaa21ab SHA512 3eca15d1a7ae6c1ae5895b959b4ba9f4664a9dd196e5581671a193bfdd6efa15f11c7ed82f01b32699466b8568318ffd96f20c88b3aa7719f06196b1c9fa394c
+EBUILD liburing-9999.ebuild 1235 BLAKE2B 7f66b74ea4b81010d932666c130b3942838bf3872912eb8884f5dba7cb89ec8327b855339bd660f142ae63ef2db3011d0c8884432c6789738be9366e1ecc81bd SHA512 bd911b851909f01921073f5425ab00d91838d9f1741aec8da0a7d92f55e4c10316e0a3026269c91df8281de0bed9726c5522f916cf7986be009328515446a410
MISC metadata.xml 331 BLAKE2B 4466b3a5d60709f68985e860c920b53fc59d3a06c1110876ffa31edc80fc69305f2221ced9b60ef44d4ab77e1209aa9f2f7cf4037a2d411f9f31885baa55a73f SHA512 977da0c23dd070b8dc35c569993e3517c7b236f8dac5cf9ce7fcc16a77550cb58ddf9c9a3139835be48e3a3c82dc86efe4be304c8784e13f82b6856c7331d96d
diff --git a/sys-libs/liburing/files/liburing-0.7-ucontext_h-detection.patch b/sys-libs/liburing/files/liburing-0.7-ucontext_h-detection.patch
deleted file mode 100644
index 24b847d919df..000000000000
--- a/sys-libs/liburing/files/liburing-0.7-ucontext_h-detection.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 1cf969dfcba797a02d74540965677b92d3884cfa Mon Sep 17 00:00:00 2001
-From: Simon Zeni <simon@bl4ckb0ne.ca>
-Date: Tue, 27 Oct 2020 22:31:21 -0400
-Subject: [PATCH] examples: disable ucontext-cp if ucontext.h is not available
-
-The header file `ucontext.h` is not available on musl based distros. The
-example `ucontext-cp` is not built if `configure` fails to locate the
-header.
-
-Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- configure | 21 +++++++++++++++++++++
- examples/Makefile | 6 +++++-
- 2 files changed, 26 insertions(+), 1 deletion(-)
-
-diff --git a/configure b/configure
-index c911f59..3b96cde 100755
---- a/configure
-+++ b/configure
-@@ -287,6 +287,24 @@ if compile_prog_cxx "" "" "C++"; then
- fi
- print_config "C++" "$has_cxx"
-
-+##########################################
-+# check for ucontext support
-+has_ucontext="no"
-+cat > $TMPC << EOF
-+#include <ucontext.h>
-+int main(int argc, char **argv)
-+{
-+ ucontext_t ctx;
-+ getcontext(&ctx);
-+ return 0;
-+}
-+EOF
-+if compile_prog "" "" "has_ucontext"; then
-+ has_ucontext="yes"
-+fi
-+print_config "has_ucontext" "$has_ucontext"
-+
-+
- #############################################################################
-
- if test "$__kernel_rwf_t" = "yes"; then
-@@ -304,6 +322,9 @@ fi
- if test "$has_cxx" = "yes"; then
- output_sym "CONFIG_HAVE_CXX"
- fi
-+if test "$has_ucontext" = "yes"; then
-+ output_sym "CONFIG_HAVE_UCONTEXT"
-+fi
-
- echo "CC=$cc" >> $config_host_mak
- print_config "CC" "$cc"
-diff --git a/examples/Makefile b/examples/Makefile
-index 0eec627..60c1b71 100644
---- a/examples/Makefile
-+++ b/examples/Makefile
-@@ -10,7 +10,11 @@ ifneq ($(MAKECMDGOALS),clean)
- include ../config-host.mak
- endif
-
--all_targets += io_uring-test io_uring-cp link-cp ucontext-cp
-+all_targets += io_uring-test io_uring-cp link-cp
-+
-+ifdef CONFIG_HAVE_UCONTEXT
-+all_targets += ucontext-cp
-+endif
-
- all: $(all_targets)
-
diff --git a/sys-libs/liburing/files/liburing-2.0-spec_version.patch b/sys-libs/liburing/files/liburing-2.0-spec_version.patch
deleted file mode 100644
index fab05916c366..000000000000
--- a/sys-libs/liburing/files/liburing-2.0-spec_version.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1815337f7dbb530ae3e3bc1175d8da214cf76eb5 Mon Sep 17 00:00:00 2001
-From: Stefan Hajnoczi <stefanha@redhat.com>
-Date: Tue, 9 Mar 2021 14:19:12 +0000
-Subject: [PATCH] spec: bump version to 2.0
-
-The shared library is now liburing.so.2 but the pkgconfig and rpm files
-still say 0.7. Existing binaries link against liburing.so.1 and will not
-automatically pick up the new liburing.so.2 shared library.
-
-Update the version number in liburing.spec so
-
-Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-Link: https://lore.kernel.org/r/20210309141913.262131-2-stefanha@redhat.com
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- liburing.spec | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/liburing.spec b/liburing.spec
-index fa4d9704..8607074c 100644
---- a/liburing.spec
-+++ b/liburing.spec
-@@ -1,5 +1,5 @@
- Name: liburing
--Version: 0.7
-+Version: 2.0
- Release: 1%{?dist}
- Summary: Linux-native io_uring I/O access library
- License: (GPLv2 with exceptions and LGPLv2+) or MIT
diff --git a/sys-libs/liburing/liburing-0.7-r1.ebuild b/sys-libs/liburing/liburing-0.7-r1.ebuild
deleted file mode 100644
index 715212503eba..000000000000
--- a/sys-libs/liburing/liburing-0.7-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal toolchain-funcs
-
-DESCRIPTION="Efficient I/O with io_uring"
-HOMEPAGE="https://github.com/axboe/liburing"
-if [[ "${PV}" == *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/axboe/liburing.git"
-else
- SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
-fi
-LICENSE="MIT"
-SLOT="0/1.0.7" # liburing.so version
-
-IUSE="static-libs"
-# fsync test hangs forever
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.7-ucontext_h-detection.patch
-)
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- local myconf=(
- --prefix="${EPREFIX}/usr"
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- --libdevdir="${EPREFIX}/usr/$(get_libdir)"
- --mandir="${EPREFIX}/usr/share/man"
- --cc="$(tc-getCC)"
- )
- # No autotools configure! "econf" will fail.
- TMPDIR="${T}" ./configure "${myconf[@]}"
-}
-
-multilib_src_compile() {
- emake V=1 AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)"
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if ! use static-libs ; then
- find "${ED}" -type f -name "*.a" -delete || die
- fi
-}
-
-multilib_src_test() {
- emake V=1 runtests
-}
diff --git a/sys-libs/liburing/liburing-2.0-r1.ebuild b/sys-libs/liburing/liburing-2.0-r1.ebuild
deleted file mode 100644
index 652b4092a8b2..000000000000
--- a/sys-libs/liburing/liburing-2.0-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal toolchain-funcs
-
-DESCRIPTION="Efficient I/O with io_uring"
-HOMEPAGE="https://github.com/axboe/liburing"
-if [[ "${PV}" == *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/axboe/liburing.git"
-else
- SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-LICENSE="MIT"
-SLOT="0/2.0.0" # liburing.so version
-
-IUSE="static-libs"
-# fsync test hangs forever
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}/${P}-spec_version.patch" #809095
-)
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- local myconf=(
- --prefix="${EPREFIX}/usr"
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- --libdevdir="${EPREFIX}/usr/$(get_libdir)"
- --mandir="${EPREFIX}/usr/share/man"
- --cc="$(tc-getCC)"
- )
- # No autotools configure! "econf" will fail.
- TMPDIR="${T}" ./configure "${myconf[@]}"
-}
-
-multilib_src_compile() {
- emake V=1 AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)"
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if ! use static-libs ; then
- find "${ED}" -type f -name "*.a" -delete || die
- fi
-}
-
-multilib_src_test() {
- emake V=1 runtests
-}
diff --git a/sys-libs/liburing/liburing-2.1.ebuild b/sys-libs/liburing/liburing-2.1.ebuild
index dd13ba0d9ab7..268300b356e1 100644
--- a/sys-libs/liburing/liburing-2.1.ebuild
+++ b/sys-libs/liburing/liburing-2.1.ebuild
@@ -12,7 +12,7 @@ if [[ "${PV}" == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/axboe/liburing.git"
else
SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
fi
LICENSE="MIT"
SLOT="0/2" # liburing.so major version
diff --git a/sys-libs/liburing/liburing-9999.ebuild b/sys-libs/liburing/liburing-9999.ebuild
index 6d65622e2a7a..72d3d7d1fa2a 100644
--- a/sys-libs/liburing/liburing-9999.ebuild
+++ b/sys-libs/liburing/liburing-9999.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit multilib-minimal toolchain-funcs
diff --git a/sys-libs/libxcrypt/Manifest b/sys-libs/libxcrypt/Manifest
index cbc9e7a72e9c..754fdbb442c6 100644
--- a/sys-libs/libxcrypt/Manifest
+++ b/sys-libs/libxcrypt/Manifest
@@ -3,6 +3,6 @@ DIST libxcrypt-4.4.20-autotools.tar.xz 628688 BLAKE2B 4c23af2a765495758e52c8e95d
DIST libxcrypt-4.4.25-autotools.tar.xz 614652 BLAKE2B f0f4fbf92585fdd8d328aaa68811ea15bdf75778363ea4bc46a75fb76bb065f044708446d655356ebbf2834f8b14bac40fbe700b510b09ce101f750667a04298 SHA512 30f38a54c8e5cbd31c463223913079f9869d38ed38a2f64c57778ac4cf1b6f557caa527073df54ca8396bb7220807b84afcae2f9790f6604af1561a4b277874e
DIST libxcrypt-4.4.26-autotools.tar.xz 617808 BLAKE2B 9fb8e31b22a085c0d0d5ab2ee3fb69fbebaccee2281e9be7d745218b5b92d949ffd3aa9c385671d58c93a654e16b943a33284b0b4737d52d26e43e2f7840fe74 SHA512 22c72cacd87c5751c4160413738fdf52c8fee300dcad01b289a6eaf892439883b9478103f791f5f53c8e5e2f2dd81057e5fda45e7cf7fdfd3ba93dd811bc01e3
EBUILD libxcrypt-4.4.20.ebuild 5817 BLAKE2B 5eee19a41bd26045175765c8bff8aecd0e035e5c46dd8b73a11f4f8ffd1360c91921c2881e058da504414eb33156511f07e3673fc321b36e49010e00a2294669 SHA512 181e26ade031ddc3a93103348326dca9ab7a546e69a00168b7e19b9cf5f148bffeba7dd6bdaf2e11649303305a72ca2bfd24360c005704930d5ef8f444881673
-EBUILD libxcrypt-4.4.25.ebuild 5860 BLAKE2B 32df837f684d4792612cb718f7eef723a36ab423476294f4a271eb5ff5d1cf90ec12575b3ad715abda38b6a4622f80894276ca54f19fcf9a9db838a3eaf85b38 SHA512 361893c93b38c0a6086fd85c54ba975354a72cebffe9fbd7046a4e07934e6c6cc849e4d3d8d484de1cdc1ca9103f690ce11abaab7af5cdeed6fe1d4f72596fc0
-EBUILD libxcrypt-4.4.26.ebuild 5867 BLAKE2B 416281733257433a1a39707a5db8cbaf39d0ccec3533d9d249c040206d1cfbe52b5467f00b29cbcb2ac5e909ee2707d299e0b4ed8d37a5764dc90853a829f17b SHA512 42713999095676b4c6a63c318ecae05ce90c5e824b7ec27ea796debb349fe2dbb76cb062a69d34e40868b896981647375bf68bf3f2e4b99d27256b995058130d
+EBUILD libxcrypt-4.4.25-r1.ebuild 6415 BLAKE2B 312440866d2309feba7c1a29a3dcb61daf7e87fb8b01e58e959941d533cb07a67ca6119e1c470c229f8cbd04966bd97273d4d8a69d1a31dd0baa946d52623608 SHA512 0094b2031e3d7563bc4afc8c98f926777f8973c9e55b747cde01d6efcae1f799d7eb96fb7073c0ee42932fcc371d072a2c6ae0417c7c6eb70b6429dbf7cd4921
+EBUILD libxcrypt-4.4.26-r1.ebuild 6422 BLAKE2B e3b0ded6e80bbcc3f3279ae0cf18ac88d634a640b30ef4523d81fb74125d61718cf0a179361ad5e6a69fc658226660348b72279be49d446e2c995d6a584e1847 SHA512 0e3c0e99430ff8e068bc056315735b54192cf572cc7045e1a9ceb498ce8a51d0ea106079f9d6dd55f911445d87a1b93da878f4e4e8286981f4f97c32df6fd3eb
MISC metadata.xml 831 BLAKE2B f8761f3758acf79afea36926a6488afb73c433a8faa599aa09a3bbc01b6c733d7264d7b584606158312825f099a1176623c70625a317a837de5bb20501f5ed22 SHA512 826ea578d9d3e651767e8f670d2bbb918c11e26ca5dc1c52ff7fbd513c39bee2d9423ecf16e47e2603f5a8c7b6979fd27eacde84182deb5a67004c9a3be281cb
diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.25.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.25-r1.ebuild
index e95748621284..13858d396505 100644
--- a/sys-libs/libxcrypt/libxcrypt-4.4.25.ebuild
+++ b/sys-libs/libxcrypt/libxcrypt-4.4.25-r1.ebuild
@@ -7,7 +7,7 @@ PYTHON_COMPAT=( python3_{8..10} )
# NEED_BOOTSTRAP is for developers to quickly generate a tarball
# for publishing to the tree.
NEED_BOOTSTRAP="no"
-inherit multibuild multilib python-any-r1 multilib-minimal
+inherit multibuild multilib python-any-r1 toolchain-funcs multilib-minimal
DESCRIPTION="Extended crypt library for descrypt, md5crypt, bcrypt, and others"
HOMEPAGE="https://github.com/besser82/libxcrypt"
@@ -42,6 +42,17 @@ python_check_deps() {
has_version -b "dev-python/passlib[${PYTHON_USEDEP}]"
}
+pkg_pretend() {
+ if has "distcc" ${FEATURES} ; then
+ ewarn "Please verify all distcc nodes are using the same versions of GCC (>= 10) and Binutils!"
+ ewarn "Older/mismatched versions of GCC may lead to a misbehaving library: bug #823179."
+
+ if [[ ${BUILD_TYPE} != "binary" ]] && tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]] ; then
+ die "libxcrypt is known to fail to build or be broken at runtime with < GCC 10 (bug #823179)!"
+ fi
+ fi
+}
+
pkg_setup() {
MULTIBUILD_VARIANTS=(
$(usex compat 'xcrypt_compat' '')
@@ -97,6 +108,10 @@ src_prepare() {
}
src_configure() {
+ # Avoid possible "illegal instruction" errors with gold
+ # bug #821496
+ tc-ld-disable-gold
+
multibuild_foreach_variant multilib-minimal_src_configure
}
diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.26.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.26-r1.ebuild
index dca937cb958a..fa017859016b 100644
--- a/sys-libs/libxcrypt/libxcrypt-4.4.26.ebuild
+++ b/sys-libs/libxcrypt/libxcrypt-4.4.26-r1.ebuild
@@ -7,7 +7,7 @@ PYTHON_COMPAT=( python3_{8..10} )
# NEED_BOOTSTRAP is for developers to quickly generate a tarball
# for publishing to the tree.
NEED_BOOTSTRAP="no"
-inherit multibuild multilib python-any-r1 multilib-minimal
+inherit multibuild multilib python-any-r1 toolchain-funcs multilib-minimal
DESCRIPTION="Extended crypt library for descrypt, md5crypt, bcrypt, and others"
HOMEPAGE="https://github.com/besser82/libxcrypt"
@@ -42,6 +42,17 @@ python_check_deps() {
has_version -b "dev-python/passlib[${PYTHON_USEDEP}]"
}
+pkg_pretend() {
+ if has "distcc" ${FEATURES} ; then
+ ewarn "Please verify all distcc nodes are using the same versions of GCC (>= 10) and Binutils!"
+ ewarn "Older/mismatched versions of GCC may lead to a misbehaving library: bug #823179."
+
+ if [[ ${BUILD_TYPE} != "binary" ]] && tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]] ; then
+ die "libxcrypt is known to fail to build or be broken at runtime with < GCC 10 (bug #823179)!"
+ fi
+ fi
+}
+
pkg_setup() {
MULTIBUILD_VARIANTS=(
$(usex compat 'xcrypt_compat' '')
@@ -97,6 +108,10 @@ src_prepare() {
}
src_configure() {
+ # Avoid possible "illegal instruction" errors with gold
+ # bug #821496
+ tc-ld-disable-gold
+
multibuild_foreach_variant multilib-minimal_src_configure
}
diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest
index 2c25182cbc4d..d32c4b2302ea 100644
--- a/sys-libs/llvm-libunwind/Manifest
+++ b/sys-libs/llvm-libunwind/Manifest
@@ -1,9 +1,11 @@
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0.tar.gz 147270176 BLAKE2B 628f316b580e1edf3a58d4825b724df759e6ed2a4116802470c04562caefc392fa325c91f388036365a2e45a9595cca6d3557fab12984fc8bcfef29c9116d822 SHA512 8004c05d32b9720fb3391783621690c1df9bd1e97e72cbff9192ed88a84b0acd303b61432145fa917b5b5e548c8cee29b24ef8547dcc8677adf4816e7a8a0eb2
+DIST llvmorg-13.0.1-rc1.tar.gz 147284646 BLAKE2B 3a1d8d382de633b7f8fc998f8ad1e03c24b733aefc591615cbd34115d1d6d74962ae33bbf2224527b521a76930ffee425527225563a558a04173e9aa9487c781 SHA512 d487bfc9b898ad0046e0c94338d7757d8a05a1a84d683abfbc9ed4994c6d12caf88fd18575225e284070fc67b3ac0970ca6639e61b1a7cc2948b216a5364a22d
EBUILD llvm-libunwind-11.1.0.ebuild 3222 BLAKE2B e9f47dd9859691d9c629b0eee62cf4e6d9a41e6f74b991410ee4cb1c647c828388a2ea7c1806df7350dcefff9a8178021956f85c7ec2aeb11d702a17e3b32132 SHA512 fc85afa5f560b2e7ad28c1e7d7b0d36b7bc0be408817b66f0d9afb3a811b94c24a282cbb13400685a2ffb00dbf620eb0c94d66fddfe27c9cffc2108f71c11a32
EBUILD llvm-libunwind-12.0.1.ebuild 3656 BLAKE2B cdf5e4e4f39ce47ac57ac43f287b5d6a42a61a79d988cdcd52823aadb0c1950abc85f5c1ba8276198e46357fc27f3ab7d06c0e7e9279a9a40e4dc7f4b936aac5 SHA512 c6477d4837e8e0d3ee6c035e0462e0a817752af214ff20ace3b8c3e377c749351cf78bf2ffec3d95085334f6b9a0a23e311f5a50109c390ad5bec60a0bef2dd5
-EBUILD llvm-libunwind-13.0.0.9999.ebuild 3699 BLAKE2B 02bcd98a5ce42eb08840fc416b7890bfb395312df055e5f572a3dd83f251dfaa2804928aee86515de294fc2fc448ab41ca58566765ef5a3e49c269d90e3dcc34 SHA512 6fe43b2bd1c074340860453ef87a18e7e9d2ebc03b48c2b34f6034f2cc5120d7f8f1959c428c753f04da557e7fa75d0edf90e50136da406708e9c731576b713e
-EBUILD llvm-libunwind-13.0.0.ebuild 3742 BLAKE2B 4a7970b353e54065d12dd9f86167c62cd87dbb91b8f390292d700cd0ac85bd06afc5c554031aa7d51339569d7095a3e5027f162843c36d4c59352dc3acc9a4ca SHA512 da7f8182da485e0d4608fde4bfc99e1890ff4a4b19a2c49c276f025633d48483db730b8b1622944a9b3d8e412ce2bc1aedf50f57397c2beb6ca13f5eb77ebe44
-EBUILD llvm-libunwind-14.0.0.9999.ebuild 3699 BLAKE2B 02bcd98a5ce42eb08840fc416b7890bfb395312df055e5f572a3dd83f251dfaa2804928aee86515de294fc2fc448ab41ca58566765ef5a3e49c269d90e3dcc34 SHA512 6fe43b2bd1c074340860453ef87a18e7e9d2ebc03b48c2b34f6034f2cc5120d7f8f1959c428c753f04da557e7fa75d0edf90e50136da406708e9c731576b713e
+EBUILD llvm-libunwind-13.0.0.ebuild 3781 BLAKE2B 08d2c7ea77679aa9ea06997ce86d8c8c6c073ae3b8a1ff94be33c6dd5904425ae75632bf8ea3bd00825941e6c7a6fb4879693f33a94b54b9fe054a8ec61eeaec SHA512 b83af0f0a6d45e618d70fd59c7e4ff7dfa815c8eca650a65a4c892756197bc34ea389150bd65f01c6243ea54b0cfac476d5095f657f6a34e72d92967af600aeb
+EBUILD llvm-libunwind-13.0.1.9999.ebuild 3738 BLAKE2B 42b8d4826b8f3149ef28699064c6efa1291fe932fe7f3024e9513cc614345b6861d478b564fd5af29eafe8ff64badeb4db8ddd8a91c33234a64af7375aba247b SHA512 a3888f3fffb201e8e50e0dee86a99f2907217d2ecba1d028b7b5fbef6495d85a41e867c056344b9ea1167c10c63107d495adc67821fa767847e200256236d35b
+EBUILD llvm-libunwind-13.0.1_rc1.ebuild 3738 BLAKE2B 42b8d4826b8f3149ef28699064c6efa1291fe932fe7f3024e9513cc614345b6861d478b564fd5af29eafe8ff64badeb4db8ddd8a91c33234a64af7375aba247b SHA512 a3888f3fffb201e8e50e0dee86a99f2907217d2ecba1d028b7b5fbef6495d85a41e867c056344b9ea1167c10c63107d495adc67821fa767847e200256236d35b
+EBUILD llvm-libunwind-14.0.0.9999.ebuild 3738 BLAKE2B 42b8d4826b8f3149ef28699064c6efa1291fe932fe7f3024e9513cc614345b6861d478b564fd5af29eafe8ff64badeb4db8ddd8a91c33234a64af7375aba247b SHA512 a3888f3fffb201e8e50e0dee86a99f2907217d2ecba1d028b7b5fbef6495d85a41e867c056344b9ea1167c10c63107d495adc67821fa767847e200256236d35b
MISC metadata.xml 303 BLAKE2B ed0dbe1165e30ee5c3556aaf467abf212e198590a06c70f0de4e2c12060644df928c8f388fadfe776249a77dc000b40881d7254cfdc30f7a41209e2524136adb SHA512 5a69c07b9b1b37646d29a7287f1ba1c9150a5fae60df644266232871b5e4db41c0e8d102e8b873af2bdbf814935e8f8479e1534b8aa47d0ee31e971e2fa4dc50
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-13.0.0.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-13.0.0.ebuild
index 5e5505362a33..607404341462 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-13.0.0.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-13.0.0.ebuild
@@ -55,6 +55,7 @@ multilib_src_configure() {
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
-DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
+ -DLIBUNWIND_TARGET_TRIPLE="${CHOST}"
-DLLVM_INCLUDE_TESTS=$(usex test)
# support non-native unwinding; given it's small enough,
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-13.0.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1.9999.ebuild
index 5d782b4128b2..b2e400ff295b 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-13.0.0.9999.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1.9999.ebuild
@@ -55,6 +55,7 @@ multilib_src_configure() {
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
-DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
+ -DLIBUNWIND_TARGET_TRIPLE="${CHOST}"
-DLLVM_INCLUDE_TESTS=$(usex test)
# support non-native unwinding; given it's small enough,
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1_rc1.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1_rc1.ebuild
new file mode 100644
index 000000000000..b2e400ff295b
--- /dev/null
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-13.0.1_rc1.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs
+
+DESCRIPTION="C++ runtime stack unwinder from LLVM"
+HOMEPAGE="https://github.com/llvm-mirror/libunwind"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS=""
+IUSE="debug static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!sys-libs/libunwind"
+# llvm-6 for new lit options
+DEPEND="
+ >=sys-devel/llvm-6"
+BDEPEND="
+ test? ( >=sys-devel/clang-3.9.0
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )"
+
+LLVM_COMPONENTS=( libunwind libcxx llvm/cmake )
+LLVM_TEST_COMPONENTS=( libcxxabi )
+llvm.org_set_globals
+
+python_check_deps() {
+ has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ local use_compiler_rt=OFF
+ local libdir=$(get_libdir)
+
+ # link to compiler-rt
+ # https://github.com/gentoo/gentoo/pull/21516
+ if tc-is-clang; then
+ local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \
+ ${LD_FLAGS} -print-libgcc-file-name)
+ if [[ ${compiler_rt} == *libclang_rt* ]]; then
+ use_compiler_rt=ON
+ fi
+ fi
+
+ local mycmakeargs=(
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+ -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
+ -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
+ -DLIBUNWIND_TARGET_TRIPLE="${CHOST}"
+ -DLLVM_INCLUDE_TESTS=$(usex test)
+
+ # support non-native unwinding; given it's small enough,
+ # enable it unconditionally
+ -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON
+
+ # avoid dependency on libgcc_s if compiler-rt is used
+ -DLIBUNWIND_USE_COMPILER_RT=${use_compiler_rt}
+ )
+ if use test; then
+ local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null)
+ [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests"
+
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
+ -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+wrap_libcxxabi() {
+ local mycmakeargs=(
+ -DLIBCXXABI_LIBDIR_SUFFIX=
+ -DLIBCXXABI_ENABLE_SHARED=OFF
+ -DLIBCXXABI_ENABLE_STATIC=ON
+ -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+ -DLIBCXXABI_INCLUDE_TESTS=OFF
+
+ -DLIBCXXABI_LIBCXX_INCLUDES="${BUILD_DIR}"/libcxx/include/c++/v1
+ -DLIBCXXABI_LIBUNWIND_INCLUDES="${S}"/include
+ )
+
+ local -x LDFLAGS="${LDFLAGS} -L${BUILD_DIR}/$(get_libdir)"
+ local CMAKE_USE_DIR=${WORKDIR}/libcxxabi
+ local BUILD_DIR=${BUILD_DIR}/libcxxabi
+
+ "${@}"
+}
+
+wrap_libcxx() {
+ local mycmakeargs=(
+ -DLIBCXX_LIBDIR_SUFFIX=
+ -DLIBCXX_ENABLE_SHARED=OFF
+ -DLIBCXX_ENABLE_STATIC=ON
+ -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
+ )
+
+ 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
+
+ "${@}"
+}
+
+multilib_src_test() {
+ # build local copies of libc++ & libc++abi for testing to avoid
+ # circular deps
+ wrap_libcxx cmake_src_configure
+ wrap_libcxx cmake_build generate-cxx-headers
+ wrap_libcxxabi cmake_src_configure
+ wrap_libcxxabi cmake_src_compile
+ wrap_libcxx cmake_src_compile
+ mv "${BUILD_DIR}"/libcxx*/lib/libc++* "${BUILD_DIR}/$(get_libdir)/" || die
+
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-unwind
+}
+
+multilib_src_install() {
+ cmake_src_install
+
+ # install headers like sys-libs/libunwind
+ doheader "${S}"/include/*.h
+}
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-14.0.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-14.0.0.9999.ebuild
index 5d782b4128b2..b2e400ff295b 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-14.0.0.9999.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-14.0.0.9999.ebuild
@@ -55,6 +55,7 @@ multilib_src_configure() {
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
-DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
+ -DLIBUNWIND_TARGET_TRIPLE="${CHOST}"
-DLLVM_INCLUDE_TESTS=$(usex test)
# support non-native unwinding; given it's small enough,
diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest
index f466dd442839..f3b72199bd96 100644
--- a/sys-libs/musl/Manifest
+++ b/sys-libs/musl/Manifest
@@ -1,4 +1,6 @@
AUX ldconfig.in 2552 BLAKE2B c94f9900e8582d707519171c4b61079c801b60c555677b1740b04adbdec9645578b9a8fc91f11413072568f316c795e46a332970f3d2dde5272b0c49a5d60a78 SHA512 59f1b57361196363d3f127366764f05d26c23dbe3d3dbcdba9bd3c8ca26a671fd713b96d31c509d22805c57ada2b596d979a3f5795bcf0a4d3ac7d168f3bf377
+AUX ldconfig.in-r1 2930 BLAKE2B a0b0d4715d9b4c83c4e7036d466dae854c2da1e2393a48cf1c05789a59426f6809118d5ac266a7eb558010c8c47d344b93c8c86847d9d0158d3885b6076e3bf6 SHA512 7e5b5e396965c7e677168f0974460565dd0302639835ca7b0fbf1198e911dc2818dd64424e0e217a710545cbeeb4c31877f05034f16737a822eb02520c258c4e
+AUX ldconfig.in-r2 2970 BLAKE2B a6b93ebbbe0caa07a1d32af07d810e1d95d47f2246573e77dfd14edba4403a9d90fd92a7428754c68036ffdbc7e82b926d95538f6617a76a247ab5c9a3c3ba1b SHA512 5b97f473ead0def43656b42511af77c427237e6c36f8d2afad8241ef4e948ed5f0a58dc9e65205c393b530ac810ee1e9f2db008534707283bca0fac2951fe4f9
AUX musl-1.2.2-gethostid.patch 1028 BLAKE2B fbe554e681c8f0e4bff6ec6fe97c88fd3c7f84ac07580b5f6cfef13b6b27c985f4f0e1d7722f397c59e655b8cd864fa845f9af2aa0eaa9287349f41e71f7a257 SHA512 d2959ef272e3a2742efec3983a41705cfa6424110dbc1eb53a912492cf067881cdbcb8cd864757e6450dda9b47e0cca7dbe3a86d3e6e74e7f33fb7d1723edfde
AUX stack_chk_fail_local.c 1798 BLAKE2B 380bcbb920bd40a5185246621ba93716f27d61cd0077cd796ff267e10c534c9cc64982b2a66c89b61395dc93d67dae77e8c59908f65f2903f16016180cf94bbb SHA512 bb0bdd7f205d57771920c7ea898c1f84a55d6f90ddd1f8203bfeed98d13ccefa6f68d5fd1c0761321b2732ca928ca81b425e3fe8321c936d1316dea6f1930091
DIST getconf.c 11614 BLAKE2B ba49a573fc16d51780a0b0b81fbf7b64a1142f1dbad203c9609a59b6b07e7404f676c415383ae88c0aede95694821f6ee381bffd93cc3330501e17dc07d122bd SHA512 0d80f37b34a35e3d14b012257c50862dfeb9d2c81139ea2dfa101d981d093b009b9fa450ba27a708ac59377a48626971dfc58e20a3799084a65777a0c32cbc7d
@@ -6,6 +8,8 @@ DIST iconv.c 2577 BLAKE2B 070ca87b30c90ab98c27d5faf7a2fcb64ff7c67ca212ee6072165b
DIST musl-1.2.2.tar.gz 1055220 BLAKE2B a000357ed52e417d8cebe5537df658dc0f8f02f2da3efcd79125544ad63e11e05fa96136551d0bfeb09a3f6c9a2260bffcfbd329ea92e6a7b62aa690f48968aa SHA512 5344b581bd6463d71af8c13e91792fa51f25a96a1ecbea81e42664b63d90b325aeb421dfbc8c22e187397ca08e84d9296a0c0c299ba04fa2b751d6864914bd82
DIST musl-getent-93a08815f8598db442d8b766b463d0150ed8e2ab.c 11656 BLAKE2B 1b7bf7102a1eb91a8cb881ed8ca65eb8eed911dd50238e97dc2952d89d4c6ebed6bfd046a2b38776c550b2872ab54ced8cb452fcc2ad56e5616f722debda761f SHA512 7f5b9d934d82deb5f8b23e16169a5d9b99ccab3a4708df06a95d685e1b24a3a3e69b3dcf4942f2f66c12a3d4bf0c5827e2ee2e8c4d7b1997359fccc2ac212dee
EBUILD musl-1.2.2-r3.ebuild 3814 BLAKE2B 037af7d810ace77441369b4dc9a8513298167bbe7af7a010ad22f6ff7e99aba2cac0b6b8befd51f080fb3c695452ec7a3cecbdeb46cbfd06d2aef2415a96c28e SHA512 48cb68039a1cc61b230d2c9b549f01c40607ef2a0726589e558e412311f7e1ae988c7328f86b61b148ba88f2f107c72b2829ccd8ba16567a52a3840f2286d477
-EBUILD musl-1.2.2-r4.ebuild 4448 BLAKE2B 36bf867d0b6484bbba80c83df074cc0915612ce447925b03343da441f55e53d1ea10210e7f30e36ae0ad5c36e8bcc2333eba04e5534c0db94af784ad27a3223b SHA512 18fa3cf43fd4f9c29eece8b61f6db7dcf6781122ef81860d84af7e9689095f32afc54bce63692436b4736362710d974220d0f69357d454d13bce1b8352dee5f6
-EBUILD musl-9999.ebuild 4320 BLAKE2B e0a1b35cd77bbd0e0187c15680dd2d0d6925d66901d0c087787eaa226435dfd085211277138dda7299723a2c96a52431323b23f3a90c9562441c2f1a05a1dd25 SHA512 3d6e61bb736907e4420dff142055040d85fbf4f06ed181290a779245be7b30be8c02016d2ac241b10475fecfbd408c7b6f5f9289af22bbf3c41c8e43a5180a3d
+EBUILD musl-1.2.2-r4.ebuild 4442 BLAKE2B 1cfdf66f7c975e164161cb90d98f20187c2d3ae0a24914206222c7255714a2cd10c4034a6b34018e3c79a2ec6385012c29f39d525ab83ab9b737a04453232e65 SHA512 340f60f7f73702510251a1df1af6a38af715678bad3606aab1e29c132bf5bb5805c39d916a1ff95c5e492a38b1d9a2ba3ae24560287d2fca647aa338eede2de7
+EBUILD musl-1.2.2-r6.ebuild 4457 BLAKE2B 9fde176fc9b78c29480eb8aa85a1b9decd777976c6c44ca298762fb1dd71ee8144a6dede69d82b69eebad48990b8da4522df2818370aac5dc8c7a1436172154c SHA512 fedb1929ffd0f6282c9103567b1f7813b4da523fdfe678cdce3792c8bdb2b866decccb57c4850eb92e6161894ad9409fb3b9b0fe477f8520cefecb3844bbc5b3
+EBUILD musl-1.2.2-r7.ebuild 4463 BLAKE2B 783ce34e051c909cca45ac6577e79e81e113b2e4741ddbd579633faad3e0064ad7a82c45aa100b2f4c2a85cdaf5a8cdeefdf1f832e91e5262a786c7ac556d284 SHA512 03f6e12bf862699aa36b84461341e820099e0bc5fa8115c346cdf95f8ddf4863a12807ebb62116c6fe48072e1dd9738b4a937e2ef60ec8701b1d36c387e8b44b
+EBUILD musl-9999.ebuild 4335 BLAKE2B 4b7c55d401e0587f0443050725d6d4dcdce87391eb6963f1078a77eb51af3240431bdb473cac170cd189c55a12c63081391963b3de728cdfa4357968497d66ad SHA512 ef20494c520d27827074899dca61691e722921fecadc83c021b6cf0ec4f73a709d072adb2ccd0590bfa3f0371888afc32b0a6a61a3a9aae6a995f9a12ccf676d
MISC metadata.xml 559 BLAKE2B 8b1093a5278f716b8e21467b325e373a790f54c8ab71b92adc4c87dd569a92b20e08009372065f0f27ced39e3361c9e5e5a2e1bff271753d280439fabbddd3a4 SHA512 a35c13ea32ac8f26984bdb0d70d28a4285f34e32a2b0b17ad98fe3f357fb46c87a1e853377630d4da58fd5953de3fdeb02ee89181394e1815f5e0bbba4cd9f92
diff --git a/sys-libs/musl/files/ldconfig.in-r1 b/sys-libs/musl/files/ldconfig.in-r1
new file mode 100644
index 000000000000..7bf254dfd91c
--- /dev/null
+++ b/sys-libs/musl/files/ldconfig.in-r1
@@ -0,0 +1,155 @@
+#!/bin/bash -e
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+ROOT="/"
+LDSO_CONF="/etc/ld.so.conf"
+
+VERBOSE=0
+
+UPDATE_LINKS=1
+
+get_options() {
+ while getopts "vnNXf:C:r:p" opt "$@"; do
+ case $opt in
+ v)
+ echo "ldconfig for musl in Gentoo"
+ VERBOSE=1
+ ;;
+ r)
+ ROOT=${OPTARG}
+ LDSO_CONF=${ROOT}${LDSO_CONF}
+ LDSO_CONF_DIR=$(dirname ${LDSO_CONF})
+ ;;
+ f)
+ LDSO_CONF=${OPTARG}
+ ;;
+ X)
+ UPDATE_LINKS=0
+ ;;
+ \?)
+ echo "Invalid option: -${opt}" >&2
+ exit 1
+ ;;
+ n|N|C|p)
+ echo "Unimplemented option: -${opt}" >&2
+ exit 1
+ ;;
+ esac
+ done
+
+ if [[ ${UPDATE_LINKS} == 1 ]]; then
+ echo "Updating links is not implemented."
+ fi
+}
+
+
+repeated() {
+ local l=${1}
+ local drs="${@:2}"
+ for m in ${drs}; do
+ [[ ${m} == ${l} ]] && return 0
+ done
+ return 1
+}
+
+expand() {
+ # We are assuming the ld.so.conf's 'include' is not recursive
+ local f line l
+ local glob="${LDSO_CONF_DIR}/${1}"
+ local drs="${@:2} "
+
+ for f in ${glob}; do
+ [[ ! -f ${f} ]] && continue
+ while read line; do
+ line=${line%%#*}
+ line=${line//:/ }
+ line=${line//,/ }
+ for l in ${line}; do
+ # We must add this whether or not the directory exists
+ repeated ${l} ${drs} && continue
+ drs+=" ${l} "
+ done
+ done < ${f}
+ done
+
+ echo ${drs}
+}
+
+read_ldso_conf() {
+ local drs=" "
+
+ while read line; do
+ # Sanitize the line - see ldconfig(8) for delimiters
+ # Note: bash read turns tabs into spaces and read already
+ # delimits on newlines with the default $IFS
+ line=${line%%#*} # Remove comments
+ line=${line//:/ } # Change colon delimiter to space
+ line=${line//,/ } # Change comma delimiter to space
+
+ next=0
+ for l in ${line}; do
+ if [[ ${next} == 1 ]]; then
+ next=0
+ drs=$(expand ${l} ${drs})
+ elif [[ ${l} == "include" ]]; then
+ next=1
+ else
+ # glibc's ldconfig silently skips non directories
+ if [[ -d ${l} ]]; then
+ repeated ${l} ${drs} && continue
+ drs+=" ${l} "
+ fi
+ fi
+ done
+ done < ${1}
+
+ echo ${drs}
+}
+
+sanitize() {
+ local drs=$@
+
+ repeated "/lib" ${drs} || drs="/lib ${drs}"
+ repeated "/usr/lib" ${drs} || drs="/usr/lib ${drs}"
+
+ echo ${drs}
+}
+
+changed() {
+ [[ -f ${ETC_LDSO_PATH} ]] || return 0
+ local current=$(<${ETC_LDSO_PATH})
+ current=${current//$'\n'/ }
+ [[ ${current} != ${drs} ]] || return 1
+}
+
+get_options "$@"
+
+if [[ ! -e ${LDSO_CONF} ]]; then
+ echo "${LDSO_CONF} not found" >&2
+ exit 1
+fi
+
+LDSO_CONF_DIR=$(dirname ${LDSO_CONF})
+
+drs=$(read_ldso_conf "${LDSO_CONF}")
+drs=$(sanitize ${drs})
+
+ARCH=@@ARCH@@
+LDSO_PATH="${ROOT}/lib/ld-musl-${ARCH}.so.1"
+if [[ ! -e ${LDSO_PATH} ]]; then
+ echo "${LDSO_PATH} not found" >&2
+ exit 1
+fi
+
+LDSO_ARCH=$(basename ${LDSO_PATH})
+LDSO_NAME=${LDSO_ARCH%.so.1}
+ETC_LDSO_PATH="${ROOT}/etc/${LDSO_NAME}.path"
+
+changed || exit 0
+X=$(mktemp -p /tmp ${LDSO_NAME}.XXXXXX)
+for d in ${drs}; do
+ echo ${d} >> ${X}
+done
+chmod 644 ${X}
+mv ${X} ${ETC_LDSO_PATH}
diff --git a/sys-libs/musl/files/ldconfig.in-r2 b/sys-libs/musl/files/ldconfig.in-r2
new file mode 100644
index 000000000000..72a2f58bc744
--- /dev/null
+++ b/sys-libs/musl/files/ldconfig.in-r2
@@ -0,0 +1,157 @@
+#!/bin/bash -e
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+ROOT="/"
+LDSO_CONF="/etc/ld.so.conf"
+
+VERBOSE=0
+
+UPDATE_LINKS=1
+
+get_options() {
+ while getopts "vnNXf:C:r:p" opt "$@"; do
+ case $opt in
+ v)
+ echo "ldconfig for musl in Gentoo"
+ VERBOSE=1
+ ;;
+ r)
+ ROOT=${OPTARG}
+ LDSO_CONF=${ROOT}${LDSO_CONF}
+ LDSO_CONF_DIR=$(dirname ${LDSO_CONF})
+ ;;
+ f)
+ LDSO_CONF=${OPTARG}
+ ;;
+ X)
+ UPDATE_LINKS=0
+ ;;
+ \?)
+ echo "Invalid option: -${opt}" >&2
+ exit 1
+ ;;
+ n|N|C|p)
+ echo "Unimplemented option: -${opt}" >&2
+ exit 1
+ ;;
+ esac
+ done
+
+ if [[ ${UPDATE_LINKS} == 1 ]]; then
+ echo "Updating links is not implemented."
+ fi
+}
+
+
+repeated() {
+ local l=${1}
+ local drs="${@:2}"
+ for m in ${drs}; do
+ [[ ${m} == ${l} ]] && return 0
+ done
+ return 1
+}
+
+expand() {
+ # We are assuming the ld.so.conf's 'include' is not recursive
+ local f line l
+ local glob="${LDSO_CONF_DIR}/${1}"
+ local drs="${@:2} "
+
+ for f in ${glob}; do
+ [[ ! -f ${f} ]] && continue
+ while read line; do
+ line=${line%%#*}
+ line=${line//:/ }
+ line=${line//,/ }
+ for l in ${line}; do
+ # We must add this whether or not the directory exists
+ repeated ${l} ${drs} && continue
+ drs+=" ${l} "
+ done
+ done < ${f}
+ done
+
+ echo ${drs}
+}
+
+read_ldso_conf() {
+ local drs=" "
+
+ while read line; do
+ # Sanitize the line - see ldconfig(8) for delimiters
+ # Note: bash read turns tabs into spaces and read already
+ # delimits on newlines with the default $IFS
+ line=${line%%#*} # Remove comments
+ line=${line//:/ } # Change colon delimiter to space
+ line=${line//,/ } # Change comma delimiter to space
+
+ next=0
+ for l in ${line}; do
+ if [[ ${next} == 1 ]]; then
+ next=0
+ drs=$(expand ${l} ${drs})
+ elif [[ ${l} == "include" ]]; then
+ next=1
+ else
+ # glibc's ldconfig silently skips non directories
+ if [[ -d ${l} ]]; then
+ repeated ${l} ${drs} && continue
+ drs+=" ${l} "
+ fi
+ fi
+ done
+ done < ${1}
+
+ echo ${drs}
+}
+
+sanitize() {
+ local drs=$@
+
+ repeated "/lib" ${drs} || drs="/lib ${drs}"
+ repeated "/usr/lib" ${drs} || drs="/usr/lib ${drs}"
+
+ echo ${drs}
+}
+
+changed() {
+ [[ -f ${ETC_LDSO_PATH} ]] || return 0
+ local current=$(<${ETC_LDSO_PATH})
+ current=${current//$'\n'/ }
+ [[ ${current} != ${drs} ]] || return 1
+}
+
+get_options "$@"
+
+if [[ ! -e ${LDSO_CONF} ]]; then
+ echo "${LDSO_CONF} not found" >&2
+ exit 1
+fi
+
+LDSO_CONF_DIR=$(dirname ${LDSO_CONF})
+
+drs=$(read_ldso_conf "${LDSO_CONF}")
+drs=$(sanitize ${drs})
+
+ARCH=@@ARCH@@
+LDSO_PATH="${ROOT}/lib/ld-musl-${ARCH}.so.1"
+if [[ ! -e ${LDSO_PATH} ]]; then
+ echo "${LDSO_PATH} not found" >&2
+ exit 1
+fi
+
+LDSO_ARCH=$(basename ${LDSO_PATH})
+LDSO_NAME=${LDSO_ARCH%.so.1}
+ETC_LDSO_PATH="${ROOT}/etc/${LDSO_NAME}.path"
+
+changed || exit 0
+X=$(mktemp -p /tmp ${LDSO_NAME}.XXXXXX)
+for d in ${drs}; do
+ echo ${d} >> ${X}
+done
+chmod 644 ${X}
+# busybox doesn't support mz -Z
+cp ${X} ${ETC_LDSO_PATH}
+rm ${X}
diff --git a/sys-libs/musl/musl-1.2.2-r4.ebuild b/sys-libs/musl/musl-1.2.2-r4.ebuild
index 0fe2c8c9a67b..868577f61ad2 100644
--- a/sys-libs/musl/musl-1.2.2-r4.ebuild
+++ b/sys-libs/musl/musl-1.2.2-r4.ebuild
@@ -9,7 +9,7 @@ if [[ ${PV} == "9999" ]] ; then
inherit git-r3
else
SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz"
- KEYWORDS="-* ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86"
+ KEYWORDS="-* amd64 arm arm64 ~mips ppc ppc64 x86"
fi
GETENT_COMMIT="93a08815f8598db442d8b766b463d0150ed8e2ab"
GETENT_FILE="musl-getent-${GETENT_COMMIT}.c"
@@ -128,7 +128,7 @@ src_install() {
# and print $(ARCH)$(SUBARCH).
local arch=$(awk '{ k[$1] = $3 } END { printf("%s%s", k["ARCH"], k["SUBARCH"]); }' config.mak)
- if [[ ! -e "${D}"/lib/ld-musl-${arch}.so.1 ]] ; then
+ if [[ ! -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] ; then
# During cross (using crossdev), when emerging sys-libs/musl,
# if /usr/lib/libc.so.1 doesn't exist on the system, installation
# would fail.
@@ -138,10 +138,10 @@ src_install() {
# During cross, there's no guarantee that the host is using musl
# so that file may not exist. Use a relative symlink within ${D}
# instead.
- dosym8 -r /usr/lib/libc.so.1 /lib/ld-musl-${arch}.so.1
+ dosym8 -r /usr/lib/libc.so /lib/ld-musl-${arch}.so.1
# If it's still a dead symlnk, OK, we really do need to abort.
- [[ -e "${D}"/lib/ld-musl-${arch}.so.1 ]] || die
+ [[ -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] || die
fi
cp "${FILESDIR}"/ldconfig.in "${T}" || die
diff --git a/sys-libs/musl/musl-1.2.2-r6.ebuild b/sys-libs/musl/musl-1.2.2-r6.ebuild
new file mode 100644
index 000000000000..79a60682c79f
--- /dev/null
+++ b/sys-libs/musl/musl-1.2.2-r6.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eapi8-dosym flag-o-matic toolchain-funcs
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.musl-libc.org/musl"
+ inherit git-r3
+else
+ SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz"
+ KEYWORDS="-* amd64 arm arm64 ~mips ppc ppc64 x86"
+fi
+GETENT_COMMIT="93a08815f8598db442d8b766b463d0150ed8e2ab"
+GETENT_FILE="musl-getent-${GETENT_COMMIT}.c"
+SRC_URI+="
+ https://dev.gentoo.org/~blueness/musl-misc/getconf.c
+ https://gitlab.alpinelinux.org/alpine/aports/-/raw/${GETENT_COMMIT}/main/musl/getent.c -> ${GETENT_FILE}
+ https://dev.gentoo.org/~blueness/musl-misc/iconv.c
+"
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+DESCRIPTION="Light, fast and simple C library focused on standards-conformance and safety"
+HOMEPAGE="https://musl.libc.org"
+LICENSE="MIT LGPL-2 GPL-2"
+SLOT="0"
+IUSE="headers-only"
+
+QA_SONAME="/usr/lib/libc.so"
+QA_DT_NEEDED="/usr/lib/libc.so"
+
+is_crosscompile() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
+just_headers() {
+ use headers-only && is_crosscompile
+}
+
+pkg_setup() {
+ if [ ${CTARGET} == ${CHOST} ] ; then
+ case ${CHOST} in
+ *-musl*) ;;
+ *) die "Use sys-devel/crossdev to build a musl toolchain" ;;
+ esac
+ fi
+
+ # fix for #667126, copied from glibc ebuild
+ # make sure host make.conf doesn't pollute us
+ if is_crosscompile || tc-is-cross-compiler ; then
+ CHOST=${CTARGET} strip-unsupported-flags
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ unpack "${P}.tar.gz"
+ fi
+ mkdir misc || die
+ cp "${DISTDIR}"/getconf.c misc/getconf.c || die
+ cp "${DISTDIR}/${GETENT_FILE}" misc/getent.c || die
+ cp "${DISTDIR}"/iconv.c misc/iconv.c || die
+}
+
+src_prepare() {
+ default
+
+ # Expand gethostid instead of being just a stub
+ eapply "${FILESDIR}/${PN}-1.2.2-gethostid.patch"
+}
+
+src_configure() {
+ tc-getCC ${CTARGET}
+ just_headers && export CC=true
+
+ local sysroot
+ is_crosscompile && sysroot="${EPREFIX}"/usr/${CTARGET}
+ ./configure \
+ --target=${CTARGET} \
+ --prefix=${sysroot}/usr \
+ --syslibdir=${sysroot}/lib \
+ --disable-gcc-wrapper || die
+}
+
+src_compile() {
+ emake obj/include/bits/alltypes.h
+ just_headers && return 0
+
+ emake
+ if [[ ${CATEGORY} != cross-* ]] ; then
+ emake -C "${T}" getconf getent iconv \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ CPPFLAGS="${CPPFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ VPATH="${WORKDIR}/misc"
+ fi
+
+ $(tc-getCC) ${CFLAGS} -c -o libssp_nonshared.o "${FILESDIR}"/stack_chk_fail_local.c || die
+ $(tc-getAR) -rcs libssp_nonshared.a libssp_nonshared.o || die
+}
+
+src_install() {
+ local target="install"
+ just_headers && target="install-headers"
+ emake DESTDIR="${D}" ${target}
+ just_headers && return 0
+
+ # musl provides ldd via a sym link to its ld.so
+ local sysroot
+ is_crosscompile && sysroot=/usr/${CTARGET}
+ local ldso=$(basename "${D}"${sysroot}/lib/ld-musl-*)
+ dosym ${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd
+
+ if [[ ${CATEGORY} != cross-* ]] ; then
+ # Fish out of config:
+ # ARCH = ...
+ # SUBARCH = ...
+ # and print $(ARCH)$(SUBARCH).
+ local arch=$(awk '{ k[$1] = $3 } END { printf("%s%s", k["ARCH"], k["SUBARCH"]); }' config.mak)
+
+ if [[ ! -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] ; then
+ # During cross (using crossdev), when emerging sys-libs/musl,
+ # if /usr/lib/libc.so.1 doesn't exist on the system, installation
+ # would fail.
+ #
+ # The musl build system seems to create a symlink:
+ # ${D}/lib/ld-musl-${arch}.so.1 -> /usr/lib/libc.so.1 (absolute)
+ # During cross, there's no guarantee that the host is using musl
+ # so that file may not exist. Use a relative symlink within ${D}
+ # instead.
+ dosym8 -r /usr/lib/libc.so /lib/ld-musl-${arch}.so.1
+
+ # If it's still a dead symlnk, OK, we really do need to abort.
+ [[ -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] || die
+ fi
+
+ cp "${FILESDIR}"/ldconfig.in-r1 "${T}"/ldconfig.in || die
+ sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die
+ into /
+ dosbin "${T}"/ldconfig
+ into /usr
+ dobin "${T}"/getconf
+ dobin "${T}"/getent
+ dobin "${T}"/iconv
+ echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00musl || die
+ doenvd "${T}"/00musl
+ dolib.a libssp_nonshared.a
+ fi
+}
+
+pkg_postinst() {
+ is_crosscompile && return 0
+
+ [ "${ROOT}" != "/" ] && return 0
+
+ ldconfig || die
+}
diff --git a/sys-libs/musl/musl-1.2.2-r7.ebuild b/sys-libs/musl/musl-1.2.2-r7.ebuild
new file mode 100644
index 000000000000..dac76c213424
--- /dev/null
+++ b/sys-libs/musl/musl-1.2.2-r7.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eapi8-dosym flag-o-matic toolchain-funcs
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.musl-libc.org/musl"
+ inherit git-r3
+else
+ SRC_URI="http://www.musl-libc.org/releases/${P}.tar.gz"
+ KEYWORDS="-* ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86"
+fi
+GETENT_COMMIT="93a08815f8598db442d8b766b463d0150ed8e2ab"
+GETENT_FILE="musl-getent-${GETENT_COMMIT}.c"
+SRC_URI+="
+ https://dev.gentoo.org/~blueness/musl-misc/getconf.c
+ https://gitlab.alpinelinux.org/alpine/aports/-/raw/${GETENT_COMMIT}/main/musl/getent.c -> ${GETENT_FILE}
+ https://dev.gentoo.org/~blueness/musl-misc/iconv.c
+"
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+DESCRIPTION="Light, fast and simple C library focused on standards-conformance and safety"
+HOMEPAGE="https://musl.libc.org"
+LICENSE="MIT LGPL-2 GPL-2"
+SLOT="0"
+IUSE="headers-only"
+
+QA_SONAME="/usr/lib/libc.so"
+QA_DT_NEEDED="/usr/lib/libc.so"
+
+is_crosscompile() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
+just_headers() {
+ use headers-only && is_crosscompile
+}
+
+pkg_setup() {
+ if [ ${CTARGET} == ${CHOST} ] ; then
+ case ${CHOST} in
+ *-musl*) ;;
+ *) die "Use sys-devel/crossdev to build a musl toolchain" ;;
+ esac
+ fi
+
+ # fix for #667126, copied from glibc ebuild
+ # make sure host make.conf doesn't pollute us
+ if is_crosscompile || tc-is-cross-compiler ; then
+ CHOST=${CTARGET} strip-unsupported-flags
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ unpack "${P}.tar.gz"
+ fi
+ mkdir misc || die
+ cp "${DISTDIR}"/getconf.c misc/getconf.c || die
+ cp "${DISTDIR}/${GETENT_FILE}" misc/getent.c || die
+ cp "${DISTDIR}"/iconv.c misc/iconv.c || die
+}
+
+src_prepare() {
+ default
+
+ # Expand gethostid instead of being just a stub
+ eapply "${FILESDIR}/${PN}-1.2.2-gethostid.patch"
+}
+
+src_configure() {
+ tc-getCC ${CTARGET}
+ just_headers && export CC=true
+
+ local sysroot
+ is_crosscompile && sysroot="${EPREFIX}"/usr/${CTARGET}
+ ./configure \
+ --target=${CTARGET} \
+ --prefix=${sysroot}/usr \
+ --syslibdir=${sysroot}/lib \
+ --disable-gcc-wrapper || die
+}
+
+src_compile() {
+ emake obj/include/bits/alltypes.h
+ just_headers && return 0
+
+ emake
+ if [[ ${CATEGORY} != cross-* ]] ; then
+ emake -C "${T}" getconf getent iconv \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ CPPFLAGS="${CPPFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ VPATH="${WORKDIR}/misc"
+ fi
+
+ $(tc-getCC) ${CFLAGS} -c -o libssp_nonshared.o "${FILESDIR}"/stack_chk_fail_local.c || die
+ $(tc-getAR) -rcs libssp_nonshared.a libssp_nonshared.o || die
+}
+
+src_install() {
+ local target="install"
+ just_headers && target="install-headers"
+ emake DESTDIR="${D}" ${target}
+ just_headers && return 0
+
+ # musl provides ldd via a sym link to its ld.so
+ local sysroot
+ is_crosscompile && sysroot=/usr/${CTARGET}
+ local ldso=$(basename "${D}"${sysroot}/lib/ld-musl-*)
+ dosym ${sysroot}/lib/${ldso} ${sysroot}/usr/bin/ldd
+
+ if [[ ${CATEGORY} != cross-* ]] ; then
+ # Fish out of config:
+ # ARCH = ...
+ # SUBARCH = ...
+ # and print $(ARCH)$(SUBARCH).
+ local arch=$(awk '{ k[$1] = $3 } END { printf("%s%s", k["ARCH"], k["SUBARCH"]); }' config.mak)
+
+ if [[ ! -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] ; then
+ # During cross (using crossdev), when emerging sys-libs/musl,
+ # if /usr/lib/libc.so.1 doesn't exist on the system, installation
+ # would fail.
+ #
+ # The musl build system seems to create a symlink:
+ # ${D}/lib/ld-musl-${arch}.so.1 -> /usr/lib/libc.so.1 (absolute)
+ # During cross, there's no guarantee that the host is using musl
+ # so that file may not exist. Use a relative symlink within ${D}
+ # instead.
+ dosym8 -r /usr/lib/libc.so /lib/ld-musl-${arch}.so.1
+
+ # If it's still a dead symlnk, OK, we really do need to abort.
+ [[ -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] || die
+ fi
+
+ cp "${FILESDIR}"/ldconfig.in-r2 "${T}"/ldconfig.in || die
+ sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die
+ into /
+ dosbin "${T}"/ldconfig
+ into /usr
+ dobin "${T}"/getconf
+ dobin "${T}"/getent
+ dobin "${T}"/iconv
+ echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00musl || die
+ doenvd "${T}"/00musl
+ dolib.a libssp_nonshared.a
+ fi
+}
+
+pkg_postinst() {
+ is_crosscompile && return 0
+
+ [ "${ROOT}" != "/" ] && return 0
+
+ ldconfig || die
+}
diff --git a/sys-libs/musl/musl-9999.ebuild b/sys-libs/musl/musl-9999.ebuild
index 5736eadc0fb4..6a5e2688dd5a 100644
--- a/sys-libs/musl/musl-9999.ebuild
+++ b/sys-libs/musl/musl-9999.ebuild
@@ -121,7 +121,7 @@ src_install() {
# and print $(ARCH)$(SUBARCH).
local arch=$(awk '{ k[$1] = $3 } END { printf("%s%s", k["ARCH"], k["SUBARCH"]); }' config.mak)
- if [[ ! -e "${D}"/lib/ld-musl-${arch}.so.1 ]] ; then
+ if [[ ! -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] ; then
# During cross (using crossdev), when emerging sys-libs/musl,
# if /usr/lib/libc.so.1 doesn't exist on the system, installation
# would fail.
@@ -131,13 +131,13 @@ src_install() {
# During cross, there's no guarantee that the host is using musl
# so that file may not exist. Use a relative symlink within ${D}
# instead.
- dosym8 -r /usr/lib/libc.so.1 /lib/ld-musl-${arch}.so.1
+ dosym8 -r /usr/lib/libc.so /lib/ld-musl-${arch}.so.1
# If it's still a dead symlnk, OK, we really do need to abort.
- [[ -e "${D}"/lib/ld-musl-${arch}.so.1 ]] || die
+ [[ -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] || die
fi
- cp "${FILESDIR}"/ldconfig.in "${T}" || die
+ cp "${FILESDIR}"/ldconfig.in-r1 "${T}"/ldconfig.in || die
sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die
into /
dosbin "${T}"/ldconfig
diff --git a/sys-libs/newlib/Manifest b/sys-libs/newlib/Manifest
index dc46e6faef86..822f99c80fe6 100644
--- a/sys-libs/newlib/Manifest
+++ b/sys-libs/newlib/Manifest
@@ -1,5 +1,5 @@
AUX newlib-3.3.0-no-nano-cxx.patch 1338 BLAKE2B ff16751b01784a38dc07aa79120c38f0274bb14caeeb653cecca4b3ca69c60a72e0e1918fea8f2c0f4734293817539122fa41b349f61ceabb3cb9ae878a11d13 SHA512 08dfc7d854dc75c8b875fa7c1829078c8df8988b4ba2b20739d387c656ca63b8b344487861d23658e31b72f911d05c2f57abe51bdf3b2dedcc88ce072c6595c8
DIST newlib-4.1.0.tar.gz 18648429 BLAKE2B c4d4d734bceeacf05b75d450d4316392d0000266812f98f99cd3f9f0926ac9848e1dc145361827d1d6951edfe5f109923c982d9f284f927ffc5fd5e5edaf8be6 SHA512 6a24b64bb8136e4cd9d21b8720a36f87a34397fd952520af66903e183455c5cf19bb0ee4607c12a05d139c6c59382263383cb62c461a839f969d23d3bc4b1d34
-EBUILD newlib-4.1.0-r1.ebuild 4461 BLAKE2B 773ba5ca88402bde9d676c7e989151ec62b860b29d0d37922b81df9fe1ae8a7cabb7ecdc200cdada5aaab543cac51344b74ce2015152a8214bb943d171b3ae9d SHA512 323a94f3ca36f9b23749a1373aa52cc4cb5d496fc21d34d58544026881a8cf0c136a15c63e0ddd596ff73593bf4fe057b9b3bb862118acc3a50c82ee4d2a62a8
-EBUILD newlib-9999.ebuild 4461 BLAKE2B 773ba5ca88402bde9d676c7e989151ec62b860b29d0d37922b81df9fe1ae8a7cabb7ecdc200cdada5aaab543cac51344b74ce2015152a8214bb943d171b3ae9d SHA512 323a94f3ca36f9b23749a1373aa52cc4cb5d496fc21d34d58544026881a8cf0c136a15c63e0ddd596ff73593bf4fe057b9b3bb862118acc3a50c82ee4d2a62a8
+EBUILD newlib-4.1.0-r1.ebuild 4482 BLAKE2B b66394e3023130851f37adbba484d7a394c0d41e5a1d04f534bf1e1d71ed57d0ee65deccc6b1e10569bfca7d4f87b354eca82d785991f8bed0e22741104416c0 SHA512 cce2be618954ee7e935159f3549773d25d0cf1ef5fd72ea638ce38783f0b0314b3d2f7b86fa8ef24e1039eaf392ce3eea0a4fb765ef6dd54a5a27c38147d5c73
+EBUILD newlib-9999.ebuild 4482 BLAKE2B b66394e3023130851f37adbba484d7a394c0d41e5a1d04f534bf1e1d71ed57d0ee65deccc6b1e10569bfca7d4f87b354eca82d785991f8bed0e22741104416c0 SHA512 cce2be618954ee7e935159f3549773d25d0cf1ef5fd72ea638ce38783f0b0314b3d2f7b86fa8ef24e1039eaf392ce3eea0a4fb765ef6dd54a5a27c38147d5c73
MISC metadata.xml 414 BLAKE2B 0e367a5f7b225bd2d381433ff239e076c3de8feb795ddb586d867bbc9a1b990379a3f27a39ede9549c7e328262004101e4392560717f596c941e9a152848eacb SHA512 44000ecc340eb2da9391ac9b226486e0f95aeb8de5bc7633882fef97943e0348bbb04ada64a15c82d2995d8aaedac5da1fa8c9d453c4ab3d2efc51ce06ab6477
diff --git a/sys-libs/newlib/newlib-4.1.0-r1.ebuild b/sys-libs/newlib/newlib-4.1.0-r1.ebuild
index a5ec41db3c45..a6ad7b9c65d1 100644
--- a/sys-libs/newlib/newlib-4.1.0-r1.ebuild
+++ b/sys-libs/newlib/newlib-4.1.0-r1.ebuild
@@ -10,7 +10,7 @@ if [[ ${PV} == "9999" ]] ; then
inherit git-r3
else
SRC_URI="ftp://sourceware.org/pub/newlib/${P}.tar.gz"
- KEYWORDS="~arm ~hppa ~m68k ~mips ~ppc ~ppc64 ~sparc ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
export CBUILD=${CBUILD:-${CHOST}}
diff --git a/sys-libs/newlib/newlib-9999.ebuild b/sys-libs/newlib/newlib-9999.ebuild
index a5ec41db3c45..a6ad7b9c65d1 100644
--- a/sys-libs/newlib/newlib-9999.ebuild
+++ b/sys-libs/newlib/newlib-9999.ebuild
@@ -10,7 +10,7 @@ if [[ ${PV} == "9999" ]] ; then
inherit git-r3
else
SRC_URI="ftp://sourceware.org/pub/newlib/${P}.tar.gz"
- KEYWORDS="~arm ~hppa ~m68k ~mips ~ppc ~ppc64 ~sparc ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
export CBUILD=${CBUILD:-${CHOST}}
diff --git a/sys-libs/pam_wrapper/Manifest b/sys-libs/pam_wrapper/Manifest
index 9b9d9824d563..0b1ea9917e1b 100644
--- a/sys-libs/pam_wrapper/Manifest
+++ b/sys-libs/pam_wrapper/Manifest
@@ -1,4 +1,6 @@
DIST pam_wrapper-1.1.3.tar.gz 118034 BLAKE2B 3c05e74959f3c6dfd35575cc5f9187f4a328bfd7ce002e327fc135c82a4ff1513add87678360992d2010c124f7fd95e4bdb3c0a4d63418d9711069cbc200e417 SHA512 3b7cbd25ae7dd73f4a0c64a7762cdeb38cc7ba6e8b4e18e79aceffea09241d520aa884de88e4105b5957b2b18ec682be6568a6bfccf82b9354a3510cd2cd98eb
-EBUILD pam_wrapper-1.1.3-r2.ebuild 1768 BLAKE2B f37023a08920228d9f3a8b1b52a84ddfc8a9ee094b48adf3a8df665f6f26aed0e5cb1047a994ec99dc6ede2b8576ab0368e6da227a73797d3e4d3af919f98d5a SHA512 2f19017f4bf6be4f73e8c660fab21a1ae284c2d794233abb157aa0cf8ba43c3a50c84a629634490fc75b7589c8bbff2b8cef8748238180f1c2896de63ddc13c5
+DIST pam_wrapper-1.1.4.tar.gz 170882 BLAKE2B fa0a789f6fd6f809c7ef80e354e886b5f1f0b4212060dc0e388a44701e4a1f49635b8f47344156ad65cd273660e3b0a806480c37875a830e2f5d8e56c4ec0818 SHA512 3b68dc6d7815707d74d1340facd9c2de4dff3934402ac2c2632371b39c41a75744434744ed7308e157be03a03a941405638cadb6f34995de56fb1f5f45d37de2
+EBUILD pam_wrapper-1.1.3-r3.ebuild 1553 BLAKE2B a32635c0f16be69ee7dc64470175bae8ff793af6ce2a712e6d81b3d7d81d81ab0ec32eab24b0630b191c51d648fafa22db7e2758a15622d7652d203cf9b633b2 SHA512 7ac097214afb444942597508b80083d6e45f04efed76aa0fb7b36434cab6cf8e6347d61ece14ee3046c050942d81f3e0a3ec38371cc7e72819aaa008def4ee8a
EBUILD pam_wrapper-1.1.3.ebuild 1107 BLAKE2B c7c5c853f9a1afb50dbf13cb3ffbce7cf53e8c8dba0bcf18e58ea54357c8e4a34e464e6d920d4d86e28a76b345f350067f7a9392f20f4d07be2fc354a6fb9928 SHA512 565455f3861d0b67f6cf68962816f9059002b37bc66221903f4b5e5555db0d3351323b2de3e5bb372b92ba0c4095a4ab1daf1209234243d93b5c3e8905a8855a
+EBUILD pam_wrapper-1.1.4.ebuild 1548 BLAKE2B f77a7c4c1aec86a6f50e7f13237b23c48894533a98e44eda778ea246d86258dedead74899f692958fef16d5e3f72002cdfdee7c2944803b065fb803969de81cc SHA512 0e6e01399e4ea2a090ce22c3f42fa0bb03f6bb3ab137c033b1c57fb9cac6b2c5792754fe582c38dabfa1478a896a91c666632f1890d22f67f76f0240c1e60621
MISC metadata.xml 250 BLAKE2B e398673dd1a3522ccddb89a82a53fc2578d8e0777ec46f889d01d618609a22958d91699beef513c7912799e0e8ff985200f7c67bba941235da25c24cd4b48f09 SHA512 16834c3cbecd0dd5a9c8c311d2b8ebc63d8cd72c5891498f4f0048988993c104aadd4e24e632bf54071c11f810716432e89e4afab029555875f9f52794daa6e9
diff --git a/sys-libs/pam_wrapper/pam_wrapper-1.1.3-r2.ebuild b/sys-libs/pam_wrapper/pam_wrapper-1.1.3-r3.ebuild
index 651440322594..fe217064fb7f 100644
--- a/sys-libs/pam_wrapper/pam_wrapper-1.1.3-r2.ebuild
+++ b/sys-libs/pam_wrapper/pam_wrapper-1.1.3-r3.ebuild
@@ -17,7 +17,7 @@ SRC_URI="
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
@@ -33,10 +33,7 @@ DEPEND="
multilib_src_configure() {
configure_for_python() {
- local libpam="${EPREFIX}/$(get_libdir)/libpam.so.0"
-
local mycmakeargs=(
- -DPAM_LIBRARY="${libpam}"
-DUNIT_TESTING=OFF
)
@@ -50,12 +47,7 @@ multilib_src_configure() {
fi
# Do the regular build now
- local libpam="${EPREFIX}"
- multilib_is_native_abi || libpam+="/usr"
- libpam+="/$(get_libdir)/libpam.so.0"
-
local mycmakeargs=(
- -DPAM_LIBRARY="${libpam}"
-DUNIT_TESTING=$(usex test)
-DCMAKE_DISABLE_FIND_PACKAGE_Python{Libs,Interp,SiteLibs}=ON
)
diff --git a/sys-libs/pam_wrapper/pam_wrapper-1.1.4.ebuild b/sys-libs/pam_wrapper/pam_wrapper-1.1.4.ebuild
new file mode 100644
index 000000000000..96a3d1fd2aa8
--- /dev/null
+++ b/sys-libs/pam_wrapper/pam_wrapper-1.1.4.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+CMAKE_ECLASS=cmake
+
+inherit cmake-multilib python-r1
+
+DESCRIPTION="A tool to test PAM applications and PAM modules"
+HOMEPAGE="https://cwrap.org/pam_wrapper.html"
+SRC_URI="
+ https://www.samba.org/ftp/pub/cwrap/${P}.tar.gz
+ https://ftp.samba.org/pub/cwrap/${P}.tar.gz
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ sys-libs/pam:0=[${MULTILIB_USEDEP}]
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-util/cmocka[${MULTILIB_USEDEP}] )
+"
+
+multilib_src_configure() {
+ configure_for_python() {
+ local mycmakeargs=( -DUNIT_TESTING=OFF )
+ cmake_src_configure
+ }
+
+ if multilib_is_native_abi ; then
+ # Build the Pythons for each version (but only for the native ABI)
+ # bug #737468
+ python_foreach_impl configure_for_python
+ fi
+
+ # Do the regular build now
+ local mycmakeargs=(
+ -DUNIT_TESTING=$(usex test)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Python{Libs,Interp,SiteLibs}=ON
+ )
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi ; then
+ python_foreach_impl cmake_src_compile
+ fi
+
+ # Compile the "proper" version without Python last
+ cmake_src_compile
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi ; then
+ python_foreach_impl cmake_src_install
+ fi
+
+ # Install the "proper" version without Python last
+ cmake_src_install
+}
diff --git a/sys-libs/readline/Manifest b/sys-libs/readline/Manifest
index 7d5bf76cbb8f..9ae2b4ac6440 100644
--- a/sys-libs/readline/Manifest
+++ b/sys-libs/readline/Manifest
@@ -6,5 +6,5 @@ AUX readline-8.0-headers.patch 577 BLAKE2B b8fe6cdf51188f68c852d3c9052e7840a0bcb
AUX readline-8.1-windows-signals.patch 569 BLAKE2B af1ad52b09a1a49e6045bd640d57f3932f2b8db450b2eb7e0787a4326f6c61445ad83395620caf489da14107e8a51aed5d5fdf8e3268fab83d8ff04d393b1a59 SHA512 37aa778a21e360708d371aaf3f08274f75b15d8b2c42b030bda8d65dda81b1713c748644e45b6662c608da14ad413d6d83e43800ea58309fa60256a18317f5ae
DIST readline-8.1.tar.gz 2993288 BLAKE2B f0feca1ea3517b2b613adacac8c997cce0e86aa2f410c82a40ce1a2e128067112b4c68dbf25b808291c28c47583345abac994ce10b8d117958afcb96ee5e7c69 SHA512 27790d0461da3093a7fee6e89a51dcab5dc61928ec42e9228ab36493b17220641d5e481ea3d8fee5ee0044c70bf960f55c7d3f1a704cf6b9c42e5c269b797e00
DIST readline81-001 2454 BLAKE2B 7ec4e5c39a224a70643b44b88bcfef5198e199c76f2a34f0b0ce24f1747dd46be49ddf93871c474cda64322b4358127fec4c2401d19422f84934546bbe1f3bf2 SHA512 cfbef10bdeb562a302ccf214878d02ebadf799343b3d2d7996a282f81bcfde83997ba6dcc9a8477af4dd7c73bca74105ca00a81e42ed13321672bd2930550e54
-EBUILD readline-8.1_p1-r1.ebuild 5901 BLAKE2B 41d0c089c8bc43c20a83dc975f81f2953dd199ba86ac12fe563a82c76bf2a3085a66d328331bf6ccefc6bb3553d697408568fff8cd98bd61b70fa04c91dd8154 SHA512 9e3b525d325b3b65131f04b04c630df8f0f8d47f5394f77df574f353438144cfb69d2690ea1ee28ec15fd888a43f2aecdbdd3741d0f41b994b4b2305484bdd5e
+EBUILD readline-8.1_p1-r1.ebuild 5901 BLAKE2B 4819d05f4e9fd9d9b737eeabf14cedb8e9879f554b5bb3cf2d1635ca2f3e07382e16dec40693aa183d51cd2d362f77942614f5129392363ce5097fd401b59795 SHA512 54c1365e53e218e3a404fffe2343627218b4230db5be183ce7c79c417ae8c083ac00cf5f619c7344284635155ff2dbf6071ba631283c0f3c2ace8aa1cd7b2581
MISC metadata.xml 473 BLAKE2B 95401399d6edc2a1a28f9c0f42123b07568d5c517c49be38eff09e1f23a9b5df4d5b302495db8880c8ed65081ea2920f194e6b32402ab0d6049221e9ee6a4eed SHA512 e54e4ce57f3178aa8646acb6798f46074eb33173ab63d61f62bc9ab1d35ef823ce9ee3e173234f8866e2cb635519869c76a449f5073c3a5b7cfd29cd23c16462
diff --git a/sys-libs/readline/readline-8.1_p1-r1.ebuild b/sys-libs/readline/readline-8.1_p1-r1.ebuild
index 7ee132fe1f14..36d25d6c4aad 100644
--- a/sys-libs/readline/readline-8.1_p1-r1.ebuild
+++ b/sys-libs/readline/readline-8.1_p1-r1.ebuild
@@ -6,7 +6,7 @@ EAPI=7
inherit flag-o-matic multilib multilib-minimal preserve-libs toolchain-funcs usr-ldscript
# Official patches
-# See ftp://ftp.cwru.edu/pub/bash/readline-7.0-patches/
+# See ftp://ftp.cwru.edu/pub/bash/readline-8.1-patches/
PLEVEL="${PV##*_p}"
MY_PV="${PV/_p*}"
MY_PV="${MY_PV/_/-}"