summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin14727 -> 14916 bytes
-rw-r--r--sys-libs/blocksruntime/Manifest4
-rw-r--r--sys-libs/blocksruntime/blocksruntime-0_pre20171027.ebuild41
-rw-r--r--sys-libs/blocksruntime/files/blocksruntime-0_pre20171027-ldflags-soname.patch34
-rw-r--r--sys-libs/blocksruntime/metadata.xml11
-rw-r--r--sys-libs/db/Manifest3
-rw-r--r--sys-libs/db/db-18.1.40.ebuild244
-rw-r--r--sys-libs/db/files/db-18.1.40-fix-docs.patch19
-rw-r--r--sys-libs/glibc/Manifest4
-rw-r--r--sys-libs/glibc/glibc-2.32-r1.ebuild1505
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild2
-rw-r--r--sys-libs/gwenhywfar/Manifest2
-rw-r--r--sys-libs/gwenhywfar/gwenhywfar-5.1.2.ebuild2
-rw-r--r--sys-libs/libchipcard/Manifest2
-rw-r--r--sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild2
-rw-r--r--sys-libs/libieee1284/Manifest1
-rw-r--r--sys-libs/libieee1284/libieee1284-0.2.11-r7.ebuild51
-rw-r--r--sys-libs/libnih/Manifest2
-rw-r--r--sys-libs/libnih/libnih-1.0.3-r4.ebuild2
-rw-r--r--sys-libs/libosinfo/Manifest2
-rw-r--r--sys-libs/libosinfo/libosinfo-1.8.0-r1.ebuild2
-rw-r--r--sys-libs/libutempter/Manifest2
-rw-r--r--sys-libs/libutempter/libutempter-1.2.1.ebuild2
-rw-r--r--sys-libs/pam/Manifest4
-rw-r--r--sys-libs/pam/pam-1.4.0_p20200829.ebuild (renamed from sys-libs/pam/pam-1.4.0_p20200809.ebuild)10
25 files changed, 1936 insertions, 17 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index 2dac1f7aeff6..b5f9eb695eed 100644
--- a/sys-libs/Manifest.gz
+++ b/sys-libs/Manifest.gz
Binary files differ
diff --git a/sys-libs/blocksruntime/Manifest b/sys-libs/blocksruntime/Manifest
new file mode 100644
index 000000000000..e1d36758f7b9
--- /dev/null
+++ b/sys-libs/blocksruntime/Manifest
@@ -0,0 +1,4 @@
+AUX blocksruntime-0_pre20171027-ldflags-soname.patch 933 BLAKE2B 335a135b321bc57cfd63afa0c40ae91316dc5f446c4c412270ab78f3a2b9ee435900ebcdd8bb57dbd60d6a3d0bc412825a7f344141f3ef8ef6a042f29af34cc8 SHA512 7887727d2005dc70dee37b3dadbe49deeb9de7013e2d49f80248f71211a45f70e9a986991eb9bfc93668d635698f40504072fefdfca88511f8fc39121ba6f8f6
+DIST blocksruntime-0_pre20171027.tar.gz 40571 BLAKE2B 5cb5cee10d482a3028b6ed496f7ed4fba25504c5e188dd21be37f0a65b72750e0ce31f7243e9cd848d10323e43e7d058fd2f7eb5ffed9a64e543d418ac96cfac SHA512 4008730f7ee4173f22c40220c4b87cd3f5cfadd12d5ddbaec244e3c4164111f036d0b859cf4bb5f2425313148f5c6445de30af2d4ccc83e1b97a66895ccc6dc5
+EBUILD blocksruntime-0_pre20171027.ebuild 905 BLAKE2B 60f6b3e05c433843c60238a64049cd6b1be61ff1bf5619e6e41989a43a51735f7e1c845edf9005e3becbb8cbe4e6c50ee2509bed81400b84161a5c8600f96010 SHA512 667e95c61e777c99057eedb2ebc197b6a584f2c0bcbd417065f66cccc86834564aa78226b7183a00c9beed5e665bca8530cba745d56cc0f2ec077fbc07c4a864
+MISC metadata.xml 337 BLAKE2B e2e4dc3f4bf390d4cd54194e85e6e2104e962d0ddd7b7381ddb7e1974c778bfe7d86162087b267faff5c306a6583b9ac092a79305e750ab6b1dbab758c6e780e SHA512 3dcbdca3013c551d20488c1b2d53525c5bc4e234403a2051c0dd8e7ad9db15f9cc946778764e1bf4aa19816a66a3922ed879614c01e46265195535fa91ebc481
diff --git a/sys-libs/blocksruntime/blocksruntime-0_pre20171027.ebuild b/sys-libs/blocksruntime/blocksruntime-0_pre20171027.ebuild
new file mode 100644
index 000000000000..a855b832dba2
--- /dev/null
+++ b/sys-libs/blocksruntime/blocksruntime-0_pre20171027.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs vcs-snapshot
+
+COMMIT=9cc93ae2b58676c23fd02cf0c686fa15b7a3ff81 # 27 Oct 2017
+
+DESCRIPTION="BlocksRuntime library needed for clang's -fblocks support"
+HOMEPAGE="https://github.com/mackyle/blocksruntime"
+SRC_URI="https://github.com/mackyle/blocksruntime/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0_pre20171027-ldflags-soname.patch
+)
+
+src_prepare() {
+ default
+
+ tc-export CC AR RANLIB
+}
+
+src_compile() {
+ ./buildlib -shared || die
+}
+
+src_install() {
+ prefix="${EPREFIX}/usr" \
+ libdir="${EPREFIX}/usr/$(get_libdir)" \
+ DESTDIR="${D}" \
+ ./installlib $(use static-libs || echo -shared) || die
+}
diff --git a/sys-libs/blocksruntime/files/blocksruntime-0_pre20171027-ldflags-soname.patch b/sys-libs/blocksruntime/files/blocksruntime-0_pre20171027-ldflags-soname.patch
new file mode 100644
index 000000000000..66e9f1993bd8
--- /dev/null
+++ b/sys-libs/blocksruntime/files/blocksruntime-0_pre20171027-ldflags-soname.patch
@@ -0,0 +1,34 @@
+--- a/buildlib
++++ b/buildlib
+@@ -28,11 +28,13 @@ if [ -n "$shared" ]; then
+ SHLIB="${LIB%.a}.dylib"
+ SHOPT="-dynamiclib -Wl,-all_load"
+ SHOPT2=
++ SONAME=
+ ;;
+ *)
+ SHLIB="${LIB%.a}.so"
+ SHOPT="-shared -Wl,-whole-archive"
+ SHOPT2="-Wl,-no-whole-archive"
++ SONAME="-Wl,-soname=${SHLIB}.0"
+ ;;
+ esac
+ fi
+@@ -108,5 +110,5 @@ echo "SRC=$SRC"
+ [ -z "$shared" ] ||
+ (
+ PS4= && set -ex
+- "$CC" $FPIC $CFLAGS -o "$SHLIB" $SHOPT $LIB $SHOPT2
++ "$CC" $FPIC $CFLAGS $LDFLAGS -o "$SHLIB" $SHOPT $LIB $SHOPT2 ${SONAME}
+ ) || exit
+--- a/installlib
++++ b/installlib
+@@ -91,5 +91,7 @@ docmd "install -d "$DESTDIR"$includedir "$DESTDIR"$libdir"
+ docmd "install -m 644 $HEADER "$DESTDIR"$includedir/"
+ [ -z "$LIB" ] ||
+ docmd "install -m 644 $LIB "$DESTDIR"$libdir/"
+-[ -z "$SHLIB" ] ||
++[ -z "$SHLIB" ] || {
+ docmd "install -m $SHLIBMODE $SHLIB "$DESTDIR"$libdir/"
++docmd "ln -s $SHLIB "$DESTDIR"$libdir/${SHLIB}.0"
++}
diff --git a/sys-libs/blocksruntime/metadata.xml b/sys-libs/blocksruntime/metadata.xml
new file mode 100644
index 000000000000..4ce153662dd9
--- /dev/null
+++ b/sys-libs/blocksruntime/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>slyfox@gentoo.org</email>
+ <name>Sergei Trofimovich</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mackyle/blocksruntime</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest
index cbac24e965fc..5101fd202b6c 100644
--- a/sys-libs/db/Manifest
+++ b/sys-libs/db/Manifest
@@ -1,6 +1,7 @@
AUX db-1.85-gentoo-paths.patch 688 BLAKE2B bce69d9f256dcc108e80b5fe52ea2395dd34662605cf6595e0cbfe87642385b719e16177202fb8876d63ac23559acfc579ef291a5ddfa465f2cfd74b36d531e3 SHA512 7431dc5f24c7575753f9453eb99425e4c958c98d48a95f1de153580fed62f7dcb04715719b663d69ff6fd445f06f991e27a4af391b4b16ea53bea78d5980baa9
AUX db-18.1.25-sqlite-configure-path.patch 800 BLAKE2B d7fc137c1abe918ea94081a88c974d4001752a682752a7907f50a8efac000b57ed50362c8001423667c3c2e535ac19c82ccef33996111900c489d639ad2d870d SHA512 704e07b65df058a8d09fa7f8789b1ba81ffeac90767b8084ad828158aff7e59a54f21f8834f912c5af26de58e6cecc3eb95da1c9ca051dbaaa0e1d65419df594
AUX db-18.1.25-test-link.patch 1443 BLAKE2B 819038f07f0329575eecdb5891b16114507d9a530b434eabf748367baf86be979198dd7aeb904af14d9b3643e013e2ec34257bc254724351dc62dab30029b5b8 SHA512 e3cba1c842dffbbf1bbf353111ce41cf46078d03d9b42052ad72081e9b9434eeb3eedad42d532dba9f2c90b36a620f2a2f9a65fb98477e5b1fa6dfc04ba1ec0e
+AUX db-18.1.40-fix-docs.patch 613 BLAKE2B 5b3c5f8b35624eac5c14caedac9ffadecae26122a0024b2c42c75d9c10e8ac414b2195a29cece5a680ef30355d20c5bf5405dd7bb03647fbf2d603c5abc66417 SHA512 ddd0daa3de0efa363764abf1dade45914f6bdf44d883c2b0b3ea1c96c2cff0889b5078beea274113169c9b056135a09905e5083d6be3e3139e74f86ef61deb1f
AUX db-3.2.9-fix-dep-link.patch 1005 BLAKE2B c04ae14ca17e77807d44949176e47aa4e5d98f1407e74c9272ad2b9dc0eaf062a2eeba8d9a9130285cdcbb6418f4dd4d8dd22c89c914578ef9fbef8caa414940 SHA512 42f8a6e495266209d7c9bf35bfba801abddffb10488b7b156a790bacdf8fe2d3d3113d8d0a1afddeca238736f64cf8a881141d181fd4a211e4b04da9ed010587
AUX db-3.2.9-gcc43.patch 459 BLAKE2B 0f23b5e5b119cb61b4630d7c789e00b98fca6be576743292de8cb5dbd4a2e92406fbe251596721044a30763fb56e682799743aae2f6ad4e6859ac3b1a3ad9b14 SHA512 899ccf4d350a0f246cf701502dcf9bd06c8375dea0a89d0438c0ff0312cb0505c904a812645d3d1f1fbfe9b59b69ebedcf4da693ea2f68b7b0eabca3dab114b7
AUX db-4.0.14-fix-dep-link.patch 1119 BLAKE2B 1532fa79d47c6b406f88302abcf007713cf4301a098eb17d159975cd6a0d2c80fe24c83611433b029560980c96b6cc5f66b662445114811cde27399f0e934b25 SHA512 5c7895d8c284c5b9c2305319e20afb8b98a43974bb2ff16012ab322abf131e0d050632fd7c67a0dad47df719da2c53316c6a36f5b6686196cd1b27ced3dae7c4
@@ -24,6 +25,7 @@ AUX db-6.2-jni-check-prefix-first.patch 1302 BLAKE2B 4703beff3c14e0218d4b8b3b911
AUX db-6.2.32-jni-check-prefix-first.patch 1575 BLAKE2B 5230393b8f40e6ef329590b0037a975dbc60f23f3ce8a603e3c21cec5b0bb311a225c1d8558cc3c6bfdb658e88c83f441c45aaf556051aee8ba83f9262616ba0 SHA512 eb0739c46f88ad9538e4a467e8547f97404747633942ec6b05eabcfb7ba427ff66c00aa5dc95cb9518056b861c240898db4745dd3626ed95e7cb01c54b47dccd
DIST db-1.85-r3.1.patch.bz2 14641 BLAKE2B 5ca59487a433a5e5b5fed7a8737c20df041be56733fe9209047f9e53845fa034576c29ad74407509ab96473e4eef0138a3a47de6c348d27209f0e39df85b9f5f SHA512 32b1810515476758ece7415f241378460a4051bf5ee23fb464748f84a90a56ff2c5119ed93028114d64f1b1691b1c694c2301ff825edd89cdee90a870a68b6f4
DIST db-18.1.32.tar.gz 44244747 BLAKE2B b539d8966a269f6a9440ef442248849f12c6b1eda79b9a41074e1eb0eb4930fd4674dd0e20a114e4020fe2ce19832572c4c86d458835da39a99f639dc3c4e23e SHA512 890b3047c28114ac30794c0234126b0b2a3e699f3ed259831091f02d51885e3583dd10c0ef0cecc215b9b8d80b48a2d3a82a5793cd3816afb45f6cc19ae23f25
+DIST db-18.1.40.tar.gz 30763705 BLAKE2B c7235cbdf82d8e38450c98baa1ff67132f6132d59a43dd2d6ed8bc2672b7924b4cbd93320278a0a3a78e454caff622b4480abe8dcc20c94ae56a78b3569a76fd SHA512 53787164fb8a198a0178c7f58d891c2b0943d1c52b11fe9de525938469327e85664f0bc63e33d740c171bc370954710a6b3e8b9be2a08237fb9757a795c5b19e
DIST db-3.2.9.tar.gz 2085238 BLAKE2B 10cb1c102bf5db52ec16181ccbb02a8c4560f42afd2382689ee4903fcd63bf3ab4802482a065a85b1d34c8fb9f620fceb985155b1390de7ca404c121b6b4b6bc SHA512 5f07b27ae0cbd2832e5db9473cd4f2d4aebeee25ed8245ebd2c297a576571635ca5cf75e63e0967b1e90978128a5b6f5d8112559c56927d5bc5eb0d9fd3a2e95
DIST db-4.2.52.tar.gz 4073147 BLAKE2B 0bb9649a08df9b425f28471eb65c0efac0b7833b4c5c841b9ef53a142669b549e1f1b78cf42eeceea05ebb271aacd513d115070ea028f77fb1830bb9fcc7c8a9 SHA512 47a4e1353fe4f5c2160952a8f7a09b73fdf2dfcd222a8214e12630cec3139a624907bba83a06f10f8492b4dce328a979e9155ee049b9a88798edaca62cfe60d1
DIST db-4.3.29.tar.gz 6103264 BLAKE2B eda13cd5c8b9421044f6c8b6b41ec318ff33e19da15f8d5e3075612186e60cfce30069078f712841058224ed58caf69d43960156ac645651670665390eae28e1 SHA512 93d36c040b25739b92c52504e117a9c7f4b671463d61d00029e70d0bc8171311f5d04211f7d966b8a9ef8c2a85a5ebe8cc55e4469c3c7c0e468caa4221f691fc
@@ -63,6 +65,7 @@ DIST patch.4.7.25.3 8442 BLAKE2B 666b643b3bf0d1e5ef5e445ae03228f436a5528bc197338
DIST patch.4.7.25.4 5647 BLAKE2B 60ecb24fb137f7aeacb9689d8edc41791f78f96d1aa15c7fa47032371533d668c5dc12a5e1641945402f0e21f4e596cebb5010ac170ef462279b2efb887be020 SHA512 df9810034773a9d0556cbd174e4f131f0461402bf3f476ae5da1deb92f3e2e9ef789687c5cc5c2df6385f6b14251e893be225ffacd895d71dfb305b9de32567e
EBUILD db-1.85-r4.ebuild 1306 BLAKE2B ecd0cc2b53b8ef0a1cf0a0b3934d41d0f45e190dd62cdbac291d53e7512ed6abcbdcd06d94ba49abe1c722d5f912985ac68d31932fd12dd56180301de5f5a8ff SHA512 e8ecdcd559c6a9abc78d47f9efc011475105715be1d875ba2733b22d836dcc6228fb59999ef2a6d7dc8c26e4895f020e000200778070de7821ae2fab621fa510
EBUILD db-18.1.32.ebuild 6940 BLAKE2B 869d66cd41771a5fb8ca879079c3c166645b6047d75429c0f12e55e975fc784d7acdbf69cbbc6e46940583cd840896d39368840d3d466f5e54cf3ef2f11c3c04 SHA512 d741d0203a37cc47cbff6adbc2d2072130823f54be2d50096191307b4b88ff62d660884ea2b5d701a3ee86ec9a2d17490a6635628298751d3d1aa5917ca9e434
+EBUILD db-18.1.40.ebuild 6771 BLAKE2B b9bd4262dc684c638db48d8739a374c28879eeb4a26ebbf5ab5954264008643fba6abaa91c5cb2484c2220aee0dcfcc410f22b8d117a6762795ee7741cb60d8f SHA512 b2721666e9deba98d0309f7db173fe112cc7d27465904da62bad0519617c596ffe267eba7a5304c83ac6c6c1b88102c87a69c6b0df4de145fc8104becba649c1
EBUILD db-3.2.9_p2-r1.ebuild 4898 BLAKE2B ed7d56c9bfa4593755cfd5f769a099f6fdb4e2a091f938501be28fcc0a2e96c1642be763a4bffe0ea992b4063cf3b64f3f92999b88755fe4f43344a113803b71 SHA512 acadbbd870165059a9cf640126679974eb7034d53b878ca71a5117d3792f8224a7806a02c31a5b34619b60f6a733344d9ffebf0a19f3e65d3afd3fb98546e045
EBUILD db-4.2.52_p5-r3.ebuild 4628 BLAKE2B c0091684c0b7b0fff8a3bcb5079e1407a8b8df8d948f2bdac41ed805cf12ca748ea51ca693be9bb33807056f95c05bd2ff6f2cd0b6a6d9dc799d61802a943ee9 SHA512 d124c6d5a71fd813e368550ff096fa1ed4d20cac6cffd40942d682f77c54a5e56ecfdfa5843ca1faed65c4e54513e083ebc730f46e159427260073f16d889a8e
EBUILD db-4.3.29_p1-r3.ebuild 4538 BLAKE2B 96c516cff7265d233970675813e8baad5f348fca381ebc600cb7c6566bcc1bd4782098117e18ec24322b0d106c5edbd49e32367035a6174376b3e56bbffb8007 SHA512 508347615aa4de923ade8124e9697102b5fc40ed2dbde727dbc7ebd82fbfc4ae5600f92ee437d5b66da00ccbdafeec01a912f6755f708c65b2b8693b156c8169
diff --git a/sys-libs/db/db-18.1.40.ebuild b/sys-libs/db/db-18.1.40.ebuild
new file mode 100644
index 000000000000..c4022d840e79
--- /dev/null
+++ b/sys-libs/db/db-18.1.40.ebuild
@@ -0,0 +1,244 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit db flag-o-matic java-pkg-opt-2 autotools multilib multilib-minimal eapi7-ver toolchain-funcs
+
+#Number of official patches
+#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
+PATCHNO=${PV/*.*.*_p}
+if [[ ${PATCHNO} == "${PV}" ]] ; then
+ MY_PV=${PV}
+ MY_P=${P}
+ PATCHNO=0
+else
+ MY_PV=${PV/_p${PATCHNO}}
+ MY_P=${PN}-${MY_PV}
+fi
+
+RESTRICT="fetch
+ !test? ( test )"
+
+S_BASE="${WORKDIR}/${MY_P}"
+S="${S_BASE}/dist"
+DESCRIPTION="Oracle Berkeley DB"
+HOMEPAGE="http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
+SRC_URI="https://download.oracle.com/otn/berkeley-db/${MY_P}.tar.gz"
+for (( i=1 ; i<=${PATCHNO} ; i++ )) ; do
+ SRC_URI+=" http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
+done
+
+LICENSE="AGPL-3"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="doc java cxx tcl test"
+
+REQUIRED_USE="test? ( tcl )"
+
+# the entire testsuite needs the TCL functionality
+DEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ test? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jdk-1.5 )
+ >=sys-devel/binutils-2.16.1"
+RDEPEND="tcl? ( >=dev-lang/tcl-8.5.15-r1:0=[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jre-1.5 )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/db$(ver_cut 1-2)/db.h
+)
+
+PATCHES=(
+ # bug #510506
+ "${FILESDIR}"/${PN}-4.8.24-java-manifest-location.patch
+
+ # use the includes from the prefix
+ "${FILESDIR}"/${PN}-6.2.32-jni-check-prefix-first.patch
+ "${FILESDIR}"/${PN}-4.2-listen-to-java-options.patch
+
+ # The upstream testsuite copies .lib and the binaries for each parallel test
+ # core, ~300MB each. This patch uses links instead, saves a lot of space.
+ "${FILESDIR}"/${PN}-18.1.25-test-link.patch
+
+ "${FILESDIR}"/${PN}-18.1.40-fix-docs.patch
+)
+
+src_prepare() {
+ cd "${WORKDIR}"/"${MY_P}"
+ for (( i=1 ; i<=${PATCHNO} ; i++ ))
+ do
+ eapply "${DISTDIR}"/patch."${MY_PV}"."${i}"
+ done
+
+ default
+
+ # Upstream release script grabs the dates when the script was run, so lets
+ # end-run them to keep the date the same.
+ export REAL_DB_RELEASE_DATE="$(awk \
+ '/^DB_VERSION_STRING=/{ gsub(".*\\(|\\).*","",$0); print $0; }' \
+ "${S_BASE}"/dist/configure)"
+ sed -r -i \
+ -e "/^DB_RELEASE_DATE=/s~=.*~='${REAL_DB_RELEASE_DATE}'~g" \
+ "${S_BASE}"/dist/RELEASE || die
+
+ # Include the SLOT for Java JAR files
+ # This supersedes the unused jarlocation patches.
+ sed -r -i \
+ -e '/jarfile=.*\.jar$/s,(.jar$),-$(LIBVERSION)\1,g' \
+ "${S_BASE}"/dist/Makefile.in || die
+
+ cd "${S_BASE}"/dist || die
+ rm -f aclocal/libtool.m4
+ sed -i \
+ -e '/AC_PROG_LIBTOOL$/aLT_OUTPUT' \
+ configure.ac || die
+ sed -i \
+ -e '/^AC_PATH_TOOL/s/ sh, none/ bash, none/' \
+ aclocal/programs.m4 || die
+ AT_M4DIR="aclocal aclocal_java" eautoreconf
+ # Upstream sucks - they do autoconf and THEN replace the version variables.
+ . ./RELEASE
+ for v in \
+ DB_VERSION_{FAMILY,LETTER,RELEASE,MAJOR,MINOR} \
+ DB_VERSION_{PATCH,FULL,UNIQUE_NAME,STRING,FULL_STRING} \
+ DB_VERSION \
+ DB_RELEASE_DATE ; do
+ local ev="__EDIT_${v}__"
+ sed -i -e "s/${ev}/${!v}/g" configure || die
+ done
+
+ # This is a false positive skip in the tests as the test-reviewer code
+ # looks for 'Skipping\s'
+ sed -i \
+ -e '/db_repsite/s,Skipping:,Skipping,g' \
+ "${S_BASE}"/test/tcl/reputils.tcl || die
+}
+
+multilib_src_configure() {
+ # sql_compat will cause a collision with sqlite3
+ # --enable-sql_compat
+ # Don't --enable-sql* because we don't want to use bundled sqlite.
+ # See Gentoo bug #605688
+ local myeconfargs=(
+ --enable-compat185
+ --enable-dbm
+ --enable-o_direct
+ # Requires openssl-1.0
+ --with-repmgr-ssl=no
+ --without-uniquename
+ --disable-sql
+ --disable-sql_codegen
+ --disable-sql_compat
+ $([[ ${ABI} == arm ]] && echo --with-mutex=ARM/gcc-assembly)
+ $([[ ${ABI} == amd64 ]] && echo --with-mutex=x86/gcc-assembly)
+ $(use_enable cxx)
+ $(use_enable cxx stl)
+ $(multilib_native_use_enable java)
+ $(use_enable test)
+ )
+
+ tc-ld-disable-gold #470634
+
+ # compilation with -O0 fails on amd64, see bug #171231
+ if [[ ${ABI} == amd64 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ replace-flags -O0 -O2
+ is-flagq -O[s123] || append-flags -O2
+ fi
+
+ # Add linker versions to the symbols. Easier to do, and safer than header file
+ # mumbo jumbo.
+ if use userland_GNU ; then
+ append-ldflags -Wl,--default-symver
+ fi
+
+ # use `set` here since the java opts will contain whitespace
+ if multilib_is_native_abi && use java ; then
+ myconf+=(
+ --with-java-prefix="${JAVA_HOME}"
+ --with-javac-flags="$(java-pkg_javac-args)"
+ )
+ fi
+
+ # Bug #270851: test needs TCL support
+ if use tcl || use test ; then
+ myeconfargs+=(
+ --enable-tcl
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)"
+ )
+ else
+ myeconfargs+=(--disable-tcl )
+ fi
+
+ ECONF_SOURCE="${S_BASE}"/dist \
+ STRIP="true" \
+ econf "${myeconfargs[@]}"
+}
+
+multilib_src_install() {
+ emake install DESTDIR="${D}"
+
+ db_src_install_headerslot
+
+ db_src_install_usrlibcleanup
+
+ if multilib_is_native_abi && use java; then
+ java-pkg_regso "${ED%/}"/usr/"$(get_libdir)"/libdb_java*.so
+ java-pkg_dojar "${ED%/}"/usr/"$(get_libdir)"/*.jar
+ rm -f "${ED%/}"/usr/"$(get_libdir)"/*.jar
+ fi
+}
+
+multilib_src_install_all() {
+ db_src_install_usrbinslot
+
+ db_src_install_doc
+
+ dodir /usr/sbin
+ # This file is not always built, and no longer exists as of db-4.8
+ if [[ -f "${ED%/}"/usr/bin/berkeley_db_svc ]] ; then
+ mv "${ED%/}"/usr/bin/berkeley_db_svc \
+ "${ED%/}"/usr/sbin/berkeley_db"${SLOT/./}"_svc || die
+ fi
+}
+
+pkg_postinst() {
+ multilib_foreach_abi db_fix_so
+}
+
+pkg_postrm() {
+ multilib_foreach_abi db_fix_so
+}
+
+src_test() {
+ # db_repsite is impossible to build, as upstream strips those sources.
+ # db_repsite is used directly in the setup_site_prog,
+ # setup_site_prog is called from open_site_prog
+ # which is called only from tests in the multi_repmgr group.
+ #sed -ri \
+ # -e '/set subs/s,multi_repmgr,,g' \
+ # "${S_BASE}/test/testparams.tcl"
+ sed -ri \
+ -e '/multi_repmgr/d' \
+ "${S_BASE}/test/tcl/test.tcl" || die
+
+ # This is the only failure in 5.2.28 so far, and looks like a false positive.
+ # Repmgr018 (btree): Test of repmgr stats.
+ # Repmgr018.a: Start a master.
+ # Repmgr018.b: Start a client.
+ # Repmgr018.c: Run some transactions at master.
+ # Rep_test: btree 20 key/data pairs starting at 0
+ # Rep_test.a: put/get loop
+ # FAIL:07:05:59 (00:00:00) perm_no_failed_stat: expected 0, got 1
+ sed -ri \
+ -e '/set parms.*repmgr018/d' \
+ -e 's/repmgr018//g' \
+ "${S_BASE}/test/tcl/test.tcl" || die
+
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ multilib_is_native_abi || return
+
+ S=${BUILD_DIR} db_src_test
+}
diff --git a/sys-libs/db/files/db-18.1.40-fix-docs.patch b/sys-libs/db/files/db-18.1.40-fix-docs.patch
new file mode 100644
index 000000000000..7bed9f1cbca0
--- /dev/null
+++ b/sys-libs/db/files/db-18.1.40-fix-docs.patch
@@ -0,0 +1,19 @@
+Fixes
+
+ cp: cannot stat 'bdb-sql': No such file or directory
+ cp: cannot stat 'gsg_db_server': No such file or directory
+
+--- a/dist/Makefile.in
++++ b/dist/Makefile.in
+@@ -1299,8 +1299,8 @@ uninstall_utilities:
+
+ # We install csharp docs even on UNIX so we don't have a
+ # broken link on the landing page.
+-DOCLIST=api_reference articles bdb-sql collections csharp gsg \
+- gsg_db_rep gsg_db_server gsg_txn index.html installation \
++DOCLIST=api_reference articles collections csharp gsg \
++ gsg_db_rep gsg_txn index.html installation \
+ java license porting programmer_reference upgrading
+
+ install_docs:
+
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 197258dc101b..619e96e0b453 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -6,6 +6,7 @@ AUX host.conf-1 936 BLAKE2B 1576b57e079c8596ae86d518da364b4d50f0dafb6879c2a7eb1f
AUX nscd-1 1897 BLAKE2B aefa781de3181c5609ac2659632f0a5bdfa6bbc8e22b73fdf5c28ca36184b5614bb2febd581d0c41a1f3dd72c45a191866cbc827f5e7009722b6d839518a27d6 SHA512 b2edbdc33fb4290378d9520bfcefcbb5183e8b8f0e80cf3573fb4ce6cf309e21f59178f31eec4ada90b4b37e502038e71b31f93b2ba2c7fa36a7eef1b1d9bf70
AUX nscd.service 337 BLAKE2B 6b163465dd8db024652921892dc913da8dfc0984eec7ffce621229e48fa99dcedc3b5944844529190122c81f4884b6a6fe7836d37d2d812f34059c530856dec1 SHA512 2001100f3b054843c69b6fd2d38852c7c824282aa8998c25a3c0352db993705429d25c70d8ce6cb3579f836b7089644c520acac423ebd69cb1b36e94a77c5bea
AUX nscd.tmpfilesd 111 BLAKE2B 4abb7220564e248fc7eeeced41077f186f42594facbfac9a4c0ff36209baac529c219ad6ead8d8aa53ab2b092002f1006a4479459b9e9a7c5a0294cb7d822100 SHA512 53b80b331e1a85d8ee16eb2ce547a7249e944926c3d1cdd4a47a5301a5c842ffc7ec1e3dc0a731542a8facf8261c1c57121802d01741aa89898a3476c09da340
+DIST backport-rv32.txz 26416 BLAKE2B 7a6b593859f88a3c040f06324dace4cc6137d14d4580fad9ea285829666d761c3dd01c190746e86846c219423124c77a55bc57b6e56efe6401a9c99d7fa445cd SHA512 d08dc02c4f0a3c5a15c57fbb5190588121c0e0728e6ab2119483407a98625efe58b3c83b44d750b0146171e63dcf8a6dbb6d1a057d042f794eed9adbd1f0293e
DIST gcc-4.7.3-r1-multilib-bootstrap.tar.bz2 8064097 BLAKE2B 3cc5c82cd57d0fbd26d9a376ee8ca02f119fe9d653311cbe4d2b7b93aec2290adac3be271be19a7fdedae2e11e4b6e32360184e557204e100ad64357f5575d4b SHA512 40b93e194ad41a75d649d84d1c49070680f253a13f0617803243bc61c44fed1ca2d0a7572a97ebb79353f312b58b5f6360be916dd7435928cc53935082e15269
DIST gcc-multilib-bootstrap-20180511.tar.xz 2392908 BLAKE2B f3cf614399368acd8908f60d894c6344a2fa09383b30c1633a0682bc668367c8a2f8c6fec2d41b6e2178d709a2bd8db57e8b2ab56ba263c7d56f819c15acd061 SHA512 98c766e913693ab42ff790557acde2a36a8001e2648046a685b21964200df8d4d52d8452d499c0068c6648284d086ce062c2d36e2c6c2fd8aacd232d193f2853
DIST glibc-2.19-patches-9.tar.bz2 24584 BLAKE2B a96e930a5bd20fa75d9f259cc2117fa5ce98072274a24a5823bf877e3739fa4c001a94d7865e065ee0527f3974430d27da8038e042340a451ad2052c62724f26 SHA512 a95b3063ade974a3556480b798b317d33c7423a8cb9e69f67249ffb8b3d3c671d70d2d5f782c1efadc0bec4cc49a96d4fe89911f3dfcd85b459f69f3b4f38f0e
@@ -26,6 +27,7 @@ EBUILD glibc-2.25-r11.ebuild 6063 BLAKE2B a995a2553fad56abe09f0f890e2c70f9456867
EBUILD glibc-2.30-r8.ebuild 43113 BLAKE2B e567ea4544419609ce3f02ac06ce8ee2175d11502e947187334ec02cca11dacbb5453d514fe8b1c77418259e8f0bbd4306cdfa6aa573426e95ba56f910a9534c SHA512 b85c7656eb09b9702d352b2e20c334d70b764ddedacc6a218b3a921c990314ec80a4ff14e234a3bebf810f3482c45b323e9edc3c2044266341125b7095186126
EBUILD glibc-2.30-r9.ebuild 43269 BLAKE2B cfc1ca115def60424b14d76270e0b57dec754992bec50d52110e437c62a68bea860062e65705ba64ddd3e8156e61b6542227678a3613c782f441411d606b286b SHA512 37fe44bf17fe1d3b8f001dfea6326a64c21843a07bb2dc0229856c53eca8d2a6ec13687c3fd038a47045db817f8242deb7d30219b8f08b4b051cd86ccdbe1310
EBUILD glibc-2.31-r6.ebuild 44378 BLAKE2B 0e123cb1baaecf80c587133becb26ffa8cf01da7f407f3741fb6f2557262fb404381130c3bf280f515b176bee39a8a52d98fc935ad0a23861a78caca2fada551 SHA512 1a1728a26509339e261aed4aaebc4870cf1d9154cd736726b66856b5065c824625f65b60d8e3030287283dad509f624e6fe3e13dc3dd4b0abb45b2f670bc3dc9
+EBUILD glibc-2.32-r1.ebuild 44748 BLAKE2B 69bd3219aae26964c743cdccb46b04a9a2fad734e32bd853c41d3f7a8b7de48c3aa9c54af48ca1fe583487b84b008afddba791707e07ea95d844d106c507847d SHA512 a3859eb73e952991659e33abfd24859dbd2484181f69d83e3c42be068470529b3f95c3f9e3e12c6a81421cc4b0663ca2d871f4fddec7d160c95fe56e8740b236
EBUILD glibc-2.32.ebuild 44384 BLAKE2B 114aaddf3c1e3b2f9cf905e77d6b23ebccc4c72ba0e1eb0441cd80ddab36c6fa1e8888b10cf1ee75952be0b298edb019428e7e5c5ebc56e032c32321e9646ef7 SHA512 223b77b5b1b818490fed1250e66b7f25f230560bc2cf090e565d563a5c3018de0c31613b0c10e3449a692d3cee2b2a67764238c4408bfb84d886b9f9b5e00f1f
-EBUILD glibc-9999.ebuild 44099 BLAKE2B 0a69313853d99e0c7fda2ed4a6c555f575054523638ccb246be80e87b5d48d34b10e0e78040c5ceb77747651acc45dfb41e4aad2f73bc23fdb7fab4f863b4f29 SHA512 81aae4bd77a3271d70251aa1660b0e89a4d7392769aeb98e6afa1175f2f3a81e35f90236534115bcbabe9ede3ee49edbdd768ee605c026b5700dd974ad179b1e
+EBUILD glibc-9999.ebuild 44186 BLAKE2B 1ece1a20a2ec0c8a710f36fedd65dca77bdd30398b04ef4f0730df610d0fc68f0b5a032b823179511af3f379d2a44a9e826fc2adfda4139b1e80c3ba9c08331b SHA512 5fc334310399c48fc464c8bbec513ae2bf23c3d221d84133cc1aa2bc9b080f0bcea7de5e2f3b151f51cc1ef84606e49cda8f46a627f7b5ce581105b299cb0411
MISC metadata.xml 1491 BLAKE2B 4688b54e937163824a5895f4fbbcc9f09152378c68416f62294f7f1506379ecb82de43e8d2c6a64d1647c16700abe7c750b3cc658a9c7053891b3a9504f2ae93 SHA512 f6c002a52bb81471fbb631c7c430e1e91f6fdefc84a0c1f330606ac6347067b60f8a6d078169d49d2b30fa6991883466fff05caf4f93f53c00e5ced625dd8c88
diff --git a/sys-libs/glibc/glibc-2.32-r1.ebuild b/sys-libs/glibc/glibc-2.32-r1.ebuild
new file mode 100644
index 000000000000..b51024529ad6
--- /dev/null
+++ b/sys-libs/glibc/glibc-2.32-r1.ebuild
@@ -0,0 +1,1505 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+
+inherit python-any-r1 prefix eutils toolchain-funcs flag-o-matic gnuconfig \
+ multilib systemd multiprocessing
+
+DESCRIPTION="GNU libc C library"
+HOMEPAGE="https://www.gnu.org/software/libc/"
+LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
+SLOT="2.2"
+
+EMULTILIB_PKG="true"
+
+# Gentoo patchset (ignored for live ebuilds)
+PATCH_VER=1
+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"
+ SRC_URI+=" riscv? ( https://dev.gentoo.org/~dilfridge/distfiles/backport-rv32.txz )"
+fi
+
+RELEASE_VER=${PV}
+
+GCC_BOOTSTRAP_VER=20180511
+
+LOCALE_GEN_VER=2.10
+
+SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${LOCALE_GEN_VER}.tar.gz"
+SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
+
+IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib nscd profile selinux +ssp +static-libs static-pie suid systemtap test vanilla"
+
+# Minimum kernel version that glibc requires
+MIN_KERN_VER="3.2.0"
+
+# Here's how the cross-compile logic breaks down ...
+# CTARGET - machine that will target the binaries
+# CHOST - machine that will host the binaries
+# CBUILD - machine that will build the binaries
+# If CTARGET != CHOST, it means you want a libc for cross-compiling.
+# If CHOST != CBUILD, it means you want to cross-compile the libc.
+# CBUILD = CHOST = CTARGET - native build/install
+# CBUILD != (CHOST = CTARGET) - cross-compile a native build
+# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
+# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
+# For install paths:
+# CHOST = CTARGET - install into /
+# CHOST != CTARGET - install into /usr/CTARGET/
+#
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+# 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.
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=app-misc/pax-utils-0.1.10
+ sys-devel/bison
+ doc? ( sys-apps/texinfo )
+"
+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 )
+ !<net-misc/openssh-8.1_p1-r2
+"
+DEPEND="${COMMON_DEPEND}
+ test? ( >=net-dns/libidn2-2.3.0 )
+"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/gentoo-functions
+"
+
+RESTRICT="!test? ( test )"
+
+if [[ ${CATEGORY} == cross-* ]] ; then
+ BDEPEND+=" !headers-only? (
+ >=${CATEGORY}/binutils-2.24
+ >=${CATEGORY}/gcc-6
+ )"
+ [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
+else
+ BDEPEND+="
+ >=sys-devel/binutils-2.24
+ >=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
+ ;;
+ mips)
+ # The mips abi cannot support the GNU style hashes. #233233
+ filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
+ ;;
+ ppc)
+ # 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=*'
+
+ # #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
+
+ # Check for sanity of /etc/nsswitch.conf
+ if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then
+ local entry
+ for entry in passwd group shadow; do
+ if ! egrep -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then
+ eerror "Your ${EROOT}/etc/nsswitch.conf is out of date."
+ eerror "Please make sure you have 'files' entries for"
+ eerror "'passwd:', 'group:' and 'shadow:' databases."
+ eerror "For more details see:"
+ eerror " https://wiki.gentoo.org/wiki/Project:Toolchain/nsswitch.conf_in_glibc-2.26"
+ die "nsswitch.conf has no 'files' provider in '${entry}'."
+ fi
+ done
+ fi
+
+ # ABI-specific checks follow here. Hey, we have a lot more specific conditions that
+ # we test for...
+ if ! is_crosscompile ; then
+ if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then
+ ebegin "Checking that IA32 emulation is enabled in the running kernel"
+ echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c"
+ local STAT
+ if "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then
+ "${T}/check-ia32-emulation.elf32"
+ STAT=$?
+ else
+ # Don't fail here to allow single->multi ABI switch
+ # or recover from breakage like bug #646424
+ ewarn "Failed to compile the ABI test. Broken host glibc?"
+ STAT=0
+ fi
+ rm -f "${T}/check-ia32-emulation.elf32"
+ eend $STAT
+ [[ $STAT -eq 0 ]] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc."
+ fi
+
+ fi
+
+ # When we actually have to compile something...
+ if ! just_headers ; then
+ ebegin "Checking gcc for __thread support"
+ if ! eend $(want__thread ; echo $?) ; then
+ echo
+ eerror "Could not find a gcc that supports the __thread directive!"
+ eerror "Please update your binutils/gcc and try again."
+ die "No __thread support in gcc!"
+ fi
+
+ if [[ ${CTARGET} == *-linux* ]] ; then
+ local run_kv build_kv want_kv
+
+ run_kv=$(g_get_running_KV)
+ build_kv=$(g_int_to_KV $(get_kheader_version))
+ want_kv=${MIN_KERN_VER}
+
+ if ! is_crosscompile && ! tc-is-cross-compiler ; then
+ # Building fails on an non-supporting kernel
+ ebegin "Checking running kernel version (${run_kv} >= ${want_kv})"
+ if ! eend_KV ${run_kv} ${want_kv} ; then
+ echo
+ eerror "You need a kernel of at least ${want_kv}!"
+ die "Kernel version too low!"
+ fi
+ fi
+
+ ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})"
+ if ! eend_KV ${build_kv} ${want_kv} ; then
+ echo
+ eerror "You need linux-headers of at least ${want_kv}!"
+ die "linux-headers version too low!"
+ fi
+ fi
+ fi
+}
+
+#
+# the phases
+#
+
+# pkg_pretend
+
+pkg_pretend() {
+ # All the checks...
+ einfo "Checking general environment sanity."
+ sanity_prechecks
+}
+
+pkg_setup() {
+ # see bug 682570
+ [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup
+}
+
+# src_unpack
+
+src_unpack() {
+ # Consistency is not guaranteed between pkg_ and src_ ...
+ sanity_prechecks
+
+ use multilib && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz
+
+ setup_env
+
+ if [[ ${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 riscv && unpack backport-rv32.txz
+}
+
+src_prepare() {
+ local patchsetname
+ if ! use vanilla ; then
+ if [[ ${PV} == 9999* ]] ; then
+ patchsetname="from git master"
+ else
+ patchsetname="${RELEASE_VER}-${PATCH_VER}"
+ fi
+ elog "Applying Gentoo Glibc Patchset ${patchsetname}"
+ eapply "${WORKDIR}"/patches
+ einfo "Done."
+
+ if use riscv ; then
+ elog "Adding rv32 backport patchset for glibc-2.32 (experimental)"
+ eapply "${WORKDIR}"/backport-rv32
+ einfo "Done."
+ fi
+ 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 )
+ ;;
+ powerpc-*)
+ # Currently gcc on powerpc32 generates invalid code for
+ # __builtin_return_address(0) calls. Normally programs
+ # don't do that but malloc hooks in glibc do:
+ # https://gcc.gnu.org/PR81996
+ # https://bugs.gentoo.org/629054
+ myconf+=( --enable-stack-protector=no )
+ ;;
+ *)
+ # 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)
+ ${EXTRA_ECONF}
+ )
+
+ # We rely on sys-libs/timezone-data for timezone tools normally.
+ myconf+=( $(use_enable vanilla timezone-tools) )
+
+ # These libs don't have configure flags.
+ ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no)
+ ac_cv_lib_cap_cap_init=$(usex caps || echo no)
+
+ # There is no configure option for this and we need to export it
+ # since the glibc build will re-run configure on itself
+ export libc_cv_rootsbindir="$(host_eprefix)/sbin"
+ export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)"
+
+ # We take care of patching our binutils to use both hash styles,
+ # and many people like to force gnu hash style only, so disable
+ # this overriding check. #347761
+ export libc_cv_hashstyle=no
+
+ local builddir=$(builddir nptl)
+ mkdir -p "${builddir}"
+ cd "${builddir}"
+ set -- "${S}"/configure "${myconf[@]}"
+ echo "$@"
+ "$@" || die "failed to configure glibc"
+
+ # ia64 static cross-compilers are a pita in so much that they
+ # can't produce static ELFs (as the libgcc.a is broken). so
+ # disable building of the programs for those targets if it
+ # doesn't work.
+ # XXX: We could turn this into a compiler test, but ia64 is
+ # the only one that matters, so this should be fine for now.
+ if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then
+ sed -i '1i+link-static = touch $@' config.make
+ fi
+
+ # If we're trying to migrate between ABI sets, we need
+ # to lie and use a local copy of gcc. Like if the system
+ # is built with MULTILIB_ABIS="amd64 x86" but we want to
+ # add x32 to it, gcc/glibc don't yet support x32.
+ #
+ if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib ; then
+ echo 'main(){}' > "${T}"/test.c
+ if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then
+ sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die
+ fi
+ fi
+}
+
+glibc_headers_configure() {
+ export ABI=default
+
+ local builddir=$(builddir "headers")
+ mkdir -p "${builddir}"
+ cd "${builddir}"
+
+ # if we don't have a compiler yet, we can't really test it now ...
+ # hopefully they don't affect header generation, so let's hope for
+ # the best here ...
+ local v vars=(
+ ac_cv_header_cpuid_h=yes
+ libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes
+ libc_cv_asm_cfi_directives=yes
+ libc_cv_broken_visibility_attribute=no
+ libc_cv_c_cleanup=yes
+ libc_cv_compiler_powerpc64le_binary128_ok=yes
+ libc_cv_forced_unwind=yes
+ libc_cv_gcc___thread=yes
+ libc_cv_mlong_double_128=yes
+ libc_cv_mlong_double_128ibm=yes
+ libc_cv_ppc_machine=yes
+ libc_cv_ppc_rel16=yes
+ libc_cv_predef_fortify_source=no
+ libc_cv_target_power8_ok=yes
+ libc_cv_visibility_attribute=yes
+ libc_cv_z_combreloc=yes
+ libc_cv_z_execstack=yes
+ libc_cv_z_initfirst=yes
+ libc_cv_z_nodelete=yes
+ libc_cv_z_nodlopen=yes
+ libc_cv_z_relro=yes
+ libc_mips_abi=${ABI}
+ libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard)
+ # These libs don't have configure flags.
+ ac_cv_lib_audit_audit_log_user_avc_message=no
+ ac_cv_lib_cap_cap_init=no
+ )
+
+ einfo "Forcing cached settings:"
+ for v in "${vars[@]}" ; do
+ einfo " ${v}"
+ export ${v}
+ done
+
+ local headers_only_arch_CPPFLAGS=()
+
+ # Blow away some random CC settings that screw things up. #550192
+ if [[ -d ${S}/sysdeps/mips ]]; then
+ pushd "${S}"/sysdeps/mips >/dev/null
+ sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die
+ sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die
+
+ # Force the mips ABI to the default. This is OK because the set of
+ # installed headers in this phase is the same between the 3 ABIs.
+ # If this ever changes, this hack will break, but that's unlikely
+ # as glibc discourages that behavior.
+ # https://crbug.com/647033
+ sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die
+
+ popd >/dev/null
+ fi
+
+ case ${CTARGET} in
+ riscv*)
+ # RISC-V interrogates the compiler to determine which target to
+ # build. If building the headers then we don't strictly need a
+ # RISC-V compiler, so the built-in definitions that are provided
+ # along with all RISC-V compiler might not exist. This causes
+ # glibc's RISC-V preconfigure script to blow up. Since we're just
+ # building the headers any value will actually work here, so just
+ # pick the standard one (rv64g/lp64d) to make the build scripts
+ # happy for now -- the headers are all the same anyway so it
+ # doesn't matter.
+ headers_only_arch_CPPFLAGS+=(
+ -D__riscv_xlen=64
+ -D__riscv_flen=64
+ -D__riscv_float_abi_double=1
+ -D__riscv_atomic=1
+ ) ;;
+ esac
+
+ local myconf=()
+ myconf+=(
+ --disable-sanity-checks
+ --enable-hacker-mode
+ --without-cvs
+ --disable-werror
+ --enable-bind-now
+ --build=${CBUILD_OPT:-${CBUILD}}
+ --host=${CTARGET_OPT:-${CTARGET}}
+ --with-headers=$(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
+ ppc64 /lib64/ld64.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
+ )
+ ;;
+ big)
+ ldso_abi_list+=(
+ # arm
+ arm64 /lib/ld-linux-aarch64_be.so.1
+ )
+ ;;
+ esac
+ if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then
+ dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib
+ fi
+ for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do
+ ldso_abi=${ldso_abi_list[i]}
+ has ${ldso_abi} $(get_install_abis) || continue
+
+ ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}"
+ if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then
+ dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name}
+ fi
+ done
+
+ # With devpts under Linux mounted properly, we do not need the pt_chown
+ # binary to be setuid. This is because the default owners/perms will be
+ # exactly what we want.
+ if ! use suid ; then
+ find "${ED}" -name pt_chown -exec chmod -s {} +
+ fi
+
+ #################################################################
+ # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY #
+ # Make sure we install some symlink hacks so that when we build
+ # a 2nd stage cross-compiler, gcc finds the target system
+ # headers correctly. See gcc/doc/gccinstall.info
+ if is_crosscompile ; then
+ # We need to make sure that /lib and /usr/lib always exists.
+ # gcc likes to use relative paths to get to its multilibs like
+ # /usr/lib/../lib64/. So while we don't install any files into
+ # /usr/lib/, we do need it to exist.
+ keepdir $(alt_prefix)/lib
+ keepdir $(alt_prefix)/usr/lib
+
+ dosym usr/include $(alt_prefix)/sys-include
+ return 0
+ fi
+
+ # Files for Debian-style locale updating
+ dodir /usr/share/i18n
+ sed \
+ -e "/^#/d" \
+ -e "/SUPPORTED-LOCALES=/d" \
+ -e "s: \\\\::g" -e "s:/: :g" \
+ "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \
+ || die "generating /usr/share/i18n/SUPPORTED failed"
+ cd "${WORKDIR}"/extra/locale
+ dosbin locale-gen
+ doman *.[0-8]
+ insinto /etc
+ doins locale.gen
+
+ # Make sure all the ABI's can find the locales and so we only
+ # have to generate one set
+ local a
+ keepdir /usr/$(get_libdir)/locale
+ for a in $(get_install_abis) ; do
+ if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then
+ dosym ../$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale
+ fi
+ done
+
+ # HACK: If we're building for riscv, we need to additionally make sure that
+ # we can find the locale archive afterwards
+ case ${CTARGET} in
+ riscv*)
+ if [[ ! -e ${ED}/usr/lib/locale ]] ; then
+ dosym ../$(get_libdir)/locale /usr/lib/locale
+ fi
+ ;;
+ *) ;;
+ esac
+
+ cd "${S}"
+
+ # Install misc network config files
+ insinto /etc
+ doins posix/gai.conf nss/nsswitch.conf
+
+ # 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
+
+ systemd_dounit nscd/nscd.service
+ systemd_newtmpfilesd 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
+ elog "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
+
+ local x striptest
+ for x in cal date env free ls true uname uptime ; do
+ x=$(type -p ${x})
+ [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue
+ striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue
+ case ${striptest} in
+ *"statically linked"*) continue;;
+ *"ASCII text"*) continue;;
+ esac
+ # We need to clear the locale settings as the upgrade might want
+ # incompatible locale data. This test is not for verifying that.
+ LC_ALL=C \
+ ./ld-*.so --library-path . ${x} > /dev/null \
+ || die "simple run test (${x}) failed"
+ done
+
+ popd >/dev/null
+}
+
+pkg_preinst() {
+ # nothing to do if just installing headers
+ just_headers && return
+
+ # prepare /etc/ld.so.conf.d/ for files
+ mkdir -p "${EROOT}"/etc/ld.so.conf.d
+
+ # Default /etc/hosts.conf:multi to on for systems with small dbs.
+ if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then
+ sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf
+ einfo "Defaulting /etc/host.conf:multi to on"
+ fi
+
+ [[ -n ${ROOT} ]] && return 0
+ [[ -d ${ED}/$(get_libdir) ]] || return 0
+ [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check
+}
+
+pkg_postinst() {
+ # nothing to do if just installing headers
+ just_headers && return
+
+ if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then
+ # Generate fastloading iconv module configuration file.
+ "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}/"
+ fi
+
+ if ! is_crosscompile && [[ -z ${ROOT} ]] ; then
+ use compile-locales || run_locale_gen "${EROOT}/"
+ fi
+
+ # Check for sanity of /etc/nsswitch.conf, take 2
+ if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then
+ local entry
+ for entry in passwd group shadow; do
+ if egrep -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then
+ ewarn ""
+ ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been"
+ ewarn "removed from glibc and is now provided by the package"
+ ewarn " sys-auth/libnss-nis"
+ ewarn "Install it now to keep your NIS setup working."
+ ewarn ""
+ fi
+ done
+ fi
+}
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index 67b4c1240006..13ff94e526a8 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -1236,6 +1236,8 @@ glibc_do_src_install() {
ppc /lib/ld.so.1
ppc64 /lib64/ld64.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
diff --git a/sys-libs/gwenhywfar/Manifest b/sys-libs/gwenhywfar/Manifest
index a2c95276fb66..73b8de7c4b5e 100644
--- a/sys-libs/gwenhywfar/Manifest
+++ b/sys-libs/gwenhywfar/Manifest
@@ -1,3 +1,3 @@
DIST gwenhywfar-5.1.2.tar.gz 2354910 BLAKE2B e73519d33da9268f90ae2924b177c4ef684c9d991faa1f788f8c30ea669fa27d645481e6e41673b22d2796376aaab9cec72de6874b89c2fe141102cfbac2d2e4 SHA512 20374ed6c134b310f375eb286d83bf6074e397e3c6e22b0370d06fb870b9506f171a9276cad9a809331d8917e3bca1eca30a5d5776818ca7f5b06100474a7e0f
-EBUILD gwenhywfar-5.1.2.ebuild 2776 BLAKE2B 22f440a493d276db92fc79053355bd33eb10780074976211daaa68572df63fe8e20e9f04fc2e4c824c1a6cc18632a09fed52cb2309758488d8b61ab0ecab62ab SHA512 7ddd030da30072aa5ef39c3b8b31fef035c6216b012b1caca24deae790f14fcbdb6d9c06dc548139cfdde2233255a8cea7feb320ed6c7c5c1766447fcd6808b4
+EBUILD gwenhywfar-5.1.2.ebuild 2783 BLAKE2B af1f16ea97f1fc19ab3185369a375896e24b198d97e338319da2011c29e31a261db331e8463a1df7a24828e258145c79880a96fddd84770fe177498ccc77f35e SHA512 50dc4ee66df60b5ddd339262f0d2d66a409609ea4dded49e1092eb0bfa23006fe05319eb3080ff99e2283493904c1282c6532632640c4e671f688f9c1cebed24
MISC metadata.xml 691 BLAKE2B 9130a34b5011ee2a5b446794a036961e6e83e3083ba580a4d77da2686d9cc75620f0b38cc21d5c4014361d698cf4ff24084ae93b46cdecaaf1e7c522d4f5d3d4 SHA512 3eb26d730501a60512fca15ea05d27e9c74bd020961b09c406837cc2de8558b6abca63336857c0206c41825101afa9f3eef91280afbd7147733cb811e5469213
diff --git a/sys-libs/gwenhywfar/gwenhywfar-5.1.2.ebuild b/sys-libs/gwenhywfar/gwenhywfar-5.1.2.ebuild
index 4a12e38137a8..cfb7644453e1 100644
--- a/sys-libs/gwenhywfar/gwenhywfar-5.1.2.ebuild
+++ b/sys-libs/gwenhywfar/gwenhywfar-5.1.2.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://www.aquamaniac.de/rdm/attachments/download/234/${MY_P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/79" # correspond with libgwenhywfar.so version
-KEYWORDS="amd64 ~hppa ~ppc ~ppc64 ~sparc x86"
+KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 ~sparc x86"
IUSE="debug designer doc fox gtk libressl qml qt5 sensors serialport test webkit"
REQUIRED_USE="designer? ( qt5 ) qml? ( qt5 ) sensors? ( qt5 ) serialport? ( qt5 ) webkit? ( qt5 )"
diff --git a/sys-libs/libchipcard/Manifest b/sys-libs/libchipcard/Manifest
index a0aeee13111f..f258df39ddac 100644
--- a/sys-libs/libchipcard/Manifest
+++ b/sys-libs/libchipcard/Manifest
@@ -1,3 +1,3 @@
DIST libchipcard-5.1.5rc2.tar.gz 877820 BLAKE2B dfe82e3d6aea26e95e5f69298ea17ad4bb9a1d106cca02a9fc23f5aa5ea338471ae5628248350e01571f4819567da2a0f5a3699d56d8f02ed58971d6ac715abe SHA512 5e86068bd688f72e04073dbd076f21646a6b75d2a7a73c25bba4396e8657c4df28cf5cfb61eef7b243186f8313cea1262e415f2acad5348fa5179b46d7f96ed1
-EBUILD libchipcard-5.1.5_rc2.ebuild 1118 BLAKE2B 103ae85fc36f5b188d20ff22c518d7b5b10f61140d5b476fee53d1c108f840f84fe16db9cf503dd1294af5e40415dad181af26e7637d3ac548a4a2c66b169c4a SHA512 f2c66cb386ce04f26339616b6799155b7aafaa5d0cbaa4d075ce8e0c4653484bc706d9c64423607332cebf9eb24594520feabf1cabf5d835ddee59441ffe03e5
+EBUILD libchipcard-5.1.5_rc2.ebuild 1125 BLAKE2B bea1ad33a208fdee22bbe923174b54f01b0ab86611a311f923f84f95e75842bef495faa21fa69b7faf13eed71e6e5ea1bf5f8599d60cdd9f1e05c2e208a08c3a SHA512 f2bb2dc2032dd078a2e78bfaf9ca9d88942689de9a46916daab7bace0a1c740314558798ca26ffbdd7f179ca6e7abd63ea1b9442ecde23ab6317f401a0172f85
MISC metadata.xml 210 BLAKE2B a547b5e8dbb5d674ce2df4bcc6ee71c3aae3b0c7863c38a66c1fac3cf0f0c16c7bb302264082f345d2da87d0e544d321e6fd8385a16d01620a733a8ab29082a3 SHA512 27fbc849a311e57c8dbad0cae9975d564c03ae8a7b495b2e7a5cd160c6a09c0101e695ba4d2edf07c0d4c4d7329ff9a4bd91656aa685623342883b83bcb9ac0f
diff --git a/sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild b/sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild
index de3fba0624f7..d7a4578bb9f2 100644
--- a/sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild
+++ b/sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.aquamaniac.de/rdm/attachments/download/229/${MY_P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="amd64 ~hppa ~ppc ~ppc64 ~sparc x86"
+KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 ~sparc x86"
IUSE="doc examples"
BDEPEND="
diff --git a/sys-libs/libieee1284/Manifest b/sys-libs/libieee1284/Manifest
index 2bdea3c88233..d11e465ef8e5 100644
--- a/sys-libs/libieee1284/Manifest
+++ b/sys-libs/libieee1284/Manifest
@@ -2,4 +2,5 @@ DIST libieee1284-0.2.11.tar.bz2 278804 BLAKE2B 6bdc7051c91c7d1b7e601eb17823c4dbd
EBUILD libieee1284-0.2.11-r4.ebuild 1025 BLAKE2B e50142b0567c2d6b2fcec53bc8e3a459856d026e2d9c1ba9199b23369ca4f301b8988aca7fcfd6b9dc2e4a55c51c461ac2712d769544a3dd1ac399a46efa9b94 SHA512 8095ceaa46d5f7a5c951b06d630011ab314129ba3fe47f045ca2aeddf9feac5f1dd84bd2d19cb258808ef25f4d99e5279875f6aa20e3f02569034f31a17b9304
EBUILD libieee1284-0.2.11-r5.ebuild 1013 BLAKE2B 902fe1fccb3fe1c1bc93427ebbcb6dc64f5c1604c9bf186d8a46b3428852bd1e16e50d4e74eff66583c71d762bcad319c3ed771e639da3bfb66bc0d019ed80ce SHA512 a0402f7479b19387069e6a11040bc3227da357fb32b0d3dd00619baaaeddfa2c8c02fa562b01079d0218767774b60b55c3b05baa3f487ea8602634cd434e4005
EBUILD libieee1284-0.2.11-r6.ebuild 1031 BLAKE2B 3a97190fec0c07adb48ad6e067ac4a6e231355625770711177090e7a2c84cfcf4c39dda602af6bcfba1264b877819277114fac193b215e9e11d03c6edff018fa SHA512 25fe6c91c02dd2ae8517c261ccdfd73e6f4f123f4e42d947f99571d8d947d465833c45acb911772fe046008174657655bdd26a6ed02b7915f2740e011862cb18
+EBUILD libieee1284-0.2.11-r7.ebuild 966 BLAKE2B b1bde33861450fd11de30b0fd71297bc09ce4468503c192d05ec9c1370a7d10226b0a591c6aa3adf407967669b6b2f5df6d0c9b4ff2fc19074728f383bab92e8 SHA512 23ae534184d5563de0c8c87c00ccd059cb92a6516a8b6b90e44cd810aa692018ba1d72bce9da90b38e7d8159fae26976851cc4a288df47c12b14cf4cd8ed3de6
MISC metadata.xml 331 BLAKE2B 72d060e5e77b6247387c4a7da0c70c86902f650cb90e37ddb1342c743d8160803edc6f2884549e13cc55b5e0507fde4253f0e4898c36cb5653d0fce7f4d23c58 SHA512 f0855a91eb73804b3df9fcf9c821fdbfca67206c57152e7db3346c195ae3c8a204a7f0179c2449861799ff081d468dbd7709768d50073838bba19a447f252b5c
diff --git a/sys-libs/libieee1284/libieee1284-0.2.11-r7.ebuild b/sys-libs/libieee1284/libieee1284-0.2.11-r7.ebuild
new file mode 100644
index 000000000000..fcfc9ea12e08
--- /dev/null
+++ b/sys-libs/libieee1284/libieee1284-0.2.11-r7.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools python-single-r1 multilib-minimal
+
+DESCRIPTION="Library to query devices using IEEE1284"
+HOMEPAGE="http://cyberelk.net/tim/software/libieee1284/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="doc static-libs"
+
+BDEPEND="doc? (
+ app-text/docbook-sgml-utils
+ >=app-text/docbook-sgml-dtd-4.1
+ app-text/docbook-dsssl-stylesheets
+ dev-perl/XML-RegExp
+ )"
+
+src_prepare() {
+ default
+
+ mv configure.{in,ac} || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --enable-shared
+ --without-python
+ $(use_enable static-libs static)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dodoc doc/interface*
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die
+ fi
+}
diff --git a/sys-libs/libnih/Manifest b/sys-libs/libnih/Manifest
index e67008e4402f..334756144230 100644
--- a/sys-libs/libnih/Manifest
+++ b/sys-libs/libnih/Manifest
@@ -6,5 +6,5 @@ AUX libnih-1.0.3-pkg-config.patch 393 BLAKE2B 77ed2af4429624e03e86f00cdb58c015f1
AUX libnih-1.0.3-signal-race.patch 1432 BLAKE2B b08b7356d2fae755fbe45b2a45b4081c9e1b27ab5aa3a1f71a6945ced5048bc587883de5b9181887a8124f4fc025bcbea4e668ae0e93d5b97e56f67788dd42a8 SHA512 5bd1ff4d7774db62cb6f54721c3b30b5fba1f085a69b28da12f85f448efacb6efd0dd9b9b61801ceb3fc94ca1616fb898bdce33e873f9e57486e44f26c063ed5
DIST libnih-1.0.3.tar.gz 1187624 BLAKE2B f8f9fcdda86eabff39de0b0f92cd1f8c1c0eeb0c86ec4970e5bef1cc0dff0fda83db64975ece93d5d8ede5d0613d5f363dd7456c59fe966feb5e61e5b8913627 SHA512 fce40d2445b28c27b8838631681ca3206a4f053b2dd4fc488fc9ef98bbd3d933e3d62b82cf346be2ef1677f6457f692cf5544cd915a6bb1e5c618f98ffa101b4
EBUILD libnih-1.0.3-r3.ebuild 1499 BLAKE2B 81ebd631c031c5f18ca79c582cd582c21b5d605e65976c48f0a75623ed0469bee634387ef976f2c8910ac2365c9944cd9cbd960836704908a4af9c6e62fb113e SHA512 845a2a47d3e193f3c09e5c0486252da24c246dccd409b56d702725995ee1845e719c14fa3ecba6916d2f986aed9762e6f0776792d64206a68af1314a4885fc3d
-EBUILD libnih-1.0.3-r4.ebuild 1554 BLAKE2B 567a5f2c72519457a1e035bc23c6568245ec7bf4c6179d9a8531ccfb8393e2dc42c39c982c94e3561934e93060c9c6d139874479dc8fb2c82c6e6c257c005fc1 SHA512 5791a42e4a742e86e6d7910781abccd3f3f875229b9015f902a4bbb75bba970308dd10337edc79a2473e3c1ecff8df5ba344719a28cc106e7a65bc162ed1c6e2
+EBUILD libnih-1.0.3-r4.ebuild 1552 BLAKE2B 21a4741dd091df02a6e156cf515111de2461990b728a01913874b8c594d27f8d3968f8b5b1e0716047124ca0253a9597a50575558ee475bdba7c2c442a31e54d SHA512 f2aea977ec4fd90692122468bd41352aacafab31c499bda5c95c0565b436d5842965793b86ccc78186f0254a05af5deb987f477bc9c64f5034e00829f55e4306
MISC metadata.xml 241 BLAKE2B 02f7c7b912751df8725055416a093647e79dfdbf7f06c9f56246c67f6a1176997454dd3aaaa493ecf7d00d8ae295066e2861ac10bee860a94eef6085437561af SHA512 31e21c0bed310c4a025385f24c5b76f2e588999912fa548ca343947d95ad448b3a1232211cd4427607550c0f5de2e562e2b4e492415b6d207c954a516b811a84
diff --git a/sys-libs/libnih/libnih-1.0.3-r4.ebuild b/sys-libs/libnih/libnih-1.0.3-r4.ebuild
index 57cef452203c..4453646be49d 100644
--- a/sys-libs/libnih/libnih-1.0.3-r4.ebuild
+++ b/sys-libs/libnih/libnih-1.0.3-r4.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://launchpad.net/${PN}/$(ver_cut 1-2)/${PV}/+download/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc ~x86"
+KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc ~x86"
IUSE="+dbus nls static-libs +threads"
# The configure phase will check for valgrind headers, and the tests will use
diff --git a/sys-libs/libosinfo/Manifest b/sys-libs/libosinfo/Manifest
index 86b7b83fe5df..be694211277c 100644
--- a/sys-libs/libosinfo/Manifest
+++ b/sys-libs/libosinfo/Manifest
@@ -1,5 +1,5 @@
DIST libosinfo-1.6.0.tar.gz 1024787 BLAKE2B 4d0783b41f8c9ed7472c798acede0cd1f3808858ab954e838e8d7543dc50a9819d1f26b0cb02a97c8ed8ebee47db1b915aab5daadc0be2742e8f5c1ba8451a75 SHA512 53359095e40ef12e0cc142ddc92119b4a753bb47a728f13a8ff500a19108a44eb1f6ebe4ed67b04347a707dd0c0d55bcfe6815b57d187237dddd7376ebe9cf5e
DIST libosinfo-1.8.0.tar.xz 273324 BLAKE2B 0d289df4eb1eb0f9793227b7925cfc37e253a4db0da5c420e7b058d4c060ae50a5609bd25f7d07822e0110e535561f675cf8eddbe6bce0875757f10ee30b2c22 SHA512 1d831443af9eea6a5ba1edccafcd47e56fc55e3cc43c0572044abc9c70c4eb8bbe0d95019d42bbdc3b680a2f52511863412ea9587c6eb553353b3802e94b2960
EBUILD libosinfo-1.6.0.ebuild 1455 BLAKE2B 303988e1c94622f9819071aec92f0cb3659b9cf5ac025406a85839ed0ddb8f187fd77b7f9c11bb898802d36d49f508da06fd42a27eaa2b696e797a8fd5588ac3 SHA512 5b3da89d1da8fd76f72523262249e45b719d6e23f3f2983b9780a41fcadde2b8e6447645368c2c86527a4c3ebc40569e121a0af65ad402b810b3854d7f8b1714
-EBUILD libosinfo-1.8.0-r1.ebuild 1520 BLAKE2B 809038bc8375c036f98850b2bfcfcdb94c861e252599cba1ad9da2d5e0ad7ef8afaeff4085dd9f265fe5de26017d38d13cb35561551c8acb346f215c978411e8 SHA512 9bf4859a74ad01b64af1cdb8a8043112be45434b4fbcb980e06dc4a3e5175d07bb0d0df83c0c50e8e1eb5d5c6c801fcb64f2e13874eb706cae76423a3d217665
+EBUILD libosinfo-1.8.0-r1.ebuild 1517 BLAKE2B dddb734dbb4428417fa830d31f9e1bbc8f165d5d8a6d03ff8e929b3025a8106b1e7a2db2cc4191bbba2e0b77da85768a54a70fb85480569d9a2f772f63e4cc67 SHA512 541d1a76d09bd950909f4b754286095d48af5614e3552d56316272f846d8a5eefc5c8c5fa68d210be69f0c31fc3dfde226097b5dc747e378efef86e52c48d642
MISC metadata.xml 249 BLAKE2B e71e1b95fee768c696704acbf7e3cf0e599ed2bc8de92bae0141d1194ef9e842bdc292798904487a9b90ddfda9b0e84abd3b76b1518576c1d288240e4e46f110 SHA512 c40662134899a5c9f0369a1017806f35adf3280a0b3c91726f7a8ca6012a073a8b471583f5bfb6fe95faac1dcf607e8e2e43f8c91d48ec46f4a8824e2f551506
diff --git a/sys-libs/libosinfo/libosinfo-1.8.0-r1.ebuild b/sys-libs/libosinfo/libosinfo-1.8.0-r1.ebuild
index 4b5e771089fe..c2bc2665e86c 100644
--- a/sys-libs/libosinfo/libosinfo-1.8.0-r1.ebuild
+++ b/sys-libs/libosinfo/libosinfo-1.8.0-r1.ebuild
@@ -17,7 +17,7 @@ IUSE="gtk-doc +introspection +vala test"
RESTRICT="!test? ( test )"
REQUIRED_USE="vala? ( introspection )"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
# Unsure about osinfo-db-tools rdep, but at least fedora does it too
RDEPEND="
diff --git a/sys-libs/libutempter/Manifest b/sys-libs/libutempter/Manifest
index 1dc7de354641..fc6b0a3c6e84 100644
--- a/sys-libs/libutempter/Manifest
+++ b/sys-libs/libutempter/Manifest
@@ -3,5 +3,5 @@ DIST libutempter-1.2.0.tar.gz 17353 BLAKE2B 35e66a32e70fa59639f9a4fb71ba0e89c88a
DIST libutempter-1.2.1.tar.gz 17429 BLAKE2B 88ae0a03a8a614b960082ce4d4006ec4e3eb8148b319ae964ac3ba3f684f08f5dd670e693f25d52d04a280f7b2aed6d2894cbbc0e2db3f71ab68e6910ffb58d1 SHA512 d3a3bab7d2c2a68534c5ad41dd02bde849eb08df5dbb895a79b50b74d269c48c4cfcd12c4654941ccb7cdd43f486cfdc19148fa470870562f5cd324ce9782429
EBUILD libutempter-1.1.6-r3.ebuild 1694 BLAKE2B 2190ccd25ddbe4c74f8ff67892c83654e7e37a89ce2b86a855bdd59fa96efd4d76edf9aa7d28bc562469b9ef0b1136263ee848717f75090635a8aceb7ad522c9 SHA512 a251f3a15cbec7df5f07c84337ec9d9dfbcbbc0908dceff6e722aff2e7689c306f4806c4b3ca3559d121b54d7b09e722b432a826513d96dff5d18bce215ebade
EBUILD libutempter-1.2.0.ebuild 1705 BLAKE2B 0421ad465302e3e8ccbd4369b1ae44043653d751e24168189e0a2dfb1912748fb7c29b0123a27db8587f3dd53697b0fdd95063929614e009ac348b95c59ca0d3 SHA512 8687abd08901b2577f0cf47a7c9820e45858a322c5cbb854c0f72dc362c7777c48f2fd5ed208d15dd574b798f7c300ff582afaeaf01e8fdda3ca5b98be1240ed
-EBUILD libutempter-1.2.1.ebuild 1705 BLAKE2B 0421ad465302e3e8ccbd4369b1ae44043653d751e24168189e0a2dfb1912748fb7c29b0123a27db8587f3dd53697b0fdd95063929614e009ac348b95c59ca0d3 SHA512 8687abd08901b2577f0cf47a7c9820e45858a322c5cbb854c0f72dc362c7777c48f2fd5ed208d15dd574b798f7c300ff582afaeaf01e8fdda3ca5b98be1240ed
+EBUILD libutempter-1.2.1.ebuild 1712 BLAKE2B 2d69570c2dbb7737b81d6bbc84627fc2a9d432049b960fa8eb0e9abd5dcbf57456896de97d173d0e31be64526577c31d6d07a6adf6388aa674c535b5caceb982 SHA512 325e01ebe83551be24bc6022e8bde1e932c5a99ed7fb4ae95d226adb813d9da4d9f6c2571063cd38f0d56145202388b0d5cae0962d9d341019a722b227a0a2b9
MISC metadata.xml 253 BLAKE2B 295e9d6d93aaa12af413972e1590c67087801cc09c9aa6b59d4606c0f4106d1dacf2baa9858559083b4c6d91beeef218d0729e8593a33788958da6d2897e8ce2 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555
diff --git a/sys-libs/libutempter/libutempter-1.2.1.ebuild b/sys-libs/libutempter/libutempter-1.2.1.ebuild
index 271a41f8bde7..bf423adf43ea 100644
--- a/sys-libs/libutempter/libutempter-1.2.1.ebuild
+++ b/sys-libs/libutempter/libutempter-1.2.1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="ftp://ftp.altlinux.org/pub/people/ldv/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="static-libs elibc_FreeBSD"
RDEPEND="
diff --git a/sys-libs/pam/Manifest b/sys-libs/pam/Manifest
index 5d7161d9212a..b4b544481c84 100644
--- a/sys-libs/pam/Manifest
+++ b/sys-libs/pam/Manifest
@@ -1,7 +1,7 @@
AUX pam-remove-browsers.patch 985 BLAKE2B 3e258e00f7287436b1b6a97323764612a3098dc4effb12e62cd8d55151ace2b97b6ea7b67ae33613aa6b3cca318bfbfc310b48a99b0c81e1beaa9d16188e69eb SHA512 42d89d35fc754e51112040a5468067ee9f6a3a411e538cb634187e28975040c0b7ef48fab166ec6a20a849f6ed9d74a069355269cf708d9985ded6b87fe13ed1
DIST pam-1.4.0_p20200809-doc.tar.xz 42680 BLAKE2B e8371bd76b589db06ce95f2d10343be163aa5149f566f7d9bd5e9cd0340b95eecedb6a7d20d299fd2188c736fca3c69c0bd2f8eea4541dfd3312227c3dcf4e2d SHA512 5007aaa811b6321f124245493c6a4bc9ae07ab4ff651fc817843e8b4a74661c07418e2479363a72c35320f0f1cb469a2494c5d354dc819b920de7d1918e6ce5e
DIST pam-4dd9b97b762cc73816cb867d49c9d0d0b91d642c.tar.gz 765455 BLAKE2B 8a8543b51c9fa877cd48d483d9af489df00376f92f26fea648d38a0ce3168702888a662e5d3c7423cce8a5d56896e84e4c1829e56d08fca8c3ab878b20945a7d SHA512 bdb236a47a5810449fb96546ff89d70dec185a215b0d047178a12e40945fde4ffdb801dbbd87ff95eead1bb7acb4748333a2d3383881d5de0dbd89ec5ceddd3f
-DIST pam-d5cb4409ab6b04a6ed7c00245e2c9a430f352b16.tar.gz 810548 BLAKE2B e061528fa57ba9fcb418422d368b7bb960b5f6eec3ed4b9e438be0ec4acdaf925af3322a334ced8c498e700b090ae37f5084f13d2bf8c6874d53c58f03548bc7 SHA512 3db1e13bc8a037b22e0ae1aac0311982877a2e2d33643ee32813025f9a9c727421f2fd6c442eba936e8043c59deb476daf78fda34fc7b6b95c015614751975f4
+DIST pam-e42e178c71c11bb25740a5177eed110ee17b8af2.tar.gz 810595 BLAKE2B 897f64a7f55c033601665b0ecc292cdcbd0d9b2f24199ed6ca5fc69c2da4da7401677493bed09a118b1fc0a475dc016fc7a3a318787c650212b056064ed0b817 SHA512 3c2bc401df51dbd4118698afc80a0448559bc6b5d8c7c45c800c2f6421034a131c0bee971f9640aec6b0d77f8a31ec055c7a84a646d9a11690dfda4af4e1068a
EBUILD pam-1.3.1_p20200128-r1.ebuild 3522 BLAKE2B 39445b685c2f2bb4237dcaa4e72eee7a426a00b4385b442a4e0c5f1092324446c62918f9642e7afe76b9b85bf2d55f6af3129c842c98450fae57bd22fa93a6d0 SHA512 7420fa938ab27a76a5a7b3c7921f815e85cf38a96b53407efbd4806ae043f84db1b3a32afa76fa400c6c279ceb6c72786cbc49e58dbbae9adc7b59459b5b7508
-EBUILD pam-1.4.0_p20200809.ebuild 3793 BLAKE2B 3501f29331acd5a98c980f699791a6cec17837454cd69737a71aeb8b0f8e4d98497b5a27c2a42b3b1902aa4cfb615e852e0a0fe7ff4baaae0542db59baa8b045 SHA512 1bcb577cd157c0ff7361995927201b9485dbb7ba39b3584a499d1b64c7790964ab7b2170bcd4827f81bab21ca19a517a19f1fdc2449ba425a5251a845048efb8
+EBUILD pam-1.4.0_p20200829.ebuild 3874 BLAKE2B 79afdd656faa38801d9fa64deac6b209adc494a7f07f6a235caac6ab52f4a5f8860f846502e65273999d7aef4c869f88fb8feef894cb2b897bf9398091660624 SHA512 d887a46ec17f239d7bcb09d36604fe5a51d0638bf22e702939eabaa9a773e3fada9566423f66b0583348d9aef8503db8782f047605b46ae8b470d2dddbe7324d
MISC metadata.xml 1086 BLAKE2B 39d2291ff9553394ce684a87a49a2c41b18689102d8cf352c905ce2ede28508501aa41a4a473d287c461b77e5732aa4ed0eaac94db94c851ed9491bffdac8acf SHA512 6743a2021ef7d7ab9fc547b270c17b205747a498e0e2bafc07ad171d52657a4aa3f84803c2b4e5c088b73b1732d600b5b2189c958d4b15fba8e081714790fc72
diff --git a/sys-libs/pam/pam-1.4.0_p20200809.ebuild b/sys-libs/pam/pam-1.4.0_p20200829.ebuild
index 4fea18d00b1c..5dfee2448fa0 100644
--- a/sys-libs/pam/pam-1.4.0_p20200809.ebuild
+++ b/sys-libs/pam/pam-1.4.0_p20200829.ebuild
@@ -8,9 +8,9 @@ inherit autotools db-use fcaps toolchain-funcs usr-ldscript multilib-minimal
DESCRIPTION="Linux-PAM (Pluggable Authentication Modules)"
HOMEPAGE="https://github.com/linux-pam/linux-pam"
-COMMIT_HASH="d5cb4409ab6b04a6ed7c00245e2c9a430f352b16"
+COMMIT_HASH="e42e178c71c11bb25740a5177eed110ee17b8af2"
SRC_URI="https://github.com/linux-pam/linux-pam/archive/${COMMIT_HASH}.tar.gz#/${PN}-${COMMIT_HASH}.tar.gz
- https://dev.gentoo.org/~zlogene/distfiles/${CATEGORY}/${PN}/${P}-doc.tar.xz"
+ https://dev.gentoo.org/~zlogene/distfiles/${CATEGORY}/${PN}-1.4.0_p20200809-doc.tar.xz"
LICENSE="|| ( BSD GPL-2 )"
SLOT="0"
@@ -30,7 +30,8 @@ DEPEND="
audit? ( >=sys-process/audit-2.2.2[${MULTILIB_USEDEP}] )
berkdb? ( >=sys-libs/db-4.8.30-r1:=[${MULTILIB_USEDEP}] )
selinux? ( >=sys-libs/libselinux-2.2.2-r4[${MULTILIB_USEDEP}] )
- nis? ( >=net-libs/libtirpc-0.2.4-r2[${MULTILIB_USEDEP}] )"
+ nis? ( net-libs/libnsl[${MULTILIB_USEDEP}]
+ >=net-libs/libtirpc-0.2.4-r2[${MULTILIB_USEDEP}] )"
RDEPEND="${DEPEND}"
@@ -62,6 +63,7 @@ multilib_src_configure() {
--includedir="${EPREFIX}"/usr/include/security
--libdir="${EPREFIX}"/usr/$(get_libdir)
--exec-prefix="${EPREFIX}"
+ --enable-unix
--disable-prelude
--disable-cracklib
--disable-tally
@@ -107,7 +109,7 @@ multilib_src_install_all() {
d /run/sepermit 0755 root root
_EOF_
- for i in "${WORKDIR}"/${P}-doc/*; do
+ for i in "${WORKDIR}"/${PN}-1.4.0_p20200809-doc/*; do
doman ${i}
done
}