summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin14080 -> 14077 bytes
-rw-r--r--sys-libs/binutils-libs/Manifest6
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild134
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.37.ebuild2
-rw-r--r--sys-libs/e2fsprogs-libs/Manifest8
-rw-r--r--sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.45.6.ebuild93
-rw-r--r--sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.46.3.ebuild (renamed from sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.46.1.ebuild)0
-rw-r--r--sys-libs/e2fsprogs-libs/metadata.xml17
-rw-r--r--sys-libs/glibc/Manifest6
-rw-r--r--sys-libs/glibc/glibc-2.33-r3.ebuild1534
-rw-r--r--sys-libs/glibc/glibc-2.33-r5.ebuild (renamed from sys-libs/glibc/glibc-2.33-r4.ebuild)12
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild8
-rw-r--r--sys-libs/libblockdev/Manifest4
-rw-r--r--sys-libs/libblockdev/libblockdev-2.26.ebuild119
-rw-r--r--sys-libs/libblockdev/libblockdev-9999.ebuild2
-rw-r--r--sys-libs/libstatgrab/Manifest2
-rw-r--r--sys-libs/libstatgrab/libstatgrab-0.92.ebuild2
-rw-r--r--sys-libs/libxcrypt/Manifest2
-rw-r--r--sys-libs/libxcrypt/files/libxcrypt-4.4.12-multibuild.patch25
-rw-r--r--sys-libs/libxcrypt/files/libxcrypt-4.4.12-pythonver.patch17
-rw-r--r--sys-libs/nss_wrapper/Manifest2
-rw-r--r--sys-libs/nss_wrapper/nss_wrapper-1.1.10.ebuild4
-rw-r--r--sys-libs/tdb/Manifest2
-rw-r--r--sys-libs/tdb/tdb-1.4.5.ebuild59
-rw-r--r--sys-libs/uid_wrapper/Manifest2
-rw-r--r--sys-libs/uid_wrapper/uid_wrapper-1.2.8.ebuild4
26 files changed, 362 insertions, 1704 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index b3caa2da9558..6a102cdcf53c 100644
--- a/sys-libs/Manifest.gz
+++ b/sys-libs/Manifest.gz
Binary files differ
diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest
index fb7df0bad802..fcbccf68e6e7 100644
--- a/sys-libs/binutils-libs/Manifest
+++ b/sys-libs/binutils-libs/Manifest
@@ -4,11 +4,13 @@ DIST binutils-2.34.tar.xz 21637796 BLAKE2B 07dd23916a7d27f71c3f160c8c16abe2bd4fc
DIST binutils-2.35.2-patches-1.tar.xz 11836 BLAKE2B 0141349c9618992d1ab1e0309f7ed8fbc43b60a58be1dfed05eae8a8fee857241d9e112ae673da6fc9778767675f536ece818cb85567367bb1c8f87a0693623f SHA512 35de5f227c745c5fb800784fe657b2a6216faf43e2498e8481e7b0dc79b0d2f86b3b6a10b896e060319a77a51c61d2e1b7a951ae962b3a6ef8c1a2a261d9bb6c
DIST binutils-2.35.2.tar.xz 22056908 BLAKE2B 9c392e0db2b482442f9476f30bd80cf2796321cbf7be79cf21af7bef167b6074c4ae009dcf9b438d2f2f4a23381c935176b2cfa85de1a526ab46e0fd844a7ca5 SHA512 9974ede5978d32e0d68fef23da48fa00bd06b0bff7ec45b00ca075c126d6bbe0cf2defc03ecc3f17bc6cc85b64271a13009c4049d7ba17de26e84e3a6e2c0348
DIST binutils-2.36.1-patches-3.tar.xz 32720 BLAKE2B 2a5a60168ec5ff612e7e58530092f306460cdb4a963320978dffcc22d73684486a14a5981f6eab2f7fc270def22cdc9954de455d680b2de4befc1ad4916347ba SHA512 e429cc82451675f14715d4e7640fe7b995495c8759a8e919c4291f8ca8358a663012f05c1ec6e60b1261114848379fefc9df723929770462dd676fa04fc7aa54
+DIST binutils-2.36.1-patches-4.tar.xz 43508 BLAKE2B 116cefcbf4641f1ab649bb0345b80a23c29d1d3340d16f87068a1cffb911e4633f3e6da235534cd79c601cb4168bc78f9b7115185a49cdec78b6e7de7856b344 SHA512 3de95f1bb3787eeb7e942e2a9cf4a2bf967c5758158c3daf76b81a62ccefe5569b0a300cdc02e2e702c61a0cfc63d4209a7d306179cdddc3bc544d21b744eb82
DIST binutils-2.36.1.tar.xz 22772248 BLAKE2B 03fbfbedd6dba2beaa836b1ed254eddd7a54a163d3061fd93edd2b9591cae24ba049b26658c524b5ccecc2f22d431dfa168218d2531aa356945c994fbbe896fa SHA512 cc24590bcead10b90763386b6f96bb027d7594c659c2d95174a6352e8b98465a50ec3e4088d0da038428abe059bbc4ae5f37b269f31a40fc048072c8a234f4e9
-DIST binutils-2.37-patches-1.tar.xz 11960 BLAKE2B ea60d0db3b61d350a00626ab3ec76e919f15afcc52411c70cab4c5fda80bc0d250ef098847893724365b6c3e789f3f76fd84eda9d31d60295719da622533127f SHA512 608a600d977b9558054ed2278901f50d9d23c5786c271d7849ff884b4e268e1821db26b7c6f5e6cf0f57a7e44e88e4ce0f2441975f7d8401ada0d5451bdefc5f
+DIST binutils-2.37-patches-2.tar.xz 79304 BLAKE2B bdcbe29efba3582f2d1be9057a39aedb655cbc225abe8ea656c1bcf090a53930c74197505c8de2dcfd9a105f1b1cc8fa84a0d532547221d2df34a77b06e7fa15 SHA512 5cea876cfbdcd1409f5ef8ee138a8c29ad5b3d38b5d72ce312f2eb94fb8b2165e9a10018c46bdc36bc59ade2e2764e5da4ac653d15690bfc0bc9784202cc0164
DIST binutils-2.37.tar.xz 22916924 BLAKE2B f5a374fdf0300f7734d1e462333296b16c9d5ed6eba167e1742a4da7082f4388c929e286bf76c3933b3e434937380340732a31790723654b491ea0c8ab5b9ba5 SHA512 5c11aeef6935860a6819ed3a3c93371f052e52b4bdc5033da36037c1544d013b7f12cb8d561ec954fe7469a68f1b66f1a3cd53d5a3af7293635a90d69edd15e7
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-r1.ebuild 4062 BLAKE2B 0e41ac1f70816696b908c79376acb43c313d6337e39420a1b6f03a961e3e599c9b75ff1e18dd7c1998375b0b15b49f00812bfb50d114f2c3d87c93d2070a0410 SHA512 5c62e3511ed4d6eaa21671a2c1332b8b1857863f0adaefffe23f23f0d0455e916665a6c5a047b8bfa85484a52be1ddfc3a03a1ca4317b52926220fe8c7edda61
-EBUILD binutils-libs-2.37.ebuild 4063 BLAKE2B 247bcd43981203750ba6bd1644779c32cf25cafb291deaa3df9c821e15fd09258a4c9c9986002a7bfcd5f58ea62903f9696f98cfeec1406c40be76d5f5870536 SHA512 52d76ad95e468fa503540355d079f61642785eb5346a8ee7809da9d6f8ab1bb019e932e2db12698c0a5f2daf0fcaa0ec8134130f037927d85fb8230d5e0631b3
+EBUILD binutils-libs-2.36.1-r2.ebuild 4062 BLAKE2B ac6599632c52ab78899e297402a233052192875b844ebe649c9c05810b023acbb2457e4d5c0b5caa933828cecae4d2e1515584c68a181a046ebe09b1d8a7f057 SHA512 b5a97603689b58a14a2e93fa44c108f6e90aec8c1a8028143a3902d0e110a1e2d52b9a7dd525e8d94bf32dd7adae611ce7e0d4dc70711ac6b7307c60cc0bfeb0
+EBUILD binutils-libs-2.37.ebuild 4063 BLAKE2B 1b7152d900fc718a94aeafab935262dc7fc49099d0b130cd6230518f3d35fb1e18db761f3afcb51f8dedeef1975fa29e5465e27266c1ab149ebfbffa694d4939 SHA512 944f41a606462eec1abcf80ea120de610334cd684465ba3f9d1d587b1f94ca8da391cc4ad2380d24949aa2f5a75eb3415dd2d0d0d2ad94819a3b261e72cdd564
MISC metadata.xml 611 BLAKE2B 6093d3768ff4bc40fa0f8d1ebb3d9a5454f5e492030892d4791e7aafeef0ab4bd2902b818602725bf54e9045be762c1f495eeaf3742ec3ec4c4beda127e2c8d6 SHA512 21b771eb04b2e6f642e3ac48f13c2db19b728c8ed13821c39bfae696b8726f6f68ee65bb89ec0e90adfcee0e7f07a3109ab35e0699fd555ce0b84ad23ef81d1b
diff --git a/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild b/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild
new file mode 100644
index 000000000000..0606cabb2e45
--- /dev/null
+++ b/sys-libs/binutils-libs/binutils-libs-2.36.1-r2.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PATCH_VER=4
+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:-slyfox}
+
+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_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
+
+LICENSE="|| ( GPL-3 LGPL-3 )"
+SLOT="0/${PV}"
+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}"
+
+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/binutils-libs/binutils-libs-2.37.ebuild b/sys-libs/binutils-libs/binutils-libs-2.37.ebuild
index 06298b7680e5..d2d0637789f7 100644
--- a/sys-libs/binutils-libs/binutils-libs-2.37.ebuild
+++ b/sys-libs/binutils-libs/binutils-libs-2.37.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PATCH_VER=1
+PATCH_VER=2
PATCH_DEV=dilfridge
inherit libtool toolchain-funcs multilib-minimal
diff --git a/sys-libs/e2fsprogs-libs/Manifest b/sys-libs/e2fsprogs-libs/Manifest
index 37716ad7b5cf..d9c966cdf1dc 100644
--- a/sys-libs/e2fsprogs-libs/Manifest
+++ b/sys-libs/e2fsprogs-libs/Manifest
@@ -1,10 +1,8 @@
AUX e2fsprogs-libs-1.42.13-fix-build-cflags.patch 300 BLAKE2B a6cfc44d27991cb98b1cf94854dabb4bfefd0d44d7605cbca6353b27730dcc37ed65c1d4b35f2b7e5386a607056f7397afbf4e3dadc57efb0e3172a94287f5b7 SHA512 0c0a39a7cdf1930c2c8da0072f935eb02e15ce7a5202990b4ee5458a4ba7a5c1848a7b759e91e32c76f38ea419059179b04ff94fa336cbf77e4ecde55f9dc1d3
-DIST e2fsprogs-1.45.6.tar.xz 5572144 BLAKE2B 24a44d27a02a1fa178083d5ee6034b20fedcac9faf7cf7f5cfcd4e4cee6d38775bc78949b9b00823cbbdacfab783e8e1e739579b9a7236c5425f51b27600743b SHA512 f3abfb6fe7ef632bb81152e2127d601cadd3fa93162178576a1d5ed82c2286627184b207b85a5b2a1793db0addf0885dfc3b9523bb340443224caf9c6d613b84
DIST e2fsprogs-1.45.7.tar.xz 5570052 BLAKE2B 237ef068c3899641b5eb908cc302c8c6b454e337bce2de95fc96b9a078a003db0c44bd34391063cc2f30a95dcce57950fe900f59ae7d273786c657b7c190b341 SHA512 fcbd66af7b87f2bdec562ddd59c8c5fbd60f32fdd582a5c9d21cb6cfea642d2cdca57b6c29124309798528b2d9ceadf770928a6698f75dc88a47701286128763
-DIST e2fsprogs-1.46.1.tar.xz 7019700 BLAKE2B 2356fcd206de14377a4625a8be2ff94cfd3fb2b911836a3da46499964fc5d7f2a6d03bf5818543d2ead34ac7cab36ef0e18885343d6814a0124b50ab7ea4bb69 SHA512 fe6aa55b62f183633872209cd69cf6be0753d5a430542a7c73dbbd428e5fa93b5df7efa7507bb60f9f90a1c61cb8f5cf10665675eea8bd72aad3d04dd2dae15c
DIST e2fsprogs-1.46.2.tar.xz 7020552 BLAKE2B 0eda7428862c13dfd02308f0321d22c134679197bad5b247baa6f0ca386433db6749b97529709d43934afa73d8d0801379bb342456a0fd3dab7df01f5a90fd31 SHA512 5297a4d7bf944806d8ee77227eac596b5e5efed2c665561d40094c40b9f321616c60975a2716f1499a9f72243df6e3b6e2267b98ec1fdc1dfd646d7be887fc4d
-EBUILD e2fsprogs-libs-1.45.6.ebuild 2161 BLAKE2B 6f7bcb58e36d06f3c0fcbe9ad5d0ed63be6b815fb7ad20ed1084f17b9c328ec7ec2672ece06812a97291d0018405f7070aa032d67892133a894e790d3eedb77d SHA512 c1cdcd01d6857317ede20b982d8db869b1c0348f7e0825ad32e498d92fcdaf2187d6482c0278c2d025b91eb1c5234d00e157fa589f2d3f9877970a7b091e87ec
+DIST e2fsprogs-1.46.3.tar.xz 7024896 BLAKE2B 86f65cf9997f09aa7a27be35b2f38d6385f565de565b1c4cda710dbbea8312312ff77d92beb2b579a3caffa7ce82ee6b2726eb8f97daf41bba46379a94198c8f SHA512 27da6e38d3463e7a283dacfb88a3210dd6d8c63f4d990db879f63bdf503aaa5c447ef0ccc566b71526c12a8ab0a7a6529014b1010be300ad56a6ad5ce9066196
EBUILD e2fsprogs-libs-1.45.7.ebuild 2161 BLAKE2B 6f7bcb58e36d06f3c0fcbe9ad5d0ed63be6b815fb7ad20ed1084f17b9c328ec7ec2672ece06812a97291d0018405f7070aa032d67892133a894e790d3eedb77d SHA512 c1cdcd01d6857317ede20b982d8db869b1c0348f7e0825ad32e498d92fcdaf2187d6482c0278c2d025b91eb1c5234d00e157fa589f2d3f9877970a7b091e87ec
-EBUILD e2fsprogs-libs-1.46.1.ebuild 2169 BLAKE2B 314050d578df28da88a24adc53d8c4809316f3d63a31a35198c0f79a0d6d78895a0a498acce05538a4d227a7c650234acca683372132dfbcfc7fc4fcff423b9c SHA512 e2497549c127a030cfcba925022f90fd67ca5fe3e1ae92b705d9a43ac67f3c4a07c6d8f0a6f1248552db570ca53c1a48dd4c19a1cc4e822c6fca24088f6bc120
EBUILD e2fsprogs-libs-1.46.2.ebuild 2165 BLAKE2B 44cc1ac086d3ac2eb4c4d4f50d9ae5ded1d228d649a6cff419b004704bf53deb7990fd35b1deb3e7530e39a8dfb9c5b132c9e5c7c4f7ede6f13a1d62413f904b SHA512 e64cb7028755b02fa98eb0e7b3e469c36fec97207c16d6298fb162ce87ab2b05fe8a3539eea00f72d4e4053fff980339ed3fecad7bae0f512ca1a12af1e33165
-MISC metadata.xml 399 BLAKE2B 7f75ab727887efba1f1991c5944cd262c95b53dbc48a391afdd67cb5c1f99d9c06753b06c7d28c5472075835ff5da4718eb0c3ca5b9e68a4d83173f223162c31 SHA512 45e90f3d9b83bffd42173290d47dce2247a2eff4d6293b7bcbcf422115e11b8c958a7a13f60b7742a96350bd5a2b37d8e76a807776f943c88833b77782d4f180
+EBUILD e2fsprogs-libs-1.46.3.ebuild 2169 BLAKE2B 314050d578df28da88a24adc53d8c4809316f3d63a31a35198c0f79a0d6d78895a0a498acce05538a4d227a7c650234acca683372132dfbcfc7fc4fcff423b9c SHA512 e2497549c127a030cfcba925022f90fd67ca5fe3e1ae92b705d9a43ac67f3c4a07c6d8f0a6f1248552db570ca53c1a48dd4c19a1cc4e822c6fca24088f6bc120
+MISC metadata.xml 462 BLAKE2B ad5714f6f42f0f941c9aeb4abd65f21727f1b32c05baae2344020473e4892a997a3f8eec93f27d015f600435d65e50c0d3691b05a4e2cc54ec0cf0748d37df38 SHA512 df0c9d80161c7e7b482928e24c90c536a53cf2fa0f5a658a5d475eedd26793cb12ecb01f3afb2991020ae4e6526f08ce40a0a136b27a5d9f45575ba9bbba0f93
diff --git a/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.45.6.ebuild b/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.45.6.ebuild
deleted file mode 100644
index 722e3a0df067..000000000000
--- a/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.45.6.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs multilib-minimal usr-ldscript
-
-MY_PN=${PN%-libs}
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="e2fsprogs libraries (common error and subsystem)"
-HOMEPAGE="http://e2fsprogs.sourceforge.net/"
-SRC_URI="https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v${PV}/${MY_P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND="!sys-libs/com_err
- !sys-libs/ss
- !<sys-fs/e2fsprogs-1.41.8"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.42.13-fix-build-cflags.patch #516854
-)
-
-src_prepare() {
- default
-
- cp doc/RelNotes/v${PV}.txt ChangeLog || die "Failed to copy Release Notes"
-}
-
-multilib_src_configure() {
- local myconf=(
- --enable-elf-shlibs
- $(tc-has-tls || echo --disable-tls)
- --disable-e2initrd-helper
- --disable-fsck
- )
-
- # we use blkid/uuid from util-linux now
- if use kernel_linux ; then
- export ac_cv_lib_{uuid_uuid_generate,blkid_blkid_get_cache}=yes
- myconf+=( --disable-lib{blkid,uuid} )
- fi
-
- ac_cv_path_LDCONFIG=: \
- ECONF_SOURCE="${S}" \
- CC="$(tc-getCC)" \
- BUILD_CC="$(tc-getBUILD_CC)" \
- BUILD_LD="$(tc-getBUILD_LD)" \
- econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- emake -C lib/et V=1
-
- emake -C lib/ss V=1
-}
-
-multilib_src_test() {
- if multilib_is_native_abi; then
- emake -C lib/et V=1 check
-
- emake -C lib/ss V=1 check
- fi
-}
-
-multilib_src_install() {
- emake -C lib/et V=1 DESTDIR="${D}" install
-
- emake -C lib/ss V=1 DESTDIR="${D}" install
-
- # We call "gen_usr_ldscript -a" to ensure libs are present in /lib to support
- # split /usr (e.g. "e2fsck" from sys-fs/e2fsprogs is installed in /sbin and
- # links to libcom_err.so).
- gen_usr_ldscript -a com_err ss $(usex kernel_linux '' 'uuid blkid')
-
- if ! use static-libs ; then
- find "${ED}" -name '*.a' -delete || die
- fi
-}
-
-multilib_src_install_all() {
- # Package installs same header twice -- use symlink instead
- dosym et/com_err.h /usr/include/com_err.h
-
- einstalldocs
-}
diff --git a/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.46.1.ebuild b/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.46.3.ebuild
index 41da9ca3221d..41da9ca3221d 100644
--- a/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.46.1.ebuild
+++ b/sys-libs/e2fsprogs-libs/e2fsprogs-libs-1.46.3.ebuild
diff --git a/sys-libs/e2fsprogs-libs/metadata.xml b/sys-libs/e2fsprogs-libs/metadata.xml
index 3455ebb9dca9..7989cb94943c 100644
--- a/sys-libs/e2fsprogs-libs/metadata.xml
+++ b/sys-libs/e2fsprogs-libs/metadata.xml
@@ -1,12 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
-</maintainer>
-<upstream>
- <remote-id type="cpe">cpe:/a:e2fsprogs_project:e2fsprogs</remote-id>
- <remote-id type="sourceforge">e2fsprogs</remote-id>
-</upstream>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:e2fsprogs_project:e2fsprogs</remote-id>
+ <remote-id type="github">tytso/e2fsprogs</remote-id>
+ <remote-id type="sourceforge">e2fsprogs</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 8985e60582cf..d8d04f333eb2 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -27,6 +27,7 @@ DIST glibc-2.33-patches-4.tar.xz 60124 BLAKE2B a7a99f39c16df241745772c31b10946dc
DIST glibc-2.33-patches-5.tar.xz 63032 BLAKE2B e7f5952b2d84dc264e960d8bd3d9af4ca43089ca269735168933e80a0a74d7be1cadc90935b429cfdf5f0052d3ce3482a8f073b15378e7f9c05034535d9eae4d SHA512 00c2f8f104e7899b76398a6a39f054cd109a71f5fcc4020304b7d7e15ae0c53df1c3acbafd56898427b3849452f9fb9e5064ff584d6c86c4d18c8a9201c89d29
DIST glibc-2.33.tar.xz 17031280 BLAKE2B 703d12121c1e2c5d9e0c6ba5341f5fb5c4d9111611a83f2360029b5de9c6e5a5611249d1833684a58ed4afdf49cae614365d87ec8721ba0e5d218f593b1f229d SHA512 4cb5777b68b22b746cc51669e0e9282b43c83f6944e42656e6db7195ebb68f2f9260f130fdeb4e3cfc64efae4f58d96c43d388f52be1eb024ca448084684abdb
DIST glibc-systemd-20210724.tar.gz 1475 BLAKE2B 065bb4f364162ed168f9e777178ff2559f85db43c3585a45e63fda00dde34071674522cc2133d446c703737a36b1ba3148823ed53de8a4bc22b130a711a41dd0 SHA512 42ede5ef4b872e50cf3b02a3d305fd25675172a4e4461a8072cace688c4935c77267106a53164420e9181437501bc241dd3413806fd1f65eb87ee5ca877455ed
+DIST glibc-systemd-20210727.tar.gz 1454 BLAKE2B 0383338f73cec9a13165f0be261eb3d46c0362425b5fe31846f0ec00da9aff69d941e8b0e0ad1f8691edf9dc30796c239e8e984207725e4cf98fd037e7168e22 SHA512 09a91f6351657abfca200d110b0a43d541399c2db142c5706e06b4eebb736932e8f1b026be8d844be64f8e2c981777c342004492ef99c3c81cb04bf75a2c3ee8
DIST locale-gen-2.00.tar.gz 7738 BLAKE2B cde6de5ba3400aea24d0d5f1b79471f89f09fb747c8e371e38316c7ada92f967e0865f573f23cb353d82419c234724143c0aeca9eb70eb945dfc581cc7491eb1 SHA512 b609fddb9ec5e567c008841fef3390eddb5d6e7699a8271b3b8c0ade1b44b0ac2e5d1daa8b9acabf3432e3b88110b538a96f209b1ad0f9e988b7efce66606dff
DIST locale-gen-2.10.tar.gz 7747 BLAKE2B 49f569c5ae5260fca128503bc6f22d6f6f1cda817920c41fdadadf1527bbb4f3eb161f79fa729830666a4673e9092f99f4685ec8fcac8ddea0b8242bca9c1f4f SHA512 e350e60d458d67638e3090711fca05af6fafac06c51b97648244549f8a0621dab7543f09dc7ad4c62392f13bdae8e5875dc6d0b6c3d83efc29d116bc2eef92db
EBUILD glibc-2.19-r2.ebuild 38454 BLAKE2B 6019c17c3cd333132abd3d88afd019367d451e6727a7528524ad8835a62d1a741068041dce840c0350a1acdfd8eddb840ac38a9cf6d25dcf46b07c98a31137b3 SHA512 e14489e34e3db70740b31e7b1250884a57a597021f913cd86cd4d946a4b8ceef2ed3fbc409b0c0b13526e128306276c96d48e5f437620835b5d1cf245d778262
@@ -35,8 +36,7 @@ EBUILD glibc-2.30-r9.ebuild 43403 BLAKE2B 039f1e866d0ecbe7e6805265694800ed4873a5
EBUILD glibc-2.31-r7.ebuild 44522 BLAKE2B 1adfba68c35d3af5ec8476b2fe5d3bebf13880eeacb5aaa8438b41b98f5b275f0816a0e654446f62ee2f34f412c5c6e72befcc0deb8988b6faec2c53a07601a9 SHA512 5247b1d75efa86b1a1c85a09219f54d402aae8aaecf0e377ca663a984daf7c69ea97b3072fe83a20002ec7d72661ec7737fbc72982122b58c26cb5bc89997548
EBUILD glibc-2.32-r8.ebuild 44853 BLAKE2B 724f95c0ed2cda18dc2edcaa03b0783a2bc603b72a67e1451535040ddc83be6d1a90ad4b30f9623140b5c0a329ecafb6f19793390137e629d43a3c26e202b28a SHA512 0973b86c266e40203e301cf0c6f8fddc4273c002ffb8fd6c16f6e78f2cfdfbea95fda04adfebb8ee84a14dc950763ba706eadadb2e83f7982b800bee636d5d8f
EBUILD glibc-2.33-r1.ebuild 45207 BLAKE2B 0512c0b719895136a6a5ab76e2625805539c8733403d3738ddc5d069f5d74fdc3592e3fa4fd8865d839c179189260fa74f6a37eaa4ae1e26f008eab60484cbf7 SHA512 42c84f34a6559ebd3d957d6a73a757a542f83f34ba32c98bd013b8b392329816f3e2c09c37afb24fbbfb1a6720ccd2321ed3d555102c0b5a0e797a36995eb6f8
-EBUILD glibc-2.33-r3.ebuild 45675 BLAKE2B 886a348dcb1af52e29481d8d1d54089306cde01f9c25f421e499280668879bc04ebb3e982d8ad1b509538e8bbb5af1a50ee4de8ff49d159c516382e80724fd30 SHA512 80a0f651e3694da4e291b0a1afd87eb77f7b662a9e7a58c11b4ca40fe6b39dfeabdfde167cfd9631479e722eec02071d7de807b460ef4c0628fe7894f3d414f4
-EBUILD glibc-2.33-r4.ebuild 46053 BLAKE2B 6053e2bb56ea88d94b82ab26ae71d613c7258763efd2b54966f7bb1a78c72464d1600ccd12858d731ee90906ad4aa56bbacb3fdf2e50012385e7d1aa7d0bd095 SHA512 2cb47f7178c4b4f7d7a2d927c383f175eaaf8d511deff63934f10dfcb74f6cc7adf8e42838433c55a25064828db80626698d66cd6960b7dbc9855cd671bce1be
+EBUILD glibc-2.33-r5.ebuild 46548 BLAKE2B 242f7ec2f124fc172e89e21602a8fda9b1ce0d92ac953237736cc83afedb81fbbc7a2204ee99a2149e86a88310ec5d5d229d2db4be47bc93beec0389fc28c3b0 SHA512 f825bede4d8bc7bfebe030ec987fc90dabade3ab8df53cb163227d9bd81395f52d02819e3c65e996c3e1847d6190e3ca42768aef50b3c70636afb634a29ad3ff
EBUILD glibc-2.33.ebuild 43992 BLAKE2B b5fd1fa3b2e2b727574028241e7805cab448b37d3975502f12140e2cd6cf98784af36393a1116c13ebaa490db3f18b7b20a56bd53343015abc521201c193eb3f SHA512 911c152ce3ff50ff79db9d53b570ff0fcf837549a072656fef8ad429d02788f89d6ee1266605c539dcbcf273aa791cf075043e8b4895eb8d67404be531631086
-EBUILD glibc-9999.ebuild 46313 BLAKE2B 6c01b23e125a0a30799bcd34d51da03732f298192ae02afc7ba31df19f30ebf7371e0ed3eac28553bc3e94f2bf7cfd267d08076333ad9d0550560817f72d4722 SHA512 a472e386bc3ecd0321a41a714daf6299ba96fdbd89d987185d8c9fc7c10767497bce648255cb5951e532bb4925a4a2a8032fa6aad8bfcc086acf836b738f91d7
+EBUILD glibc-9999.ebuild 46809 BLAKE2B d8c1a326a87e25b562c75acd5832ad01b10308338ba1d086e64e68bca9fdcda2a6223d40e700429a326fe92a6a9aaa661cfbf49b2338e69369ca7d8e42482dd8 SHA512 c25c456ecaaa3c26a9efe19fe8c465f0e97014590955d69f3fe79a93003e0a5dff1241e8b3dd6661ca5936fb212be0d49368ffe1c4ef8f7a91eeded2251f2739
MISC metadata.xml 1611 BLAKE2B 3bd777c160ea20cdbd86cca791d9fd4ff02f8d100344235ec74fff37d5cae1e7119e0ec26969707e75a983dcdb23e994559c8be128ef40fa0ec9ed655017466d SHA512 08be6d085ac47b140fff17a3be8cee77e066a4536cdce76fa44c77875dec2a9dc236ff67ff44301abf75cb196d1902feb2a139dda420220248b46dd9cdb16b9f
diff --git a/sys-libs/glibc/glibc-2.33-r3.ebuild b/sys-libs/glibc/glibc-2.33-r3.ebuild
deleted file mode 100644
index e424358c1e97..000000000000
--- a/sys-libs/glibc/glibc-2.33-r3.ebuild
+++ /dev/null
@@ -1,1534 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9,10} )
-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=4
-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.10
-
-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 )"
-
-IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap 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.
-
-# gzip, grep, awk are needed by locale-gen, bug 740750
-
-BDEPEND="
- ${PYTHON_DEPS}
- >=app-misc/pax-utils-0.1.10
- 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 )
- !<net-misc/openssh-8.1_p1-r2
-"
-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
-"
-
-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
- ;;
- 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 ; 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
-}
-
-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
-
- 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 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
- 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
-
- 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
-
- 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 has_version "${CATEGORY}/${PN}[crypt]"; then
- PRESERVED_OLD_LIBCRYPT=1
- preserve_old_lib /$(get_libdir)/libcrypt$(get_libname 1)
- 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
-
- # 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
- preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1)
- fi
-}
diff --git a/sys-libs/glibc/glibc-2.33-r4.ebuild b/sys-libs/glibc/glibc-2.33-r5.ebuild
index a9e53d7039d1..8c7ab1e3d329 100644
--- a/sys-libs/glibc/glibc-2.33-r4.ebuild
+++ b/sys-libs/glibc/glibc-2.33-r5.ebuild
@@ -23,7 +23,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="~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
@@ -34,7 +34,7 @@ GCC_BOOTSTRAP_VER=20201208
LOCALE_GEN_VER=2.10
-GLIBC_SYSTEMD_VER=20210724
+GLIBC_SYSTEMD_VER=20210727
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 )"
@@ -1502,9 +1502,10 @@ pkg_preinst() {
# 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 has_version "${CATEGORY}/${PN}[crypt]"; then
+ if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]"; then
PRESERVED_OLD_LIBCRYPT=1
preserve_old_lib /$(get_libdir)/libcrypt$(get_libname 1)
+ cp "${EROOT}"/usr/include/crypt.h "${T}"/crypt.h || die
else
PRESERVED_OLD_LIBCRYPT=0
fi
@@ -1540,5 +1541,10 @@ pkg_postinst() {
if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then
preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1)
+ cp "${T}"/crypt.h "${EROOT}"/usr/include/crypt.h || eerror "Error restoring crypt.h, please file a bug"
+ elog "Please ignore a possible later error message about a file collision involving"
+ elog "/usr/include/crypt.h. 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 107ec16a0ba7..99426d97e8cf 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -1510,9 +1510,10 @@ pkg_preinst() {
# 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 has_version "${CATEGORY}/${PN}[crypt]"; then
+ if ! use crypt && has_version "${CATEGORY}/${PN}[crypt]"; then
PRESERVED_OLD_LIBCRYPT=1
preserve_old_lib /$(get_libdir)/libcrypt$(get_libname 1)
+ cp "${EROOT}"/usr/include/crypt.h "${T}"/crypt.h || die
else
PRESERVED_OLD_LIBCRYPT=0
fi
@@ -1548,5 +1549,10 @@ pkg_postinst() {
if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then
preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1)
+ cp "${T}"/crypt.h "${EROOT}"/usr/include/crypt.h || eerror "Error restoring crypt.h, please file a bug"
+ elog "Please ignore a possible later error message about a file collision involving"
+ elog "/usr/include/crypt.h. 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/libblockdev/Manifest b/sys-libs/libblockdev/Manifest
index 4fdf881a7d55..332022043e60 100644
--- a/sys-libs/libblockdev/Manifest
+++ b/sys-libs/libblockdev/Manifest
@@ -1,6 +1,8 @@
DIST libblockdev-2.24.tar.gz 905838 BLAKE2B dcc31021d72c2a4f92d8f70387537ec409302e85a9bdb338a09449b02318113d40cabf7fc2f6b4aca819400baccba69a9f67a616b30c744cf843eeac785875e4 SHA512 92b7d734ea2cefbb67e626bef369d6785ba2a4bbbf09a4f59345febe977bc32319fb44f38b3c3177b8652abbc1f87b6cc76d41fdd2d70783c1c168049bdcb1d6
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.24.ebuild 2607 BLAKE2B 8070fda4de97cbb3744f72abe7a26e5a158382569d2af63e094b4983485a29096f672ab9ed97e323e5b2a810697669fc8214e47ed0a685a0de43d16201437c11 SHA512 13fb01f0d87e6f9f92d8c94b59404e08976e98f7d7729801b6d5be1f929aaba2f43ce0b15249ef669fb486e2e463e9946cfa1cb72f08e0b34ea6ef0fa9d9e75a
EBUILD libblockdev-2.25.ebuild 2620 BLAKE2B abdec73cdc1336f734acd7658dc0869f3b05c0653c0cb52b976393f5e4056196cc5e98f5b1072812ae0c593d93eddcf905cb814bb592d3c2b025a738dd08174e SHA512 90894691d584bea79837c9b6c216c7104ffbe59c928ba7c3d7f491cae90650870e12489771c2c62403481580f01d3f331760a61b442a0ffcd40c2666555739e2
-EBUILD libblockdev-9999.ebuild 2613 BLAKE2B ec6cdce6da9278b4ea09c0a004ce5cdd15849759bc67850535c62aa0bbece7c6c7f7591cb61d33460106aed1f701075b1c121fbe381fb4f87dac208f687c68be SHA512 1002a8d5df27e75c546ab71ed6c6db744b566d1e86f8bb1b4b0810c93e466b8c079eb89cae5e083fff5814cc8e3eee39e12a267d83b52d239529d250f513bbcf
+EBUILD libblockdev-2.26.ebuild 2620 BLAKE2B abdec73cdc1336f734acd7658dc0869f3b05c0653c0cb52b976393f5e4056196cc5e98f5b1072812ae0c593d93eddcf905cb814bb592d3c2b025a738dd08174e SHA512 90894691d584bea79837c9b6c216c7104ffbe59c928ba7c3d7f491cae90650870e12489771c2c62403481580f01d3f331760a61b442a0ffcd40c2666555739e2
+EBUILD libblockdev-9999.ebuild 2620 BLAKE2B abdec73cdc1336f734acd7658dc0869f3b05c0653c0cb52b976393f5e4056196cc5e98f5b1072812ae0c593d93eddcf905cb814bb592d3c2b025a738dd08174e SHA512 90894691d584bea79837c9b6c216c7104ffbe59c928ba7c3d7f491cae90650870e12489771c2c62403481580f01d3f331760a61b442a0ffcd40c2666555739e2
MISC metadata.xml 1079 BLAKE2B 927991dfdfefd599210651f76fa8bffbd5a54700791b57847a9ecf85cd1aa04a449eea84c4e1ee3e9eb50e541eab3d97a6218c814a018439aa6f520970a8acca SHA512 492cabe5b464c0bae48e8def1e771a27f28bcd03a47276be26a4351367bcd53e198358f8c0cbf25cd0c6c8e841ee67435b22fbe669bde1a6aa74668e70fa8fc9
diff --git a/sys-libs/libblockdev/libblockdev-2.26.ebuild b/sys-libs/libblockdev/libblockdev-2.26.ebuild
new file mode 100644
index 000000000000..7a897bf92547
--- /dev/null
+++ b/sys-libs/libblockdev/libblockdev-2.26.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit autotools python-single-r1 xdg-utils
+
+DESCRIPTION="A library for manipulating block devices"
+HOMEPAGE="https://github.com/storaged-project/libblockdev"
+if [[ "${PV}" == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/storaged-project/libblockdev.git"
+ BDEPEND="
+ sys-devel/autoconf-archive
+ "
+else
+ MY_PV="${PV}-1"
+ #MY_P="${PN}-${MY_PV}"
+ #SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+ SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ #S="${WORKDIR}/${MY_P}"
+fi
+LICENSE="LGPL-2+"
+SLOT="0"
+IUSE="bcache +cryptsetup device-mapper dmraid escrow gtk-doc introspection lvm kbd test +tools vdo"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.42.2
+ dev-libs/libbytesize
+ >=sys-apps/kmod-19
+ >=sys-apps/util-linux-2.27
+ >=sys-block/parted-3.1
+ cryptsetup? (
+ escrow? (
+ >=dev-libs/nss-3.18.0
+ dev-libs/volume_key
+ )
+ >=sys-fs/cryptsetup-1.6.7:=
+ )
+ device-mapper? ( sys-fs/lvm2 )
+ dmraid? (
+ sys-fs/dmraid
+ sys-fs/lvm2
+ )
+ lvm? (
+ sys-fs/lvm2
+ virtual/udev
+ )
+ vdo? ( dev-libs/libyaml )
+ ${PYTHON_DEPS}
+"
+
+DEPEND="
+ ${RDEPEND}
+"
+
+BDEPEND+="
+ dev-util/gtk-doc-am
+ gtk-doc? ( dev-util/gtk-doc )
+ introspection? ( >=dev-libs/gobject-introspection-1.3.0 )
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ escrow? ( cryptsetup )"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ xdg_environment_reset #623992
+ default
+
+ # https://bugs.gentoo.org/744289
+ find -type f \( -name "Makefile.am" -o -name "configure.ac" \) -print0 \
+ | xargs --null sed "s@ -Werror@@" -i || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-btrfs
+ --with-fs
+ --with-part
+ --without-mpath
+ --without-nvdimm
+ $(use_enable introspection)
+ $(use_enable test tests)
+ $(use_with bcache)
+ $(use_with cryptsetup crypto)
+ $(use_with device-mapper dm)
+ $(use_with dmraid)
+ $(use_with escrow)
+ $(use_with gtk-doc)
+ $(use_with kbd)
+ $(use_with lvm lvm)
+ $(use_with lvm lvm-dbus)
+ $(use_with tools)
+ $(use_with vdo)
+ --without-python2
+ --with-python3
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+ # This is installed even with USE=-lvm, but libbd_lvm are omitted so it
+ # doesn't work at all.
+ if ! use lvm; then
+ rm -f "${ED}"/usr/bin/lvm-cache-stats || die
+ fi
+ python_optimize #718576
+}
diff --git a/sys-libs/libblockdev/libblockdev-9999.ebuild b/sys-libs/libblockdev/libblockdev-9999.ebuild
index 8cd5e5f095e8..7a897bf92547 100644
--- a/sys-libs/libblockdev/libblockdev-9999.ebuild
+++ b/sys-libs/libblockdev/libblockdev-9999.ebuild
@@ -19,7 +19,7 @@ else
#MY_P="${PN}-${MY_PV}"
#SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
#S="${WORKDIR}/${MY_P}"
fi
LICENSE="LGPL-2+"
diff --git a/sys-libs/libstatgrab/Manifest b/sys-libs/libstatgrab/Manifest
index e96bd2e719ea..c93fcd22d737 100644
--- a/sys-libs/libstatgrab/Manifest
+++ b/sys-libs/libstatgrab/Manifest
@@ -1,3 +1,3 @@
DIST libstatgrab-0.92.tar.gz 815262 BLAKE2B d8ca538f01d9e0b1d5c459c9c0da6df5b6806e02649d726c3ee8a2f69233a7183df6dda95980a8e6f8b438478ec28f4baa9d623d5372e5e3e28ea4909e905872 SHA512 a99c6be56d930779d0d8f6f81e64e2f31e19423009c39e925b39116a42aa2c6037651992ac2168c43a5c6ecadf3e4a58486ab6148cf96118c429b04fdcf65192
-EBUILD libstatgrab-0.92.ebuild 900 BLAKE2B 738aa0660e92467ae094ac2a6d7402445285ac8f5c2878eaf71cd9c458af3a7f8db715cdb436ae0cd847614204f4c76f9e5ad31ef257719d4173dd14677896b3 SHA512 2b1aee4c58ed0b05f2b49f491844cc313d29ee41ff8dd430d9fba532da32f21471960e456e7946969f15684e09403b05d4daccec6388b3b3b7687887c2627151
+EBUILD libstatgrab-0.92.ebuild 907 BLAKE2B 1a2c876d909a5604c18a5ebcdd13c7fa09da40b8832d5d7c5eab9afcb07d124ad822a46ca930e1d1ecaf7450e1e6dee93b4021f833623b6d3df1eeade8d5fa49 SHA512 3340b4cea675409607ab4644971452e14d72292bd794126fdf9617b7e601853e454226a50784056635482cf4828c2d479a1006871740f5050f3977b6d0f76eb2
MISC metadata.xml 255 BLAKE2B ba7d0981de71831366e07fb905548792571c3660154eed0b3988fb0e57ae92e133bfa15076550b754fbe848d07956764d68f03aa293270aba07d459561298301 SHA512 d099268b71914186aa1cb481cffe2d080ad5b16aa720a3d76e8d012e5adcca479bbbffb72c50a76bf95535bb5c89525b51786157c66476a0431e3bff317b0ece
diff --git a/sys-libs/libstatgrab/libstatgrab-0.92.ebuild b/sys-libs/libstatgrab/libstatgrab-0.92.ebuild
index 0e29607923b6..4a87ed781b6c 100644
--- a/sys-libs/libstatgrab/libstatgrab-0.92.ebuild
+++ b/sys-libs/libstatgrab/libstatgrab-0.92.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scream/libst
LICENSE="|| ( GPL-2 LGPL-2.1 )"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ~riscv x86"
IUSE="examples"
RDEPEND="sys-libs/ncurses"
diff --git a/sys-libs/libxcrypt/Manifest b/sys-libs/libxcrypt/Manifest
index 6083800a38b1..7bc0a71f0e61 100644
--- a/sys-libs/libxcrypt/Manifest
+++ b/sys-libs/libxcrypt/Manifest
@@ -1,5 +1,3 @@
-AUX libxcrypt-4.4.12-multibuild.patch 636 BLAKE2B 51fdf0b0f3ffe209c270cc2ff4bec7ea458bc5ec5267415aea8b7e151c24c49b70c7f12f1172c460e660fbbdf97901b833c5bc5e431e94e93341335da64ce686 SHA512 f7f581cf4ac375d4ff33b70f3d09ce7e9db88f6cae487303d62ff0f09abbff99c35cee4d4f774bf7360e496f3c92bf813424ea58f9d1aeded9e44449844e4974
-AUX libxcrypt-4.4.12-pythonver.patch 616 BLAKE2B 73c7039127b23c075a7b8e5bc897299c3e083bece50638d025649e2146325f78fa82427b7690f0df3e5a0eeb0fc66ddb13992e0d14ccf8380fc11f641c2d90a1 SHA512 dffbbfe09c4c8a93e1f6cf63acb5f237ce143585fe22eeb7c44f6929131137011c1777184f802ad86bda2e2c64de60131f6dbe18c8c309d6848d330c1cb13364
AUX libxcrypt-4.4.19-multibuild.patch 303 BLAKE2B cd342eef2a8ce3e305e544d37373370748690878b4171709028b7b894ad2c76c9188496ab089a46645ad6f9fca09fa4f89cdcb444e1400747ee358c079441661 SHA512 3cbd4bbd0827801faaaa2198eccccb285100cdfc43525b70816121aa70b32dc2c8479c53e16b9e99920926b1b11014dcc19909c4f72a09d9d19fcdb0fa6350cd
DIST libxcrypt-4.4.20-autotools.tar.xz 628688 BLAKE2B 4c23af2a765495758e52c8e95d53d1c1d911fea011375160c4f10e468939734fcc7198cc327fafa4d5c90afa6d4c56dfe6d1b56c2c17bbc015b44cffcd7bcc8b SHA512 5b7504e9d83df12af7d11864e88d1034ed9ce0a837ef061044c5c7fe603d7f3e5613ddf20b30613a7943735120cd058f2117401d59879afcba34ce0e48ae62ee
DIST libxcrypt-4.4.23-autotools.tar.xz 630204 BLAKE2B a1c82906f59f6d0ed8f00de8fecf2c3c20608f0e3422bc0692b290c4eefd536019395e28b380031ae16be4ef37671327aca20dc63ca0367f73c2e85dfa5e3199 SHA512 30acea7e643a87d2c032c97ad8ca6c8c445c2e4af66d22906e332311a5b54a6905cc7ca74af7215a2e9ca362e1af2a8a3be8b3e0f0872f42ce0e5ea3e63bad46
diff --git a/sys-libs/libxcrypt/files/libxcrypt-4.4.12-multibuild.patch b/sys-libs/libxcrypt/files/libxcrypt-4.4.12-multibuild.patch
deleted file mode 100644
index 806213036886..000000000000
--- a/sys-libs/libxcrypt/files/libxcrypt-4.4.12-multibuild.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 26db1c1..597c3f4 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -84,11 +84,7 @@ noinst_HEADERS = \
- test/des-cases.h \
- test/ka-table.inc
-
--if ENABLE_XCRYPT_COMPAT_FILES
- nodist_include_HEADERS += xcrypt.h
--else
--nodist_noinst_HEADERS += xcrypt.h
--endif
-
- noinst_PROGRAMS = \
- lib/gen-des-tables
-@@ -137,7 +133,7 @@ uninstall_hook_targets = \
- uninstall-hook-pkgconfig
- install-data-hook-pkgconfig:
- cd $(DESTDIR)$(pkgconfigdir) && \
-- $(LN_S) libxcrypt.pc libcrypt.pc
-+ $(LN_S) -f libxcrypt.pc libcrypt.pc
- uninstall-hook-pkgconfig:
- -rm -f $(DESTDIR)$(pkgconfigdir)/libcrypt.pc
-
diff --git a/sys-libs/libxcrypt/files/libxcrypt-4.4.12-pythonver.patch b/sys-libs/libxcrypt/files/libxcrypt-4.4.12-pythonver.patch
deleted file mode 100644
index 048a8ebe0a70..000000000000
--- a/sys-libs/libxcrypt/files/libxcrypt-4.4.12-pythonver.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 1e74bb1..4249fb5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -241,11 +241,7 @@ ENABLE_KA_TABLE_GEN="no"
- # This way we just need one call to AC_PATH_PROGS to likely get a
- # suitable version of Python. The version check afterwards is for
- # the case just a generic 'python3' or 'python' executable was found.
--PYTHON_CANDIDATE_VERSIONS="python3 python"
--
--for ver in `seq 6 1 10`; do
-- PYTHON_CANDIDATE_VERSIONS="python3.$ver $PYTHON_CANDIDATE_VERSIONS"
--done
-+PYTHON_CANDIDATE_VERSIONS="${EPYTHON}"
-
- AC_PATH_PROGS([PYTHON], [$PYTHON_CANDIDATE_VERSIONS], [])
-
diff --git a/sys-libs/nss_wrapper/Manifest b/sys-libs/nss_wrapper/Manifest
index dd45a480589c..3f7b91cde8bc 100644
--- a/sys-libs/nss_wrapper/Manifest
+++ b/sys-libs/nss_wrapper/Manifest
@@ -1,5 +1,5 @@
DIST nss_wrapper-1.1.10.tar.gz 89593 BLAKE2B 9f478f87acbe9a842edf443ddfc45642621cee22dd03342cfb7dcc03fd4b188950a43527d3b332b03714729f7f57cf072b77ffb38574b98124dfdbb4b03f227d SHA512 7c2f0eccdb3535643015aea8b4bdb87b421c3575c3124b62c8f17c9d3db54d92ba012524674c41c16f02a1b6ebe4177724f04eefdc04760ca49b32d3f77910c5
DIST nss_wrapper-1.1.6.tar.gz 57893 BLAKE2B 4952b1af2b2b0487104b650b98694e5d39aed9edb44992d22e10ea38a2c4009f076aafa36f43775a021eca5b1f2708c9f42fa711d6715c43b077a9a3341570e8 SHA512 213d611abc072cb8d098b0782f661b4cdf1dcfd04fb564fb05034f023197aeed15a684478c660c00fb72f9438a192914e7b6878e505e4380435534bef52e0328
-EBUILD nss_wrapper-1.1.10.ebuild 406 BLAKE2B 9c7f1db9406e4d19353b3aa905030a59f2a66efaf5ba59d13c33e8a57636685f2cf334819bd6b7ff93f5b2c25677296189b8d500d0108262c260e2a354baaf89 SHA512 5cdab07c6b3373f84cca9e8fb751c2cf23e1893352a8ab4ace9dc2d6bdc4a974214c12cc7b1869da92496b7f03b3857d0181d722dd78fe2433647ef0df47757d
+EBUILD nss_wrapper-1.1.10.ebuild 413 BLAKE2B b7781e99411e4ff85fb57c52bbc5a63783c1bd5546a0ab52e004a35cb98f0d2abe670ce692d02b8431ffa431503f60f8061f0d738b4438814d40934928b5340a SHA512 7b10ce54fef28cf6d693a8549dd8069d8cf63b71a6b5d5f21d099f09213f6c09d55d276410e9b3b2b19b41a3dee46ad8fbb19093ab10adb766c00c44f4bcd30a
EBUILD nss_wrapper-1.1.6.ebuild 406 BLAKE2B 9c7f1db9406e4d19353b3aa905030a59f2a66efaf5ba59d13c33e8a57636685f2cf334819bd6b7ff93f5b2c25677296189b8d500d0108262c260e2a354baaf89 SHA512 5cdab07c6b3373f84cca9e8fb751c2cf23e1893352a8ab4ace9dc2d6bdc4a974214c12cc7b1869da92496b7f03b3857d0181d722dd78fe2433647ef0df47757d
MISC metadata.xml 249 BLAKE2B 274f77317bba157c3ad4c3e9827ce5ce934c855b8bd41e603df69f1343c296abf7faec755a56f5f8d0e76f43058156e95480a386494265385604401e70484acf SHA512 940515e5f54189b5ba3c1118ea45f679182c9075091ade1959b197a6dc5fba894cd52cd0289e00a4a139b1cd3c6563771a1e21d2baa460a25892b0fa20e819a8
diff --git a/sys-libs/nss_wrapper/nss_wrapper-1.1.10.ebuild b/sys-libs/nss_wrapper/nss_wrapper-1.1.10.ebuild
index 5c9ce92a6146..f501d9ba9041 100644
--- a/sys-libs/nss_wrapper/nss_wrapper-1.1.10.ebuild
+++ b/sys-libs/nss_wrapper/nss_wrapper-1.1.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,4 +12,4 @@ SRC_URI="https://ftp.samba.org/pub/cwrap/${P}.tar.gz"
LICENSE="BSD"
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"
diff --git a/sys-libs/tdb/Manifest b/sys-libs/tdb/Manifest
index 9e2441872825..14876fee8e9d 100644
--- a/sys-libs/tdb/Manifest
+++ b/sys-libs/tdb/Manifest
@@ -1,5 +1,7 @@
DIST tdb-1.4.3.tar.gz 702836 BLAKE2B 6593c3be527b383a7e8fd85b3613cf2429f6b665a7c609a56f57a6f5b41a080c1a681d712afd423c2bc1c741e06d7cd2c90949d9c5bf78ca834b18c64e23d51c SHA512 99488839e7da396f04df60412d21a7d3e09efeab52772d6cb5e9470a3dfd585d73ef2422c51cd0d8ccc123a65d455de400d5d6b24a21a2a50d3da60d9a70e67a
DIST tdb-1.4.4.tar.gz 714367 BLAKE2B fdd84fc76a428b3b98ca481a9ef42c46d21f67f6ca8d92a90e6f0c1d24aa8f1f3b773c8fdcb43b572f8a1441349af491cb5d4ad9440d0b95fb51b89591510e27 SHA512 ef0a997aacebcc804e84ec4a14de8189513ddd1083ba677e421269c21a94f5ca8fc188185645855e5ef81417f4843c8649417ff28f286b768d690907d5d4cb07
+DIST tdb-1.4.5.tar.gz 729650 BLAKE2B 5d8a226cf251268d70f68759fb792628559fa3b10e7843d1a53914ea24f0ceca61fe0c3f348d704ebc8df4c56fe2365690b585b1c96cf53d63ecae1960aca58a SHA512 373b2ce5b2c68fbc28b7679f0e7531115b91ddc6a68b27acada39b995f66b508b19f24d712fc4388654199abd69857e53ebd435d1ed47e3a69ba85ff667fed56
EBUILD tdb-1.4.3.ebuild 1390 BLAKE2B dd53828ff444e148af6dca3f49e3ebda352539e6d6eefa343150159d856ac7c3696e7974a479f4b5aeff96bae69dc66b89c0b57a0b132a772531787ec7c7b8cb SHA512 be7b77a732c8d106dc013e7a1d3b4c51f0c0226cad7fccd14c3886e91ada643bc9c5adf1549315ce008ffc45c2d3191ada3d47ad47accdd99753365f907f2fc7
EBUILD tdb-1.4.4.ebuild 1405 BLAKE2B 8290e5e8a488deeb14238ed5be795b8a763922339448fd62b21f8a6627dce6a58535acee7a0b0e1137477cb8d53fcd530e63b718526227db91438c75893243fc SHA512 b00e032edab9c0392d782e6c3ffcea779fe01363531b7573e664437a5f56054726a645f510669b35f2fc51d09ec744a1e15436d15415546bacf65ee0eb3a5515
+EBUILD tdb-1.4.5.ebuild 1415 BLAKE2B 83de60c8ab49fd019848d687f11693b3b8bb2598f0eee55c2ff7251c34cd4e8cb297150bcd37df9aefe6c04d128823dd74f31cddbe5fcf949c764d07deb4000a SHA512 faf7c7989bb23bbdb61f57e2b42fa100baeaa930e6c240ed8d1cae3622e7437dbceda1595a464c4739a2320851cb2d539ec08b0b664bd1a68e2d64000c3ced46
MISC metadata.xml 244 BLAKE2B d1692c5795a32dd5189e7374f1821bb98cd9efe798e851c04aab69aeab42c100e910d7a4532757f9f83bf1b345aa8e7adcfb3b6dba412dda8d4796313b833958 SHA512 d5cb5e719f70141aa6d7783bb63ebfd6158e9af82700041559c92ed45c688c6162b19a3d1ece204c9bf6cd92f2e7513ef8cc780bd442b312a9a3650a0232a34b
diff --git a/sys-libs/tdb/tdb-1.4.5.ebuild b/sys-libs/tdb/tdb-1.4.5.ebuild
new file mode 100644
index 000000000000..e16b6ec87c6d
--- /dev/null
+++ b/sys-libs/tdb/tdb-1.4.5.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="threads(+)"
+inherit waf-utils multilib-minimal python-single-r1
+
+DESCRIPTION="Simple database API"
+HOMEPAGE="https://tdb.samba.org/"
+SRC_URI="https://samba.org/ftp/tdb/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="test"
+
+RDEPEND="
+ !elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ app-text/docbook-xml-dtd:4.2"
+
+WAF_BINARY="${S}/buildtools/bin/waf"
+
+src_prepare() {
+ default
+ python_fix_shebang .
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local extra_opts=()
+ if ! multilib_is_native_abi || ! use python ; then
+ extra_opts+=( --disable-python )
+ fi
+
+ waf-utils_src_configure "${extra_opts[@]}"
+}
+
+multilib_src_compile() {
+ # need to avoid parallel building, this looks like the sanest way with waf-utils/multiprocessing eclasses
+ unset MAKEOPTS
+ waf-utils_src_compile
+}
+
+multilib_src_test() {
+ # the default src_test runs 'make test' and 'make check', letting
+ # the tests fail occasionally (reason: unknown)
+ emake check
+}
+
+multilib_src_install() {
+ waf-utils_src_install
+}
diff --git a/sys-libs/uid_wrapper/Manifest b/sys-libs/uid_wrapper/Manifest
index 7a07740d72e7..20d57d79faa2 100644
--- a/sys-libs/uid_wrapper/Manifest
+++ b/sys-libs/uid_wrapper/Manifest
@@ -1,5 +1,5 @@
DIST uid_wrapper-1.2.7.tar.gz 47580 BLAKE2B f33a2a29a3e61315ae48317b759898cabcfcc50f72a7fac9388b2b5791a76f66e88a6339ca45c319df102354d592d6a26c8046193b7c4d07c4e4ce3f4031672e SHA512 ed906638ded4fbd981212f38de66112e65514b618bda6b1bda85a915c00691d471859df7c8dc7915b546e5c8e107e2e07e6b3a841fcebeedc8cf4b18e5c16f1a
DIST uid_wrapper-1.2.8.tar.gz 47864 BLAKE2B d165954b4418ee23c7564d809a3c2189fc43c91822c8e4a73bdf6ea8e1621156bf0a29097b07a4d8b31ea1d10af35c3be367c4ca8f1e13db1b430f297b47b6ea SHA512 536f353f35e84ffd350a3cd5a96ff30e7b1fd4ba455dbe34fd232ed1a14b061351110c7e0cb4376a27cbde1eda789ef93e635ffa2e9948cadc41c2f1fdcfc3b5
EBUILD uid_wrapper-1.2.7.ebuild 448 BLAKE2B 82427f8b6b11ccd7956351dffa127d41b48c9fe106d127ff1b676b1b461a7254405fb62b673ef02d0ab36a07ec2ab22512db5bc87d5bf3e2c471099890b120aa SHA512 9a3acb300189688453139b1e58d5cb0a6cf41d3ac4729c1cdaef42fd7a8993d68ac151eb8b03257acab41daa2a71f63b173ec53c85037e58ea2dca9e6f0983a5
-EBUILD uid_wrapper-1.2.8.ebuild 448 BLAKE2B 82427f8b6b11ccd7956351dffa127d41b48c9fe106d127ff1b676b1b461a7254405fb62b673ef02d0ab36a07ec2ab22512db5bc87d5bf3e2c471099890b120aa SHA512 9a3acb300189688453139b1e58d5cb0a6cf41d3ac4729c1cdaef42fd7a8993d68ac151eb8b03257acab41daa2a71f63b173ec53c85037e58ea2dca9e6f0983a5
+EBUILD uid_wrapper-1.2.8.ebuild 455 BLAKE2B 291a112c20782272eb9b98e2368d128b173cf79aaa85bcadffdce06530c2b32905f56b3e9a074f4f22f2648b63fa0bafb313b10cd794cb9cccb59b3cc3cde26c SHA512 0b2c3106133598064d9bfd7aa7620c43a2b333289f2f3e481710367acbb3eedbf5affd271e57314f85e2c633098bc3cec7df4162c74d36757f8608b1a8513bd9
MISC metadata.xml 249 BLAKE2B 274f77317bba157c3ad4c3e9827ce5ce934c855b8bd41e603df69f1343c296abf7faec755a56f5f8d0e76f43058156e95480a386494265385604401e70484acf SHA512 940515e5f54189b5ba3c1118ea45f679182c9075091ade1959b197a6dc5fba894cd52cd0289e00a4a139b1cd3c6563771a1e21d2baa460a25892b0fa20e819a8
diff --git a/sys-libs/uid_wrapper/uid_wrapper-1.2.8.ebuild b/sys-libs/uid_wrapper/uid_wrapper-1.2.8.ebuild
index 00c61d6d09c3..efd18e300af7 100644
--- a/sys-libs/uid_wrapper/uid_wrapper-1.2.8.ebuild
+++ b/sys-libs/uid_wrapper/uid_wrapper-1.2.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,4 +13,4 @@ SRC_URI="https://www.samba.org/ftp/pub/cwrap/${P}.tar.gz
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"