summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin14380 -> 14398 bytes
-rw-r--r--sys-libs/binutils-libs/Manifest5
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild2
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.43.ebuild172
-rw-r--r--sys-libs/compiler-rt-sanitizers/Manifest16
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.8.ebuild3
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.1.0_rc2.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0.9999.ebuild)0
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0.9999.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240623.ebuild)0
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240808.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240630.ebuild)0
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240815.ebuild220
-rw-r--r--sys-libs/compiler-rt/Manifest18
-rw-r--r--sys-libs/compiler-rt/compiler-rt-16.0.6-r4.ebuild2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-18.1.8.ebuild2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-19.1.0_rc2.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-19.0.0.9999.ebuild)1
-rw-r--r--sys-libs/compiler-rt/compiler-rt-20.0.0.9999.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-19.0.0_pre20240623.ebuild)1
-rw-r--r--sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240808.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-19.0.0_pre20240630.ebuild)1
-rw-r--r--sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240815.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-16.0.6.ebuild)21
-rw-r--r--sys-libs/efivar/Manifest4
-rw-r--r--sys-libs/efivar/efivar-39.ebuild70
-rw-r--r--sys-libs/efivar/metadata.xml2
-rw-r--r--sys-libs/glibc/Manifest7
-rw-r--r--sys-libs/glibc/glibc-2.39-r9.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.40.ebuild1744
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild3
-rw-r--r--sys-libs/kpmcore/Manifest4
-rw-r--r--sys-libs/kpmcore/kpmcore-23.08.5.ebuild1
-rw-r--r--sys-libs/kpmcore/kpmcore-24.05.2.ebuild3
-rw-r--r--sys-libs/libcap/Manifest2
-rw-r--r--sys-libs/libcap/libcap-2.70.ebuild2
-rw-r--r--sys-libs/libcxx/Manifest15
-rw-r--r--sys-libs/libcxx/libcxx-18.1.8.ebuild2
-rw-r--r--sys-libs/libcxx/libcxx-19.1.0_rc2.ebuild (renamed from sys-libs/libcxx/libcxx-19.0.0.9999.ebuild)0
-rw-r--r--sys-libs/libcxx/libcxx-20.0.0.9999.ebuild (renamed from sys-libs/libcxx/libcxx-19.0.0_pre20240623.ebuild)0
-rw-r--r--sys-libs/libcxx/libcxx-20.0.0_pre20240808.ebuild (renamed from sys-libs/libcxx/libcxx-19.0.0_pre20240630.ebuild)0
-rw-r--r--sys-libs/libcxx/libcxx-20.0.0_pre20240815.ebuild201
-rw-r--r--sys-libs/libcxxabi/Manifest15
-rw-r--r--sys-libs/libcxxabi/libcxxabi-18.1.8.ebuild2
-rw-r--r--sys-libs/libcxxabi/libcxxabi-19.1.0_rc2.ebuild (renamed from sys-libs/libcxxabi/libcxxabi-19.0.0.9999.ebuild)0
-rw-r--r--sys-libs/libcxxabi/libcxxabi-20.0.0.9999.ebuild (renamed from sys-libs/libcxxabi/libcxxabi-19.0.0_pre20240623.ebuild)0
-rw-r--r--sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240808.ebuild (renamed from sys-libs/libcxxabi/libcxxabi-19.0.0_pre20240630.ebuild)0
-rw-r--r--sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240815.ebuild110
-rw-r--r--sys-libs/libhx/Manifest9
-rw-r--r--sys-libs/libhx/files/libhx-3.22-no-lyx.patch12
-rw-r--r--sys-libs/libhx/libhx-3.24-r1.ebuild39
-rw-r--r--sys-libs/libhx/libhx-3.25.ebuild39
-rw-r--r--sys-libs/libhx/libhx-4.24.ebuild (renamed from sys-libs/libhx/libhx-4.21.ebuild)3
-rw-r--r--sys-libs/libnvme/Manifest2
-rw-r--r--sys-libs/libnvme/libnvme-1.10.ebuild76
-rw-r--r--sys-libs/libomp/Manifest15
-rw-r--r--sys-libs/libomp/libomp-18.1.8.ebuild2
-rw-r--r--sys-libs/libomp/libomp-19.1.0_rc2.ebuild (renamed from sys-libs/libomp/libomp-19.0.0.9999.ebuild)0
-rw-r--r--sys-libs/libomp/libomp-20.0.0.9999.ebuild (renamed from sys-libs/libomp/libomp-19.0.0_pre20240623.ebuild)0
-rw-r--r--sys-libs/libomp/libomp-20.0.0_pre20240808.ebuild (renamed from sys-libs/libomp/libomp-19.0.0_pre20240630.ebuild)0
-rw-r--r--sys-libs/libomp/libomp-20.0.0_pre20240815.ebuild88
-rw-r--r--sys-libs/libselinux/Manifest8
-rw-r--r--sys-libs/libselinux/libselinux-3.5-r1.ebuild161
-rw-r--r--sys-libs/libselinux/libselinux-3.6-r1.ebuild2
-rw-r--r--sys-libs/libselinux/libselinux-3.7-r1.ebuild (renamed from sys-libs/libselinux/libselinux-3.7.ebuild)6
-rw-r--r--sys-libs/libselinux/libselinux-9999.ebuild6
-rw-r--r--sys-libs/libsemanage/Manifest4
-rw-r--r--sys-libs/libsemanage/libsemanage-3.4-r1.ebuild130
-rw-r--r--sys-libs/libsemanage/libsemanage-3.5.ebuild130
-rw-r--r--sys-libs/libsepol/Manifest6
-rw-r--r--sys-libs/libsepol/libsepol-3.5.ebuild50
-rw-r--r--sys-libs/libsepol/libsepol-3.7.ebuild19
-rw-r--r--sys-libs/libsepol/libsepol-9999.ebuild19
-rw-r--r--sys-libs/libucontext/Manifest5
-rw-r--r--sys-libs/libucontext/files/libucontext-1.1-respect-CFLAGS.patch13
-rw-r--r--sys-libs/libucontext/libucontext-1.3.1.ebuild (renamed from sys-libs/libucontext/libucontext-1.1-r1.ebuild)28
-rw-r--r--sys-libs/libudev-compat/Manifest2
-rw-r--r--sys-libs/libudev-compat/libudev-compat-186-r1.ebuild4
-rw-r--r--sys-libs/llvm-libunwind/Manifest15
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-18.1.8.ebuild2
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-19.1.0_rc2.ebuild (renamed from sys-libs/llvm-libunwind/llvm-libunwind-19.0.0.9999.ebuild)0
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-20.0.0.9999.ebuild (renamed from sys-libs/llvm-libunwind/llvm-libunwind-19.0.0_pre20240623.ebuild)0
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240808.ebuild (renamed from sys-libs/llvm-libunwind/llvm-libunwind-19.0.0_pre20240630.ebuild)0
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240815.ebuild128
-rw-r--r--sys-libs/minizip-ng/Manifest6
-rw-r--r--sys-libs/minizip-ng/minizip-ng-4.0.5.ebuild6
-rw-r--r--sys-libs/minizip-ng/minizip-ng-4.0.7.ebuild (renamed from sys-libs/minizip-ng/minizip-ng-4.0.4.ebuild)14
-rw-r--r--sys-libs/musl/Manifest7
-rw-r--r--sys-libs/musl/musl-1.2.4-r2.ebuild2
-rw-r--r--sys-libs/musl/musl-1.2.5-r1.ebuild3
-rw-r--r--sys-libs/musl/musl-1.2.5.ebuild203
-rw-r--r--sys-libs/musl/musl-9999.ebuild2
-rw-r--r--sys-libs/pam/Manifest2
-rw-r--r--sys-libs/pam/pam-1.6.1.ebuild2
-rw-r--r--sys-libs/pkgcraft/Manifest2
-rw-r--r--sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild92
-rw-r--r--sys-libs/readline/Manifest7
-rw-r--r--sys-libs/readline/readline-8.2_p13.ebuild263
-rw-r--r--sys-libs/zlib-ng/Manifest2
-rw-r--r--sys-libs/zlib-ng/zlib-ng-2.1.7.ebuild91
93 files changed, 3443 insertions, 940 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index 8641d53b0364..1396b330bdac 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 9248aa8735d5..8e00f3d03758 100644
--- a/sys-libs/binutils-libs/Manifest
+++ b/sys-libs/binutils-libs/Manifest
@@ -18,6 +18,8 @@ DIST binutils-2.41.tar.xz 26765692 BLAKE2B 3bccec2b52f7e82a727121bf2a2e51a6249ba
DIST binutils-2.42-patches-3.tar.xz 34768 BLAKE2B e4bfaf3b42147408a8a3dcb00f50378a6b49aef8e939731a92598680cfbf42dfdf842c3f5bf3458867f79c534eb92385bc64f34f7b1d6462ec4182b5f424fbe5 SHA512 3d75e0684bbfa2cc3fc6dfcb5488ac571db58f1a5833fcc754f231664137001ccb0f2ec750947b8021fa12daf614eb2cd21b598bd962d71a34bb8ea38805850d
DIST binutils-2.42-patches-6.tar.xz 50664 BLAKE2B f13b65a761cfba80caf2e4740c6383b40305558365b950fba22aca95a104e799e8bd476082f36fb9288de4f224b09f317792c1444e549c40d15a4b64cdf61989 SHA512 1203eca0a9e622411eac377509de8fd0db3ffcb282ac38ab7a0369b166cc1091197daad85b51b145b34a4832f1a1a4d573c8254e8d67aeb22f35adb1ab3ece1f
DIST binutils-2.42.tar.xz 27567160 BLAKE2B e67a5c028fba70e70088fd11b38ec8c9c4ed5a019badefda25abeb6275997b16f0891e7ff3424c4b82bbfae92e8992669826920dd53df61cd48469d8f7cd5bd1 SHA512 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6
+DIST binutils-2.43-patches-1.tar.xz 11644 BLAKE2B 578ee67c3c5e67f9191a31a5c83ffcc781f757f8aaee3eea14d052db427cdd2bc769977dba16e9a8c653dcc4a94f11c149898683945d5035d0beeac128045b1a SHA512 e6db4eaf4fbea366e607a7e9a56e20851fcc34664532fd6aa1f0818271c3e2687eada3daca482e211a2b3e36be85e7e0b23158caaa0fdf9785d13a9156e8c734
+DIST binutils-2.43.tar.xz 28175768 BLAKE2B 28b0a04a28273b76eab2d00e00160be889f155f77f5a9d8759ef8dce505c97e97641bf7ec70b92b731b520570a02b06e04e8215b068fcb1bb2573e9ef24732d9 SHA512 93e063163e54d6a6ee2bd48dc754270bf757a3635b49a702ed6b310e929e94063958512d191e66beaf44275f7ea60865dbde138b624626739679fcc306b133bb
EBUILD binutils-libs-2.34-r2.ebuild 3659 BLAKE2B d3e8be6e6c01b326a581d27114156992844c17469737362b591c3eaa34cf7b39add758958e47495d86a3dba8e9522a636ae4c5ddb0d8a88eea4bec4d28e18a69 SHA512 bcd69ed536af7e9aed217a33775fb18811243f78c343dc6c93089aa3a6d635e09332eefe66e10eedb9780ba2a88b229fa2e23b4f0ab0210e616255c554adb435
EBUILD binutils-libs-2.35.2.ebuild 4081 BLAKE2B 8ee0c24af580893e14d6d9d08a472549bd3672e6465c02c1e9340df0e674ba0f1398637a4679aafbd26f885bd7f66c6961e71939c79b8bca2ca8fcabb7b837d5 SHA512 e74b8669b7d6ff08f95a6e94e0aa3a5d545aee4f83ae2f968e92293c27b32fe01f2b271e608e6a801ebecc4f7cad3eec50fefd8028b760103c271bde33491c2a
EBUILD binutils-libs-2.36.1-r2.ebuild 4034 BLAKE2B 73f30ce764dc69438ae101908b5d09013f0f9db53741183c21f4e27bdb3bb3236807adaa0c1acadc7f239f539762cb98d138cd6d08a5a68b73eece1f6c05c5d8 SHA512 c57d84f43279c965c39457d9f98e16b8d3c2e30caa8cdc9e4a7ddfa960e91dedef13438e27ec03143e8005a842c8031726e399156cfdb371769075e4543cc06d
@@ -26,6 +28,7 @@ EBUILD binutils-libs-2.38-r2.ebuild 4784 BLAKE2B 468b3cfd01e4ec3b9543cbe001f98b3
EBUILD binutils-libs-2.39-r5.ebuild 4792 BLAKE2B afbecc0ee2e52b99eff9a25194d36d1a3e51c984723b154d39297231fb5c099d85d75aecfd4c271ae4c0c4d891a9393e8402f90b1a61dc81c433d72bc39c4512 SHA512 e31e70d39ed2e09b87ef3149f4e1f4bf00f3ef2b66fc08cffd635a342db31229b44bf9cd011a0a2b802686a4ba43bbaf738120eea4b17380520f08950c05db9e
EBUILD binutils-libs-2.40-r7.ebuild 5030 BLAKE2B 3d4d3e70abf61164fe100d7e6d51febbefbf65d3d998075c598da8ab2b613ad9f3bfb9f6de57f014b95798f9fc54316e2084c740dabc68d1bb7d09286b89f903 SHA512 38350894368bf21bd544a69dab70f5dd2792d63dc065418716a3eb96c080700c6462fd300eda6fb83d450fd8c811df55e1b8452736e9e8c5750e139211eb4254
EBUILD binutils-libs-2.41-r5.ebuild 5212 BLAKE2B a32307783cf1db07a2f70b8400f968c5122f6bda2bf9dd14ef2ed2af17bae1ea895ea3c55733cdaf3c6a1c3bc087e369556df39de28234ae2210e2d142e1621f SHA512 76992ea90e534b80d502638227b315af07af32e2150413a89690b8936477452d8622993de7a1fb87fc971fefd9708b55969a1d207a6931981123d66f518cb924
-EBUILD binutils-libs-2.42-r1.ebuild 5363 BLAKE2B bfbb1cafa370501eb3a1f43f7213f02db36960010dc792ce26d4cd77b63142da4651ce4b7cc9543e5e41fb59da9b506d177ac115112724b21deb5d47a185a6e4 SHA512 87cd941145a38bafa6b2749708a87523a55565bc6394a1f78dc097c32f15e90f1025bea5be87758bdf52cc4db85945a18b6b076e472233785c06c44ae55ddde4
+EBUILD binutils-libs-2.42-r1.ebuild 5361 BLAKE2B a147b5fbeafcfa375e45b3c1054b8aafb3d36775491b1781fa613cd8bf54dcea82365a026cefc8f0a68fc4b7ef3ea12e0d8f6fbb3483529e631f8341c3e921fa SHA512 9398f13b87a291cd442f2bcad2774f1d1e4a6cbfda17bb87e93dd39a6b53b61d4ab6bab3b54b4d30536b2653c1762bd3c5d42d23c4d270455a4da40a7c67cb92
EBUILD binutils-libs-2.42-r2.ebuild 5369 BLAKE2B 0af7396a8481f12342721b85eff1078805b3fdcb145d7fcbddf9dd5071790ce5638c72a09de71831f17819ad80e2b6039c93dc539dca4bef5913d72721385f0b SHA512 45c6c26e342b3493f22088c3ab1d2f2790d8a7b90edb65a4a647038c3882fd02ffe1fd076d4075428c0cd2cba58aaf0b13fece322de46104a566213bdc64bf82
+EBUILD binutils-libs-2.43.ebuild 5362 BLAKE2B c10fca4f08ed9d0db4b0368f135066f1c8be9248da7e95daf1549b6c3ec19500cc2885d2dc637224d7992a9ad376231bae0bfca1a61b1f0ef2bbd1a8595aa043 SHA512 2aa65973e37e37570a76ceca5445f1ae9308a6c089bfbeed0492d3eb747cbc9e0d70523e3d0e7cd0ae9666198c38d534b509aca9f3976bd8e64c71c80c5cdbc7
MISC metadata.xml 612 BLAKE2B ceaafd9fd1421e9f3993e003d0029c92a78054c7a2b90bd78afc05370ad19c931c6a7c150545cfb7d57165168e0fdaf3a00dde1905b328826a91cbc70d9548a8 SHA512 c8d33bb8d1c62c7e95758624ed0febbc9d40e9f141bfd280837b3207bcd771412158d71c0cb5548d60be0b236f6fe103621daf7efa8875191982859b566ffa8d
diff --git a/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild b/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild
index fcdeb9f8509b..f65d2425ff94 100644
--- a/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild
+++ b/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild
@@ -24,7 +24,7 @@ LICENSE="|| ( GPL-3 LGPL-3 )"
SLOT="0/${PV%_p?}.0"
IUSE="64-bit-bfd cet multitarget nls static-libs test"
-KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
RESTRICT="!test? ( test )"
BDEPEND="
diff --git a/sys-libs/binutils-libs/binutils-libs-2.43.ebuild b/sys-libs/binutils-libs/binutils-libs-2.43.ebuild
new file mode 100644
index 000000000000..5a95c53b9f89
--- /dev/null
+++ b/sys-libs/binutils-libs/binutils-libs-2.43.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PATCH_VER=1
+PATCH_DEV=dilfridge
+
+inherit flag-o-matic libtool toolchain-funcs multilib-minimal
+
+MY_PN="binutils"
+MY_P="${MY_PN}-${PV}"
+PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
+PATCH_DEV=${PATCH_DEV:-dilfridge}
+
+DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages"
+HOMEPAGE="https://sourceware.org/binutils/"
+SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
+
+LICENSE="|| ( GPL-3 LGPL-3 )"
+
+SLOT="0/${PV%_p?}.0"
+
+IUSE="64-bit-bfd cet multitarget nls static-libs test"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ test? ( dev-util/dejagnu )
+"
+DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]"
+# Need a newer binutils-config that'll reset include/lib symlinks for us.
+RDEPEND="${DEPEND}
+ >=sys-devel/binutils-config-5
+"
+
+S="${WORKDIR}/${MY_P%_p?}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/bfd.h
+)
+
+src_prepare() {
+ if [[ -n ${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
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # somehow libtool/configure is messed up and (custom patch at
+ # upstream?) and misdetects (basically assumes) nm can be called
+ # with -B arg -- can't run eautoreconf (fails), so patch up
+ # manually, this would break any target that needs -B to nm
+ sed -i -e 's/lt_cv_path_NM="$tmp_nm -B"/lt_cv_path_NM="$tmp_nm"/' \
+ libctf/configure || die
+ fi
+
+ # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html
+ # Avoid really confusing logs from subconfigure spam, makes logs far
+ # more legible.
+ export MAKEOPTS="--output-sync=line ${MAKEOPTS}"
+
+ default
+}
+
+pkgversion() {
+ printf "Gentoo ${PVR}"
+ [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}"
+}
+
+multilib_src_configure() {
+ filter-lto
+
+ # Workaround for lld-17 (bug #914640)
+ # Should be able to drop this w/ >=binutils-2.43
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local myconf=(
+ # portage's econf() does not detect presence of --d-d-t
+ # because it greps only top-level ./configure. But not
+ # libiberty's or bfd's configure.
+ --disable-dependency-tracking
+ --disable-silent-rules
+ --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,gprofng}
+ # 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
+
+ # Revisit if it's useful, we do have binutils[zstd] though
+ --without-zstd
+
+ # 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() {
+ emake DESTDIR="${D}" install
+
+ # Provided by dev-debug/gdb instead
+ rm "${ED}"/usr/share/info/sframe-spec.info || die
+
+ # Provide libiberty.h directly.
+ dosym libiberty/libiberty.h /usr/include/libiberty.h
+}
+
+multilib_src_install_all() {
+ use static-libs || find "${ED}"/usr -name '*.la' -delete
+}
diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest
index 6067e7ebaf93..541b5c709187 100644
--- a/sys-libs/compiler-rt-sanitizers/Manifest
+++ b/sys-libs/compiler-rt-sanitizers/Manifest
@@ -1,5 +1,5 @@
DIST llvm-gentoo-patchset-15.0.7.tar.xz 19300 BLAKE2B b70e81d744c2eba5cd851e7b690ce8979b3064973f522be7c93bfb541860000a4bc8b17219f8788dfc8a527217dd13946cf7836640698ddd3d4b3fde493dfbf8 SHA512 daffff6ae4a0874aff1a423b4bb36701ecb5a35a36ae91d4ed7fda58b83e50ffcdc30498c84be4711fd3e1f227bf312dbe930019203e0a131944439af2aa94f7
-DIST llvm-project-022d15c0039fc1cfaa3cc2eb1a45b71bbb21fadd.tar.gz 215902891 BLAKE2B ecd87b84a4e5f87c91b6df0a2d6849f385bdb7b26b14a2836f1e1fc5a69f9f5b441e47b9251174019f62eabe39a243092cd1a175b5da7d7576cdcfd63083cff0 SHA512 7726e253179bfd9e0b93236e3ce1133b421329b0b3496b10c0a0eecde372fb5e55cce737b6b78db13f2d0833bbc92023d95efa54cb2918b12ce9af166bd90ff4
+DIST llvm-gentoo-patchset-18.1.8-r4.tar.xz 15912 BLAKE2B 7300128244aafe42fcf5863e3aad2beb0c96c3df527e6d35fe571369bad520ba4aa397a329287da17eb33dca902057da5cd5193ec560ea7f5767ba2d00a45818 SHA512 b32633db387d4adb3bb2d067f824ae4e8e8a24a25aaa4888520f6e61a4bb1f8f70ad5f44057fbc0892c6f93c803e360612b0fc02c4ec068470b546a55f246cba
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
@@ -8,12 +8,16 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffef86468169ba2f211a9733ec2d4cf30040f7f277ef00f048bb44dee9f97d7d762f0f241f19e5a2a7b0b49217d3821ddfc8c354f SHA512 25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
-DIST llvm-project-3ae6755719c6dfc07761b4e9bdac8c86bcb41734.tar.gz 213487323 BLAKE2B 12030750fca0e7db4ae07a608874877151b2393cf58388f067b469e913ce9ac3f264440ebb3df5ea33f9f97cb87928fa746c98ba26c8d296f9e26dcbf950afc2 SHA512 951b70eafc8aea5b1f7847002229d89df565ca8180deef08b25966dcf070a7603a258e5fc24f9496251d23d275040724ed5e9499432ba3e19f5984f6f1c3c645
+DIST llvm-project-19.1.0-rc2.src.tar.xz 141264388 BLAKE2B 690b4912d9e4a8019b7990934dd6486362337ccb303dca119c0e75aa1063ad452222be1ee965e43b160dfcea20e491a20c289344152666b618712a1d76dc4780 SHA512 508a401e8433b1ac9a399246eb1a3c18faed7c3d41d8c118e77cefbb64cc6d6e171bd41a3e5584f6c84df141ba6819f1a1cce75b5c1ef33e3d2ac239e662d07c
+DIST llvm-project-19.1.0-rc2.src.tar.xz.sig 438 BLAKE2B 1eaf10a1419ecf009c033a8f6ecb6eec86107d81621d5b4665c8d929b05f4845ce0c432017343d7b06f33e6ff6384df9e1d8fc7b9c6efe7f10ef69798891b7e5 SHA512 b46e9a1d40f891c5f3544d8cc6295900bff5dda9a4a526b8db55a42a37ae90deb216b316d2117984e82f4e918d15343e75b3b9e6d6c773866707c3398e032826
+DIST llvm-project-db8ef6188cbbe2125e6d60bdef77a535105772df.tar.gz 218416682 BLAKE2B 691e3881e4a60c008c6b766b51ecc856122de1f40242ff1d91ebaa12682fea0a22f84783eb930c42d196f50ba0d3b2010f9010ed73ee7e292fe78c93d6e3f324 SHA512 2dc16a603b60607cc3daee2de0126a567a78c4fff72b2fbcb94c82472bc5ec64ac354ba8592b9a643248a5bfd43b34e2a60f2751a0c9e9e28b7f895fc50a5e9d
+DIST llvm-project-fd7d7882e7fa5a38d4bfde426120d4663718beb4.tar.gz 218217769 BLAKE2B a6c2aa012c342e31527b7e9f85e8fea3549d52530d8f87cd699e094a0aa768d099f9fd2631161ff7f53b4a5011937ed6d1f52b8fa1d23aa34183be1f487d4277 SHA512 c4863fab1a3c03f7f9c42f3501d3a75cebb491343515d77d30b26e5cbd720fc3fd628052099d87ed638e8c424bcbe7a1d066ed857f73da6f243d3d5a76b0e6c5
EBUILD compiler-rt-sanitizers-15.0.7.ebuild 6648 BLAKE2B 89d90e750bc9c3c35e8a42a259fd84bc147ed9b7ed66168435f0010ef8adaf35e04e2cd43c1acc144668e04f5c229ca3cfd99aeb01b4ba2e46f10dd4615e131d SHA512 4f290993d65b7a17280c5ea9a9d19e13cefdde3aebc2236271e02bb1517655895e8eb3adc2047a849ce11dbacf8d7eddec715ab14523122089d856c21ae123a0
EBUILD compiler-rt-sanitizers-16.0.6.ebuild 6615 BLAKE2B 3ca63eefd87ce02510afa912e809895da7356a8e248f402f3fca1583048feebf80cba20f076e1b28fa4ad7f7c06781910948fc49d980b03276a900dc75114e06 SHA512 7f34e0416b520c75457f8267f28630f7a665f05e22d3f5c2d96ea631fcda79a584b6c0e75cba8b7fba7bf28b87a6b19b49be3b4b8770393caabc5ebc83831ebe
EBUILD compiler-rt-sanitizers-17.0.6.ebuild 6447 BLAKE2B 553a762d6dd06dafca05953f4d60e5e3dd215d813da29053d5c4c44750554e3ed90c187390196eeee3bc85bb1e3fbdac7aa2e100b623271898478003792a1302 SHA512 6beaa92bf1ba5213dc9c73395ecdae737f1a84119da6e3f8f008f9f21cf7d7b08b3634ad8768af6b19992fd49d964344c7d37e19b7c7bfec02af644bdc730bbd
-EBUILD compiler-rt-sanitizers-18.1.8.ebuild 6358 BLAKE2B 1a191c1e493b3a596a68314c4c930d12e900869bbd2a7488d9edfef723ad2f154e577758cd523465a65c3aa64da3ac79c0582eb812f45079442557837d988c8d SHA512 923d388eb43f27a0bd28bda7b405cf74bbd6810faa17272ee0889b89e2f832be71fb32e7b721cdedb7e7d4717af1eca69c9054bfcabf7d56fd2375cb7458d4cb
-EBUILD compiler-rt-sanitizers-19.0.0.9999.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9
-EBUILD compiler-rt-sanitizers-19.0.0_pre20240623.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9
-EBUILD compiler-rt-sanitizers-19.0.0_pre20240630.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9
+EBUILD compiler-rt-sanitizers-18.1.8.ebuild 6376 BLAKE2B b2b92f586c507f0a5570d4d05e3b35e99b5da325b0a4bbdab694609a4020fced093de5a756e2fb4d07a2d22a349bf84b9da820bc9394f3002397db51c468833e SHA512 815083e5aea9ab93db3ebb45df3bc58bf88d8f76684e28ae893381b8253ed0dd8366956da1879d832918016b68b38579fbc47a20f91360a823aea707ed2fd781
+EBUILD compiler-rt-sanitizers-19.1.0_rc2.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9
+EBUILD compiler-rt-sanitizers-20.0.0.9999.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9
+EBUILD compiler-rt-sanitizers-20.0.0_pre20240808.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9
+EBUILD compiler-rt-sanitizers-20.0.0_pre20240815.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9
MISC metadata.xml 1475 BLAKE2B f7ea99e3103e42a2c79fe6c86ad174297e56bcffa7b164ac3ab0a239ba5adf2265b7fc458ce8b22c9c3bd647bb03d674abf842443cb32bf8d88c683746650a19 SHA512 8e52479d3b040718a3fdaa811030bc45ef33ce74daae3e365281074cdf6d586ba11ae5f14d87dbb456f00fe4b9ae6057f3bf30eb0973cc16cbdcc3eba01ff9f8
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.8.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.8.ebuild
index 6fb017c151f5..2a2ab9a44cd1 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.8.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.8.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="${LLVM_MAJOR}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+abi_x86_32 abi_x86_64 +clang debug test"
# base targets
IUSE+=" +libfuzzer +memprof +orc +profile +xray"
@@ -52,6 +52,7 @@ BDEPEND="
"
LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
+LLVM_PATCHSET=${PV}-r4
LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support third-party )
llvm.org_set_globals
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.1.0_rc2.ebuild
index d395b7fd5a11..d395b7fd5a11 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0.9999.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.1.0_rc2.ebuild
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240623.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0.9999.ebuild
index d395b7fd5a11..d395b7fd5a11 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240623.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0.9999.ebuild
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240630.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240808.ebuild
index d395b7fd5a11..d395b7fd5a11 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240630.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240808.ebuild
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240815.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240815.ebuild
new file mode 100644
index 000000000000..d395b7fd5a11
--- /dev/null
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240815.ebuild
@@ -0,0 +1,220 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit check-reqs cmake flag-o-matic llvm.org llvm-utils python-any-r1
+
+DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="${LLVM_MAJOR}"
+IUSE="+abi_x86_32 abi_x86_64 +clang +debug test"
+# base targets
+IUSE+=" +ctx-profile +libfuzzer +memprof +orc +profile +xray"
+# sanitizer targets, keep in sync with config-ix.cmake
+# NB: ubsan, scudo deliberately match two entries
+SANITIZER_FLAGS=(
+ asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo
+ shadowcallstack gwp-asan
+)
+IUSE+=" ${SANITIZER_FLAGS[@]/#/+}"
+REQUIRED_USE="
+ || ( ${SANITIZER_FLAGS[*]} libfuzzer orc profile xray )
+ test? (
+ cfi? ( ubsan )
+ gwp-asan? ( scudo )
+ )
+"
+RESTRICT="
+ !clang? ( test )
+ !test? ( test )
+"
+
+DEPEND="
+ sys-devel/llvm:${LLVM_MAJOR}
+ virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]
+"
+BDEPEND="
+ clang? ( sys-devel/clang )
+ elibc_glibc? ( net-libs/libtirpc )
+ test? (
+ $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+ =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+ sys-libs/compiler-rt:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
+LLVM_TEST_COMPONENTS=(
+ llvm/include/llvm/ProfileData llvm/lib/Testing/Support third-party
+)
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
+}
+
+check_space() {
+ if use test; then
+ local CHECKREQS_DISK_BUILD=11G
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die
+
+ local flag
+ for flag in "${SANITIZER_FLAGS[@]}"; do
+ if ! use "${flag}"; then
+ local cmake_flag=${flag/-/_}
+ sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \
+ cmake/config-ix.cmake || die
+ fi
+ done
+
+ # TODO: fix these tests to be skipped upstream
+ if use asan && ! use profile; then
+ rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die
+ fi
+ if use ubsan && ! use cfi; then
+ > test/cfi/CMakeLists.txt || die
+ fi
+ # hangs, sigh
+ rm test/tsan/getline_nohang.cpp || die
+
+ llvm.org_src_prepare
+}
+
+src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ # pre-set since we need to pass it to cmake
+ BUILD_DIR=${WORKDIR}/compiler-rt_build
+
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ local flag want_sanitizer=OFF
+ for flag in "${SANITIZER_FLAGS[@]}"; do
+ if use "${flag}"; then
+ want_sanitizer=ON
+ break
+ fi
+ done
+
+ local mycmakeargs=(
+ -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
+ # use a build dir structure consistent with install
+ # this makes it possible to easily deploy test-friendly clang
+ -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${LLVM_MAJOR}"
+
+ -DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+ # builtins & crt installed by sys-libs/compiler-rt
+ -DCOMPILER_RT_BUILD_BUILTINS=OFF
+ -DCOMPILER_RT_BUILD_CRT=OFF
+ -DCOMPILER_RT_BUILD_CTX_PROFILE=$(usex ctx-profile)
+ -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer)
+ -DCOMPILER_RT_BUILD_MEMPROF=$(usex memprof)
+ -DCOMPILER_RT_BUILD_ORC=$(usex orc)
+ -DCOMPILER_RT_BUILD_PROFILE=$(usex profile)
+ -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}"
+ -DCOMPILER_RT_BUILD_XRAY=$(usex xray)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ if use amd64; then
+ mycmakeargs+=(
+ -DCAN_TARGET_i386=$(usex abi_x86_32)
+ -DCAN_TARGET_x86_64=$(usex abi_x86_64)
+ )
+ fi
+
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+
+ # they are created during src_test()
+ -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang"
+ -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang++"
+ )
+
+ # same flags are passed for build & tests, so we need to strip
+ # them down to a subset supported by clang
+ CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang \
+ CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++ \
+ strip-unsupported-flags
+ fi
+
+ if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
+ mycmakeargs+=(
+ # setting -isysroot is disabled with compiler-rt-prefix-paths.patch
+ # this allows adding arm64 support using SDK in EPREFIX
+ -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk"
+ # Set version based on the SDK in EPREFIX
+ # This disables i386 for SDK >= 10.15
+ # Will error if has_use tsan and SDK < 10.12
+ -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')"
+ # Use our libtool instead of looking it up with xcrun
+ -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool"
+ )
+ fi
+
+ cmake_src_configure
+
+ if use test; then
+ local sys_dir=( "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/lib/* )
+ [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}"
+ [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}"
+
+ # copy clang over since resource_dir is located relatively to binary
+ # therefore, we can put our new libraries in it
+ mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAJOR}/{bin,$(get_libdir)},clang/${LLVM_MAJOR}/include} || die
+ cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/bin/clang{,++} \
+ "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/bin/ || die
+ cp "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/include/*.h \
+ "${BUILD_DIR}"/lib/clang/${LLVM_MAJOR}/include/ || die
+ cp "${sys_dir}"/*builtins*.a \
+ "${BUILD_DIR}/lib/clang/${LLVM_MAJOR}/lib/${sys_dir##*/}/" || die
+ # we also need LLVMgold.so for gold-based tests
+ if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so ]]; then
+ ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so \
+ "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/ || die
+ fi
+ fi
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ # disable sandbox to have it stop clobbering LD_PRELOAD
+ local -x SANDBOX_ON=0
+ # wipe LD_PRELOAD to make ASAN happy
+ local -x LD_PRELOAD=
+
+ cmake_build check-all
+}
diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest
index 967877a9d383..e0399fcd3a03 100644
--- a/sys-libs/compiler-rt/Manifest
+++ b/sys-libs/compiler-rt/Manifest
@@ -1,7 +1,6 @@
DIST llvm-gentoo-patchset-15.0.7.tar.xz 19300 BLAKE2B b70e81d744c2eba5cd851e7b690ce8979b3064973f522be7c93bfb541860000a4bc8b17219f8788dfc8a527217dd13946cf7836640698ddd3d4b3fde493dfbf8 SHA512 daffff6ae4a0874aff1a423b4bb36701ecb5a35a36ae91d4ed7fda58b83e50ffcdc30498c84be4711fd3e1f227bf312dbe930019203e0a131944439af2aa94f7
DIST llvm-gentoo-patchset-16.0.6-r4.tar.xz 18732 BLAKE2B 2f00135700b5e4f0d0e049e13c1da06fd37017b7f455419157ac441bb7d4de12e3e25f4d8480431c1074cfa6a5d66a38ae63d95faefaa4e9c8cd5810c082a596 SHA512 f61c82a195307dc6cb42e09b3c82af2b37827583884ff2de0ef300290fb8f92e90a08895d12e5dec9b29a232c2e942a2d5951dab431e02722fcafbcd1e2b7976
DIST llvm-gentoo-patchset-17.0.6.tar.xz 1792 BLAKE2B 21b34b436333c0b37522d4340cccc84a572701f6e267cf7c6adfa9be419913f5a6c9ee40a6be5c62d12fbd868912801d30381573c4459c05676e05785cccaefe SHA512 2d90b5e7fcbb950249ef7133fac1ed3dcb758a4d92732119049526cea0b291bd4e9738c4c0d806d70e7d769e1906f8ef3930066c206c00b6ec7d3509ed0fed19
-DIST llvm-project-022d15c0039fc1cfaa3cc2eb1a45b71bbb21fadd.tar.gz 215902891 BLAKE2B ecd87b84a4e5f87c91b6df0a2d6849f385bdb7b26b14a2836f1e1fc5a69f9f5b441e47b9251174019f62eabe39a243092cd1a175b5da7d7576cdcfd63083cff0 SHA512 7726e253179bfd9e0b93236e3ce1133b421329b0b3496b10c0a0eecde372fb5e55cce737b6b78db13f2d0833bbc92023d95efa54cb2918b12ce9af166bd90ff4
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
@@ -10,13 +9,16 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffef86468169ba2f211a9733ec2d4cf30040f7f277ef00f048bb44dee9f97d7d762f0f241f19e5a2a7b0b49217d3821ddfc8c354f SHA512 25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
-DIST llvm-project-3ae6755719c6dfc07761b4e9bdac8c86bcb41734.tar.gz 213487323 BLAKE2B 12030750fca0e7db4ae07a608874877151b2393cf58388f067b469e913ce9ac3f264440ebb3df5ea33f9f97cb87928fa746c98ba26c8d296f9e26dcbf950afc2 SHA512 951b70eafc8aea5b1f7847002229d89df565ca8180deef08b25966dcf070a7603a258e5fc24f9496251d23d275040724ed5e9499432ba3e19f5984f6f1c3c645
+DIST llvm-project-19.1.0-rc2.src.tar.xz 141264388 BLAKE2B 690b4912d9e4a8019b7990934dd6486362337ccb303dca119c0e75aa1063ad452222be1ee965e43b160dfcea20e491a20c289344152666b618712a1d76dc4780 SHA512 508a401e8433b1ac9a399246eb1a3c18faed7c3d41d8c118e77cefbb64cc6d6e171bd41a3e5584f6c84df141ba6819f1a1cce75b5c1ef33e3d2ac239e662d07c
+DIST llvm-project-19.1.0-rc2.src.tar.xz.sig 438 BLAKE2B 1eaf10a1419ecf009c033a8f6ecb6eec86107d81621d5b4665c8d929b05f4845ce0c432017343d7b06f33e6ff6384df9e1d8fc7b9c6efe7f10ef69798891b7e5 SHA512 b46e9a1d40f891c5f3544d8cc6295900bff5dda9a4a526b8db55a42a37ae90deb216b316d2117984e82f4e918d15343e75b3b9e6d6c773866707c3398e032826
+DIST llvm-project-db8ef6188cbbe2125e6d60bdef77a535105772df.tar.gz 218416682 BLAKE2B 691e3881e4a60c008c6b766b51ecc856122de1f40242ff1d91ebaa12682fea0a22f84783eb930c42d196f50ba0d3b2010f9010ed73ee7e292fe78c93d6e3f324 SHA512 2dc16a603b60607cc3daee2de0126a567a78c4fff72b2fbcb94c82472bc5ec64ac354ba8592b9a643248a5bfd43b34e2a60f2751a0c9e9e28b7f895fc50a5e9d
+DIST llvm-project-fd7d7882e7fa5a38d4bfde426120d4663718beb4.tar.gz 218217769 BLAKE2B a6c2aa012c342e31527b7e9f85e8fea3549d52530d8f87cd699e094a0aa768d099f9fd2631161ff7f53b4a5011937ed6d1f52b8fa1d23aa34183be1f487d4277 SHA512 c4863fab1a3c03f7f9c42f3501d3a75cebb491343515d77d30b26e5cbd720fc3fd628052099d87ed638e8c424bcbe7a1d066ed857f73da6f243d3d5a76b0e6c5
EBUILD compiler-rt-15.0.7.ebuild 4238 BLAKE2B 22d56dbe24c92400bf58942390b06af70fddba89d8fecc9b85162dd7a41c6ee592eaaf883f5ad483f65f74fabccc28f94528688410ee36e2d5279efcc6066de0 SHA512 ca49d23def580d4dcfc4058768eeb9deb6e59ea44575da272d1c142fffe0bf4e3d3c7c9fa6182ab348a3aab11879af116a549cb1a3a03b27b4bf4151cf892aaa
-EBUILD compiler-rt-16.0.6-r4.ebuild 5226 BLAKE2B 7d2d76d79ce49f3d175de87fa982439ceade80787a4f4f96cbda9a0e7c161e89fc49646908e32fd35ed3629956ed0ff79ff2f74754a705264f2d6e2f02f831cb SHA512 14ba6b2644e4b0bcab31e686d395b859eab9ee8ba7adb2242e4fd80d07290cff1243cd644ee8fec53f536dd13d150a16761255ff938ed0c6e717f26165e93945
-EBUILD compiler-rt-16.0.6.ebuild 5198 BLAKE2B 2fe2310703d44d330d97b1fa1b407d99898070604037be31ca762fe65043e1d3d1e046298dc74f3d0cbb3493f985661e362b217170cbe1bf74a47dddfe8987ca SHA512 cc9aabc22f689bfc677ceb74793441674aeca2586a28ff96b812af4822d1b8b5a4147484e41f0bf95ae995488d3e8ee77684fd684b9dab8ade4f1fa57e80c709
+EBUILD compiler-rt-16.0.6-r4.ebuild 5221 BLAKE2B 973635914793c11f546dbb2586872f381ab7e2abb302eef99c1d4ca198c5c996ba968df6b1605bca5939810d83aef2768766e3233a3e8756f01c008b983d68b6 SHA512 aa747508cbed62e27a10002a04d3289b79d72b11a5391f916ffd2b88d4bd716a1d2d7db6981798f1c44ff15dbab31b0b8fa125f18a19b5c12b149c6a71064f19
EBUILD compiler-rt-17.0.6.ebuild 5218 BLAKE2B 3f488320228fd2a3d1caed790e8e21c7c363769c4d8b912fd5a964b4e802e1b58b297336c527b451edb74ff42c4bdd236795210c4f225ca98a6980fed95d6771 SHA512 abbe2f679a1af7c012ecae32b57b244f7ad84a5d44151a4b7ad799524061f8b65504bd6aa169a91d1a16b878845f40b47e4a1f0253a3ff9ccbe8dbb736db1fb1
-EBUILD compiler-rt-18.1.8.ebuild 4972 BLAKE2B 3bd56ca93ddb3f21007b16c794140281e9fd27cd6fb80e5f00f49ec5e8c46dff56b1a94ba467f6b89c359c8638d9f2d8b9ba67a88268454e0accd79d0a36d768 SHA512 3072e5cc1e5dbea1ca3af15e6ffe29d1f2f664654a493eb509f4fa7b615d7f9e286ffff49dddc9835e928d7895e39239559a65768c6678e8344a73a136070704
-EBUILD compiler-rt-19.0.0.9999.ebuild 4907 BLAKE2B 0fa9438438d1c499cf382315f9da67ab920037c22e6413180f50f509347aa82e76d2f8223cf725902523f8358a8b95bd063f184aac70951192029c857de5260a SHA512 c5782efd4cc5239a9c40339338128e3122df12319857c46ab0fb4a869e81438d84daedd934aae446b0156695ce1ee5779d20f12ff9b63fd79a5d22f67ae72bb9
-EBUILD compiler-rt-19.0.0_pre20240623.ebuild 4907 BLAKE2B 0fa9438438d1c499cf382315f9da67ab920037c22e6413180f50f509347aa82e76d2f8223cf725902523f8358a8b95bd063f184aac70951192029c857de5260a SHA512 c5782efd4cc5239a9c40339338128e3122df12319857c46ab0fb4a869e81438d84daedd934aae446b0156695ce1ee5779d20f12ff9b63fd79a5d22f67ae72bb9
-EBUILD compiler-rt-19.0.0_pre20240630.ebuild 4907 BLAKE2B 0fa9438438d1c499cf382315f9da67ab920037c22e6413180f50f509347aa82e76d2f8223cf725902523f8358a8b95bd063f184aac70951192029c857de5260a SHA512 c5782efd4cc5239a9c40339338128e3122df12319857c46ab0fb4a869e81438d84daedd934aae446b0156695ce1ee5779d20f12ff9b63fd79a5d22f67ae72bb9
+EBUILD compiler-rt-18.1.8.ebuild 4967 BLAKE2B 7b1751e6d13b24464ca21e32e10edd7ec6202248ae33e21ab98123489835bc6567fc6c0630b8683ad4388a1e6b5ba5e223a887b6ba6261a2d68d55f17adcd459 SHA512 c9da46bbd97d6d746ce2c703bc12e1ac24471aaf653ea5a3ab6d92202b9dea5b1bf9f660689c07f41e8bb62554229069142b085b2d263e07399e2e26895dfe84
+EBUILD compiler-rt-19.1.0_rc2.ebuild 4963 BLAKE2B dc2eab2b95233dc791544f2cfcedf6f812ccfde2f31ce14525f60fa4d4df91ca2f93ab702156c0acdbb07fd03face456a521b7e92572b7997a2358a6e1290c95 SHA512 a0299d32d9e7539ec36740899b697f6afa69ca91528fdebe35ffa39c592a6dace90b080cca233a65ce932d17ce76292e7920fa569a3aa3e37424c9f0112c9b2f
+EBUILD compiler-rt-20.0.0.9999.ebuild 4963 BLAKE2B dc2eab2b95233dc791544f2cfcedf6f812ccfde2f31ce14525f60fa4d4df91ca2f93ab702156c0acdbb07fd03face456a521b7e92572b7997a2358a6e1290c95 SHA512 a0299d32d9e7539ec36740899b697f6afa69ca91528fdebe35ffa39c592a6dace90b080cca233a65ce932d17ce76292e7920fa569a3aa3e37424c9f0112c9b2f
+EBUILD compiler-rt-20.0.0_pre20240808.ebuild 4963 BLAKE2B dc2eab2b95233dc791544f2cfcedf6f812ccfde2f31ce14525f60fa4d4df91ca2f93ab702156c0acdbb07fd03face456a521b7e92572b7997a2358a6e1290c95 SHA512 a0299d32d9e7539ec36740899b697f6afa69ca91528fdebe35ffa39c592a6dace90b080cca233a65ce932d17ce76292e7920fa569a3aa3e37424c9f0112c9b2f
+EBUILD compiler-rt-20.0.0_pre20240815.ebuild 4963 BLAKE2B dc2eab2b95233dc791544f2cfcedf6f812ccfde2f31ce14525f60fa4d4df91ca2f93ab702156c0acdbb07fd03face456a521b7e92572b7997a2358a6e1290c95 SHA512 a0299d32d9e7539ec36740899b697f6afa69ca91528fdebe35ffa39c592a6dace90b080cca233a65ce932d17ce76292e7920fa569a3aa3e37424c9f0112c9b2f
MISC metadata.xml 416 BLAKE2B 79a58249c94b605ba57f346c4e05b43853cf6cfb8bb65a4f4e3c44039cccfdb83dd31bfaaaf398bcbdc393efabdfc7ed186fe775976c46227e74decf2c8f4fb2 SHA512 ce30c79a575e5933effb1fec36f9a4ef02d9f97f312feb39c55a88cbda9a1bae1d7af2ec4ad5f66212cbb2cdbfb26f1a436689f16f410153c9d65eb010264c48
diff --git a/sys-libs/compiler-rt/compiler-rt-16.0.6-r4.ebuild b/sys-libs/compiler-rt/compiler-rt-16.0.6-r4.ebuild
index 6ac04f68fce4..66fdaf8d448f 100644
--- a/sys-libs/compiler-rt/compiler-rt-16.0.6-r4.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-16.0.6-r4.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="${LLVM_MAJOR}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
IUSE="+abi_x86_32 abi_x86_64 +clang debug test"
RESTRICT="!test? ( test ) !clang? ( test )"
diff --git a/sys-libs/compiler-rt/compiler-rt-18.1.8.ebuild b/sys-libs/compiler-rt/compiler-rt-18.1.8.ebuild
index d2473ff8d59c..9d2f46c9a2ee 100644
--- a/sys-libs/compiler-rt/compiler-rt-18.1.8.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-18.1.8.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="${LLVM_MAJOR}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
IUSE="+abi_x86_32 abi_x86_64 +clang debug test"
RESTRICT="!test? ( test ) !clang? ( test )"
diff --git a/sys-libs/compiler-rt/compiler-rt-19.0.0.9999.ebuild b/sys-libs/compiler-rt/compiler-rt-19.1.0_rc2.ebuild
index 4679822780fc..ca99f4442636 100644
--- a/sys-libs/compiler-rt/compiler-rt-19.0.0.9999.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-19.1.0_rc2.ebuild
@@ -30,6 +30,7 @@ BDEPEND="
"
LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
llvm.org_set_globals
python_check_deps() {
diff --git a/sys-libs/compiler-rt/compiler-rt-19.0.0_pre20240623.ebuild b/sys-libs/compiler-rt/compiler-rt-20.0.0.9999.ebuild
index 4679822780fc..ca99f4442636 100644
--- a/sys-libs/compiler-rt/compiler-rt-19.0.0_pre20240623.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-20.0.0.9999.ebuild
@@ -30,6 +30,7 @@ BDEPEND="
"
LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
llvm.org_set_globals
python_check_deps() {
diff --git a/sys-libs/compiler-rt/compiler-rt-19.0.0_pre20240630.ebuild b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240808.ebuild
index 4679822780fc..ca99f4442636 100644
--- a/sys-libs/compiler-rt/compiler-rt-19.0.0_pre20240630.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240808.ebuild
@@ -30,6 +30,7 @@ BDEPEND="
"
LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
llvm.org_set_globals
python_check_deps() {
diff --git a/sys-libs/compiler-rt/compiler-rt-16.0.6.ebuild b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240815.ebuild
index 4c27d82506bb..ca99f4442636 100644
--- a/sys-libs/compiler-rt/compiler-rt-16.0.6.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240815.ebuild
@@ -3,16 +3,16 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
-inherit cmake crossdev flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
DESCRIPTION="Compiler runtime library for clang (built-in part)"
HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="${LLVM_MAJOR}"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
-IUSE="+abi_x86_32 abi_x86_64 +clang debug test"
+IUSE="+abi_x86_32 abi_x86_64 +clang +debug test"
RESTRICT="!test? ( test ) !clang? ( test )"
DEPEND="
@@ -30,6 +30,7 @@ BDEPEND="
"
LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
+LLVM_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
llvm.org_set_globals
python_check_deps() {
@@ -45,13 +46,6 @@ pkg_pretend() {
}
pkg_setup() {
- # Darwin Prefix builds do not have llvm installed yet, so rely on
- # bootstrap-prefix to set the appropriate path vars to LLVM instead
- # of using llvm_pkg_setup.
- if [[ ${CHOST} != *-darwin* ]] || has_version sys-devel/llvm; then
- LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- fi
-
if target_is_not_host || tc-is-cross-compiler ; then
# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
CHOST=${CTARGET} strip-unsupported-flags
@@ -68,6 +62,8 @@ test_compiler() {
}
src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
@@ -94,7 +90,7 @@ src_configure() {
elif test_compiler "${nolib_flags[@]}" -nostartfiles; then
# Avoiding -nostartfiles earlier on for bug #862540,
# and set available entry symbol for bug #862798.
- nolib_flags+=( -nostartfiles -emain )
+ nolib_flags+=( -nostartfiles -e main )
local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}"
@@ -105,6 +101,7 @@ src_configure() {
-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
+ -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
-DCOMPILER_RT_BUILD_MEMPROF=OFF
-DCOMPILER_RT_BUILD_ORC=OFF
diff --git a/sys-libs/efivar/Manifest b/sys-libs/efivar/Manifest
index 1234dd123524..a43aff118005 100644
--- a/sys-libs/efivar/Manifest
+++ b/sys-libs/efivar/Manifest
@@ -9,5 +9,7 @@ AUX efivar-38-ld-locale.patch 1203 BLAKE2B b5814d3708999288d35d3d972f854087b8c07
AUX efivar-38-lld-fixes.patch 12397 BLAKE2B 0aed2f3bed5584f97f38e7d61bc6883e9c3020cadbba2cb37cec3e5b876c6a535f721817a46068d47413551f823489fb048201b81c1e3894eae4d65e3493129c SHA512 008931110a7d9ae7bfd70fae60a2feb01482f4d14ac81c107bdb612d8079546c748905a10a4f1cffee0385cdcee3e7a9c9606bfd24c005ba2333cef2fc444b4b
AUX efivar-38-march-native.patch 1203 BLAKE2B 950a72a5ae4872894379a6688e80c796dd43db67667dd0b30515e2911a981339af6069405e3058ef49be159e37fa6000dbf26db1378b665f3acf6204feaee906 SHA512 fbe34223677a80c5b4e98db7a0171d48a6b56a8d2fd6793299200a64e81c1415913b1b098b5bca8183cbd0f6dada9802aa1967607217a7398f189f58370bb44a
DIST efivar-38.tar.bz2 320221 BLAKE2B 0b96f3d71ddc2246e6a11a5cd32af3d007823c4a283186a428c3f145cd74425a31bd22c4671ad1ab252a3c572991bb1698381cb8bdf51efcbebd62befdc6c070 SHA512 c2f17297c863ece134a9dd758d237fd2df8c8d072f87af1d0bf2bcf9acfc7a53c25597f03fd4fb8cc664b205743d4ffa0ef1b068d0f73c58fa573d40993f3155
+DIST efivar-39.tar.gz 463349 BLAKE2B 73ea4b3293cd708923bcd4332a8c7a5a8bbf539d81300c502a764a2ac205ba7cdf1e30b3432c42a101f56c0b6e31af2907a6a38ada69ace3b0d60e90515094cd SHA512 04493c30efbfc2773abac9a3dd93aa13403c05e29e3bfc72877d2054930811fae99119aadcb1729b6ca85abf5a24db786ea0c27c16d5458ef1b19e74696f5ff7
EBUILD efivar-38.ebuild 1645 BLAKE2B 9504ec6b5480c7ead283356c827709683fc0d048adb52fa9ee2a8128f325fda2f426bf1caf29b16b96c3b41c675582f52a57f052b64ed81a5002db5deba4cf95 SHA512 b8edce0e9fb6269e5274feaca14bb02b0c1ef0c8534fc5adcef51f83d7fe54ef6c44bb748cb01af298149df877f81ab3c8192aab55d1d0e97bad90030040bc67
-MISC metadata.xml 330 BLAKE2B 0f894cb3c99d8540d6548f06f146360e20fcff309d867c1da96a15d07e5f1ebb2f03114de8527ddd28c26f4b42a7fa9903dd925015b962b4d4094dda86f76d65 SHA512 c03a2d22f945fd9e4a19143da20b884759e0aa88f73f42a70d47d5b1aeeb43201d9452919779d9c3e020371c3d1519a7068d59c0904043572ae0dd09633989e8
+EBUILD efivar-39.ebuild 1331 BLAKE2B a165e165e1f285459a81cb4f9c0b6a7d900c891de253bc17e42996ef978e28ac91706db350b9908a571743d76a98d99526b416dfb0433dc19fb92324b4e148eb SHA512 2b2d800f9523e231df3faa6026fd3abc05376a415ee6ba50d64d3f0ecf5567533ffa434f97f30bf8030ad62a9442717a951e0b30f73d3ab33900e2c289a1e395
+MISC metadata.xml 325 BLAKE2B 9cab1cda08c7ca71c0f15baed5011f8d2cd5fa292da287100ddf25d788e5f34cfed94c1543952f445614fd161fbdfbea7fd8f63aec1c912878a973b78ad8ee34 SHA512 b0985f3403b6aa9c806899fe9ca31d3a76c61f62f427ea1aa3b0fb5ecf380e3fef7e8bc1ccfc02c6c04ee1a6a0d370c2cbb7e1bf27cd67f6156758cb53f2319c
diff --git a/sys-libs/efivar/efivar-39.ebuild b/sys-libs/efivar/efivar-39.ebuild
new file mode 100644
index 000000000000..a88ff714f25d
--- /dev/null
+++ b/sys-libs/efivar/efivar-39.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2014-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Tools and library to manipulate EFI variables"
+HOMEPAGE="https://github.com/rhboot/efivar"
+SRC_URI="https://github.com/rhboot/efivar/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/1"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ app-text/mandoc
+ test? ( sys-boot/grub:2 )
+"
+RDEPEND="
+ dev-libs/popt
+"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-3.18
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ local PATCHES=(
+ # Rejected upstream, keep this for ia64 support
+ "${FILESDIR}"/efivar-38-ia64-relro.patch
+ )
+ default
+}
+
+src_configure() {
+ unset CROSS_COMPILE
+ export COMPILER=$(tc-getCC)
+ export HOSTCC=$(tc-getBUILD_CC)
+
+ tc-ld-disable-gold
+
+ export libdir="/usr/$(get_libdir)"
+
+ # https://bugs.gentoo.org/562004
+ unset LIBS
+
+ # Avoid -Werror
+ export ERRORS=
+
+ if [[ -n ${GCC_SPECS} ]]; then
+ # The environment overrides the command line.
+ GCC_SPECS+=":${S}/src/include/gcc.specs"
+ fi
+
+ # Used by tests/Makefile
+ export GRUB_PREFIX=grub
+}
+
+src_compile() {
+ # HOST_MARCH: https://bugs.gentoo.org/831334
+ emake HOST_MARCH=
+}
+
+src_test() {
+ # https://bugs.gentoo.org/924370
+ emake -j1 test
+}
diff --git a/sys-libs/efivar/metadata.xml b/sys-libs/efivar/metadata.xml
index 0a27d363fed2..09743f0f8998 100644
--- a/sys-libs/efivar/metadata.xml
+++ b/sys-libs/efivar/metadata.xml
@@ -6,6 +6,6 @@
<name>Mike Gilbert</name>
</maintainer>
<upstream>
- <remote-id type="github">rhinstaller/efivar</remote-id>
+ <remote-id type="github">rhboot/efivar</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 319395c53711..b18afc2a1149 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -36,6 +36,8 @@ DIST glibc-2.39-patches-6.tar.xz 87600 BLAKE2B 7bb24a16fb64ed07a7477dad075dfedd5
DIST glibc-2.39-patches-7.tar.xz 104640 BLAKE2B 9dba666c20aa4f4dde29fcc7173e53f08037102d0e53634533ac900f90d99a76f0f26064f6f71c72c75fa788f501e562a9f9548ebb44ded26ec55a5344e99d1e SHA512 214bf3256177141e059531775ed74d813a01a1e4f15892c40f7e70d8b26ce79216501d1cee5e6e980fbb5c2966ce427edf3136283486ae50acb88cb8e647ee0a
DIST glibc-2.39-patches-9.tar.xz 110948 BLAKE2B b958561bbc0fefa5982f0aa16dd02cc9cbd015d30d203c02d9ee72605aa51c3e25fac39759487c0deb382a793e3e0274e5585c5a4bd0036bcfaa30fc7dad9021 SHA512 d954a846c4308d4e16d3e878f1ed9ec62f3d78328043289a38cb15148ccf6b431e4a0f185e138300c141ba7e63247922f916ecbab2c8eeaa99d31c54b1ebd0fb
DIST glibc-2.39.tar.xz 18520988 BLAKE2B 9d98459a2d58401e07c081e0d841935b23998da75a7eb5a7ebd23a1f9ebab99dee623fe166397c1b6c926960c570f62dbca5cb3b5ce84a918adff6b7a15e16bb SHA512 818f58172a52815b4338ea9f2a69ecaa3335492b9f8f64cbf8afb24c0d737982341968ecd79631cae3d3074ab0ae4bc6056fc4ba3ffe790849dc374835cd57e2
+DIST glibc-2.40-patches-1.tar.xz 17316 BLAKE2B 7c44b9a6f1b34aa5240a1d68721acf399e488c2e9f6e838d16344f4e87737e516c975547fa23baba386263ccfdd26832df2e78040c95d0faa53b32e2343c9831 SHA512 5b922cb4a9150fc2380be834e2c6cf62340c23476e9e1ec6a7954e1f01686e8b6d65108a9a07a96d580b863376e0dfc829b6b4d3ac2a6f99de2fb87a51125d78
+DIST glibc-2.40.tar.xz 18752204 BLAKE2B 8593cab5b2549b77159b6866fbb40b917e491fd5bc0814f7f85b6529166d78d4583436450c479b86cdfe468304fc4d2a9ba8294230a55dbc4c15e89c3ab6c000 SHA512 33caf91dbfddde6480b7cdf7a68b36aff8c522bfee56160af26af297f1b768668edb08bc4e1a7ff61c64721e3c1d49c347a5dd01c5edd3b914ee6479c8b27885
DIST glibc-systemd-20210729.tar.gz 1480 BLAKE2B 37722c7579df782d890e44dbab99c3de52ab466eb9de80d82405e9bb5620bf39ffc8c5f466a435bdb86ef6d36dd7019c0736573916bda6c67d02a2581e0ec979 SHA512 efd75af58b50522c28cdac7abd1fc56555bc1bb042512c90d8340c1ec09c5791b3872a305bf83723252bbde5855b75d958c041083457765c4cfd170732d09238
DIST glibc-systemd-20210814.tar.gz 1469 BLAKE2B 10fa7bcb46d4fdce9c0ab353cbd30871e9b09a347a13a9c9a3b5777f931aa3c826c158d2e49532c604d4a834f2fab4089b67495fb88d0398945dc50d45ad9ef1 SHA512 5346a9ea459a1e6ccf665389f2a294de1e16f1e3e05cdf07e3dd99ed0e4f6f8b52cc333d4bff3c75ac90ab6ce70cd4ab2b3e126f920ce7979abd6dda56315efc
DIST locale-gen-2.00.tar.gz 7738 BLAKE2B cde6de5ba3400aea24d0d5f1b79471f89f09fb747c8e371e38316c7ada92f967e0865f573f23cb353d82419c234724143c0aeca9eb70eb945dfc581cc7491eb1 SHA512 b609fddb9ec5e567c008841fef3390eddb5d6e7699a8271b3b8c0ade1b44b0ac2e5d1daa8b9acabf3432e3b88110b538a96f209b1ad0f9e988b7efce66606dff
@@ -53,6 +55,7 @@ EBUILD glibc-2.37-r10.ebuild 53069 BLAKE2B c6cdba8fd225be0d3d235124f51c97a019a68
EBUILD glibc-2.38-r13.ebuild 54775 BLAKE2B c3291ddd788036be52f941eab728f344a91c8c7df16ccc9586cf809f1290ac8c4b670e7b75676d12e089ebb455a2692fdf9b075f25793398a676d821deb98968 SHA512 574fe46f49a81ecfdc06518d32d09565f02c0a6eb24b5ba950bfbbf0d513116715a68178afe7fc9f6802e9b70e27ff7f9aecbfe6e662e545be22e4967529b222
EBUILD glibc-2.39-r6.ebuild 54759 BLAKE2B 5e0fee4d058e73a3d675e389d302adb2097afdcd8661191285e95088250d05d2eecf5d98b551db5e65f3ad48c671470df3ea7e9069074961f4821c753e16b89f SHA512 27b5194381e17be94b1a42eda1081adad443fec51c2dc36ae0ad75e6b730680a181ff8deb4800ae4aba63afc7332f45286a843475373bbef7bb927386c2e0ca4
EBUILD glibc-2.39-r7.ebuild 54767 BLAKE2B 6626c0110d6ff3eeca21ecb5f0a5c40b29f84827c7bf5fb93a928b959a780d7f5b6eb3de6c3c643e7209c0b81981f464935395a4523cd727a8d3a17a2a2734e5 SHA512 19b1ab909458aafee204aa2b5c24c4438b7ea1f51d69f65968b23ff8f7db2c572467f67ea2c50cdd125725c83c520a813f02c675bc28fcf3e6df7c2d9b6c8c4b
-EBUILD glibc-2.39-r9.ebuild 54361 BLAKE2B 19d389f3b8cee21dcc330cb6b6fb7a3c152a805ce7e89508461cd935d5393b5d7a29237ee6e09f78d5065e13753ab55b4c7f015f6a944a3cec11aed32add3bf0 SHA512 8e4667fb9890f3e9b83283a044ddf35a392ac2a0c2e4d2f2a2a42a65b3cba485a4f77a889538dbf83984179356f7693a790946a10a26d4e194da3438d9ac35b1
-EBUILD glibc-9999.ebuild 54364 BLAKE2B 770b39bdd40a18b9abee1fa1ba025dc3c17f72ffce4481986cddd636e6ccdbb0dd4ead07e576b6d85b2075e006a46cf601181729554daecc61924bd4a20ae3d2 SHA512 cecb09dfb348a412a6e707062a597dd728e8fa2d0c6e6b834656f4fe5ec7269d2969982c0e0f09f3d4f0161f9016b2b4b4d71d68373de8e5148a11f4c2248e9c
+EBUILD glibc-2.39-r9.ebuild 54416 BLAKE2B 78c3f4959e6da9086e67021ce90f44e96581fc0ea44951b2f26869be6ce3c62ecdabd7b642bbdc5ef7a3400353899904ecbf09016eea10d721736badca31e2d1 SHA512 bc274e741e26f8ceab793467b813e2722bfabd7c63295711d957d8c8806adb9d8a2a2a6e33d392af918c3af7a87a8f726b093d1aa8432d733c1cc17145fb441e
+EBUILD glibc-2.40.ebuild 54417 BLAKE2B a99f576141195a92f27ce98ff2f0023900b85b1168dc7e5e1e509ee1a5539bd7cdbaf5ee45eb2eb0e59deb80c31e932c04e059411dde1078e79fb01b8ca05f82 SHA512 193c5d4925a0ca7d697667f083ebd8e57b998402cf5f74a33f62cdf85630e0bdc5bcd5a7de43c07c79c7d229853f9f79bb2209438fa5acdfb94be5ad320c2f39
+EBUILD glibc-9999.ebuild 54418 BLAKE2B dfb32246f7219c91ee961fa2a11e8b505a18243fc7ad670560b1b5939e7721d5a74faf8dfdd8c0aacf7aece56bd18de96f1f1398d99f347547c5e0428ea0289a SHA512 a3e007e945b56ce07c72762529be5165bb6b52e2c7851ef1c341c4037e11accaaf985d63f928510a24a5c2e7b562dc010ab191f0fd39d65d2b170dcb72798d14
MISC metadata.xml 2142 BLAKE2B 765ba540eb10afccd1bade4de56f0c13ce269225500a62d1d17328194de69e7fa15d359a14eac6bfa8a36df45344db3d52f5e1811b174cf1fa2bfb95ad7760a7 SHA512 2f4a148c076a0967663d14e76b85a698ddae7093ff299b0dc95a6c3b00957c9bf73443f2bace9670eb62a45465efbcca892bb52b6aac8577acb2bc5f74a7397c
diff --git a/sys-libs/glibc/glibc-2.39-r9.ebuild b/sys-libs/glibc/glibc-2.39-r9.ebuild
index d15adef9b01f..b73cd8b325eb 100644
--- a/sys-libs/glibc/glibc-2.39-r9.ebuild
+++ b/sys-libs/glibc/glibc-2.39-r9.ebuild
@@ -477,6 +477,9 @@ setup_flags() {
# #898098
filter-flags -fno-builtin
+ # #798774
+ filter-flags -fno-semantic-interposition
+
# #829583
filter-lfs-flags
@@ -1001,7 +1004,7 @@ glibc_do_configure() {
# worth protecting from stack smashes.
myconf+=( --enable-stack-protector=$(usex ssp strong no) )
- # Keep a whitelist of targets supporing IFUNC. glibc's ./configure
+ # Keep a whitelist of targets supporting IFUNC. glibc's ./configure
# is not robust enough to detect proper support:
# https://bugs.gentoo.org/641216
# https://sourceware.org/PR22634#c0
diff --git a/sys-libs/glibc/glibc-2.40.ebuild b/sys-libs/glibc/glibc-2.40.ebuild
new file mode 100644
index 000000000000..1e2debc4ab65
--- /dev/null
+++ b/sys-libs/glibc/glibc-2.40.ebuild
@@ -0,0 +1,1744 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc
+# Please read & adapt the page as necessary if obsolete.
+
+PYTHON_COMPAT=( python3_{10..12} )
+TMPFILES_OPTIONAL=1
+
+EMULTILIB_PKG="true"
+
+# Gentoo patchset (ignored for live ebuilds)
+PATCH_VER=1
+PATCH_DEV=dilfridge
+
+# gcc mulitilib bootstrap files version
+GCC_BOOTSTRAP_VER=20201208
+
+# systemd integration version
+GLIBC_SYSTEMD_VER=20210729
+
+# Minimum kernel version that glibc requires
+MIN_KERN_VER="3.2.0"
+
+# Minimum pax-utils version needed (which contains any new syscall changes for
+# its seccomp filter!). Please double check this!
+MIN_PAX_UTILS_VER="1.3.3"
+
+# Minimum systemd version needed (which contains any new syscall changes for
+# its seccomp filter!). Please double check this!
+MIN_SYSTEMD_VER="254.9-r1"
+
+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/"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa -ia64 ~loong ~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
+
+SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
+SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )"
+
+LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
+SLOT="2.2"
+IUSE="audit caps cet compile-locales custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla"
+
+# 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.
+# - similarly, valgrind requires knowledge about symbols in ld.so:
+# bug #920753
+# 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.
+
+IDEPEND="
+ !compile-locales? ( sys-apps/locale-gen )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=app-misc/pax-utils-${MIN_PAX_UTILS_VER}
+ sys-devel/bison
+ compile-locales? ( sys-apps/locale-gen )
+ doc? (
+ dev-lang/perl
+ sys-apps/texinfo
+ )
+ test? (
+ dev-lang/perl
+ >=net-dns/libidn2-2.3.0
+ )
+"
+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-debug/systemtap )
+"
+DEPEND="${COMMON_DEPEND}
+"
+RDEPEND="${COMMON_DEPEND}
+ !<app-misc/pax-utils-${MIN_PAX_UTILS_VER}
+ !<sys-apps/systemd-${MIN_SYSTEMD_VER}
+ perl? ( dev-lang/perl )
+"
+
+RESTRICT="!test? ( test )"
+
+if [[ ${CATEGORY} == cross-* ]] ; then
+ BDEPEND+=" !headers-only? (
+ >=${CATEGORY}/binutils-2.27
+ >=${CATEGORY}/gcc-6.2
+ )"
+ [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
+else
+ BDEPEND+="
+ >=sys-devel/binutils-2.27
+ >=sys-devel/gcc-6.2
+ "
+ 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=(
+ # 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
+
+ # The following tests fail only inside portage
+ # https://bugs.gentoo.org/831267
+ tst-system
+ tst-strerror
+ tst-strsignal
+
+ # Fails with certain PORTAGE_NICENESS/PORTAGE_SCHEDULING_POLICY
+ tst-sched1
+
+ # Fails regularly, unreliable
+ tst-valgrind-smoke
+
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=31877 (bug #927973)
+ tst-shstk-legacy-1g
+)
+
+XFAIL_NSPAWN_TEST_LIST=(
+ # These tests need to be adapted to handle EPERM/ENOSYS(?) properly
+ # upstream, as systemd-nspawn's default seccomp whitelist is too strict.
+ # https://sourceware.org/PR30603
+ test-errno-linux
+ tst-bz21269
+ tst-mlock2
+ tst-ntp_gettime
+ tst-ntp_gettime-time64
+ tst-ntp_gettimex
+ tst-ntp_gettimex-time64
+ tst-pkey
+ tst-process_mrelease
+ tst-adjtime
+ tst-adjtime-time64
+ tst-clock2
+ tst-clock2-time64
+
+ # These fail if --suppress-sync and/or low priority is set
+ tst-sync_file_range
+ test-errno
+)
+
+#
+# Small helper functions
+#
+
+dump_build_environment() {
+ einfo ==== glibc build environment ========================================================
+ local v
+ for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX CPP LD \
+ {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY \
+ STRINGS OBJDUMP READELF; do
+ einfo " $(printf '%15s' ${v}:) ${!v}"
+ done
+ einfo =====================================================================================
+}
+
+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
+
+ # We assume CC is already set up.
+ nonfatal emake glibc-test
+ ret=$?
+
+ popd >/dev/null
+
+ CFLAGS=${save_cflags}
+ return ${ret}
+}
+
+do_run_test() {
+ local ret
+
+ if [[ ${MERGE_TYPE} == "binary" ]] ; then
+ # ignore build failures when installing a binary package #324685
+ do_compile_test "" "$@" 2>/dev/null || return 0
+ else
+ if ! do_compile_test "" "$@" ; then
+ ewarn "Simple build failed ... assuming this is desired #324685"
+ return 0
+ fi
+ fi
+
+ pushd "${T}" >/dev/null
+
+ ./glibc-test
+ ret=$?
+ rm -f glibc-test*
+
+ popd >/dev/null
+
+ return ${ret}
+}
+
+setup_target_flags() {
+ # This largely mucks with compiler flags. None of which should matter
+ # when building up just the headers.
+ just_headers && return 0
+
+ case $(tc-arch) in
+ x86)
+ # -march needed for #185404 #199334
+ # TODO: When creating the first glibc cross-compile, this test will
+ # always fail as it does a full link which in turn requires glibc.
+ # Probably also applies when changing multilib profile settings (e.g.
+ # enabling x86 when the profile was amd64-only previously).
+ # We could change main to _start and pass -nostdlib here so that we
+ # only test the gcc code compilation. Or we could do a compile and
+ # then look for the symbol via scanelf.
+ if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; 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
+ # For compatibility with older binaries at slight performance cost.
+ use stack-realign && export CFLAGS+=" -mstackrealign"
+ ;;
+ amd64)
+ # -march needed for #185404 #199334
+ # TODO: See cross-compile issues listed above for x86.
+ if [[ ${ABI} == x86 ]]; then
+ 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
+ # For compatibility with older binaries at slight performance cost.
+ use stack-realign && export CFLAGS_x86+=" -mstackrealign"
+ 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
+
+ # Allow -O2 and -O3, but nothing else for now.
+ # TODO: Test -Os, -Oz.
+ if ! is-flagq '-O@(2|3)' ; then
+ # Lock glibc at -O2. We want to be conservative here.
+ filter-flags '-O?'
+ append-flags -O2
+ fi
+ fi
+
+ strip-unsupported-flags
+ filter-lto
+ 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'
+
+ # Flag added for cross-prefix, but causes ldconfig to segfault. Not needed
+ # anyway because glibc already handles this by itself.
+ filter-ldflags '-Wl,--dynamic-linker=*'
+
+ # some weird software relies on sysv hashes in glibc, bug 863863, bug 864100
+ # we have to do that here already so mips can filter it out again :P
+ if use hash-sysv-compat ; then
+ append-ldflags '-Wl,--hash-style=both'
+ fi
+
+ # #492892
+ filter-flags -frecord-gcc-switches
+
+ # #898098
+ filter-flags -fno-builtin
+
+ # #798774
+ filter-flags -fno-semantic-interposition
+
+ # #829583
+ filter-lfs-flags
+
+ 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"
+ # https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F
+ replace-flags -O0 -O1
+
+ # glibc handles this internally already where it's appropriate;
+ # can't always have SSP when we're the ones setting it up, etc
+ filter-flags '-fstack-protector*'
+
+ # Similar issues as with SSP. Can't inject yourself that early.
+ filter-flags '-fsanitize=*'
+
+ # See end of bug #830454; we handle this via USE=cet
+ filter-flags '-fcf-protection=*'
+
+ # When bootstrapping, we may have a situation where
+ # CET-enabled gcc from seed is used to build CET-disabled
+ # glibc. As such, gcc implicitly enables CET if no
+ # -fcf-protection flag is passed. For a typical package it
+ # should not be a problem, but for glibc it matters as it is
+ # dealing with CET in ld.so. So if CET is supposed to be
+ # disabled for glibc, be explicit about it.
+ if ! use cet; then
+ case ${ABI}-${CTARGET} in
+ amd64-x86_64-*|x32-x86_64-*-*-gnux32)
+ append-flags '-fcf-protection=none'
+ ;;
+ arm64-aarch64*)
+ append-flags '-mbranch-protection=none'
+ ;;
+ esac
+ fi
+}
+
+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
+
+ # Glibc does not work with gold (for various reasons) #269274.
+ tc-ld-disable-gold
+
+ if use doc ; then
+ export MAKEINFO=makeinfo
+ else
+ export MAKEINFO=/dev/null
+ fi
+
+ # Reset CC and CXX to the value at start of emerge
+ export CC=${glibc__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}}
+ export CXX=${glibc__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}}
+ export CPP=${glibc__ORIG_CPP:-${CPP:-$(tc-getCPP ${CTARGET})}}
+
+ # and make sure glibc__ORIG_CC and glibc__ORIG_CXX is defined now.
+ export glibc__ORIG_CC=${CC}
+ export glibc__ORIG_CXX=${CXX}
+ export glibc__ORIG_CPP=${CPP}
+
+ if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then
+ export glibc__force_gcc=yes
+ # once this is toggled on, it needs to stay on, since with CPP manipulated
+ # tc-is-clang does not work correctly anymore...
+ fi
+
+ if [[ ${glibc__force_gcc} == "yes" ]] ; then
+ # If we are running in an otherwise clang/llvm environment, we need to
+ # recover the proper gcc and binutils settings here, at least until glibc
+ # is finally building with clang. So let's override everything that is
+ # set in the clang profiles.
+ # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always
+ # a good start into that direction.
+ # Also, if you're crosscompiling, let's assume you know what you are doing.
+ # Hopefully.
+ # Last, we need the settings of the *build* environment, not of the
+ # target environment...
+
+ local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B)
+ local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B)
+ einfo "Overriding clang configuration, since it won't work here"
+
+ export CC="${current_gcc_path}/gcc"
+ export CPP="${current_gcc_path}/cpp"
+ export CXX="${current_gcc_path}/g++"
+ export LD="${current_binutils_path}/ld.bfd"
+ export AR="${current_binutils_path}/ar"
+ export AS="${current_binutils_path}/as"
+ export NM="${current_binutils_path}/nm"
+ export STRIP="${current_binutils_path}/strip"
+ export RANLIB="${current_binutils_path}/ranlib"
+ export OBJCOPY="${current_binutils_path}/objcopy"
+ export STRINGS="${current_binutils_path}/strings"
+ export OBJDUMP="${current_binutils_path}/objdump"
+ export READELF="${current_binutils_path}/readelf"
+ export ADDR2LINE="${current_binutils_path}/addr2line"
+
+ # do we need to also do flags munging here? yes! at least...
+ filter-flags '-fuse-ld=*'
+ filter-flags '-D_FORTIFY_SOURCE=*'
+
+ else
+
+ # this is the "normal" case
+
+ export CC="$(tc-getCC ${CTARGET})"
+ export CXX="$(tc-getCXX ${CTARGET})"
+ export CPP="$(tc-getCPP ${CTARGET})"
+
+ # 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})"
+
+ fi
+
+ # 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. (Why does the comment talk about CFLAGS if the code
+ # acts on CC?)
+ export glibc__GLIBC_CC=${CC}
+ export glibc__GLIBC_CXX=${CXX}
+ export glibc__GLIBC_CPP=${CPP}
+
+ export glibc__abi_CFLAGS="$(get_abi_CFLAGS)"
+
+ # 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="${glibc__GLIBC_CC} ${glibc__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}"
+
+ # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
+ export CXX="${glibc__GLIBC_CXX} ${glibc__abi_CFLAGS} ${CFLAGS}"
+
+ export CPP="${glibc__GLIBC_CPP} ${glibc__abi_CFLAGS} ${CFLAGS}"
+
+ if is_crosscompile; then
+ # Assume worst-case bootstrap: glibc is built for the first time
+ # with ${CTARGET}-g++ 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
+}
+
+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+=" (patchset ${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
+
+ 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 if the system can execute 32-bit binaries"
+ 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
+ if [[ $STAT -ne 0 ]]; then
+ eerror "Ensure that CONFIG_IA32_EMULATION is enabled in the kernel."
+ eerror "Seek support otherwise."
+ die "Unable to execute 32-bit binaries"
+ fi
+ fi
+
+ fi
+
+ # When we actually have to compile something...
+ if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then
+ if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then
+ # bug #833620, bug #643302
+ eerror "Found ${ESYSROOT}/usr/lib/include directory!"
+ eerror "This is known to break glibc's build."
+ eerror "Please backup its contents then remove the directory."
+ die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!"
+ 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
+
+ # Do not run this check for pkg_pretend, just pkg_setup and friends (if we ever get used there).
+ # It's plausible (seen it in the wild) that Portage will (correctly) schedule a linux-headers
+ # upgrade before glibc, but because pkg_pretend gets run before any packages are merged at all (not
+ # just glibc), the whole emerge gets aborted without a good reason. We probably don't
+ # need to run this check at all given we have a dependency on the right headers,
+ # but let's leave it as-is for now.
+ if [[ ${EBUILD_PHASE_FUNC} != pkg_pretend ]] ; then
+ 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
+ fi
+}
+
+upgrade_warning() {
+ is_crosscompile && return
+
+ if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then
+ local oldv newv=$(ver_cut 1-2 ${PV})
+ for oldv in ${REPLACING_VERSIONS}; do
+ if ver_test ${oldv} -lt ${newv}; then
+ ewarn "After upgrading glibc, please restart all running processes."
+ ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)."
+ ewarn "Alternatively, reboot your system."
+ ewarn "(See bug #660556, bug #741116, bug #823756, etc)"
+ break
+ fi
+ done
+ fi
+}
+
+#
+# the phases
+#
+
+# pkg_pretend
+
+pkg_pretend() {
+ upgrade_warning
+}
+
+# pkg_setup
+
+pkg_setup() {
+ # see bug 682570
+ [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup
+}
+
+# src_unpack
+
+src_unpack() {
+ setup_env
+
+ einfo "Checking general environment sanity."
+ sanity_prechecks
+
+ use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz
+
+ 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-${PV}-patches-${PATCH_VER}.tar.xz
+ fi
+
+ cd "${WORKDIR}" || die
+ use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz
+}
+
+# src_prepare
+
+src_prepare() {
+ local patchsetname
+ if ! use vanilla ; then
+ if [[ ${PV} == 9999* ]] ; then
+ patchsetname="from git master"
+ else
+ patchsetname="${PV}-${PATCH_VER}"
+ fi
+ einfo "Applying Gentoo Glibc patchset ${patchsetname}"
+ eapply "${WORKDIR}"/patches
+ einfo "Done."
+ fi
+
+ default
+
+ gnuconfig_update
+
+ cd "${WORKDIR}" || die
+ find . -name configure -exec touch {} +
+
+ # Fix permissions on some of the scripts.
+ chmod u+x "${S}"/scripts/*.sh
+
+ cd "${S}" || die
+}
+
+# src_configure
+
+glibc_do_configure() {
+ dump_build_environment
+
+ local myconf=()
+
+ # Use '=strong' instead of '=all' to protect only functions
+ # worth protecting from stack smashes.
+ myconf+=( --enable-stack-protector=$(usex ssp strong no) )
+
+ # Keep a whitelist of targets supporting 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|riscv|loong) ;;
+ # Blacklist everywhere else
+ *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;;
+ esac
+
+ case ${ABI}-${CTARGET} in
+ amd64-x86_64-*|x32-x86_64-*-*-gnux32) 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+=(
+ --disable-werror
+ --enable-bind-now
+ --enable-fortify-source
+ --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_multiarch || echo --disable-multi-arch)
+ $(use_enable systemtap)
+ $(use_enable nscd)
+
+ # /usr/bin/mtrace has a Perl shebang. Gentoo Prefix QA checks fail if
+ # Perl hasn't been installed inside the prefix yet and configure picks
+ # up a Perl from outside the prefix instead. configure will fail to
+ # execute Perl during configure if we're cross-compiling a prefix, but
+ # it will just disable mtrace in that case.
+ # Note: mtrace is needed by the test suite.
+ ac_cv_path_PERL="$(usex perl "${EPREFIX}"/usr/bin/perl $(usex test "${EPREFIX}"/usr/bin/perl $(usex doc "${EPREFIX}"/usr/bin/perl no)))"
+
+ # locale data is arch-independent
+ # https://bugs.gentoo.org/753740
+ libc_cv_complocaledir='${exec_prefix}/lib/locale'
+
+ # On aarch64 there is no way to override -mcpu=native, and if
+ # the current cpu does not support SVE configure fails.
+ # Let's boldly assume our toolchain can always build SVE instructions.
+ libc_cv_aarch64_sve_asm=yes
+
+ ${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)"
+
+ local builddir=$(builddir nptl)
+ mkdir -p "${builddir}"
+ cd "${builddir}"
+ set -- "${S}"/configure "${myconf[@]}"
+ echo "$@"
+ "$@" || die "failed to configure glibc"
+
+ # 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 'int main(void){}' > "${T}"/test.c || die
+ 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,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
+
+ local myconf=()
+
+ case ${CTARGET} in
+ aarch64*)
+ # The configure checks fail during cross-build, so disable here
+ # for headers-only
+ myconf+=(
+ --disable-mathvec
+ ) ;;
+ 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
+
+ myconf+=(
+ --disable-sanity-checks
+ --enable-hacker-mode
+ --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
+}
+
+# src_compile
+
+do_src_compile() {
+ emake -C "$(builddir nptl)"
+}
+
+src_compile() {
+ if just_headers ; then
+ return
+ fi
+
+ foreach_abi do_src_compile
+}
+
+# src_test
+
+glibc_src_test() {
+ cd "$(builddir nptl)"
+
+ local myxfailparams=""
+ if [[ "${GENTOO_GLIBC_XFAIL_TESTS}" == "yes" ]] ; then
+ local virt=$(systemd-detect-virt 2>/dev/null)
+ if [[ ${virt} == systemd-nspawn ]] ; then
+ ewarn "Skipping extra tests because in systemd-nspawn container"
+ XFAIL_TEST_LIST+=( "${XFAIL_NSPAWN_TEST_LIST[@]}" )
+ fi
+ if [[ "$(nice)" == "19" ]] ; then
+ # Expects to be able to increase niceness, which it can't do if
+ # already at the highest nice value
+ XFAIL_TEST_LIST+=( "tst-nice" )
+ fi
+
+ 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
+
+ # we give the tests a bit more time to avoid spurious
+ # bug reports on slow arches
+
+ SANDBOX_ON=0 LD_PRELOAD= TIMEOUTFACTOR=16 emake ${myxfailparams} check
+}
+
+src_test() {
+ if just_headers ; then
+ return
+ fi
+
+ foreach_abi glibc_src_test || die "tests failed"
+}
+
+# src_install
+
+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
+
+ # bug 736794: we need to be careful with the parallelization... the number of
+ # processors saved in the environment of a binary package may differ strongly
+ # from the number of processes available during postinst
+ local mygenjobs="$(makeopts_jobs)"
+ if [[ "${EMERGE_FROM}" == "binary" ]] ; then
+ mygenjobs="$(nproc)"
+ fi
+
+ set -- locale-gen ${inplace} --jobs "${mygenjobs}" --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 libpthreads symbols. stripping breaks it
+ # See Note [Disable automatic stripping]
+ dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so
+ # valgrind requires knowledge about ld.so symbols.
+ dostrip -x $(alt_libdir)/ld-*.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 configure toolchains for standalone prefix systems with a sysroot,
+ # which is prepended to paths in ld scripts, so strip the prefix from these.
+ # Before: GROUP ( /foo/lib64/libc.so.6 /foo/usr/lib64/libc_nonshared.a AS_NEEDED ( /foo/lib64/ld-linux-x86-64.so.2 ) )
+ # After: GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) )
+ if [[ -n $(host_eprefix) ]] ; then
+ local file
+ grep -lZIF "ld script" "${ED}/$(alt_usrlibdir)"/lib*.{a,so} 2>/dev/null | while read -rd '' file ; do
+ sed -i "s|$(host_eprefix)/|/|g" "${file}" || die
+ done
+ 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 "${S}" || die
+
+ # Install misc network config files
+ insinto /etc
+ doins posix/gai.conf
+
+ if use systemd ; then
+ doins "${WORKDIR}/glibc-systemd-${GLIBC_SYSTEMD_VER}/gentoo-config/nsswitch.conf"
+ else
+ doins nss/nsswitch.conf
+ fi
+
+ # Gentoo-specific
+ newins "${FILESDIR}"/host.conf-1 host.conf
+
+ if use nscd ; then
+ doins nscd/nscd.conf
+
+ newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd
+
+ local nscd_args=(
+ -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):"
+ )
+
+ sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd
+
+ use systemd && systemd_dounit nscd/nscd.service
+ newtmpfiles nscd/nscd.tmpfiles nscd.conf
+ fi
+
+ echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc
+ doenvd "${T}"/00glibc
+
+ for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do
+ [[ -s ${d} ]] && dodoc ${d}
+ done
+ dodoc -r ChangeLog.old
+
+ # Prevent overwriting of the /etc/localtime symlink. We'll handle the
+ # creation of the "factory" symlink in pkg_postinst().
+ rm -f "${ED}"/etc/localtime
+
+ # Generate all locales if this is a native build as locale generation
+ if use compile-locales && ! is_crosscompile ; then
+ run_locale_gen --inplace-glibc "${ED}/"
+ fi
+}
+
+glibc_headers_install() {
+ local builddir=$(builddir "headers")
+ cd "${builddir}"
+ emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers
+
+ insinto $(alt_headers)/gnu
+ doins "${S}"/include/gnu/stubs.h
+
+ # Make sure we install the sys-include symlink so that when
+ # we build a 2nd stage cross-compiler, gcc finds the target
+ # system headers correctly. See gcc/doc/gccinstall.info
+ dosym usr/include $(alt_prefix)/sys-include
+}
+
+src_install() {
+ if just_headers ; then
+ export ABI=default
+ glibc_headers_install
+ return
+ fi
+
+ foreach_abi glibc_do_src_install
+
+ if ! use static-libs ; then
+ einfo "Not installing static glibc libraries"
+ find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete
+ fi
+}
+
+# Simple test to make sure our new glibc isn't completely broken.
+# Make sure we don't test with statically built binaries since
+# they will fail. Also, skip if this glibc is a cross compiler.
+#
+# If coreutils is built with USE=multicall, some of these files
+# will just be wrapper scripts, not actual ELFs we can test.
+glibc_sanity_check() {
+ cd / #228809
+
+ # We enter ${ED} so to avoid trouble if the path contains
+ # special characters; for instance if the path contains the
+ # colon character (:), then the linker will try to split it
+ # and look for the libraries in an unexpected place. This can
+ # lead to unsafe code execution if the generated prefix is
+ # within a world-writable directory.
+ # (e.g. /var/tmp/portage:${HOSTNAME})
+ pushd "${ED}"/$(get_libdir) >/dev/null
+
+ # first let's find the actual dynamic linker here
+ # symlinks may point to the wrong abi
+ local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit)
+
+ einfo Last-minute run tests with ${newldso} in /$(get_libdir) ...
+
+ local x striptest
+ for x in cal date env free ls true uname uptime ; do
+ x=$(type -p ${x})
+ [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue
+ striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue
+ case ${striptest} in
+ *"statically linked"*) continue;;
+ *"ASCII text"*) continue;;
+ esac
+ # We need to clear the locale settings as the upgrade might want
+ # incompatible locale data. This test is not for verifying that.
+ LC_ALL=C \
+ ${newldso} --library-path . ${x} > /dev/null \
+ || die "simple run test (${x}) failed"
+ done
+
+ popd >/dev/null
+}
+
+pkg_preinst() {
+ # nothing to do if just installing headers
+ just_headers && return
+
+ einfo "Checking general environment sanity."
+ sanity_prechecks
+
+ # 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]" && ! has preserve-libs ${FEATURES}; then
+ PRESERVED_OLD_LIBCRYPT=1
+ cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" \
+ "${T}/libcrypt$(get_libname 1)" || die
+ else
+ PRESERVED_OLD_LIBCRYPT=0
+ fi
+}
+
+glibc_refresh_ldconfig() {
+ if [[ ${MERGE_TYPE} == buildonly ]]; then
+ return
+ fi
+
+ # Version check could be added to avoid unnecessary work, but ldconfig
+ # should finish quickly enough to not matter.
+ ebegin "Refreshing ld.so.cache"
+ ldconfig -i
+ if ! eend $?; then
+ ewarn "Failed to refresh the ld.so.cache for you. Some programs may be broken"
+ ewarn "before you manually do so (ldconfig -i)."
+ 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
+ # glibc-2.38+ on loong has ldconfig support added, but the ELF e_flags
+ # handling has changed as well, which means stale ldconfig auxiliary
+ # cache entries and failure to lookup libgcc_s / libstdc++ (breaking
+ # every C++ application) / libgomp etc., among other breakages.
+ #
+ # To fix this, simply refresh the ld.so.cache without using the
+ # auxiliary cache if we're natively installing on loong. This should
+ # be done relatively soon because we want to minimize the breakage
+ # window for the affected programs.
+ use loong && glibc_refresh_ldconfig
+
+ use compile-locales || run_locale_gen "${EROOT}/"
+ fi
+
+ upgrade_warning
+
+ # Check for sanity of /etc/nsswitch.conf, take 2
+ if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then
+ local entry
+ for entry in passwd group shadow; do
+ if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then
+ ewarn ""
+ ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been"
+ ewarn "removed from glibc and is now provided by the package"
+ ewarn " sys-auth/libnss-nis"
+ ewarn "Install it now to keep your NIS setup working."
+ ewarn ""
+ fi
+ done
+ fi
+
+ if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then
+ cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die
+ preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1)
+
+ elog "Please ignore a possible later error message about a file collision involving"
+ elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep"
+ elog "the upgrade working, but it also needs to be overwritten when"
+ elog "sys-libs/libxcrypt is installed. See bug 802210 for more details."
+ fi
+}
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index f6b2e565a6a6..a509c476c930 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -477,6 +477,9 @@ setup_flags() {
# #898098
filter-flags -fno-builtin
+ # #798774
+ filter-flags -fno-semantic-interposition
+
# #829583
filter-lfs-flags
diff --git a/sys-libs/kpmcore/Manifest b/sys-libs/kpmcore/Manifest
index 0e0e6246cf44..74f6bd8eb052 100644
--- a/sys-libs/kpmcore/Manifest
+++ b/sys-libs/kpmcore/Manifest
@@ -1,5 +1,5 @@
DIST kpmcore-23.08.5.tar.xz 630396 BLAKE2B f5a470c9b54663b9f52467519046646de9ea20b83c8afaf199e3877ecc3f9de47139c9d44e8b23a2d49bfb00ae624b9117cf1adf83092f141a8e46d02adfaf8f SHA512 30ddbe62412df5645e034b745159b7c8db7801340225653d05856032083181d482379415a56d4e6f703c4f6c4a1a79c252a3b549beba227ab70dfc673cc59acd
DIST kpmcore-24.05.2.tar.xz 638036 BLAKE2B cc75d61d38a12f5fae2b2f20d6594c8609031309484c6b6c871d7eb56cad16abccfe304412e3d7af5a7707a9422f62500726389cacf34a529373c72dc35ad9c4 SHA512 b3da86b2876701276d951de44e29b2e52645650d87efd9be34a98d3e45c606d209326f46c97c1fbc60719de400a5b42b50970fd502ed4acf3db923dab6429d37
-EBUILD kpmcore-23.08.5.ebuild 751 BLAKE2B 213a0bcdd1fe60de05ef4759d4a2e750ed3bfdc19d7c20ea3981243efefa36248592b9699972749e117d415326b29846bb5c59e2643e2ec7c4a6dcada5f4d1a6 SHA512 a0085e7c8e3ad6aace56fa13d0032433b2fa21bc43ff4fe3b76e2f1bf4f08b13b31c63ab3e5a645bfc5fd9f527076bc03ad9739a6b220b1ecd905f267694cd13
-EBUILD kpmcore-24.05.2.ebuild 684 BLAKE2B 0b67adb80de2eb22145cc2ef581fc2d2c433e2daceb2b6eaef0263ffb187cec17888d2c7a56f41f852544e3fb98c344a18fe3608d1e39954e2940f360bde923e SHA512 55a68e608bc5856f274b80575635ef6c342b21bc15d04e3485deba4dbfd1a7aea7eb01803d35aaf60e40df4fd0e305cb7f8350b71988621f8744046394a5c49c
+EBUILD kpmcore-23.08.5.ebuild 743 BLAKE2B 070cbc8ee445446ad57504f930d233b85eccb15f580985c643f2dd8ee2a58cab1701b5263e5a5c0474c178e376643a1c85e1b604661b85db187b59946eb01473 SHA512 15b1af85381a3664f5d9090566e98cc367b59652d4c388408a74668cedb95c3e0891154be2b7007c28abe9b54af9d63979e0ae9defe2a3e77ebed5a88a0beb1c
+EBUILD kpmcore-24.05.2.ebuild 688 BLAKE2B b649390334bbed83d65bcd26b6bd810bd939cbe2969eedc253fbf701206f9167bc98ecb3d1f83c821aa0d6a4cfc3fdcd5f2677cd25f7c9e704ef320dad09f3b6 SHA512 7d66eb5bcfcfe6f045ae5ce4ef18e1b14db2292670da90b058667d1cc59cb1533ab9620e8130fa19b410630dbdf770d8b03632edcefd0f0a2897db9f2abd2fcc
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
diff --git a/sys-libs/kpmcore/kpmcore-23.08.5.ebuild b/sys-libs/kpmcore/kpmcore-23.08.5.ebuild
index 8548d6d3112d..99c98265b8dc 100644
--- a/sys-libs/kpmcore/kpmcore-23.08.5.ebuild
+++ b/sys-libs/kpmcore/kpmcore-23.08.5.ebuild
@@ -14,7 +14,6 @@ HOMEPAGE="https://apps.kde.org/partitionmanager/"
LICENSE="GPL-3"
SLOT="5/10"
KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 x86"
-IUSE=""
# bug 689468, tests need polkit etc.
RESTRICT="test"
diff --git a/sys-libs/kpmcore/kpmcore-24.05.2.ebuild b/sys-libs/kpmcore/kpmcore-24.05.2.ebuild
index 145e0e25caf7..67d3ebc3e321 100644
--- a/sys-libs/kpmcore/kpmcore-24.05.2.ebuild
+++ b/sys-libs/kpmcore/kpmcore-24.05.2.ebuild
@@ -13,8 +13,7 @@ HOMEPAGE="https://apps.kde.org/partitionmanager/"
LICENSE="GPL-3"
SLOT="6/10"
-KEYWORDS="~amd64 ~arm64"
-IUSE=""
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
# bug 689468, tests need polkit etc.
RESTRICT="test"
diff --git a/sys-libs/libcap/Manifest b/sys-libs/libcap/Manifest
index 4352446e8ed9..920487fa5d8f 100644
--- a/sys-libs/libcap/Manifest
+++ b/sys-libs/libcap/Manifest
@@ -2,6 +2,6 @@ AUX libcap-2.62-ignore-RAISE_SETFCAP-install-failures.patch 724 BLAKE2B 39b29240
DIST libcap-2.69.tar.xz 189200 BLAKE2B 94d1fef7666a1c383a8b96f1f6092bd242164631532868b628d2f5de71b42a371d041a978ef7fbadfee3eeb433165444995d1078cd790275bc0433a7875a697e SHA512 647c307dc451517da9d089495ab959b4a6fbbe41c79f4e1e9bb663569dad630ead0c2e413dfb393319e3ea14dc9848c81b392107fe3382ce1813d278c3394a7f
DIST libcap-2.70.tar.xz 191388 BLAKE2B 77b72acee53032117ea481e3380d1b497f9264b6193b9523542508c7c3e46070248ca4ed910d35809ce6e52caa60cbb31edb125c47221627eeda35c61bd0914b SHA512 4e0bf0efeccb654c409afe9727b2b53c1d4da8190d7a0a9848fc52550ff3e13502add3eacde04a68a5b7bec09e91df487f64c5746ba987f873236a9e53b3d4e8
EBUILD libcap-2.69-r1.ebuild 2180 BLAKE2B f97553d779b1432b5af33493afad8fbdd65f1c2ff40b8d74038922cc1452c97b7796ed164a112444be315abfecc734959cf3d1f2398694c1c97303dd1df0f759 SHA512 ee63fb73be7d7dc94d881dbf004ea1f44d566719c1afcc5c36455d85fef9bd70a0175e9b57b92e7454ffc6be7c0e1451d61a5c7f56944987fb2f7267f82b3b21
-EBUILD libcap-2.70.ebuild 2181 BLAKE2B 36a533365855f8eb04f0d5c21eb6df0ef7d929679bc8af912cc048026c5bb894d94c9798192fce5f4f8775000c568752bb56521db8f72c76070a71fb57c9f6db SHA512 54a19703f68f7e3edc0cea4e9cce2bc9e26802b581c71364cbd2ca33e6f812ae32c799d998fec2e832fd2263a0fca77725c968cd3010fd5bc08e7ef93dc38d18
+EBUILD libcap-2.70.ebuild 2180 BLAKE2B f97553d779b1432b5af33493afad8fbdd65f1c2ff40b8d74038922cc1452c97b7796ed164a112444be315abfecc734959cf3d1f2398694c1c97303dd1df0f759 SHA512 ee63fb73be7d7dc94d881dbf004ea1f44d566719c1afcc5c36455d85fef9bd70a0175e9b57b92e7454ffc6be7c0e1451d61a5c7f56944987fb2f7267f82b3b21
EBUILD libcap-9999.ebuild 2188 BLAKE2B c090d7a6d384cb1e0298b57eb3ff5ff36912b6dc68995058df2cd12a30b83e9ebbfb37738f248e67e57c68baf2ea3f2f5d1572d4d093b9c56db47f6289d6f28f SHA512 ec9fb399a62a915d2626835e0edfdcea841642ea93d4f0531294832b29bee000f973e96659a8bdebf96c6b541b3c67d5add8edc25acc1fe1ec12d39e6e925e6f
MISC metadata.xml 438 BLAKE2B b5260cc84a3fe6b992bb6218846c738af296522d7a467337c05a6240fd07fc9d6cece779bd9fcf24a11486a70874e17acae8182647d307a31cf43e1c19c3a2d3 SHA512 fa3713dcf6b7bb2ea6d4c2fdefc05e92ae345c76a6187ebcb40dab8c4ce0148650a8301f236efcb8cf53fff25730977a385578dbaa160b800159c6d6abbf37a9
diff --git a/sys-libs/libcap/libcap-2.70.ebuild b/sys-libs/libcap/libcap-2.70.ebuild
index faf3c1167f90..d7218cbc4b0a 100644
--- a/sys-libs/libcap/libcap-2.70.ebuild
+++ b/sys-libs/libcap/libcap-2.70.ebuild
@@ -11,7 +11,7 @@ if [[ ${PV} == *9999 ]]; then
else
SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
fi
DESCRIPTION="POSIX 1003.1e capabilities"
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 9fe8df22c424..8096e67f092d 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,6 +1,5 @@
DIST llvm-gentoo-patchset-15.0.7-r1.tar.xz 21400 BLAKE2B 6b149cb721ac476b728bf9b0197f630d3db40622b85e3d099cdbc1d85ec14872d4e1eb0c94be6edc20fc6187da29b42f934dfb765f2077425a5b919900bb97c0 SHA512 d84d48caa3781633c7c6147e0b786417e93e4b5c9d1393809164e6d355a56673013ed0ea9bc3309488d7cfb794c1b336c888adc52dcd95e70c16d9208c36bd15
DIST llvm-gentoo-patchset-16.0.6.tar.xz 17340 BLAKE2B 37cdf4b38367b4256d4f7a25d1b4f41758e5f81be8e20a1c94a10d6c5e36642e9672121b455e73a0bac2eb40467ef2db4b43789b2912a6790593d97b8b5c27e3 SHA512 2c02b9d8a4c5af9fddcd26c95dc66fffae32cb5b7f85c65a1aa4ed00dd8cd5b01cc1975a711aee63c0b8b11e9dc20f2bc05ea753904eb516892b820f02aff825
-DIST llvm-project-022d15c0039fc1cfaa3cc2eb1a45b71bbb21fadd.tar.gz 215902891 BLAKE2B ecd87b84a4e5f87c91b6df0a2d6849f385bdb7b26b14a2836f1e1fc5a69f9f5b441e47b9251174019f62eabe39a243092cd1a175b5da7d7576cdcfd63083cff0 SHA512 7726e253179bfd9e0b93236e3ce1133b421329b0b3496b10c0a0eecde372fb5e55cce737b6b78db13f2d0833bbc92023d95efa54cb2918b12ce9af166bd90ff4
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
@@ -9,12 +8,16 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffef86468169ba2f211a9733ec2d4cf30040f7f277ef00f048bb44dee9f97d7d762f0f241f19e5a2a7b0b49217d3821ddfc8c354f SHA512 25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
-DIST llvm-project-3ae6755719c6dfc07761b4e9bdac8c86bcb41734.tar.gz 213487323 BLAKE2B 12030750fca0e7db4ae07a608874877151b2393cf58388f067b469e913ce9ac3f264440ebb3df5ea33f9f97cb87928fa746c98ba26c8d296f9e26dcbf950afc2 SHA512 951b70eafc8aea5b1f7847002229d89df565ca8180deef08b25966dcf070a7603a258e5fc24f9496251d23d275040724ed5e9499432ba3e19f5984f6f1c3c645
+DIST llvm-project-19.1.0-rc2.src.tar.xz 141264388 BLAKE2B 690b4912d9e4a8019b7990934dd6486362337ccb303dca119c0e75aa1063ad452222be1ee965e43b160dfcea20e491a20c289344152666b618712a1d76dc4780 SHA512 508a401e8433b1ac9a399246eb1a3c18faed7c3d41d8c118e77cefbb64cc6d6e171bd41a3e5584f6c84df141ba6819f1a1cce75b5c1ef33e3d2ac239e662d07c
+DIST llvm-project-19.1.0-rc2.src.tar.xz.sig 438 BLAKE2B 1eaf10a1419ecf009c033a8f6ecb6eec86107d81621d5b4665c8d929b05f4845ce0c432017343d7b06f33e6ff6384df9e1d8fc7b9c6efe7f10ef69798891b7e5 SHA512 b46e9a1d40f891c5f3544d8cc6295900bff5dda9a4a526b8db55a42a37ae90deb216b316d2117984e82f4e918d15343e75b3b9e6d6c773866707c3398e032826
+DIST llvm-project-db8ef6188cbbe2125e6d60bdef77a535105772df.tar.gz 218416682 BLAKE2B 691e3881e4a60c008c6b766b51ecc856122de1f40242ff1d91ebaa12682fea0a22f84783eb930c42d196f50ba0d3b2010f9010ed73ee7e292fe78c93d6e3f324 SHA512 2dc16a603b60607cc3daee2de0126a567a78c4fff72b2fbcb94c82472bc5ec64ac354ba8592b9a643248a5bfd43b34e2a60f2751a0c9e9e28b7f895fc50a5e9d
+DIST llvm-project-fd7d7882e7fa5a38d4bfde426120d4663718beb4.tar.gz 218217769 BLAKE2B a6c2aa012c342e31527b7e9f85e8fea3549d52530d8f87cd699e094a0aa768d099f9fd2631161ff7f53b4a5011937ed6d1f52b8fa1d23aa34183be1f487d4277 SHA512 c4863fab1a3c03f7f9c42f3501d3a75cebb491343515d77d30b26e5cbd720fc3fd628052099d87ed638e8c424bcbe7a1d066ed857f73da6f243d3d5a76b0e6c5
EBUILD libcxx-15.0.7-r1.ebuild 5283 BLAKE2B 4380fc5b851054a5ec226ee4c92a2b79511d73ac9b3f8bccc977211601eca36113fc0ae605854da53898507021f24a8b319197605c556244d84253bede7b84f4 SHA512 0a5859269422e794deb43ed960651a1dea830af28b5e395f32e28de8e67a1f399507340230af1c84248853f554e751709a60a9a78aeb0eb42804cb41907dbfce
EBUILD libcxx-16.0.6.ebuild 5300 BLAKE2B 4714e22ad2fdcb07c62ead4cfa47fb4734e45dc055700b63a0f24cd6e93dde960c638fa16f55f4c04c6130fc2a7fa5729814c4aee12e9953f603ea5ccb706cc1 SHA512 3eab779107b5c737d971abe29b7bd9f44a73570957bd7d54d6aaa98ec78a6045d7d69272d611f7f09c60e1aa30bbad46b4bd1358b0b2c69e5bc686ab21444857
EBUILD libcxx-17.0.6.ebuild 5280 BLAKE2B a882313471af07942a0772efa642800ba85545227f7dfe281cd7fcdc686ecda82692d273550b28cca2de47b1b9fda87717c98c52ffafdf1155d5269a3733f48a SHA512 d9a2932d7b9e26dea0e62dfd3aeac08ad0206a242d3d42d83e55b93cc767195a67bc0eb3da38cb8d51930175f94bac6496184d6d4be516014e0208c3f852d427
-EBUILD libcxx-18.1.8.ebuild 5447 BLAKE2B 262f4dd0ccb046dcdf7f6970350381a9a48530f7db546f1b6cef5493b5e2a657a403bb0b5fda0d2d100420c6f8f1bac82f635efa8ad6c70d4476ad101c35eb13 SHA512 74ddb2227a2c8cd3d106861dc8155720f757011933835a36b8a5c133de68db80c14d93ad0cd8c3fa62232ce1e0871889b6db15c4bd53d2c1ea34762d93addc0c
-EBUILD libcxx-19.0.0.9999.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341
-EBUILD libcxx-19.0.0_pre20240623.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341
-EBUILD libcxx-19.0.0_pre20240630.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341
+EBUILD libcxx-18.1.8.ebuild 5442 BLAKE2B 0bafe813a25b0bf38606bc5def482fa9e354005273762cdb29564d0dea93a575a7a95b1b8435ba959da4e47a26aec788e10c15509eb66937830b227679a2fbf7 SHA512 e12a3002d860023ef1f302ac1656ea4ec5556f41ef2b2f247a3eedebeddd7fb51a1e4f2c5a4e75770e15cffd1bdb830a82d081d2505a2196b494a490cc516f17
+EBUILD libcxx-19.1.0_rc2.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341
+EBUILD libcxx-20.0.0.9999.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341
+EBUILD libcxx-20.0.0_pre20240808.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341
+EBUILD libcxx-20.0.0_pre20240815.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341
MISC metadata.xml 598 BLAKE2B b7a60449e0d8e4e7605ec203dfaa45b17a265b024e21a3bcfe05a3aeb6c3d19a1d2a218cb1f9ac9ed52296f0d6e723fed251f364341fb70cbd91b747962db580 SHA512 a23f912efff52c4687767023da826ace8c6e5dcd5e69ece86aabbea99da89e48ba81cdc292f03193e2e8a05743e62ebf4d4735d038e0cc4b42714fa277569335
diff --git a/sys-libs/libcxx/libcxx-18.1.8.ebuild b/sys-libs/libcxx/libcxx-18.1.8.ebuild
index a6fca47e6c29..372665da52df 100644
--- a/sys-libs/libcxx/libcxx-18.1.8.ebuild
+++ b/sys-libs/libcxx/libcxx-18.1.8.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://libcxx.llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~loong ~riscv sparc x86 ~arm64-macos ~x64-macos"
IUSE="+clang +libcxxabi +static-libs test"
REQUIRED_USE="test? ( clang )"
RESTRICT="!test? ( test )"
diff --git a/sys-libs/libcxx/libcxx-19.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-19.1.0_rc2.ebuild
index a0d07e1507f4..a0d07e1507f4 100644
--- a/sys-libs/libcxx/libcxx-19.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-19.1.0_rc2.ebuild
diff --git a/sys-libs/libcxx/libcxx-19.0.0_pre20240623.ebuild b/sys-libs/libcxx/libcxx-20.0.0.9999.ebuild
index a0d07e1507f4..a0d07e1507f4 100644
--- a/sys-libs/libcxx/libcxx-19.0.0_pre20240623.ebuild
+++ b/sys-libs/libcxx/libcxx-20.0.0.9999.ebuild
diff --git a/sys-libs/libcxx/libcxx-19.0.0_pre20240630.ebuild b/sys-libs/libcxx/libcxx-20.0.0_pre20240808.ebuild
index a0d07e1507f4..a0d07e1507f4 100644
--- a/sys-libs/libcxx/libcxx-19.0.0_pre20240630.ebuild
+++ b/sys-libs/libcxx/libcxx-20.0.0_pre20240808.ebuild
diff --git a/sys-libs/libcxx/libcxx-20.0.0_pre20240815.ebuild b/sys-libs/libcxx/libcxx-20.0.0_pre20240815.ebuild
new file mode 100644
index 000000000000..a0d07e1507f4
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-20.0.0_pre20240815.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
+HOMEPAGE="https://libcxx.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="+clang +libcxxabi +static-libs test"
+REQUIRED_USE="test? ( clang )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ libcxxabi? (
+ ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}]
+ )
+ !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] )
+"
+DEPEND="
+ ${RDEPEND}
+ sys-devel/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+ test? (
+ dev-debug/gdb[python]
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )
+"
+
+LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake )
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+
+ if ! use libcxxabi && ! tc-is-gcc ; then
+ eerror "To build ${PN} against libsupc++, you have to use gcc. Other"
+ eerror "compilers are not supported. Please set CC=gcc and CXX=g++"
+ eerror "and try again."
+ die
+ fi
+}
+
+test_compiler() {
+ $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \
+ <<<'int main() { return 0; }' &>/dev/null
+}
+
+src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ # note: we need to do this before multilib kicks in since it will
+ # alter the CHOST
+ local cxxabi cxxabi_incs
+ if use libcxxabi; then
+ cxxabi=system-libcxxabi
+ cxxabi_incs="${EPREFIX}/usr/include/c++/v1"
+ else
+ local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)"
+ cxxabi=libsupc++
+ cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}"
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ # link to compiler-rt
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
+
+ # bootstrap: cmake is unhappy if compiler can't link to stdlib
+ local nolib_flags=( -nodefaultlibs -lc )
+ if ! test_compiler; then
+ if test_compiler "${nolib_flags[@]}"; then
+ local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
+ ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}"
+ fi
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DLLVM_ENABLE_RUNTIMES=libcxx
+ -DLLVM_INCLUDE_TESTS=OFF
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DLIBCXX_ENABLE_SHARED=ON
+ -DLIBCXX_ENABLE_STATIC=$(usex static-libs)
+ -DLIBCXX_CXX_ABI=${cxxabi}
+ -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs}
+ # we're using our own mechanism for generating linker scripts
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_INCLUDE_BENCHMARKS=OFF
+ -DLIBCXX_INCLUDE_TESTS=$(usex test)
+ -DLIBCXX_INSTALL_MODULES=ON
+ -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt}
+ # this is broken with standalone builds, and also meaningless
+ -DLIBCXXABI_USE_LLVM_UNWINDER=OFF
+ )
+
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ fi
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ gen_shared_ldscript
+ use static-libs && gen_static_ldscript
+ fi
+}
+
+multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-cxx
+}
+
+multilib_src_install() {
+ cmake_src_install
+ # since we've replaced libc++.{a,so} with ldscripts, now we have to
+ # install the extra symlinks
+ if [[ ${CHOST} != *-darwin* ]] ; then
+ dolib.so lib/libc++_shared.so
+ use static-libs && dolib.a lib/libc++_static.a
+ fi
+}
+
+# Usage: deps
+gen_ldscript() {
+ local output_format
+ output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')
+ [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"
+
+ cat <<-END_LDSCRIPT
+/* GNU ld script
+ Include missing dependencies
+*/
+${output_format}
+GROUP ( $@ )
+END_LDSCRIPT
+}
+
+gen_static_ldscript() {
+ # Move it first.
+ mv lib/libc++{,_static}.a || die
+ # Generate libc++.a ldscript for inclusion of its dependencies so that
+ # clang++ -stdlib=libc++ -static works out of the box.
+ local deps=(
+ libc++_static.a
+ $(usex libcxxabi libc++abi.a libsupc++.a)
+ )
+ # On Linux/glibc it does not link without libpthread or libdl. It is
+ # fine on FreeBSD.
+ use elibc_glibc && deps+=( libpthread.a libdl.a )
+
+ gen_ldscript "${deps[*]}" > lib/libc++.a || die
+}
+
+gen_shared_ldscript() {
+ # Move it first.
+ mv lib/libc++{,_shared}.so || die
+ local deps=(
+ libc++_shared.so
+ # libsupc++ doesn't have a shared version
+ $(usex libcxxabi libc++abi.so libsupc++.a)
+ )
+
+ gen_ldscript "${deps[*]}" > lib/libc++.so || die
+}
diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
index 5f1c66eca77e..e64f9a36e809 100644
--- a/sys-libs/libcxxabi/Manifest
+++ b/sys-libs/libcxxabi/Manifest
@@ -1,4 +1,3 @@
-DIST llvm-project-022d15c0039fc1cfaa3cc2eb1a45b71bbb21fadd.tar.gz 215902891 BLAKE2B ecd87b84a4e5f87c91b6df0a2d6849f385bdb7b26b14a2836f1e1fc5a69f9f5b441e47b9251174019f62eabe39a243092cd1a175b5da7d7576cdcfd63083cff0 SHA512 7726e253179bfd9e0b93236e3ce1133b421329b0b3496b10c0a0eecde372fb5e55cce737b6b78db13f2d0833bbc92023d95efa54cb2918b12ce9af166bd90ff4
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
@@ -7,12 +6,16 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffef86468169ba2f211a9733ec2d4cf30040f7f277ef00f048bb44dee9f97d7d762f0f241f19e5a2a7b0b49217d3821ddfc8c354f SHA512 25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
-DIST llvm-project-3ae6755719c6dfc07761b4e9bdac8c86bcb41734.tar.gz 213487323 BLAKE2B 12030750fca0e7db4ae07a608874877151b2393cf58388f067b469e913ce9ac3f264440ebb3df5ea33f9f97cb87928fa746c98ba26c8d296f9e26dcbf950afc2 SHA512 951b70eafc8aea5b1f7847002229d89df565ca8180deef08b25966dcf070a7603a258e5fc24f9496251d23d275040724ed5e9499432ba3e19f5984f6f1c3c645
+DIST llvm-project-19.1.0-rc2.src.tar.xz 141264388 BLAKE2B 690b4912d9e4a8019b7990934dd6486362337ccb303dca119c0e75aa1063ad452222be1ee965e43b160dfcea20e491a20c289344152666b618712a1d76dc4780 SHA512 508a401e8433b1ac9a399246eb1a3c18faed7c3d41d8c118e77cefbb64cc6d6e171bd41a3e5584f6c84df141ba6819f1a1cce75b5c1ef33e3d2ac239e662d07c
+DIST llvm-project-19.1.0-rc2.src.tar.xz.sig 438 BLAKE2B 1eaf10a1419ecf009c033a8f6ecb6eec86107d81621d5b4665c8d929b05f4845ce0c432017343d7b06f33e6ff6384df9e1d8fc7b9c6efe7f10ef69798891b7e5 SHA512 b46e9a1d40f891c5f3544d8cc6295900bff5dda9a4a526b8db55a42a37ae90deb216b316d2117984e82f4e918d15343e75b3b9e6d6c773866707c3398e032826
+DIST llvm-project-db8ef6188cbbe2125e6d60bdef77a535105772df.tar.gz 218416682 BLAKE2B 691e3881e4a60c008c6b766b51ecc856122de1f40242ff1d91ebaa12682fea0a22f84783eb930c42d196f50ba0d3b2010f9010ed73ee7e292fe78c93d6e3f324 SHA512 2dc16a603b60607cc3daee2de0126a567a78c4fff72b2fbcb94c82472bc5ec64ac354ba8592b9a643248a5bfd43b34e2a60f2751a0c9e9e28b7f895fc50a5e9d
+DIST llvm-project-fd7d7882e7fa5a38d4bfde426120d4663718beb4.tar.gz 218217769 BLAKE2B a6c2aa012c342e31527b7e9f85e8fea3549d52530d8f87cd699e094a0aa768d099f9fd2631161ff7f53b4a5011937ed6d1f52b8fa1d23aa34183be1f487d4277 SHA512 c4863fab1a3c03f7f9c42f3501d3a75cebb491343515d77d30b26e5cbd720fc3fd628052099d87ed638e8c424bcbe7a1d066ed857f73da6f243d3d5a76b0e6c5
EBUILD libcxxabi-15.0.7.ebuild 2911 BLAKE2B 5f2004d2f68fe4eddb0b22be82d28fcca7954d0e3ad9a5510744adc4d0dfd7a1ab9fd928404adcd3eeecc58703f51117d0a80e5895b53e0ae7b71621ad5a435c SHA512 5b8e2c6abdec785649aa41b7f05ab86ecab30ff0631d6078c9b1052b406c320c5847b8f16ffa6d9e62ba4a6bca5959b18770810924d6e6da264fb08d6ff738d0
EBUILD libcxxabi-16.0.6.ebuild 2932 BLAKE2B 837ab88ee88d5497b8bddb9f001d4b4ddd44ed982ef47114c965174135ed136abd0e3a6f3848a4aba53d0ca3748c54674cb28de8d46fda3bb7a90f326d41c7c6 SHA512 e4ebf7f35d2cad3bf3ba02754c85fee1cd1c4e52887770698ebaa3ef2fe66873f468677d307ea2d6956c2f6d3ac9b61943461193a5315f1e8a2846f2463b0581
EBUILD libcxxabi-17.0.6.ebuild 2932 BLAKE2B 837ab88ee88d5497b8bddb9f001d4b4ddd44ed982ef47114c965174135ed136abd0e3a6f3848a4aba53d0ca3748c54674cb28de8d46fda3bb7a90f326d41c7c6 SHA512 e4ebf7f35d2cad3bf3ba02754c85fee1cd1c4e52887770698ebaa3ef2fe66873f468677d307ea2d6956c2f6d3ac9b61943461193a5315f1e8a2846f2463b0581
-EBUILD libcxxabi-18.1.8.ebuild 2764 BLAKE2B 1d716983ec2cf1f3ad73b9a3947feb5deddd91750495d7fe5eb9d3ecea9545c7dd4bde00a348272e92aec46845286f9a844077ece2b91a80222bae44c22a514b SHA512 7d94d2fe04acbbc8651c1b7588f9b94603de10aaefc949aaa408d7e7f8d53ccca9b411a2a7f3af7edc2a4f05008977dddd039c7ac1cf17968ba59c7484b3bb68
-EBUILD libcxxabi-19.0.0.9999.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34
-EBUILD libcxxabi-19.0.0_pre20240623.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34
-EBUILD libcxxabi-19.0.0_pre20240630.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34
+EBUILD libcxxabi-18.1.8.ebuild 2759 BLAKE2B 1d4ac3db2b24ed4c598f2e5c4021e68a95b3652b0ee4a7b9a8976bb253b921d428dd30a5da26dfb82b350c05ec8840f38887ae02a766a22861e0638434a7a4a6 SHA512 8fe5ca2d5c605406b102abd013f05b5662a5d643ec22b1a83a8bf8ec1b6a940fcdc448f1bb81f877741406874e126747148e295f5492f6b76c0e17ad093ad07a
+EBUILD libcxxabi-19.1.0_rc2.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34
+EBUILD libcxxabi-20.0.0.9999.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34
+EBUILD libcxxabi-20.0.0_pre20240808.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34
+EBUILD libcxxabi-20.0.0_pre20240815.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34
MISC metadata.xml 438 BLAKE2B 0a830a06a53a6cdaf138ad7620fe366fae05c1c1451267d6a58caf7da5ce8f5a26d302fab53b9460920074ab5a65991d3bd24fde087809e8dc12188dd94c7676 SHA512 d53e13c497569636fb453a159c5ca5ddfabf8e5debd5f92e5149c52d54c876753842ab73293d6d08e2d9b279363b4f0c743eed3a5027a61246c6b60496be8e87
diff --git a/sys-libs/libcxxabi/libcxxabi-18.1.8.ebuild b/sys-libs/libcxxabi/libcxxabi-18.1.8.ebuild
index 8865a2ce4c2c..122f3476e8da 100644
--- a/sys-libs/libcxxabi/libcxxabi-18.1.8.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-18.1.8.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://libcxxabi.llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~loong ~riscv sparc x86 ~arm64-macos ~x64-macos"
IUSE="+clang +static-libs test"
REQUIRED_USE="test? ( clang )"
RESTRICT="!test? ( test )"
diff --git a/sys-libs/libcxxabi/libcxxabi-19.0.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-19.1.0_rc2.ebuild
index 903f8e866cb6..903f8e866cb6 100644
--- a/sys-libs/libcxxabi/libcxxabi-19.0.0.9999.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-19.1.0_rc2.ebuild
diff --git a/sys-libs/libcxxabi/libcxxabi-19.0.0_pre20240623.ebuild b/sys-libs/libcxxabi/libcxxabi-20.0.0.9999.ebuild
index 903f8e866cb6..903f8e866cb6 100644
--- a/sys-libs/libcxxabi/libcxxabi-19.0.0_pre20240623.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-20.0.0.9999.ebuild
diff --git a/sys-libs/libcxxabi/libcxxabi-19.0.0_pre20240630.ebuild b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240808.ebuild
index 903f8e866cb6..903f8e866cb6 100644
--- a/sys-libs/libcxxabi/libcxxabi-19.0.0_pre20240630.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240808.ebuild
diff --git a/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240815.ebuild b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240815.ebuild
new file mode 100644
index 000000000000..903f8e866cb6
--- /dev/null
+++ b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240815.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Low level support for a standard C++ library"
+HOMEPAGE="https://libcxxabi.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="+clang +static-libs test"
+REQUIRED_USE="test? ( clang )"
+RESTRICT="!test? ( test )"
+
+# in 15.x, cxxabi.h is moving from libcxx to libcxxabi
+RDEPEND+="
+ !<sys-libs/libcxx-15
+"
+DEPEND="
+ ${RDEPEND}
+ sys-devel/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+ test? (
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )
+"
+
+LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/cmake cmake )
+LLVM_TEST_COMPONENTS=( llvm/utils/llvm-lit )
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+multilib_src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ # link to compiler-rt
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ -DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx"
+ -DLLVM_INCLUDE_TESTS=OFF
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+ -DLIBCXXABI_ENABLE_SHARED=ON
+ -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs)
+ -DLIBCXXABI_INCLUDE_TESTS=$(usex test)
+ -DLIBCXXABI_USE_COMPILER_RT=${use_compiler_rt}
+
+ # upstream is omitting standard search path for this
+ # probably because gcc & clang are bundling their own unwind.h
+ -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include
+ # this is broken with standalone builds, and also meaningless
+ -DLIBCXXABI_USE_LLVM_UNWINDER=OFF
+
+ -DLIBCXX_LIBDIR_SUFFIX=
+ -DLIBCXX_ENABLE_SHARED=ON
+ -DLIBCXX_ENABLE_STATIC=OFF
+ -DLIBCXX_CXX_ABI=libcxxabi
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_HAS_GCC_S_LIB=OFF
+ -DLIBCXX_INCLUDE_BENCHMARKS=OFF
+ -DLIBCXX_INCLUDE_TESTS=OFF
+ )
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ fi
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_build cxxabi
+}
+
+multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-cxxabi
+}
+
+multilib_src_install() {
+ DESTDIR="${D}" cmake_build install-cxxabi
+}
diff --git a/sys-libs/libhx/Manifest b/sys-libs/libhx/Manifest
index 39a0c9673505..b205b2773444 100644
--- a/sys-libs/libhx/Manifest
+++ b/sys-libs/libhx/Manifest
@@ -1,10 +1,5 @@
-AUX libhx-3.22-no-lyx.patch 495 BLAKE2B ae31b2ada8230a223413e4f7470b7743592191e829800b05124781660888bca1f153e287af5e79e106cd590539a64880e6d111054fb0ee31e9cd02cf65d59f01 SHA512 f4299755b65c7e3b64937df81feed58851bfe7e4938c4b47cd94f818bb7d5c80eecac34b7e80b1c051b07490b3730cc74d6f38cd47a7c4321882a8715ff4b802
-DIST libHX-3.24.tar.xz 876992 BLAKE2B 518b99e78acc0cb412f444c0dacaae830a853294a0ee549facfbe65a423a9f32d0388e30e255c87c3f5325102bea45e5e9d72d3fce5b89139b689fddcb299f93 SHA512 faf7af53b628efe1531568ccb2b7e9910db833b14583ab1487eb6a554b407a7546bc75348f7d2344c29ab53fd2df061f6f8de8db634bbd62c3672dc4347d27e4
-DIST libHX-3.25.tar.xz 890576 BLAKE2B d8e13a7fb0ea2cd033edc6b179ef3d4b30c37f522b1e90aea0de96d225655b654d1a7cb133834ef2f10044ccbe60e7559b2280ecbc136a458fd3a2237b8f83ab SHA512 221000fddd1316b6c452babbcb7e234683e3bad559a4b1a608936a086143ad8f17cec489606f8d50ea66775b9f8305ec52c7401d568f01b33372388f75bdea94
-DIST libHX-4.21.tar.xz 359760 BLAKE2B cda2c5e29ede3e0d7ab575983b8443326f9e5aa49ccc3e64826e306c80a86fd7dd7a120d9c6ac82f790c1a9690666d1a54039240669abd1a88c0189d1af7bc80 SHA512 cf3c5fd7b1137c9f56b56abe52886a47ec21256cfa393bd31339f1f9f4683cfeca2107f46ac0fc5571962f5daeb9c5c060c6db442667cc99380f6e55183a6ab5
DIST libHX-4.23.tar.xz 359608 BLAKE2B f14d7be69d3bedb78758e5705b196c0179a00f77e768802a3e19fd5b1bbbdc1d117c907718eb6d63e1aba33d2bc872b64a6dd550c9bf29c6ba47b09682829d69 SHA512 c19a2e8a2f84a81552258a58f47a55fd3f5c81a19d12cf7511c12a3a97bef051977f18cd82a004a825c20d4fd3b2c48f23ddbf9364a46b24faabcb94aa0167ff
-EBUILD libhx-3.24-r1.ebuild 721 BLAKE2B b039057bd06d7f7fda970b551f66a7822d38bde37911bc3ca5ed2771cdcace90aa1606309db55b0456e27b11fac3bd6f40d1668b32d3c933fbb3128606c07a94 SHA512 6c41a72ed0c47a4c7a80d55ca750da686f0970d77cdc20954659865bea24ae90fbced7d2c1a7c24d8dea77eff647d9685e024a3d538362c6c1e6e5bd771a9d38
-EBUILD libhx-3.25.ebuild 729 BLAKE2B 729b113a5b455a53fb66773d4ead5a0689420427059bbba9f91629b14037b0d4f35e5eaf0c410f0034fecfdaea230aab117a3ee3f615dce760b285ab9a29e97b SHA512 75cbda30c6b583d641dc9ee68cdbb8173ce1c2ee913500c86b9f42e7cb6d1c97a93232c8c7b2d992a183052cc07669d20dd8e428cc182cdc0b0d900b0380bf0d
-EBUILD libhx-4.21.ebuild 553 BLAKE2B 8d7e9e207560a8f241c1d1fa52cd54f7fe8e528532a6fcfddfdd6e8949862675291550d3067d19b17c7bfd5cbf113a1c4c1dbbcceefd08d9aa9155ecdaf75074 SHA512 5c6be406debb974854f5bf5d8e3f4cd16d64af2df9780f2f5d13662e174de785a11968e9be4abb17b8f96030a48b421cc6e45c2b6a7a9b871ecb5575e1a39f17
+DIST libHX-4.24.tar.xz 360816 BLAKE2B 9bde513041d33708dce34295cdc1d3a1f723178f5a6589c73fc6c2ed9399e3aebff5a3dc1df62691f56267c4769c16ebba88763d11cbece13204108641288aec SHA512 a8e87b7cb1f49bb119b2b7e3088045e1245390170b6e672ed5d3bbc1fd48bf2630b8b481e7589adb25e24b76ac8a0053ccdb6ba7d5b3cf945ccef5ab678ef521
EBUILD libhx-4.23.ebuild 550 BLAKE2B 081ed303fb26795c0de36b110298bb1e25c83fa221ce2eb1d234d864ef3550f28fc487a38d002e0905e619096fafcd89cbaae42ebe94c2474e438b2f6d963d72 SHA512 6f418df5f917c7cf8d4fe72428176013a77d1121cbafce3ab36edd2295c1ae356662aebb8577e27401f5ec6e8b3e175ea336c314191769f8096354b66b88bd79
+EBUILD libhx-4.24.ebuild 552 BLAKE2B 341cd887f1c5e7b9f6a3a21738e3ee3c422aaf24c10a675ac3a004e05a7d3e9d3d71f40e038bdf2539948048c843b0e10da581cf2649c8a0d45a934dcc3cd7d6 SHA512 2aae3112631920ba869cfa2fe4179fd85e5cac0d921c245e47ef82f689b021d8980c72cea27a4ac22b249f2483252be8662275e0aa28802c8521c6dbd7303c9f
MISC metadata.xml 292 BLAKE2B 80ae162496d1307717df1a2ac26eaea506ad800a7ea11281775d3d21ceca425392dc3ded3a0712cb260170a1f125ae0dfc0a73ad2771b0d90fae6b1e2623f9a1 SHA512 6e235fcc8087a7db7bf9d6e0b1c47a56a731796ba3e4e85d39eb277f518b23ba5d187603a5b2c3b36880b6f48e4222f72d9ca1debe141c1a2d12b68d997e34ca
diff --git a/sys-libs/libhx/files/libhx-3.22-no-lyx.patch b/sys-libs/libhx/files/libhx-3.22-no-lyx.patch
deleted file mode 100644
index 1c63d2596aae..000000000000
--- a/sys-libs/libhx/files/libhx-3.22-no-lyx.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- libHX-3.22/configure.ac.orig 2014-08-25 19:16:37.000000000 +0400
-+++ libHX-3.22/configure.ac 2016-06-01 11:09:42.287438190 +0300
-@@ -107,8 +107,7 @@
- AC_CHECK_FUNCS([getegid geteuid getpid getppid])
- AM_CONDITIONAL([B_PROC], [test "$b_proc" = 1])
-
--AC_CHECK_PROGS([LYX], [lyx])
--AM_CONDITIONAL([BUILD_DOCS], [test -n "$LYX"])
-+AM_CONDITIONAL([BUILD_DOCS], [false])
-
- regular_CPPFLAGS="-D_FILE_OFFSET_BITS=64 -D_REENTRANT"
- regular_CFLAGS="-Wall -Waggregate-return -Wmissing-declarations \
diff --git a/sys-libs/libhx/libhx-3.24-r1.ebuild b/sys-libs/libhx/libhx-3.24-r1.ebuild
deleted file mode 100644
index bc0940cba43b..000000000000
--- a/sys-libs/libhx/libhx-3.24-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Platform independent library providing basic system functions"
-HOMEPAGE="http://libhx.sourceforge.net"
-SRC_URI="https://downloads.sourceforge.net/${PN}/libHX-${PV}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0/28"
-KEYWORDS="amd64 ppc x86"
-IUSE="doc"
-
-BDEPEND="app-arch/xz-utils"
-
-S="${WORKDIR}/libHX-${PV}"
-
-PATCHES=( "${FILESDIR}/${PN}-3.22-no-lyx.patch" )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_install() {
- default
-
- if use doc; then
- dodoc doc/*.txt
- else
- dodoc doc/changelog.txt
- rm "${ED}/usr/share/doc/${PF}/"*.pdf || die
- fi
-
- find "${ED}" -name "*.la" -delete || die
-}
diff --git a/sys-libs/libhx/libhx-3.25.ebuild b/sys-libs/libhx/libhx-3.25.ebuild
deleted file mode 100644
index 398b3d8c5869..000000000000
--- a/sys-libs/libhx/libhx-3.25.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Platform independent library providing basic system functions"
-HOMEPAGE="https://inai.de/projects/libhx/"
-SRC_URI="https://inai.de/files/${PN}/libHX-${PV}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0/32" # soname version
-KEYWORDS="amd64 ppc x86"
-IUSE="doc"
-
-BDEPEND="app-arch/xz-utils"
-
-S="${WORKDIR}/libHX-${PV}"
-
-PATCHES=( "${FILESDIR}/${PN}-3.22-no-lyx.patch" )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_install() {
- default
-
- if use doc; then
- dodoc doc/*.txt
- else
- dodoc doc/changelog.txt
- rm "${ED}/usr/share/doc/${PF}/"*.pdf || die
- fi
-
- find "${ED}" -name "*.la" -delete || die
-}
diff --git a/sys-libs/libhx/libhx-4.21.ebuild b/sys-libs/libhx/libhx-4.24.ebuild
index 9126c9cafb8e..c58c9feb1cca 100644
--- a/sys-libs/libhx/libhx-4.21.ebuild
+++ b/sys-libs/libhx/libhx-4.24.ebuild
@@ -7,6 +7,7 @@ DESCRIPTION="Platform independent library providing basic system functions"
HOMEPAGE="https://inai.de/projects/libhx/"
SRC_URI="https://inai.de/files/${PN}/libHX-${PV}.tar.xz"
+S="${WORKDIR}/libHX-${PV}"
LICENSE="GPL-3"
SLOT="0/32" # soname version
KEYWORDS="~amd64 ~ppc ~x86"
@@ -14,8 +15,6 @@ IUSE="doc"
BDEPEND="app-arch/xz-utils"
-S="${WORKDIR}/libHX-${PV}"
-
src_install() {
default
diff --git a/sys-libs/libnvme/Manifest b/sys-libs/libnvme/Manifest
index 9bf3bc8138dd..627eb7bbf3b5 100644
--- a/sys-libs/libnvme/Manifest
+++ b/sys-libs/libnvme/Manifest
@@ -1,7 +1,9 @@
AUX libnvme-1.9-musl-stdint.patch 1873 BLAKE2B 44be4e9068286f32c8f4e9fc32f02fae7c70df4043db1418b1f889cccaa57d66769d3aa41b30e824a988e5635179be7a2a02676ce385b33dca877b0ff472c29b SHA512 5eb38bae6c38a97f108dff7be8a8c914392b1f3d4a2e26debd00fb62551101061824220b64c3aa791bb980185decf0a0fbc6d228b16c9cdcce6199d121764789
+DIST libnvme-1.10.gh.tar.gz 720737 BLAKE2B eb5941cbdec1ccf5782c3e438b55dd09ddd2c3b9ac1079d5642896d0d80d75ece3149ebe9d965c2783a5ae2ddfad64ae0051f9c63822a739108d53eb44a583db SHA512 44e8a407c9fda8c296163832c14ba167caab53eab315bd2dee94275458532429f12a35e0adef1356420d83127e658a354ce65ac946acaa53bef2d46a8189054c
DIST libnvme-1.7.1.tar.gz 604220 BLAKE2B b02bf0914be73f5877f418bebdbed31dfb019484fb9f6e169c3474d90306706b8e787003a472f13bedb72e90eff39a30ba35df252a3cdf4ea08a362c3f9e221b SHA512 aea986ae35eafa17482e07015228d5a7d529d41148f4cee9e4619adc2460abb5460d60cd91177462cbcaf2e94e5870026ff9e45548f91d9f90b65a6268eb3abb
DIST libnvme-1.8.tar.gz 629032 BLAKE2B cba5215983fa14e485156cf68613a7acca07b7e0fdac41663ebf2246c9f6fd6d1bfcebc7c1457ab4217705769ebea382e85726eb302fd9af6f6b85cec7b2e14d SHA512 ba0cec72fd6c9bb29b29c4342be7b25aec1f31157a094ad387a1105cbd1961ab600e1448a2462d8be2af91d5251b2970d6d06d4871ce96604c5be204d6096bcb
DIST libnvme-1.9.tar.gz 657952 BLAKE2B e9d655709770f7c1d9c916cc9539b8ea096b0d5bf6b12079c2db494f070c98b6c388e2a79ed27a4932994a00d44da93fa3119ee224c48d40347a483548397349 SHA512 39a3346805143f93a17d00cfcb6fb75f82154658db6079134c09dfa989995ac5de79b1ce1ac091b4e997523d3216829ce9eac44110c9f59f9fd21636529c8b25
+EBUILD libnvme-1.10.ebuild 1502 BLAKE2B ab9bde1a08183712b3d9acfcd3dae7b8f072f52f15710adf4fc0af4d719915836f7b54aaebd9a7249ecaaebfba3bdab15675dd2fcaf3112ec8d701801f89a7e1 SHA512 fe4120260d23378d59701ffe9bfd0d2e7aecc3911a163f7d92dac18ad4c9a92ce2c365bb0ae86dd132f3ef42a5e8612aba95a3099a5a99c2c7dd4369d2a668c4
EBUILD libnvme-1.7.1-r1.ebuild 1494 BLAKE2B c23a1718224b17dfe7cbabc3fe63c1595dfee5748895dcc24ed58127a558fb98afe6198ac2381736da998c840f5b691781ab90730162344d210e04df5c105b3c SHA512 5c16f0b68e731480b6786c6cfb9f98c6125847da2e8f70aeb051c7706cd1d65f04a53077272019f14ed61ecb754ee514d1ee2b399a0d52cf52a265549c6e9bc7
EBUILD libnvme-1.8.ebuild 1496 BLAKE2B 1286711f1afbf75136640143cf56fc41d94380c23f815e2eade0066d151121da6b7fc3b45a660888fc27763adbc23f32bd65625e4e5f042387231ccf75a45254 SHA512 a7df1f80d82fe69fe7ac3be9c9871a92a6c80d774de0e9c379f88eedd4596859f27adb2e71f009089426a786f48cd4418bb8d0e8106f1aa621a0e7712a852780
EBUILD libnvme-1.9.ebuild 1550 BLAKE2B e7b3d6e6cb386a64974d2adc1ac54fb53f2e412e26fa81a6d3e36e2a01ce61d4604060527a7d52ca7b7322b30e00730b078726045e2860e1c80f83c4c256fabd SHA512 7d5c171af6102b1e2972ccb510c1424917ad585f3e59cf4c47b9e2dff7550a34198503f4b9dc896791e08be9b6564e2600f419de58055085edcefc1be5bd6f11
diff --git a/sys-libs/libnvme/libnvme-1.10.ebuild b/sys-libs/libnvme/libnvme-1.10.ebuild
new file mode 100644
index 000000000000..1120def01056
--- /dev/null
+++ b/sys-libs/libnvme/libnvme-1.10.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit python-r1 meson
+
+DESCRIPTION="C Library for NVM Express on Linux"
+HOMEPAGE="https://github.com/linux-nvme/libnvme"
+SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="dbus +json keyutils python ssl test +uuid"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+DEPEND="
+ json? ( dev-libs/json-c:= )
+ keyutils? ( sys-apps/keyutils:= )
+ dbus? ( sys-apps/dbus:= )
+ python? ( ${PYTHON_DEPS} )
+ ssl? ( >=dev-libs/openssl-1.1:= )
+ uuid? ( sys-apps/util-linux:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-lang/swig
+"
+
+src_configure() {
+ local emesonargs=(
+ -Dpython=disabled
+ $(meson_use test tests)
+ $(meson_feature json json-c)
+ $(meson_feature dbus libdbus)
+ $(meson_feature keyutils)
+ $(meson_feature ssl openssl)
+ )
+ meson_src_configure
+}
+
+python_compile() {
+ local emesonargs=(
+ -Dpython=enabled
+ )
+ meson_src_configure --reconfigure
+ meson_src_compile
+}
+
+src_compile() {
+ meson_src_compile
+
+ if use python; then
+ python_copy_sources
+ python_foreach_impl python_compile
+ fi
+}
+
+python_install() {
+ meson_src_install
+ use python && python_optimize
+}
+
+src_install() {
+ use python && python_foreach_impl python_install
+
+ meson_src_install
+}
diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest
index dd1a01406aba..77bbcd5d96a5 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -1,5 +1,4 @@
DIST llvm-gentoo-patchset-15.0.7-r6.tar.xz 25208 BLAKE2B c9fca31a053ee059c3060a94dcf675d472fc1a59b5f927648de58fb4ff20bfc229890f789ed47b3d053bd466b860a0c60a53b4b024a8fe18c776e9a72434d6de SHA512 601cd923711839dca7cb5bfea53ded644777c6340265a797939a53409fd2ca27059a015fd6ca6832e60314699ade27919a9a59dab395cc27f8fdc479a0f3c034
-DIST llvm-project-022d15c0039fc1cfaa3cc2eb1a45b71bbb21fadd.tar.gz 215902891 BLAKE2B ecd87b84a4e5f87c91b6df0a2d6849f385bdb7b26b14a2836f1e1fc5a69f9f5b441e47b9251174019f62eabe39a243092cd1a175b5da7d7576cdcfd63083cff0 SHA512 7726e253179bfd9e0b93236e3ce1133b421329b0b3496b10c0a0eecde372fb5e55cce737b6b78db13f2d0833bbc92023d95efa54cb2918b12ce9af166bd90ff4
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
@@ -8,12 +7,16 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffef86468169ba2f211a9733ec2d4cf30040f7f277ef00f048bb44dee9f97d7d762f0f241f19e5a2a7b0b49217d3821ddfc8c354f SHA512 25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
-DIST llvm-project-3ae6755719c6dfc07761b4e9bdac8c86bcb41734.tar.gz 213487323 BLAKE2B 12030750fca0e7db4ae07a608874877151b2393cf58388f067b469e913ce9ac3f264440ebb3df5ea33f9f97cb87928fa746c98ba26c8d296f9e26dcbf950afc2 SHA512 951b70eafc8aea5b1f7847002229d89df565ca8180deef08b25966dcf070a7603a258e5fc24f9496251d23d275040724ed5e9499432ba3e19f5984f6f1c3c645
+DIST llvm-project-19.1.0-rc2.src.tar.xz 141264388 BLAKE2B 690b4912d9e4a8019b7990934dd6486362337ccb303dca119c0e75aa1063ad452222be1ee965e43b160dfcea20e491a20c289344152666b618712a1d76dc4780 SHA512 508a401e8433b1ac9a399246eb1a3c18faed7c3d41d8c118e77cefbb64cc6d6e171bd41a3e5584f6c84df141ba6819f1a1cce75b5c1ef33e3d2ac239e662d07c
+DIST llvm-project-19.1.0-rc2.src.tar.xz.sig 438 BLAKE2B 1eaf10a1419ecf009c033a8f6ecb6eec86107d81621d5b4665c8d929b05f4845ce0c432017343d7b06f33e6ff6384df9e1d8fc7b9c6efe7f10ef69798891b7e5 SHA512 b46e9a1d40f891c5f3544d8cc6295900bff5dda9a4a526b8db55a42a37ae90deb216b316d2117984e82f4e918d15343e75b3b9e6d6c773866707c3398e032826
+DIST llvm-project-db8ef6188cbbe2125e6d60bdef77a535105772df.tar.gz 218416682 BLAKE2B 691e3881e4a60c008c6b766b51ecc856122de1f40242ff1d91ebaa12682fea0a22f84783eb930c42d196f50ba0d3b2010f9010ed73ee7e292fe78c93d6e3f324 SHA512 2dc16a603b60607cc3daee2de0126a567a78c4fff72b2fbcb94c82472bc5ec64ac354ba8592b9a643248a5bfd43b34e2a60f2751a0c9e9e28b7f895fc50a5e9d
+DIST llvm-project-fd7d7882e7fa5a38d4bfde426120d4663718beb4.tar.gz 218217769 BLAKE2B a6c2aa012c342e31527b7e9f85e8fea3549d52530d8f87cd699e094a0aa768d099f9fd2631161ff7f53b4a5011937ed6d1f52b8fa1d23aa34183be1f487d4277 SHA512 c4863fab1a3c03f7f9c42f3501d3a75cebb491343515d77d30b26e5cbd720fc3fd628052099d87ed638e8c424bcbe7a1d066ed857f73da6f243d3d5a76b0e6c5
EBUILD libomp-15.0.7-r6.ebuild 3470 BLAKE2B 9f76ca5b080ccf01617d7dcbfe3eb424c525adbcf72f2b5f09dc7bead1e28df1a0ffdf5ef47bcc7f8cac130f1d22e804e29938cda6df0ee58359ac5ff88aea86 SHA512 1a0a4b10f9a67634ea265e6df3c3f9993ed5ee3818eba2cbb6b65d8f5c3a0d2d266134f3e276985e87eca18b47a44d6de61e4c9c3496fd36c6c338dcf79b9850
EBUILD libomp-16.0.6.ebuild 3984 BLAKE2B 8302d2776c0d8c50dcc7cac2dde8523f1abdf391d48594fdd26ebe17a089efdfee93825bdec07569878d06873b571e469411f108564df6c7eb50dc425615c255 SHA512 714da170fba4b62f3267e2530a82c583d299e8dc6c6f4037417c216c1239cc0fadc1aebf823608df37a932a7722144e67a148b58079e50560450b94c93f3e415
EBUILD libomp-17.0.6.ebuild 4052 BLAKE2B 8a05a46719120eac5495417fb6ea54b7a6a3d93aa7cc0917ca9e8f3cb2238f23348ecaefebd4c2064eac4adfbd4ef7f86b70c051cbcc009692ec790159d8883d SHA512 80b48f5a3af351ee14296aa76ba28b964eb85d84a1827af8acd35076895342a5dd743362c988e042c57f11dc9e8bbca1a9003a6752562758249062e460c73247
-EBUILD libomp-18.1.8.ebuild 4287 BLAKE2B 65c6e04062bbf04d9655f226a97ecb10af4f2496295a770112059ab5ad3c74738e356c93a531abf20a171e8c89e8d8fdbcbdf6f8d15d6da5bfabce0147e1cbd3 SHA512 6abaa6531de18562248222d6393f48f88bde950a84051747a66b9c2f9c907315e403b050437d7263f227d564ca550f54db5ae5605a738fb8cd63bc2557814137
-EBUILD libomp-19.0.0.9999.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
-EBUILD libomp-19.0.0_pre20240623.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
-EBUILD libomp-19.0.0_pre20240630.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
+EBUILD libomp-18.1.8.ebuild 4282 BLAKE2B c3f5e8965cffb2a59cbc757e2570fa21b4b2ab4ec884386daaf56f66acbf41c0472a37263577af9754e585d1ac8c165f374f88f2db02fdf4b3247e5329517487 SHA512 a9514294cbca8c382e4789da203df39675bb7e2d2e83405cd3b8578de1d5a931517681a0d4146cf75b0d84921ea46d40b0d9e54e4b3d6307de58150ab10952ad
+EBUILD libomp-19.1.0_rc2.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
+EBUILD libomp-20.0.0.9999.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
+EBUILD libomp-20.0.0_pre20240808.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
+EBUILD libomp-20.0.0_pre20240815.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
MISC metadata.xml 883 BLAKE2B 127e896b82a49633a6866b33ca776ebe2dd149a5d04da4484a53186f219a85db0ab9d826bc1cc61d4df9fa54c9bcc546be070a0b28985174925fd947aa09cca2 SHA512 dc32cae01401feb93eede6506b3955c766ff19b44976fcc67277559b23ac151993377daeed9ba83b2dd71dbdeea330cd1208dcb0c9c5f56be270883b31f9b15f
diff --git a/sys-libs/libomp/libomp-18.1.8.ebuild b/sys-libs/libomp/libomp-18.1.8.ebuild
index b3b6281fa7d0..a6d7145053db 100644
--- a/sys-libs/libomp/libomp-18.1.8.ebuild
+++ b/sys-libs/libomp/libomp-18.1.8.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://openmp.llvm.org"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="0/${LLVM_SOABI}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x64-macos"
IUSE="
debug gdb-plugin hwloc offload ompt test
llvm_targets_AMDGPU llvm_targets_NVPTX
diff --git a/sys-libs/libomp/libomp-19.0.0.9999.ebuild b/sys-libs/libomp/libomp-19.1.0_rc2.ebuild
index 32b91b3699c4..32b91b3699c4 100644
--- a/sys-libs/libomp/libomp-19.0.0.9999.ebuild
+++ b/sys-libs/libomp/libomp-19.1.0_rc2.ebuild
diff --git a/sys-libs/libomp/libomp-19.0.0_pre20240623.ebuild b/sys-libs/libomp/libomp-20.0.0.9999.ebuild
index 32b91b3699c4..32b91b3699c4 100644
--- a/sys-libs/libomp/libomp-19.0.0_pre20240623.ebuild
+++ b/sys-libs/libomp/libomp-20.0.0.9999.ebuild
diff --git a/sys-libs/libomp/libomp-19.0.0_pre20240630.ebuild b/sys-libs/libomp/libomp-20.0.0_pre20240808.ebuild
index 32b91b3699c4..32b91b3699c4 100644
--- a/sys-libs/libomp/libomp-19.0.0_pre20240630.ebuild
+++ b/sys-libs/libomp/libomp-20.0.0_pre20240808.ebuild
diff --git a/sys-libs/libomp/libomp-20.0.0_pre20240815.ebuild b/sys-libs/libomp/libomp-20.0.0_pre20240815.ebuild
new file mode 100644
index 000000000000..32b91b3699c4
--- /dev/null
+++ b/sys-libs/libomp/libomp-20.0.0_pre20240815.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit flag-o-matic cmake-multilib linux-info llvm.org python-single-r1
+
+DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
+HOMEPAGE="https://openmp.llvm.org"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0/${LLVM_SOABI}"
+IUSE="+debug gdb-plugin hwloc ompt test"
+REQUIRED_USE="
+ gdb-plugin? ( ${PYTHON_REQUIRED_USE} )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ gdb-plugin? ( ${PYTHON_DEPS} )
+ hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] )
+"
+# tests:
+# - dev-python/lit provides the test runner
+# - sys-devel/llvm provide test utils (e.g. FileCheck)
+# - sys-devel/clang provides the compiler to run tests
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-lang/perl
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/lit[${PYTHON_USEDEP}]
+ ')
+ sys-devel/clang
+ )
+"
+
+LLVM_COMPONENTS=( openmp cmake llvm/include )
+llvm.org_set_globals
+
+pkg_setup() {
+ if use gdb-plugin || use test; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+multilib_src_configure() {
+ # LTO causes issues in other packages building, #870127
+ filter-lto
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ local libdir="$(get_libdir)"
+ local mycmakeargs=(
+ -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}"
+
+ -DLIBOMP_USE_HWLOC=$(usex hwloc)
+ -DLIBOMP_OMPD_GDB_SUPPORT=$(multilib_native_usex gdb-plugin)
+ -DLIBOMP_OMPT_SUPPORT=$(usex ompt)
+
+ # do not install libgomp.so & libiomp5.so aliases
+ -DLIBOMP_INSTALL_ALIASES=OFF
+ # disable unnecessary hack copying stuff back to srcdir
+ -DLIBOMP_COPY_EXPORTS=OFF
+ )
+
+ use test && mycmakeargs+=(
+ # this project does not use standard LLVM cmake macros
+ -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit"
+ -DOPENMP_LIT_ARGS="$(get_lit_flags)"
+
+ -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")"
+ -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")"
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+
+ cmake_build check-libomp
+}
diff --git a/sys-libs/libselinux/Manifest b/sys-libs/libselinux/Manifest
index 38e623460b59..fda5887ee67d 100644
--- a/sys-libs/libselinux/Manifest
+++ b/sys-libs/libselinux/Manifest
@@ -1,8 +1,6 @@
-DIST libselinux-3.5.tar.gz 211453 BLAKE2B f7f3067c4bb0448e18bd7085135f11d94ae99728949480a655c0f660486817beb5829d8a43dff7bce286ccd50705b0c657bde85970f01c794e01fb707f469d8b SHA512 4e13261a5821018a5f3cdce676f180bb62e5bc225981ca8a498ece0d1c88d9ba8eaa0ce4099dd0849309a8a7c5a9a0953df841a9922f2c284e5a109e5d937ba7
DIST libselinux-3.6.tar.gz 194210 BLAKE2B 615198d47ecfb4b6274810cbe32cce5953dd44d1d04e8ce244213dc4ddbd61cde3515f4650046b805cf98f341aba718af8d7a9e1d66773172031ac19599f6032 SHA512 182dcdf3510083ff4b9376a4a6d6a7b33905ac3c5e974c188bf3965686c54b663162c543ecf15eab75102f3c91a2502d33d0f1104dec01dd9b14737ef3f2b544
DIST libselinux-3.7.tar.gz 194834 BLAKE2B 07d87c37608b480d17355334459ecb006573d61a7d3fbf622033838559397abcf343e6399f3a49b6cf24e106d03fd997397d061491d2129c15a378960dacc350 SHA512 e949c20b606c50ad521b9592ce55ad6658e8c4b24d9838028f5aba0a4fc762b6d0d0d0d207f5bef7a2e41485e12d91382fa6090df27152dbb40071b273419352
-EBUILD libselinux-3.5-r1.ebuild 4197 BLAKE2B a8ba8abab7830c69014b6bcf1e4b5782661c742ec56e980727daf43931b82d1949ae70f127aebc88785bfd6553c5717456573c6f7377a6726fbb0151e2d01d83 SHA512 d4c1c48be1387a6536ac64df9e38c68d1cfd30a17cbbcb1bda99a35793249aa5b073f284a2b75a7c388f4defec2ee19aa05689eb688001f62ecf58672a24dc89
-EBUILD libselinux-3.6-r1.ebuild 4196 BLAKE2B 7acb033e0e52dd6d6295e40ee3d00a5801d139dbc73927ece8bdc63c2cfd5c63fd7e76feef05269deb0c67b2b59a653d284f7e8a1561f84947578dc68027e6be SHA512 c35d46a05548c8b87ad20eb30b97f4d302e3caf0b958d1344b827b2e0dfd44b48ff3dc8fba830a4cae9ef5890390c557d83064df8ce005e199724422916c3fe5
-EBUILD libselinux-3.7.ebuild 4200 BLAKE2B ba9315878128460568559fd09ffbf1ebf78578de8d3f10d86fd041ca27774f997b863241ddca81ad6aa966cba1d013c5ea25501ad51e2b9f08732b7eb1206f56 SHA512 6c6c824dc76a956bb56e770206824c9bb51840658366aff7642373a5a2bec2ef911b3ffd9e73c1462ede1ea417b8f7e4749bdf68e657d04ddc4229bc2930b0d5
-EBUILD libselinux-9999.ebuild 4200 BLAKE2B ba9315878128460568559fd09ffbf1ebf78578de8d3f10d86fd041ca27774f997b863241ddca81ad6aa966cba1d013c5ea25501ad51e2b9f08732b7eb1206f56 SHA512 6c6c824dc76a956bb56e770206824c9bb51840658366aff7642373a5a2bec2ef911b3ffd9e73c1462ede1ea417b8f7e4749bdf68e657d04ddc4229bc2930b0d5
+EBUILD libselinux-3.6-r1.ebuild 4211 BLAKE2B 315e1097fddba4754f70e0c41f0255011a6ef389a3304b33dd25f0919002637542052c1ec9a599b43021a5ed86b3a43f879ad310087b9177e21511468f6fe115 SHA512 8b9abb27de59212d76631c3b8ce4c2480f1012d9953d54ed578c4b459988939b5abbcd3a3a96b18cf0e99be24004564cd699d723fa14b94ce3000cfb8297bbe0
+EBUILD libselinux-3.7-r1.ebuild 4225 BLAKE2B ad5ee3fbd5643a465e1e8448f9db623015500694f276f597e104c617c1f3e017ff2f75688f08c0fcb040c6209117ad78a93ab2d1b4b5b551446d0d7df8521447 SHA512 d0779acec625bc01d634cc8eb89c1e3746f8a966b3d256c382ecdb14af78e733a0e1100bbf45f0708d0678d3526028c60394259aafb1701d366576856bdd453f
+EBUILD libselinux-9999.ebuild 4225 BLAKE2B ad5ee3fbd5643a465e1e8448f9db623015500694f276f597e104c617c1f3e017ff2f75688f08c0fcb040c6209117ad78a93ab2d1b4b5b551446d0d7df8521447 SHA512 d0779acec625bc01d634cc8eb89c1e3746f8a966b3d256c382ecdb14af78e733a0e1100bbf45f0708d0678d3526028c60394259aafb1701d366576856bdd453f
MISC metadata.xml 649 BLAKE2B 0d4704823be4492064b2d69a31581397cdedc9e5d564090d9770aa79124c53a66f98290fb4de22abb4f81e732267589ad1df3beda2bb71a3cf5a70f84b885dc4 SHA512 6b240fad142e4ba6457f70c83fb3171c6869ed4ac5729d51b8cc159b2471959c24a0a290ff91fa1d90e0f24f96be76a69487174de22c603539f3fc0e7109a561
diff --git a/sys-libs/libselinux/libselinux-3.5-r1.ebuild b/sys-libs/libselinux/libselinux-3.5-r1.ebuild
deleted file mode 100644
index dc0b5af229be..000000000000
--- a/sys-libs/libselinux/libselinux-3.5-r1.ebuild
+++ /dev/null
@@ -1,161 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-PYTHON_COMPAT=( python3_{10..12} )
-USE_RUBY="ruby30 ruby31 ruby32"
-
-# No, I am not calling ruby-ng
-inherit flag-o-matic python-r1 toolchain-funcs multilib-minimal
-
-MY_PV="${PV//_/-}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="SELinux userland library"
-HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git"
- S="${WORKDIR}/${P}/${PN}"
-else
- SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~mips ~riscv x86"
- S="${WORKDIR}/${MY_P}"
-fi
-
-LICENSE="public-domain"
-SLOT="0"
-IUSE="python ruby static-libs ruby_targets_ruby30 ruby_targets_ruby31 ruby_targets_ruby32"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="dev-libs/libpcre2:=[static-libs?,${MULTILIB_USEDEP}]
- >=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}]
- python? ( ${PYTHON_DEPS} )
- ruby? (
- ruby_targets_ruby30? ( dev-lang/ruby:3.0 )
- ruby_targets_ruby31? ( dev-lang/ruby:3.1 )
- ruby_targets_ruby32? ( dev-lang/ruby:3.2 )
- )
- elibc_musl? ( sys-libs/fts-standalone )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- python? (
- >=dev-lang/swig-2.0.9
- dev-python/pip[${PYTHON_USEDEP}]
- )
- ruby? ( >=dev-lang/swig-2.0.9 )"
-
-src_prepare() {
- eapply_user
-
- multilib_copy_sources
-}
-
-multilib_src_compile() {
- tc-export AR CC PKG_CONFIG RANLIB
-
- # bug 905711
- use elibc_musl && append-cppflags -D_LARGEFILE64_SOURCE
-
- local -x CFLAGS="${CFLAGS} -fno-semantic-interposition"
-
- emake \
- LIBDIR="\$(PREFIX)/$(get_libdir)" \
- SHLIBDIR="/$(get_libdir)" \
- LDFLAGS="-fPIC ${LDFLAGS} -pthread" \
- USE_PCRE2=y \
- FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \
- all
-
- if multilib_is_native_abi && use python; then
- building() {
- emake \
- LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \
- LIBDIR="\$(PREFIX)/$(get_libdir)" \
- SHLIBDIR="/$(get_libdir)" \
- USE_PCRE2=y \
- FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \
- pywrap
- }
- python_foreach_impl building
- fi
-
- if multilib_is_native_abi && use ruby; then
- building() {
- einfo "Calling rubywrap for ${1}"
- # Clean up .lo file to force rebuild
- rm -f src/selinuxswig_ruby_wrap.lo || die
- emake \
- RUBY=${1} \
- LDFLAGS="-fPIC ${LDFLAGS} -lpthread" \
- LIBDIR="\$(PREFIX)/$(get_libdir)" \
- SHLIBDIR="/$(get_libdir)" \
- USE_PCRE2=y \
- FTS_LDLIBS="$(usex elibc_musl '-lfts' '')" \
- rubywrap
- }
- for RUBYTARGET in ${USE_RUBY}; do
- use ruby_targets_${RUBYTARGET} || continue
-
- building ${RUBYTARGET}
- done
- fi
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" \
- LIBDIR="\$(PREFIX)/$(get_libdir)" \
- SHLIBDIR="/$(get_libdir)" \
- USE_PCRE2=y \
- install
-
- if multilib_is_native_abi && use python; then
- installation() {
- emake DESTDIR="${D}" \
- LIBDIR="\$(PREFIX)/$(get_libdir)" \
- SHLIBDIR="/$(get_libdir)" \
- USE_PCRE2=y \
- install-pywrap
- python_optimize # bug 531638
- }
- python_foreach_impl installation
- fi
-
- if multilib_is_native_abi && use ruby; then
- installation() {
- einfo "Calling install-rubywrap for ${1}"
- # Forcing (re)build here as otherwise the resulting SO file is used for all ruby versions
- rm src/selinuxswig_ruby_wrap.lo
- emake DESTDIR="${D}" \
- LIBDIR="\$(PREFIX)/$(get_libdir)" \
- SHLIBDIR="/$(get_libdir)" \
- RUBY=${1} \
- USE_PCRE2=y \
- install-rubywrap
- }
- for RUBYTARGET in ${USE_RUBY}; do
- use ruby_targets_${RUBYTARGET} || continue
-
- installation ${RUBYTARGET}
- done
- fi
-
- use static-libs || rm "${D}"/usr/lib*/*.a || die
-}
-
-pkg_postinst() {
- # Fix bug 473502
- for POLTYPE in ${POLICY_TYPES};
- do
- mkdir -p "${ROOT}/etc/selinux/${POLTYPE}/contexts/files" || die
- touch "${ROOT}/etc/selinux/${POLTYPE}/contexts/files/file_contexts.local" || die
- # Fix bug 516608
- for EXPRFILE in file_contexts file_contexts.homedirs file_contexts.local ; do
- if [[ -f "${ROOT}/etc/selinux/${POLTYPE}/contexts/files/${EXPRFILE}" ]]; then
- sefcontext_compile "${ROOT}/etc/selinux/${POLTYPE}/contexts/files/${EXPRFILE}" \
- || die "Failed to recompile contexts"
- fi
- done
- done
-}
diff --git a/sys-libs/libselinux/libselinux-3.6-r1.ebuild b/sys-libs/libselinux/libselinux-3.6-r1.ebuild
index 002a1bf64a54..9dcde9eb591d 100644
--- a/sys-libs/libselinux/libselinux-3.6-r1.ebuild
+++ b/sys-libs/libselinux/libselinux-3.6-r1.ebuild
@@ -30,7 +30,7 @@ IUSE="python ruby static-libs ruby_targets_ruby31 ruby_targets_ruby32 ruby_targe
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="dev-libs/libpcre2:=[static-libs?,${MULTILIB_USEDEP}]
- >=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}]
+ >=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP},static-libs(+)]
python? ( ${PYTHON_DEPS} )
ruby? (
ruby_targets_ruby31? ( dev-lang/ruby:3.1 )
diff --git a/sys-libs/libselinux/libselinux-3.7.ebuild b/sys-libs/libselinux/libselinux-3.7-r1.ebuild
index 29818462940a..72e3b36bde1a 100644
--- a/sys-libs/libselinux/libselinux-3.7.ebuild
+++ b/sys-libs/libselinux/libselinux-3.7-r1.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
USE_RUBY="ruby31 ruby32 ruby33"
# No, I am not calling ruby-ng
@@ -30,7 +30,7 @@ IUSE="python ruby static-libs ruby_targets_ruby31 ruby_targets_ruby32 ruby_targe
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="dev-libs/libpcre2:=[static-libs?,${MULTILIB_USEDEP}]
- >=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}]
+ >=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP},static-libs(+)]
python? ( ${PYTHON_DEPS} )
ruby? (
ruby_targets_ruby31? ( dev-lang/ruby:3.1 )
@@ -141,7 +141,7 @@ multilib_src_install() {
done
fi
- use static-libs || rm "${D}"/usr/lib*/*.a || die
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a || die
}
pkg_postinst() {
diff --git a/sys-libs/libselinux/libselinux-9999.ebuild b/sys-libs/libselinux/libselinux-9999.ebuild
index 29818462940a..72e3b36bde1a 100644
--- a/sys-libs/libselinux/libselinux-9999.ebuild
+++ b/sys-libs/libselinux/libselinux-9999.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
USE_RUBY="ruby31 ruby32 ruby33"
# No, I am not calling ruby-ng
@@ -30,7 +30,7 @@ IUSE="python ruby static-libs ruby_targets_ruby31 ruby_targets_ruby32 ruby_targe
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="dev-libs/libpcre2:=[static-libs?,${MULTILIB_USEDEP}]
- >=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}]
+ >=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP},static-libs(+)]
python? ( ${PYTHON_DEPS} )
ruby? (
ruby_targets_ruby31? ( dev-lang/ruby:3.1 )
@@ -141,7 +141,7 @@ multilib_src_install() {
done
fi
- use static-libs || rm "${D}"/usr/lib*/*.a || die
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a || die
}
pkg_postinst() {
diff --git a/sys-libs/libsemanage/Manifest b/sys-libs/libsemanage/Manifest
index 32f573731e29..668a2666562d 100644
--- a/sys-libs/libsemanage/Manifest
+++ b/sys-libs/libsemanage/Manifest
@@ -1,9 +1,5 @@
-DIST libsemanage-3.4.tar.gz 185177 BLAKE2B 45276ae6f54cf3dc453bc0d99fb4d7439970bb14ff5b909ebc5511ec31bce1d2bdc477ba9c1fb4fd04ab494ccb37cd8bf47a90d81460c2974af2196d9019bf67 SHA512 831dc789545bb9a0b009bdb4f7fe52f6197ad8325946640f886a960d08e40b8a69eccd5a70cce51466bb5cb7f742feb78d19a9ec63383fbd03aa451508677e73
-DIST libsemanage-3.5.tar.gz 185060 BLAKE2B 3e08b15cb6b335a2747bd5f0bd84f74abdd22a7e8ec91ebb443ca6fe3886d5e8cd2827fefdaa0e9caf2af3280cffbf593ee828fee54dd423a21b257493cc754c SHA512 959fbd0d6bc6849da6caa13dc41c3f8818cbbd29f04b5d2ac7246c4b395b4f370f113a04cc9cfcb52be2afebfa636013ac4ad4011384c58c7ce066a45cae2751
DIST libsemanage-3.6.tar.gz 182583 BLAKE2B 3ed9ef06601093983fa41ad6ab9f7eeae241dce98937db04efca6f421afcfd3f59cf5e51d24c596ae03997a398949ed84fbdf629518e3c382a5453129b0a87ab SHA512 8998b6a1b254a9673b99ae4d70a1edc769bb728a44f573cdf62e0a9c9392b77644ee2d70e1936a2f8a9a7f8b063ce98a981f4b8b7060f5b82791889330d69364
DIST libsemanage-3.7.tar.gz 182896 BLAKE2B e8a4a9a57f1862efac7e46b33f34f2fdcd116a14487ca07f65aebed62b3914bb1892606a76ed8addcbdb111f361507294ae3c75975a10b90f5d554ba59d2562d SHA512 4b6370b02116364964ff24b93fb6629c885611de78419f649a027db38b4f1c3b3adf3b438efb34a92b49407ab8f9446ed4091fe4c99fa4752f0f5e3e31589415
-EBUILD libsemanage-3.4-r1.ebuild 4405 BLAKE2B 337f44e1d668ed4189b1067285d10c50ead3f917de1fbc768a2cc4c2720faa3de6e7e8af1e4ee9318ccc37aba065fb37433b34d26ff708130c3f57fac2532cdc SHA512 9ab61ab57e6b6e158a6a26cadac1766d4b80c76542933ee0d0daa77c77979232feb88ff602c99e521979b5aff65430d707c0265b269c95d3c4f8fb52a6c215ab
-EBUILD libsemanage-3.5.ebuild 4405 BLAKE2B 337f44e1d668ed4189b1067285d10c50ead3f917de1fbc768a2cc4c2720faa3de6e7e8af1e4ee9318ccc37aba065fb37433b34d26ff708130c3f57fac2532cdc SHA512 9ab61ab57e6b6e158a6a26cadac1766d4b80c76542933ee0d0daa77c77979232feb88ff602c99e521979b5aff65430d707c0265b269c95d3c4f8fb52a6c215ab
EBUILD libsemanage-3.6.ebuild 4406 BLAKE2B 778234d416e4942446572badef1f2bbaba1de2eea5789da174c793aa463ad5a80cdfd3d00f3ceccf8fbb13523a169447578c86dff495f3503d84a96adf3c0614 SHA512 52147140e1bdfa6adc3c905aa4a740b228799815ceccdc7c6e843cd3d710e8688fc14178bc8ddb4ccc6242fcc4b20f1ad5a7c0aa44ef3bc4e2a4a1d59503faf3
EBUILD libsemanage-3.7.ebuild 3712 BLAKE2B c3b135d233fad2807f82ce41da64cbda18a1dc8cbd47b13e2167926a6afc1152230e8caed444dacfaf5b77fad7f58d548f4b338646dac218f3e2e0b0a26c675e SHA512 f379ef38ddb643ef7fa3d3b1222e89d76c2bfe1e76f93fdf6397f7c4e42f54a5028437b4f487756f1c9c1c4127ab6b765ccdc5533df40ac322b1c07a431a4cea
EBUILD libsemanage-9999.ebuild 3712 BLAKE2B c3b135d233fad2807f82ce41da64cbda18a1dc8cbd47b13e2167926a6afc1152230e8caed444dacfaf5b77fad7f58d548f4b338646dac218f3e2e0b0a26c675e SHA512 f379ef38ddb643ef7fa3d3b1222e89d76c2bfe1e76f93fdf6397f7c4e42f54a5028437b4f487756f1c9c1c4127ab6b765ccdc5533df40ac322b1c07a431a4cea
diff --git a/sys-libs/libsemanage/libsemanage-3.4-r1.ebuild b/sys-libs/libsemanage/libsemanage-3.4-r1.ebuild
deleted file mode 100644
index 42c8c982f7d2..000000000000
--- a/sys-libs/libsemanage/libsemanage-3.4-r1.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit python-r1 toolchain-funcs multilib-minimal
-
-MY_PV="${PV//_/-}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="SELinux kernel and policy management library"
-HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git"
- S="${WORKDIR}/${P}/${PN}"
-else
- SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~mips ~riscv x86"
- S="${WORKDIR}/${MY_P}"
-fi
-
-LICENSE="GPL-2"
-SLOT="0/2"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="app-arch/bzip2[${MULTILIB_USEDEP}]
- >=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}]
- >=sys-libs/libselinux-${PV}:=[${MULTILIB_USEDEP}]
- >=sys-process/audit-2.2.2[${MULTILIB_USEDEP}]
- ${PYTHON_DEPS}"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-lang/swig-2.0.4-r1
- app-alternatives/yacc
- app-alternatives/lex
- virtual/pkgconfig"
-
-# tests are not meant to be run outside of the
-# full SELinux userland repo
-RESTRICT="test"
-
-src_prepare() {
- eapply_user
-
- echo >> "${S}/src/semanage.conf"
- echo "# Set this to true to save the linked policy." >> "${S}/src/semanage.conf"
- echo "# This is normally only useful for analysis" >> "${S}/src/semanage.conf"
- echo "# or debugging of policy." >> "${S}/src/semanage.conf"
- echo "save-linked=false" >> "${S}/src/semanage.conf"
- echo >> "${S}/src/semanage.conf"
- echo "# Set this to 0 to disable assertion checking." >> "${S}/src/semanage.conf"
- echo "# This should speed up building the kernel policy" >> "${S}/src/semanage.conf"
- echo "# from policy modules, but may leave you open to" >> "${S}/src/semanage.conf"
- echo "# dangerous rules which assertion checking" >> "${S}/src/semanage.conf"
- echo "# would catch." >> "${S}/src/semanage.conf"
- echo "expand-check=1" >> "${S}/src/semanage.conf"
- echo >> "${S}/src/semanage.conf"
- echo "# Modules in the module store can be compressed" >> "${S}/src/semanage.conf"
- echo "# with bzip2. Set this to the bzip2 blocksize" >> "${S}/src/semanage.conf"
- echo "# 1-9 when compressing. The higher the number," >> "${S}/src/semanage.conf"
- echo "# the more memory is traded off for disk space." >> "${S}/src/semanage.conf"
- echo "# Set to 0 to disable bzip2 compression." >> "${S}/src/semanage.conf"
- echo "bzip-blocksize=0" >> "${S}/src/semanage.conf"
- echo >> "${S}/src/semanage.conf"
- echo "# Reduce memory usage for bzip2 compression and" >> "${S}/src/semanage.conf"
- echo "# decompression of modules in the module store." >> "${S}/src/semanage.conf"
- echo "bzip-small=true" >> "${S}/src/semanage.conf"
-
- multilib_copy_sources
-}
-
-multilib_src_compile() {
- local -x CFLAGS="${CFLAGS} -fno-semantic-interposition"
-
- emake \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- all
-
- if multilib_is_native_abi; then
- building_py() {
- emake \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)" \
- PKG_CONFIG="$(tc-getPKG_CONFIG)" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- "$@"
- }
- python_foreach_impl building_py swigify
- python_foreach_impl building_py pywrap
- fi
-}
-
-multilib_src_install() {
- emake \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- DESTDIR="${ED}" install
-
- if multilib_is_native_abi; then
- installation_py() {
- emake DESTDIR="${ED}" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- PKG_CONFIG="$(tc-getPKG_CONFIG)" \
- install-pywrap
- python_optimize # bug 531638
- }
- python_foreach_impl installation_py
- fi
-}
-
-multiib_src_install_all() {
- python_setup
- python_fix_shebang "${ED}"/usr/libexec/selinux/semanage_migrate_store
-}
-
-pkg_postinst() {
- # Migrate the SELinux semanage configuration store if not done already
- local selinuxtype=$(awk -F'=' '/SELINUXTYPE=/ {print $2}' "${EROOT}"/etc/selinux/config 2>/dev/null)
- if [ -n "${selinuxtype}" ] && [ ! -d "${EROOT}"/var/lib/selinux/${selinuxtype}/active ] ; then
- ewarn "Since the 2.4 SELinux userspace, the policy module store is moved"
- ewarn "from /etc/selinux to /var/lib/selinux. The migration will be run now."
- ewarn "If there are any issues, it can be done manually by running:"
- ewarn "/usr/libexec/selinux/semanage_migrate_store"
- ewarn "For more information, please see"
- ewarn "- https://github.com/SELinuxProject/selinux/wiki/Policy-Store-Migration"
- fi
-}
diff --git a/sys-libs/libsemanage/libsemanage-3.5.ebuild b/sys-libs/libsemanage/libsemanage-3.5.ebuild
deleted file mode 100644
index 42c8c982f7d2..000000000000
--- a/sys-libs/libsemanage/libsemanage-3.5.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit python-r1 toolchain-funcs multilib-minimal
-
-MY_PV="${PV//_/-}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="SELinux kernel and policy management library"
-HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git"
- S="${WORKDIR}/${P}/${PN}"
-else
- SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~mips ~riscv x86"
- S="${WORKDIR}/${MY_P}"
-fi
-
-LICENSE="GPL-2"
-SLOT="0/2"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="app-arch/bzip2[${MULTILIB_USEDEP}]
- >=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}]
- >=sys-libs/libselinux-${PV}:=[${MULTILIB_USEDEP}]
- >=sys-process/audit-2.2.2[${MULTILIB_USEDEP}]
- ${PYTHON_DEPS}"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-lang/swig-2.0.4-r1
- app-alternatives/yacc
- app-alternatives/lex
- virtual/pkgconfig"
-
-# tests are not meant to be run outside of the
-# full SELinux userland repo
-RESTRICT="test"
-
-src_prepare() {
- eapply_user
-
- echo >> "${S}/src/semanage.conf"
- echo "# Set this to true to save the linked policy." >> "${S}/src/semanage.conf"
- echo "# This is normally only useful for analysis" >> "${S}/src/semanage.conf"
- echo "# or debugging of policy." >> "${S}/src/semanage.conf"
- echo "save-linked=false" >> "${S}/src/semanage.conf"
- echo >> "${S}/src/semanage.conf"
- echo "# Set this to 0 to disable assertion checking." >> "${S}/src/semanage.conf"
- echo "# This should speed up building the kernel policy" >> "${S}/src/semanage.conf"
- echo "# from policy modules, but may leave you open to" >> "${S}/src/semanage.conf"
- echo "# dangerous rules which assertion checking" >> "${S}/src/semanage.conf"
- echo "# would catch." >> "${S}/src/semanage.conf"
- echo "expand-check=1" >> "${S}/src/semanage.conf"
- echo >> "${S}/src/semanage.conf"
- echo "# Modules in the module store can be compressed" >> "${S}/src/semanage.conf"
- echo "# with bzip2. Set this to the bzip2 blocksize" >> "${S}/src/semanage.conf"
- echo "# 1-9 when compressing. The higher the number," >> "${S}/src/semanage.conf"
- echo "# the more memory is traded off for disk space." >> "${S}/src/semanage.conf"
- echo "# Set to 0 to disable bzip2 compression." >> "${S}/src/semanage.conf"
- echo "bzip-blocksize=0" >> "${S}/src/semanage.conf"
- echo >> "${S}/src/semanage.conf"
- echo "# Reduce memory usage for bzip2 compression and" >> "${S}/src/semanage.conf"
- echo "# decompression of modules in the module store." >> "${S}/src/semanage.conf"
- echo "bzip-small=true" >> "${S}/src/semanage.conf"
-
- multilib_copy_sources
-}
-
-multilib_src_compile() {
- local -x CFLAGS="${CFLAGS} -fno-semantic-interposition"
-
- emake \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- all
-
- if multilib_is_native_abi; then
- building_py() {
- emake \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)" \
- PKG_CONFIG="$(tc-getPKG_CONFIG)" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- "$@"
- }
- python_foreach_impl building_py swigify
- python_foreach_impl building_py pywrap
- fi
-}
-
-multilib_src_install() {
- emake \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- DESTDIR="${ED}" install
-
- if multilib_is_native_abi; then
- installation_py() {
- emake DESTDIR="${ED}" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- PKG_CONFIG="$(tc-getPKG_CONFIG)" \
- install-pywrap
- python_optimize # bug 531638
- }
- python_foreach_impl installation_py
- fi
-}
-
-multiib_src_install_all() {
- python_setup
- python_fix_shebang "${ED}"/usr/libexec/selinux/semanage_migrate_store
-}
-
-pkg_postinst() {
- # Migrate the SELinux semanage configuration store if not done already
- local selinuxtype=$(awk -F'=' '/SELINUXTYPE=/ {print $2}' "${EROOT}"/etc/selinux/config 2>/dev/null)
- if [ -n "${selinuxtype}" ] && [ ! -d "${EROOT}"/var/lib/selinux/${selinuxtype}/active ] ; then
- ewarn "Since the 2.4 SELinux userspace, the policy module store is moved"
- ewarn "from /etc/selinux to /var/lib/selinux. The migration will be run now."
- ewarn "If there are any issues, it can be done manually by running:"
- ewarn "/usr/libexec/selinux/semanage_migrate_store"
- ewarn "For more information, please see"
- ewarn "- https://github.com/SELinuxProject/selinux/wiki/Policy-Store-Migration"
- fi
-}
diff --git a/sys-libs/libsepol/Manifest b/sys-libs/libsepol/Manifest
index e57f8b39cf89..37b8f908a401 100644
--- a/sys-libs/libsepol/Manifest
+++ b/sys-libs/libsepol/Manifest
@@ -1,8 +1,6 @@
-DIST libsepol-3.5.tar.gz 497522 BLAKE2B dad2d346605be53fe41aef69e2e4bd4f1ce68a15f0b9307deb6b66bbe7bf06a9ee6be580e60d2f19aebbc8ee5041ac8a7b831b51342ba7c7089e1f1a447e7691 SHA512 66f45a9f4951589855961955db686b006b4c0cddead6ac49ad238a0e4a34775905bd10fb8cf0c0ff2ab64f9b7d8366b97fcd5b19c382dec39971a2835cc765c8
DIST libsepol-3.6.tar.gz 509100 BLAKE2B c073c9437004df0c723125971ed26354dc6b8a78b069c593977062527342061303bcc48917fcd9623d17998748254f63408b233173f3c62e92ee0ea2f3c4a430 SHA512 35a42d2749fc4f71bc6b7488380714f56975564007128566f1c73e5c50bf81c17535b2cfda4583aacb4870aa2cd5885321c01523e415bda8b3326bfefb13d58e
DIST libsepol-3.7.tar.gz 511487 BLAKE2B 8e4a0b2b3731f49d8bc8ea03bd5269672428119578046bc7f38230e3c77459e6b9d4ab39285ea33c89d8e807499ef89faa606e4b4e1ecfac2c3d445454b16420 SHA512 85d12d0ba5a7a3225f08d041a18fd59641608db5e0a78a1e9649754e45be54a807cd422d4889b88da6e806b4af546336c7a0913448f08ac33dc6ffb983890ef8
-EBUILD libsepol-3.5.ebuild 1114 BLAKE2B e2dd440d5fcdd3e3dce67bb25a5180cdda5dd534c4f5fa42b30acf1f33fa5d794583fb7808b4b39b3a7003850bb08b12bf8fbdaede1b7c3c6986c365e8d7090b SHA512 1cbd7242dfa76531be30bb7d897ca8fa05be2357351b6b276fbf14958785c5620edf1cce8d3af16a0b8d8fbcb9e1d883ffa6a9313ace5bf73278644234a10043
EBUILD libsepol-3.6.ebuild 1114 BLAKE2B 94ab8f288daf3208748785f0440c24bbd4af0477f383c5d570db7a7d8eb98fe1f910d419a5fd41cb063bb06e7898a34b66dff7655e08f894e357324b99516a2d SHA512 be5926d4a51c07270d7cadacbaf8208b68803133c4a372127ad6f5e45261b0ca7a6cc5521a1f006805aacab721a0329a72fa40e4c87865723f054e23d55afb2c
-EBUILD libsepol-3.7.ebuild 1118 BLAKE2B 8432bf958aa71d1733696b37e627f0002a3be249654fc862093805ea573e867aeecf0fab397fe899552b8b5def83f5ed913e4a1fa1a7e0a7c6680067bfc7423d SHA512 5f0adf73faa1bd6b9c6ad2514ad5102d863574e193f9c26fb86f8e905649f416526c2266c806f2c38bc3451bf8b6f9e35f15a253fcb442abc3eebea48e9e6496
-EBUILD libsepol-9999.ebuild 1118 BLAKE2B 8432bf958aa71d1733696b37e627f0002a3be249654fc862093805ea573e867aeecf0fab397fe899552b8b5def83f5ed913e4a1fa1a7e0a7c6680067bfc7423d SHA512 5f0adf73faa1bd6b9c6ad2514ad5102d863574e193f9c26fb86f8e905649f416526c2266c806f2c38bc3451bf8b6f9e35f15a253fcb442abc3eebea48e9e6496
+EBUILD libsepol-3.7.ebuild 1201 BLAKE2B 2788cdd6371440168ffcbb90b93df66b7ce88f9476d37634e7d4e34706b408d20eef13bb2d9e97052a55f103549a32dc7de1084d37c68d27616ac39e4f3fbd6d SHA512 4df5ac41cbab2fb2db540badc40e1a7055a074ab8382213aec78579341729b297dd340e0b7355c9e168a0d56cf1e5a36f215789b5308cfcc194bf687caff6816
+EBUILD libsepol-9999.ebuild 1201 BLAKE2B 2788cdd6371440168ffcbb90b93df66b7ce88f9476d37634e7d4e34706b408d20eef13bb2d9e97052a55f103549a32dc7de1084d37c68d27616ac39e4f3fbd6d SHA512 4df5ac41cbab2fb2db540badc40e1a7055a074ab8382213aec78579341729b297dd340e0b7355c9e168a0d56cf1e5a36f215789b5308cfcc194bf687caff6816
MISC metadata.xml 402 BLAKE2B 0450441687952fc82e64536652076085d66870e8cd81d9aaa99d023d17d46bc8ef6627c9ebdd6084b4c60e7d26edb61b4aaf5693794105b04b500c74a37c25be SHA512 a107ad99e8050f4cbe1c32f76699524afdced1f4b9a0c0fb3a4b5954d4f9cd5993d4d047d7a3fb45fb68c2be361c658be48287e1099ea7a6b6fca7d676969c2d
diff --git a/sys-libs/libsepol/libsepol-3.5.ebuild b/sys-libs/libsepol/libsepol-3.5.ebuild
deleted file mode 100644
index 16ea268dc5c0..000000000000
--- a/sys-libs/libsepol/libsepol-3.5.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit toolchain-funcs multilib-minimal
-
-MY_PV="${PV//_/-}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="SELinux binary policy representation library"
-HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git"
- S="${WORKDIR}/${P}/${PN}"
-else
- SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~mips ~riscv x86"
- S="${WORKDIR}/${MY_P}"
-fi
-
-LICENSE="GPL-2"
-SLOT="0/2"
-
-# tests are not meant to be run outside of the full SELinux userland repo
-RESTRICT="test"
-
-src_prepare() {
- eapply_user
- multilib_copy_sources
-}
-
-multilib_src_compile() {
- tc-export CC AR RANLIB
-
- local -x CFLAGS="${CFLAGS} -fno-semantic-interposition"
-
- emake \
- LIBDIR="\$(PREFIX)/$(get_libdir)" \
- SHLIBDIR="/$(get_libdir)"
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" \
- LIBDIR="\$(PREFIX)/$(get_libdir)" \
- SHLIBDIR="/$(get_libdir)" \
- install
-}
diff --git a/sys-libs/libsepol/libsepol-3.7.ebuild b/sys-libs/libsepol/libsepol-3.7.ebuild
index 4cb9db630532..95aea8cbafe3 100644
--- a/sys-libs/libsepol/libsepol-3.7.ebuild
+++ b/sys-libs/libsepol/libsepol-3.7.ebuild
@@ -23,6 +23,7 @@ fi
LICENSE="GPL-2"
SLOT="0/2"
+IUSE="+static-libs"
# tests are not meant to be run outside of the full SELinux userland repo
RESTRICT="test"
@@ -32,19 +33,23 @@ src_prepare() {
multilib_copy_sources
}
+my_make() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="\$(PREFIX)/$(get_libdir)" \
+ SHLIBDIR="${EPREFIX}/$(get_libdir)" \
+ "${@}"
+}
+
multilib_src_compile() {
tc-export CC AR RANLIB
local -x CFLAGS="${CFLAGS} -fno-semantic-interposition"
- emake \
- LIBDIR="\$(PREFIX)/$(get_libdir)" \
- SHLIBDIR="/$(get_libdir)"
+ my_make
}
multilib_src_install() {
- emake DESTDIR="${D}" \
- LIBDIR="\$(PREFIX)/$(get_libdir)" \
- SHLIBDIR="/$(get_libdir)" \
- install
+ my_make DESTDIR="${D}" install
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a || die
}
diff --git a/sys-libs/libsepol/libsepol-9999.ebuild b/sys-libs/libsepol/libsepol-9999.ebuild
index 4cb9db630532..95aea8cbafe3 100644
--- a/sys-libs/libsepol/libsepol-9999.ebuild
+++ b/sys-libs/libsepol/libsepol-9999.ebuild
@@ -23,6 +23,7 @@ fi
LICENSE="GPL-2"
SLOT="0/2"
+IUSE="+static-libs"
# tests are not meant to be run outside of the full SELinux userland repo
RESTRICT="test"
@@ -32,19 +33,23 @@ src_prepare() {
multilib_copy_sources
}
+my_make() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="\$(PREFIX)/$(get_libdir)" \
+ SHLIBDIR="${EPREFIX}/$(get_libdir)" \
+ "${@}"
+}
+
multilib_src_compile() {
tc-export CC AR RANLIB
local -x CFLAGS="${CFLAGS} -fno-semantic-interposition"
- emake \
- LIBDIR="\$(PREFIX)/$(get_libdir)" \
- SHLIBDIR="/$(get_libdir)"
+ my_make
}
multilib_src_install() {
- emake DESTDIR="${D}" \
- LIBDIR="\$(PREFIX)/$(get_libdir)" \
- SHLIBDIR="/$(get_libdir)" \
- install
+ my_make DESTDIR="${D}" install
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a || die
}
diff --git a/sys-libs/libucontext/Manifest b/sys-libs/libucontext/Manifest
index 54996ac98cf9..ef33e57346c5 100644
--- a/sys-libs/libucontext/Manifest
+++ b/sys-libs/libucontext/Manifest
@@ -1,6 +1,5 @@
-AUX libucontext-1.1-respect-CFLAGS.patch 368 BLAKE2B b04163e9e75ad3f8704d85d78091a41957cb072edd3ecbe58dbf45bf59c5ffb3662b5f96bf413eaaa5e328c964cbe99a70c6f8f23f4f8bc74bfdda7a0e45c54d SHA512 889b67269066ccdf84221dd1a636d4f6782f4c5f6800828f4068f3764b7e9d1797614d9f07f81864bc720f415c475c1b78aba38dd35355a54fcbf2f7a64a57ff
-DIST libucontext-1.1.tar.gz 25261 BLAKE2B 269b3899657779bc2c6a2f1c365242f0ee936afeb0acf74e48af5c1e6b96918bbaa239039508e7b1b1f7b358679fb4a222311b761223b69b9a3e7a9be2d0bc40 SHA512 05aed6f82a2b3d9dba896423335a7fc2fc5eddc87ed725f05e14488c6ddfcef10b835c928619439c7783e052baff7ef2dc162b6e06aa78992f6f611ca13c2e39
DIST libucontext-1.2.tar.gz 29073 BLAKE2B 378816376877729776c41515ad1c3da36c24528bcdcf5272c4df2029b5273cf90228c163e87bd1af558129b1274d0b22632c4fa8ad2a0f37ac7014dae527a48e SHA512 f47b776517fa9e3fe48b762b11ae580c28bd7646f9e3ab843141d3e203f886326e68dd8040852ab1cb92dbd09d821161660c4be44e3025448d90131e74a4cf51
-EBUILD libucontext-1.1-r1.ebuild 1227 BLAKE2B 80165906c3525c3a1d8cd1079a509ff11cb8ec92833ea493e03103c775f99c4f303d86c33ee4fb921cb9c1dcdfc9e06b031e2c6158c1547a99a86edf7b4ff9ab SHA512 accd79cbc600ca4f02dcdc76f6ed7a964b8714238dfe2d5d44734ef3be472a998a6d04afa196c9a086e58ca18138c80b64973b4caa870ffe7e1ba5e579220ede
+DIST libucontext-1.3.1.tar.xz 24688 BLAKE2B d6a15644abda73ea3e1dd45d6bcbf42627ad4a17fe90ebe8067383f9abfa7c9f87fbb1ab7f21b8b57b88fbe496b57524370d7cbb0fcde5c6e42408c025c271f9 SHA512 9b3c7fc04aedbbed6f35fc18037b75472f8fa44d3c89f261ef923f46874251a10f49894f7a549b0b47d3ffdee1b6678929bdda95822d8043d76b5a1f34e4dc8a
EBUILD libucontext-1.2.ebuild 1405 BLAKE2B 1fac14d814818573a5f4699a39655cd5f807a82c83659559a9f8465bab4930f93b6f1e32f3e3ecab4b93106bf8a0e9a199bf1d58faa7dda11fb4c00e55c45c10 SHA512 58869036d0005bb3873460980bc158fde56c88d8cce1a14fb26962c062f1e4a3e6f5d9ac3451953aa63cffddeaa4af45cb83c24b6c2cdcd794970f84bfd8d224
+EBUILD libucontext-1.3.1.ebuild 1349 BLAKE2B c9e782158b3d703bfd5851950e08ab00444e15744dfb304fa02142e5aac82f3f61b55d4d1c2e1d614e3cdac04c4bbe287ca59bba59ff4daf898f3ae691cacd82 SHA512 1b012210a1d0efa78940ba6cbaac194857f6620e6cc5a5bf8aae705c38d01c957eeb287a00d46e86496475564193a27f0243cd33137a62c8d3e731c079ef541e
MISC metadata.xml 329 BLAKE2B 8958a3567263e9f2fc2409c2cd5858ca3e68659a45f67e5132fca640c6ffe05cac8810436f334b5c775ed049709f43aaf366cfecc97bc732a0917bb47aa5c34d SHA512 7b5d5832b22828f6a0600e3be45ff1da8ff340481a3602db6f5b8540373ff0ac3c72f0de64f00a1691598bbd9cea0128eb869cda67d8ac4894e3a51a7009a730
diff --git a/sys-libs/libucontext/files/libucontext-1.1-respect-CFLAGS.patch b/sys-libs/libucontext/files/libucontext-1.1-respect-CFLAGS.patch
deleted file mode 100644
index 49dd872690d5..000000000000
--- a/sys-libs/libucontext/files/libucontext-1.1-respect-CFLAGS.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://bugs.gentoo.org/832677
-https://github.com/kaniini/libucontext/issues/39
---- a/Makefile
-+++ b/Makefile
-@@ -17,7 +17,7 @@ endif
- LIBDIR := /lib
- INCLUDEDIR := /usr/include
- PKGCONFIGDIR := /usr/lib/pkgconfig
--CFLAGS := -ggdb3 -O2 -Wall
-+CFLAGS ?= -ggdb3 -O2 -Wall
- CPPFLAGS := -Iinclude -Iarch/${ARCH} -Iarch/common
- EXPORT_UNPREFIXED := yes
- FREESTANDING := no
diff --git a/sys-libs/libucontext/libucontext-1.1-r1.ebuild b/sys-libs/libucontext/libucontext-1.3.1.ebuild
index 7ec73298a79c..ba313f31183c 100644
--- a/sys-libs/libucontext/libucontext-1.1-r1.ebuild
+++ b/sys-libs/libucontext/libucontext-1.3.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,23 +7,15 @@ inherit toolchain-funcs
DESCRIPTION="ucontext implementation featuring glibc-compatible ABI"
HOMEPAGE="https://github.com/kaniini/libucontext"
-SRC_URI="https://github.com/kaniini/libucontext/archive/refs/tags/${P}.tar.gz"
-S="${WORKDIR}"/${PN}-${P}
+SRC_URI="https://distfiles.ariadne.space/libucontext/${P}.tar.xz"
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86"
IUSE="+man"
BDEPEND="man? ( app-text/scdoc )"
-# segfault needs investigation
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1-respect-CFLAGS.patch
-)
-
src_compile() {
tc-export AR CC
@@ -46,7 +38,8 @@ src_compile() {
emake \
ARCH="${arch}" \
LDFLAGS="${LDFLAGS}" \
- LIBDIR="/usr/$(get_libdir)" \
+ libdir="/usr/$(get_libdir)" \
+ pkgconfigdir="/usr/$(get_libdir)/pkgconfig" \
all $(usev man 'docs')
}
@@ -54,14 +47,19 @@ src_test() {
emake \
ARCH="${arch}" \
LDFLAGS="${LDFLAGS}" \
- LIBDIR="/usr/$(get_libdir)" \
+ libdir="/usr/$(get_libdir)" \
+ pkgconfigdir="/usr/$(get_libdir)/pkgconfig" \
check
}
src_install() {
emake \
ARCH="${arch}" \
- DESTDIR="${ED}" \
- LIBDIR="/usr/$(get_libdir)" \
+ DESTDIR="${D}" \
+ prefix="${EPREFIX}/usr" \
+ libdir="${EPREFIX}/usr/$(get_libdir)" \
+ pkgconfigdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" \
install $(usev man 'install_docs')
+
+ find "${ED}" -name '*.a' -delete || die
}
diff --git a/sys-libs/libudev-compat/Manifest b/sys-libs/libudev-compat/Manifest
index 8e22749be5b2..6415ae21ba14 100644
--- a/sys-libs/libudev-compat/Manifest
+++ b/sys-libs/libudev-compat/Manifest
@@ -1,3 +1,3 @@
AUX udev_old.c 895 BLAKE2B ccc45a3820556764fe16303c92e7e8d91cd79e9ba3cf488b05f505c867fdac43e9c40d26f263a63484ca14bf0e1eccaccb4618a5794f79babde97b22c211c9ba SHA512 4eafd908621857d0f4b415b7349d8ab992f40e5c2297270973462bd022b1b3e34cb365d4969e2f7801ad41c303f55649ea7bcfe9d8a32c997dd681bdc41a0237
-EBUILD libudev-compat-186-r1.ebuild 1005 BLAKE2B 5a3e9b67cdd247b566e4ab0459d3cb482a7f08495534eff7933f72a566418cdc7533dbfa5f12d622fcc6ee00ade4c06b799d886180010f5d0e11d2d8125bc3a4 SHA512 709fd3a9116fb4579a83f18726f48afb1f9ec3a52932729f26684badf3a8bea74b507b2b44c9b43e58c68decd63243cb14abaa599af77a4edc35c952f11b8101
+EBUILD libudev-compat-186-r1.ebuild 986 BLAKE2B 452ce6bb1e4edac04325be11d518b623c38a3240f8eddabfaad24559a955b090113b7e0640a8374456a180acbe03a1149755b2670ddeff447fbf22c5cf696ee8 SHA512 ec574c87cddba95e7a86019155a748e8cb1c76cfc1fc0defa51dd34ec143ea4572da1a6bbde42c6f0d7ad1615c6eeb2c8c71941a452395b44072ee0290c07f3a
MISC metadata.xml 248 BLAKE2B 97ed0d2320e1aa2d1cca6b63b0cf9cb07669ea73ac0dad7a8f7db4f510d3b2dc28cbf5a7c019f15ac87c25c5e51e619386694b49d21fc19f4092047c8e382287 SHA512 23bb29604f7cc644073025158d751004189a85fe6be88a7817afebad685c3b73f21cdb3e5d05f16699baa5d6b52f1e3a1f365b1ad7ea09bfcd204182e646f203
diff --git a/sys-libs/libudev-compat/libudev-compat-186-r1.ebuild b/sys-libs/libudev-compat/libudev-compat-186-r1.ebuild
index 34e6337d008a..1ffc9eead847 100644
--- a/sys-libs/libudev-compat/libudev-compat-186-r1.ebuild
+++ b/sys-libs/libudev-compat/libudev-compat-186-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,12 +7,10 @@ inherit multilib-minimal toolchain-funcs
DESCRIPTION="Wrapper around libudev.so.1 for packages needing the old libudev.so.0"
HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
-SRC_URI=""
LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
DEPEND="virtual/libudev:0/1[${MULTILIB_USEDEP}]"
RDEPEND="${DEPEND}"
diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest
index c2aad5e56b40..fd291dac0e2f 100644
--- a/sys-libs/llvm-libunwind/Manifest
+++ b/sys-libs/llvm-libunwind/Manifest
@@ -1,4 +1,3 @@
-DIST llvm-project-022d15c0039fc1cfaa3cc2eb1a45b71bbb21fadd.tar.gz 215902891 BLAKE2B ecd87b84a4e5f87c91b6df0a2d6849f385bdb7b26b14a2836f1e1fc5a69f9f5b441e47b9251174019f62eabe39a243092cd1a175b5da7d7576cdcfd63083cff0 SHA512 7726e253179bfd9e0b93236e3ce1133b421329b0b3496b10c0a0eecde372fb5e55cce737b6b78db13f2d0833bbc92023d95efa54cb2918b12ce9af166bd90ff4
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
@@ -7,12 +6,16 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffef86468169ba2f211a9733ec2d4cf30040f7f277ef00f048bb44dee9f97d7d762f0f241f19e5a2a7b0b49217d3821ddfc8c354f SHA512 25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
-DIST llvm-project-3ae6755719c6dfc07761b4e9bdac8c86bcb41734.tar.gz 213487323 BLAKE2B 12030750fca0e7db4ae07a608874877151b2393cf58388f067b469e913ce9ac3f264440ebb3df5ea33f9f97cb87928fa746c98ba26c8d296f9e26dcbf950afc2 SHA512 951b70eafc8aea5b1f7847002229d89df565ca8180deef08b25966dcf070a7603a258e5fc24f9496251d23d275040724ed5e9499432ba3e19f5984f6f1c3c645
+DIST llvm-project-19.1.0-rc2.src.tar.xz 141264388 BLAKE2B 690b4912d9e4a8019b7990934dd6486362337ccb303dca119c0e75aa1063ad452222be1ee965e43b160dfcea20e491a20c289344152666b618712a1d76dc4780 SHA512 508a401e8433b1ac9a399246eb1a3c18faed7c3d41d8c118e77cefbb64cc6d6e171bd41a3e5584f6c84df141ba6819f1a1cce75b5c1ef33e3d2ac239e662d07c
+DIST llvm-project-19.1.0-rc2.src.tar.xz.sig 438 BLAKE2B 1eaf10a1419ecf009c033a8f6ecb6eec86107d81621d5b4665c8d929b05f4845ce0c432017343d7b06f33e6ff6384df9e1d8fc7b9c6efe7f10ef69798891b7e5 SHA512 b46e9a1d40f891c5f3544d8cc6295900bff5dda9a4a526b8db55a42a37ae90deb216b316d2117984e82f4e918d15343e75b3b9e6d6c773866707c3398e032826
+DIST llvm-project-db8ef6188cbbe2125e6d60bdef77a535105772df.tar.gz 218416682 BLAKE2B 691e3881e4a60c008c6b766b51ecc856122de1f40242ff1d91ebaa12682fea0a22f84783eb930c42d196f50ba0d3b2010f9010ed73ee7e292fe78c93d6e3f324 SHA512 2dc16a603b60607cc3daee2de0126a567a78c4fff72b2fbcb94c82472bc5ec64ac354ba8592b9a643248a5bfd43b34e2a60f2751a0c9e9e28b7f895fc50a5e9d
+DIST llvm-project-fd7d7882e7fa5a38d4bfde426120d4663718beb4.tar.gz 218217769 BLAKE2B a6c2aa012c342e31527b7e9f85e8fea3549d52530d8f87cd699e094a0aa768d099f9fd2631161ff7f53b4a5011937ed6d1f52b8fa1d23aa34183be1f487d4277 SHA512 c4863fab1a3c03f7f9c42f3501d3a75cebb491343515d77d30b26e5cbd720fc3fd628052099d87ed638e8c424bcbe7a1d066ed857f73da6f243d3d5a76b0e6c5
EBUILD llvm-libunwind-15.0.7.ebuild 3032 BLAKE2B 9b47e894db1a764f3eca3135f4caba68261953f4433af017b7bb53181e345ad26c570733f997022c53c9ef49a0a3b823188d92cfcc16a2113825d767b1ffab2a SHA512 0b68480fb2a8e5a351574e81fbcff824cd324754ed40378f06fec12fedbba94a921043d72db6ecc37f8b0680b7f518bbbd8d63f69ce8d84f86ca522653d293fb
EBUILD llvm-libunwind-16.0.6-r1.ebuild 3440 BLAKE2B eafe21a3de172043ca0039ba27c80c64d32b02cc86bdb5a6d108ded35770e0352216337cbf24ee4fde43b699a68a85c8145be2d17510d525452bfd5a02674998 SHA512 164fdc1c62405e02c035af7997b8522b51f5b9337d2bb66d7fc9b1f45df74ec70d31b26dc5324c59792d32c543fe18abf74ed3b07a64c131e3c1bb4f9f733c5d
EBUILD llvm-libunwind-17.0.6.ebuild 3440 BLAKE2B eafe21a3de172043ca0039ba27c80c64d32b02cc86bdb5a6d108ded35770e0352216337cbf24ee4fde43b699a68a85c8145be2d17510d525452bfd5a02674998 SHA512 164fdc1c62405e02c035af7997b8522b51f5b9337d2bb66d7fc9b1f45df74ec70d31b26dc5324c59792d32c543fe18abf74ed3b07a64c131e3c1bb4f9f733c5d
-EBUILD llvm-libunwind-18.1.8.ebuild 3413 BLAKE2B 9a59c656e7ee118568d2c81e4af2e2cbf8b668c7e9b4d65c65ec0f0e49f31aad9d20b8780dbaf78f9bf57b7e2943a8b1284bdf9a2c6b75b4f8cc1cfa18e15a59 SHA512 b597048d6be09a9151a7dcbc00e8348c738072d156500d5f63e2d1ba7df488ad4b7e4847a634310569da1ec04b6e1bbb9e88ba004618f58266448d44c4cbf451
-EBUILD llvm-libunwind-19.0.0.9999.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a
-EBUILD llvm-libunwind-19.0.0_pre20240623.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a
-EBUILD llvm-libunwind-19.0.0_pre20240630.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a
+EBUILD llvm-libunwind-18.1.8.ebuild 3407 BLAKE2B 1f0f6be6cd671b42d97bfa5ffc5fbf0c837f1d97a034db9c88fa15ba381651c6f669aef7e8e6f46091f33950f6fc8dad7a7e45ded1711b8dea2e562ec7174cb9 SHA512 e4db23d628e8d82c48f5dd1f2c29a90acceaabdcdb049d38310cdfe82c3d59b4cb5d80df8b9f5663ab3c86fbf304bffc35fd01d61f9b7dc99cbef879e9157a61
+EBUILD llvm-libunwind-19.1.0_rc2.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a
+EBUILD llvm-libunwind-20.0.0.9999.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a
+EBUILD llvm-libunwind-20.0.0_pre20240808.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a
+EBUILD llvm-libunwind-20.0.0_pre20240815.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a
MISC metadata.xml 438 BLAKE2B 2a36fbbc59e137056029c62aef6d167d9c82531c2582d7bad5cb13cc36e5c4c9518ffe8c56d06bbcfd97ad22eda71a8b776f3984195f53d06cf45659b438dc00 SHA512 4f18b054072d00e5440faa31a59f9ef587d035b5f25e30913f0b1449debee967fa794fae2548e87db3fb2177ce853ab075e1f11f3cc763f5d7fdf06147108845
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-18.1.8.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-18.1.8.ebuild
index b6a7c9822310..aaa6c07084dc 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-18.1.8.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-18.1.8.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://llvm.org/docs/ExceptionHandling.html"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv sparc x86 ~arm64-macos ~x64-macos"
IUSE="+clang debug static-libs test"
REQUIRED_USE="test? ( clang )"
RESTRICT="!test? ( test )"
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-19.0.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-19.1.0_rc2.ebuild
index e4c76c15ebc8..e4c76c15ebc8 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-19.0.0.9999.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-19.1.0_rc2.ebuild
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-19.0.0_pre20240623.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0.9999.ebuild
index e4c76c15ebc8..e4c76c15ebc8 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-19.0.0_pre20240623.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0.9999.ebuild
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-19.0.0_pre20240630.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240808.ebuild
index e4c76c15ebc8..e4c76c15ebc8 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-19.0.0_pre20240630.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240808.ebuild
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240815.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240815.ebuild
new file mode 100644
index 000000000000..e4c76c15ebc8
--- /dev/null
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240815.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="C++ runtime stack unwinder from LLVM"
+HOMEPAGE="https://llvm.org/docs/ExceptionHandling.html"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0"
+IUSE="+clang +debug static-libs test"
+REQUIRED_USE="test? ( clang )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !sys-libs/libunwind
+"
+DEPEND="
+ sys-devel/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+ test? (
+ $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ )
+"
+
+LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/cmake cmake )
+LLVM_TEST_COMPONENTS=( libcxxabi llvm/utils/llvm-lit )
+llvm.org_set_globals
+
+python_check_deps() {
+ use test || return 0
+ python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+multilib_src_configure() {
+ llvm_prepend_path "${LLVM_MAJOR}"
+
+ local libdir=$(get_libdir)
+
+ # https://github.com/llvm/llvm-project/issues/56825
+ # also separately bug #863917
+ filter-lto
+
+ if use clang; then
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ fi
+
+ # link to compiler-rt
+ # https://github.com/gentoo/gentoo/pull/21516
+ local use_compiler_rt=OFF
+ [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON
+
+ # Respect upstream build type assumptions (bug #910436) where they do:
+ # -DLIBUNWIND_ENABLE_ASSERTIONS=ON =>
+ # -DCMAKE_BUILD_TYPE=DEBUG => -UNDEBUG
+ # -DCMAKE_BUILD_TYPE!=debug => -DNDEBUG
+ # -DLIBUNWIND_ENABLE_ASSERTIONS=OFF =>
+ # -UNDEBUG
+ # See also https://github.com/llvm/llvm-project/issues/86#issuecomment-1649668826.
+ use debug || append-cppflags -DNDEBUG
+
+ local mycmakeargs=(
+ -DCMAKE_CXX_COMPILER_TARGET="${CHOST}"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DLLVM_ENABLE_RUNTIMES="libunwind"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+ -DLLVM_INCLUDE_TESTS=OFF
+ -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug)
+ -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs)
+ -DLIBUNWIND_INCLUDE_TESTS=$(usex test)
+ -DLIBUNWIND_INSTALL_HEADERS=ON
+
+ # support non-native unwinding; given it's small enough,
+ # enable it unconditionally
+ -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON
+
+ # avoid dependency on libgcc_s if compiler-rt is used
+ -DLIBUNWIND_USE_COMPILER_RT=${use_compiler_rt}
+ )
+ if use test; then
+ mycmakeargs+=(
+ -DLLVM_ENABLE_RUNTIMES="libunwind;libcxxabi;libcxx"
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx"
+
+ -DLIBCXXABI_LIBDIR_SUFFIX=
+ -DLIBCXXABI_ENABLE_SHARED=OFF
+ -DLIBCXXABI_ENABLE_STATIC=ON
+ -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+ -DLIBCXXABI_INCLUDE_TESTS=OFF
+
+ -DLIBCXX_LIBDIR_SUFFIX=
+ -DLIBCXX_ENABLE_SHARED=OFF
+ -DLIBCXX_ENABLE_STATIC=ON
+ -DLIBCXX_CXX_ABI=libcxxabi
+ -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
+ -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl)
+ -DLIBCXX_HAS_GCC_S_LIB=OFF
+ -DLIBCXX_INCLUDE_TESTS=OFF
+ -DLIBCXX_INCLUDE_BENCHMARKS=OFF
+ )
+ fi
+
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-unwind
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-unwind
+}
diff --git a/sys-libs/minizip-ng/Manifest b/sys-libs/minizip-ng/Manifest
index bce79d5679cf..cc91ed97fe75 100644
--- a/sys-libs/minizip-ng/Manifest
+++ b/sys-libs/minizip-ng/Manifest
@@ -1,6 +1,6 @@
AUX minizip-ng-4.0.4-libbsd-overlay.patch 699 BLAKE2B b176f2fa2186a7d1b9bc276f56e4fd92c6a3548f298931049f6edc6635ea1d8639054d80915f33b4e86213c344e9613bf0d0a34cafa37dbdd3f1e9f12d01f051 SHA512 26b89d4c434d162a42d66e70ab8eb455c18eb6c45fffd36a6fb898a3f47f495c32d066d68a9837a143e84453a476700eaf59b65622cb50ca2006cf72f2ef1486
-DIST minizip-ng-4.0.4.tar.gz 770202 BLAKE2B 5b9f4a66325de4298db0f7cdb8830050fe55c46c3914f51d7e7c4fe4cd9e080ab9658739dc936da602d67199333b6eca71218ad155244b9c04f50944486a02b1 SHA512 2662ddf90666babe73474f6fc48f5a64f276d555b7a0f04f790b9edef570cb958356e900632c3795fb2053f4813c449240ff101d32b063eca4ad869bef0546fd
DIST minizip-ng-4.0.5.tar.gz 770078 BLAKE2B e9e416a8fae3c4e33c1fe644bbf4f3edf2becc8e8e0dfba079481c8c8fbd871c1591537c58e7aaa9b08ecee430c2acb8c1a5ee085fa8c819714fbe906876241e SHA512 760c540ccedd04c21d72ec7b41bc31a16e4291776580a6febb9400198440b3a64f39d4ba26be2608abf47b9dcc1ed266dad8bc0a8cacb607e4885c9dd05be0d6
-EBUILD minizip-ng-4.0.4.ebuild 2769 BLAKE2B 3e3085874620d53e73e92a173302dfd6a008085ab61ac58d31c701236ed2e87c8f6fc55a3a69ec8aec14030f62cc2e1fecea2d1f153b0d232f737a57297703a8 SHA512 b49025536e202810067801a0ea95fcbbc1862c3e49c0441a1e0c26099c59dfea2b96994596c77082643993540296274ad996a4a131ccfdd37251fa3908357145
-EBUILD minizip-ng-4.0.5.ebuild 2768 BLAKE2B b2ce049a70c86d3a0950f33300f4b4dbabe2575e47efb42c927eee157de381dbd622b327c368bd723e0a61aabec76b9568c182e2c6cfdc3b77de147e68b8804b SHA512 71df27edec31d51f23504e74d6e6462aa468cbce1c797c88411519c007978100d5aaad868799d9ea047067ac26f740461cad9cc7aa24c4507c93539aabf8a22d
+DIST minizip-ng-4.0.7.tar.gz 770098 BLAKE2B 2626a8ff7fe70db5a2ec93829a03d7d274a161aa787de86ab021d1d0590890f84570118f7e372dd13d947c85606886e0d8591bc7d8145b7f9474cb59e6ec6c49 SHA512 af9c8743d34bbc8f371a018debfab5f857aadb9a1129b048dbce9085122bef209ade34837784f91424c9eba92406d2e222476d9f8038839908679f7b7dc9e3eb
+EBUILD minizip-ng-4.0.5.ebuild 2793 BLAKE2B 9c58ad19635bc1d27d4a5ffcaaee799a72a1dc44aa381f5082d4274a8b76e96f1d64df0393ce220fc9fac536935bc59814c82c3efd3abe5b6bf6c705b6ad71db SHA512 a1e6d090a260d35395dc67d3764835037e3d4f1ecda62bae432dbf91612e353ee85606c73d7c50a2211858516518ebfc2e943a13195755873f783e89f92a57ef
+EBUILD minizip-ng-4.0.7.ebuild 2615 BLAKE2B 8b0a89b2ac6f0756e419bf52b65dc54d784dd1868a9c6ff5cd15d6064f9800aaa3b72e11d70fc45f50216ae1fc71dd345db885253907c921218531943c7a0f1b SHA512 febe99f6df0e614653e7d0e44cf49eff81b2868903db4dc9ed4d610fe057f70213d2843055746fb5fe9fb1682d443f1397492e2478766dc16a518c3f4d857fb8
MISC metadata.xml 548 BLAKE2B 1373f3096881bc3c5bf4f1864528f399f84c17dab1c9f9ea88db5ad2da1d82cd48f89b9aaa4837f808a45f6783ac833415f1633a9eeaee70748f753fc392be7f SHA512 cf600135681af26f27b611663d426f9a9e83848289f3e184cd4ed6eaec4404226e8737945453a3a12d4bcdc6ef3a623336e514f9bb0c566eb5e8110ade4a1e63
diff --git a/sys-libs/minizip-ng/minizip-ng-4.0.5.ebuild b/sys-libs/minizip-ng/minizip-ng-4.0.5.ebuild
index 117488f128e9..776436dd47e5 100644
--- a/sys-libs/minizip-ng/minizip-ng-4.0.5.ebuild
+++ b/sys-libs/minizip-ng/minizip-ng-4.0.5.ebuild
@@ -15,18 +15,18 @@ SRC_URI="https://github.com/zlib-ng/minizip-ng/archive/refs/tags/${PV}.tar.gz ->
LICENSE="ZLIB"
SLOT="0/4"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-IUSE="compat openssl test zstd"
+IUSE="compat lzma openssl test zstd"
RESTRICT="!test? ( test )"
# Automagically prefers sys-libs/zlib-ng if installed, so let's
# just depend on it as presumably it's better tested anyway.
RDEPEND="
app-arch/bzip2[${MULTILIB_USEDEP}]
- app-arch/xz-utils
dev-libs/libbsd[${MULTILIB_USEDEP}]
sys-libs/zlib-ng[${MULTILIB_USEDEP}]
virtual/libiconv
compat? ( !sys-libs/zlib[minizip] )
+ lzma? ( app-arch/xz-utils )
openssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
"
@@ -52,7 +52,7 @@ multilib_src_configure() {
# Compression library options
-DMZ_ZLIB=ON
-DMZ_BZIP2=ON
- -DMZ_LZMA=ON
+ -DMZ_LZMA=$(usex lzma)
-DMZ_ZSTD=$(usex zstd)
-DMZ_LIBCOMP=OFF
diff --git a/sys-libs/minizip-ng/minizip-ng-4.0.4.ebuild b/sys-libs/minizip-ng/minizip-ng-4.0.7.ebuild
index d23ad9d63cb9..9c6d126e623e 100644
--- a/sys-libs/minizip-ng/minizip-ng-4.0.4.ebuild
+++ b/sys-libs/minizip-ng/minizip-ng-4.0.7.ebuild
@@ -15,18 +15,18 @@ SRC_URI="https://github.com/zlib-ng/minizip-ng/archive/refs/tags/${PV}.tar.gz ->
LICENSE="ZLIB"
SLOT="0/4"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-IUSE="compat openssl test zstd"
+IUSE="compat lzma openssl test zstd"
RESTRICT="!test? ( test )"
# Automagically prefers sys-libs/zlib-ng if installed, so let's
# just depend on it as presumably it's better tested anyway.
RDEPEND="
app-arch/bzip2[${MULTILIB_USEDEP}]
- app-arch/xz-utils
dev-libs/libbsd[${MULTILIB_USEDEP}]
sys-libs/zlib-ng[${MULTILIB_USEDEP}]
virtual/libiconv
compat? ( !sys-libs/zlib[minizip] )
+ lzma? ( app-arch/xz-utils )
openssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
"
@@ -52,7 +52,7 @@ multilib_src_configure() {
# Compression library options
-DMZ_ZLIB=ON
-DMZ_BZIP2=ON
- -DMZ_LZMA=ON
+ -DMZ_LZMA=$(usex lzma)
-DMZ_ZSTD=$(usex zstd)
-DMZ_LIBCOMP=OFF
@@ -81,14 +81,6 @@ multilib_src_test() {
cmake_src_test -j1
}
-multilib_src_install_all() {
- if ! use compat && use test ; then
- # Test binaries, bug #874591
- rm "${ED}"/usr/bin/minigzip || die
- rm "${ED}"/usr/bin/minizip-ng || die
- fi
-}
-
pkg_postinst() {
if use compat ; then
ewarn "minizip-ng is experimental and replacing the system zlib[minizip] is dangerous"
diff --git a/sys-libs/musl/Manifest b/sys-libs/musl/Manifest
index d783eddf3d22..8c143163d57f 100644
--- a/sys-libs/musl/Manifest
+++ b/sys-libs/musl/Manifest
@@ -13,8 +13,7 @@ DIST musl-1.2.5.tar.gz.asc 490 BLAKE2B f0d91b20aa7729449bd02a60adf17e8287904ed59
DIST musl-getent-93a08815f8598db442d8b766b463d0150ed8e2ab.c 11656 BLAKE2B 1b7bf7102a1eb91a8cb881ed8ca65eb8eed911dd50238e97dc2952d89d4c6ebed6bfd046a2b38776c550b2872ab54ced8cb452fcc2ad56e5616f722debda761f SHA512 7f5b9d934d82deb5f8b23e16169a5d9b99ccab3a4708df06a95d685e1b24a3a3e69b3dcf4942f2f66c12a3d4bf0c5827e2ee2e8c4d7b1997359fccc2ac212dee
EBUILD musl-1.2.3-r8.ebuild 5934 BLAKE2B 6b59d02f8163923c41f66535cd3e1fd5a476a6a7426677f65fac1be3759d2453fcd42e7e0fea522fbe90684346974910bea737c8624921f9924ad348fc7d06e4 SHA512 73894ff4988ce54113bb1d46ca53ae1be12fdf0f56209406e7931c645f250e6a8f10417d3f31906d10526dabb841535af603073e6fae7b25fe5a157d1639f94e
EBUILD musl-1.2.4-r1.ebuild 5723 BLAKE2B 2c40e6a549a79610d4c1c73d159eaa238fdbe2a965ebd781e617b7829010624c1ad38e9b2335bf77b0bf5ea2887128d3475aae4fb98cebfb9d36596bbad9e86b SHA512 25c4b6d7d09a90662aa8a2e7fd7cbab13b6439ba3a65c7f52c39e30bf4eacc224d2c3d9d81ff1088d0e32406c6513189281d6ab27788cb3a3c583cce3725f161
-EBUILD musl-1.2.4-r2.ebuild 5785 BLAKE2B 913bb167f55ba2c35ae0d1db85a67c1ef5430826a1402c3cdb91f75ff520e9f3c4e1c467d29b68a131da19644ad4cda3e4f79c840370eba6efff542b6673ac9a SHA512 6e10ce461c28516f19df9410ee3b5cf0762672c2a5c1453566df10d080829230509880b433b874aab4e268fae6a373265cb0780287607a30d1b6bc9e3c8a9e71
-EBUILD musl-1.2.5-r1.ebuild 5783 BLAKE2B 4ba1b947af8452818c3b3b5c8fdc0e63c4f2e657fd5cdd7623fb66976bc45cbf9a059d8346aa69f9e4d1038798537cd7d6a6225f1a2317c67dd679c109e20759 SHA512 f4df9f85a50ac27e7cc62aeeb348a6e3179f340f7953bcafbe9fcc953aef075ade4d518ddbce2b0fe6163dab5a6361d01e8c6aed15891fd6188cb14a6cda2abb
-EBUILD musl-1.2.5.ebuild 5714 BLAKE2B 5d539f26f6bcfe43bdcfd23a3d84659a2cadf3ecc9c01a812303a0d699343689ac0d310ffea98199a21da40be61e9c8082a01162d9af57b2d8254bba5c983d77 SHA512 76c8ee66312bc1b9bc7c0d68531b92affe352301b9676e04ec776c9a91acfda43c4f6c324830e056d9753a6e11137fd57559adfbcc99ceb384dd3940b62c8841
-EBUILD musl-9999.ebuild 5691 BLAKE2B 47179b9846400c4a6eefab996bfb928a10f96de3324094072c5fdc5f529e1a964f2fd2668e2386274d9f4f7d902ab234d8fc9233b903208700a9f88f044b1a41 SHA512 d4a89572ea8d6605ebb6e0b6c81cc9934da8d3be31ae4a57007d4e5bd47cfec9d1dc69a4d0411f9b076df7bf6e9248ff2da53e76ba63d9b73431663f58279d67
+EBUILD musl-1.2.4-r2.ebuild 5779 BLAKE2B ec3c75d10e1c0c8178930cef94652f9acb7a9c077cd7cffbec361cb1d2bd00a8e3fbfa4c42893ee117d0fd464f4e8342e82e984d8143cc2c3e8e5cedc6f8cc11 SHA512 e71c495bfe23071c3eab732db9e832048613d035f93ce57f4571bb45bb9e020242a62b0fd64b4697bc77a0901f4a9732ee847daebc500d30f97bf5f7b9ff556c
+EBUILD musl-1.2.5-r1.ebuild 5760 BLAKE2B 283b8574f50179f3d145fdf30087988c448b05cddc2e787835b06520aca1d0b58147248a63ee44ee6e2e6cfdcda8bc43aa8eb2bc5bbc3313ab634b7e739615af SHA512 244780bf9d414b7052df59618c411c294d2c496b091cb355e53dc20d2516a4b04cca51162bd87a010cde26950bc46b2fb5cf937909ea45098bf7a49cabd7f44d
+EBUILD musl-9999.ebuild 5693 BLAKE2B fed62b53a3b88e1625fc728991f8d58caf2ad5e5951867a372c91becd941d03944e31c8de95e996cf91c28fa2dada77e5191bab4663d3d8a9cde3ee76e169f96 SHA512 03adaae6d73d28c21e6e5693dc73e23aec8b196e1d5fdd6a1b8f3adeec97fc3242199b3c98125c7ccc031a867164ef92ef5995a1e37b22fe7c1494faa9c90beb
MISC metadata.xml 559 BLAKE2B 8b1093a5278f716b8e21467b325e373a790f54c8ab71b92adc4c87dd569a92b20e08009372065f0f27ced39e3361c9e5e5a2e1bff271753d280439fabbddd3a4 SHA512 a35c13ea32ac8f26984bdb0d70d28a4285f34e32a2b0b17ad98fe3f357fb46c87a1e853377630d4da58fd5953de3fdeb02ee89181394e1815f5e0bbba4cd9f92
diff --git a/sys-libs/musl/musl-1.2.4-r2.ebuild b/sys-libs/musl/musl-1.2.4-r2.ebuild
index 1ec30208d947..dbe5caa086bd 100644
--- a/sys-libs/musl/musl-1.2.4-r2.ebuild
+++ b/sys-libs/musl/musl-1.2.4-r2.ebuild
@@ -13,7 +13,7 @@ else
SRC_URI="https://musl.libc.org/releases/${P}.tar.gz"
SRC_URI+=" verify-sig? ( https://musl.libc.org/releases/${P}.tar.gz.asc )"
- KEYWORDS="-* ~amd64 ~arm ~arm64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~x86"
+ KEYWORDS="-* amd64 arm arm64 ~m68k ~mips ppc ppc64 ~riscv x86"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-musl )"
fi
diff --git a/sys-libs/musl/musl-1.2.5-r1.ebuild b/sys-libs/musl/musl-1.2.5-r1.ebuild
index 9d233979f7e2..1e66fed0c7bf 100644
--- a/sys-libs/musl/musl-1.2.5-r1.ebuild
+++ b/sys-libs/musl/musl-1.2.5-r1.ebuild
@@ -17,8 +17,7 @@ else
SRC_URI="https://musl.libc.org/releases/${P}.tar.gz"
SRC_URI+=" verify-sig? ( https://musl.libc.org/releases/${P}.tar.gz.asc )"
- KEYWORDS="-* ~riscv"
- #KEYWORDS="-* ~amd64 ~arm ~arm64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~x86"
+ KEYWORDS="-* ~amd64 ~arm ~arm64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~x86"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-musl )"
fi
diff --git a/sys-libs/musl/musl-1.2.5.ebuild b/sys-libs/musl/musl-1.2.5.ebuild
deleted file mode 100644
index 05286d2397c9..000000000000
--- a/sys-libs/musl/musl-1.2.5.ebuild
+++ /dev/null
@@ -1,203 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit crossdev flag-o-matic toolchain-funcs prefix
-
-DESCRIPTION="Light, fast and, simple C library focused on standards-conformance and safety"
-HOMEPAGE="https://musl.libc.org"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://git.musl-libc.org/git/musl"
- inherit git-r3
-else
- VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/musl.asc
- inherit verify-sig
-
- SRC_URI="https://musl.libc.org/releases/${P}.tar.gz"
- SRC_URI+=" verify-sig? ( https://musl.libc.org/releases/${P}.tar.gz.asc )"
- KEYWORDS="-* ~riscv"
- #KEYWORDS="-* ~amd64 ~arm ~arm64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~x86"
-
- BDEPEND="verify-sig? ( sec-keys/openpgp-keys-musl )"
-fi
-
-GETENT_COMMIT="93a08815f8598db442d8b766b463d0150ed8e2ab"
-GETENT_FILE="musl-getent-${GETENT_COMMIT}.c"
-SRC_URI+="
- https://dev.gentoo.org/~blueness/musl-misc/getconf.c
- https://gitlab.alpinelinux.org/alpine/aports/-/raw/${GETENT_COMMIT}/main/musl/getent.c -> ${GETENT_FILE}
- https://dev.gentoo.org/~blueness/musl-misc/iconv.c
-"
-
-LICENSE="MIT LGPL-2 GPL-2"
-SLOT="0"
-IUSE="crypt headers-only split-usr"
-
-QA_SONAME="usr/lib/libc.so"
-QA_DT_NEEDED="usr/lib/libc.so"
-# bug #830213
-QA_PRESTRIPPED="usr/lib/crtn.o"
-
-# We want crypt on by default for this as sys-libs/libxcrypt isn't (yet?)
-# built as part as crossdev. Also, elide the blockers when in cross-*,
-# as it doesn't make sense to block the normal CBUILD libxcrypt at all
-# there when we're installing into /usr/${CHOST} anyway.
-if is_crosspkg ; then
- IUSE="${IUSE/crypt/+crypt}"
-else
- RDEPEND="crypt? ( !sys-libs/libxcrypt[system] )"
- PDEPEND="!crypt? ( sys-libs/libxcrypt[system] )"
-fi
-
-just_headers() {
- use headers-only && target_is_not_host
-}
-
-pkg_setup() {
- if [ ${CTARGET} == ${CHOST} ] ; then
- case ${CHOST} in
- *-musl*) ;;
- *) die "Use sys-devel/crossdev to build a musl toolchain" ;;
- esac
- fi
-
- # Fix for bug #667126, copied from glibc ebuild:
- # make sure host make.conf doesn't pollute us
- if target_is_not_host || tc-is-cross-compiler ; then
- CHOST=${CTARGET} strip-unsupported-flags
- fi
-}
-
-src_unpack() {
- if [[ ${PV} == 9999 ]] ; then
- git-r3_src_unpack
- elif use verify-sig ; then
- # We only verify the release; not the additional (fixed, safe) files
- # we download.
- # (Seem to get IPC error on verifying in cross?)
- ! target_is_not_host && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.gz{,.asc}
- fi
-
- default
-}
-
-src_prepare() {
- default
-
- mkdir "${WORKDIR}"/misc || die
- cp "${DISTDIR}"/getconf.c "${WORKDIR}"/misc/getconf.c || die
- cp "${DISTDIR}/${GETENT_FILE}" "${WORKDIR}"/misc/getent.c || die
- cp "${DISTDIR}"/iconv.c "${WORKDIR}"/misc/iconv.c || die
-}
-
-src_configure() {
- strip-flags && filter-lto # Prevent issues caused by aggressive optimizations & bug #877343
- tc-getCC ${CTARGET}
-
- just_headers && export CC=true
-
- local sysroot
- target_is_not_host && sysroot=/usr/${CTARGET}
- ./configure \
- --target=${CTARGET} \
- --prefix="${EPREFIX}${sysroot}/usr" \
- --syslibdir="${EPREFIX}${sysroot}/lib" \
- --disable-gcc-wrapper || die
-}
-
-src_compile() {
- emake obj/include/bits/alltypes.h
- just_headers && return 0
-
- emake
- if ! is_crosspkg ; then
- emake -C "${T}" getconf getent iconv \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS}" \
- CPPFLAGS="${CPPFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- VPATH="${WORKDIR}/misc"
- fi
-
- $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -c -o libssp_nonshared.o "${FILESDIR}"/stack_chk_fail_local.c || die
- $(tc-getAR) -rcs libssp_nonshared.a libssp_nonshared.o || die
-}
-
-src_install() {
- local target="install"
- just_headers && target="install-headers"
- emake DESTDIR="${D}" ${target}
- just_headers && return 0
-
- # musl provides ldd via a sym link to its ld.so
- local sysroot=
- target_is_not_host && sysroot=/usr/${CTARGET}
- local ldso=$(basename "${ED}${sysroot}"/lib/ld-musl-*)
- dosym -r "${sysroot}/lib/${ldso}" "${sysroot}/usr/bin/ldd"
-
- if ! use crypt ; then
- # Allow sys-libs/libxcrypt[system] to provide it instead
- rm "${ED}/usr/include/crypt.h" || die
- rm "${ED}/usr/$(get_libdir)/libcrypt.a" || die
- fi
-
- if ! is_crosspkg ; then
- # Fish out of config:
- # ARCH = ...
- # SUBARCH = ...
- # and print $(ARCH)$(SUBARCH).
- local arch=$(awk '{ k[$1] = $3 } END { printf("%s%s", k["ARCH"], k["SUBARCH"]); }' config.mak)
-
- # The musl build system seems to create a symlink:
- # ${D}/lib/ld-musl-${arch}.so.1 -> /usr/lib/libc.so.1 (absolute)
- # During cross or within prefix, there's no guarantee that the host is
- # using musl so that file may not exist. Use a relative symlink within
- # ${D} instead.
- rm "${ED}"/lib/ld-musl-${arch}.so.1 || die
- if use split-usr; then
- dosym ../usr/lib/libc.so /lib/ld-musl-${arch}.so.1
- # If it's still a dead symlink, OK, we really do need to abort.
- [[ -e "${ED}"/lib/ld-musl-${arch}.so.1 ]] || die
- else
- dosym libc.so /usr/lib/ld-musl-${arch}.so.1
- [[ -e "${ED}"/usr/lib/ld-musl-${arch}.so.1 ]] || die
- fi
-
- cp "${FILESDIR}"/ldconfig.in-r3 "${T}"/ldconfig.in || die
- sed -e "s|@@ARCH@@|${arch}|" "${T}"/ldconfig.in > "${T}"/ldconfig || die
- eprefixify "${T}"/ldconfig
- into /
- dosbin "${T}"/ldconfig
- into /usr
- dobin "${T}"/getconf
- dobin "${T}"/getent
- dobin "${T}"/iconv
- echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00musl || die
- doenvd "${T}"/00musl
- fi
-
- if target_is_not_host ; then
- into /usr/${CTARGET}
- dolib.a libssp_nonshared.a
- else
- dolib.a libssp_nonshared.a
- fi
-}
-
-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
-}
-
-pkg_postinst() {
- target_is_not_host && return 0
-
- [[ -n "${ROOT}" ]] && return 0
-
- ldconfig || die
-}
diff --git a/sys-libs/musl/musl-9999.ebuild b/sys-libs/musl/musl-9999.ebuild
index 6f769c7aa732..1b451cd191de 100644
--- a/sys-libs/musl/musl-9999.ebuild
+++ b/sys-libs/musl/musl-9999.ebuild
@@ -55,7 +55,7 @@ just_headers() {
}
pkg_setup() {
- if [ ${CTARGET} == ${CHOST} ] ; then
+ if [[ ${CTARGET} == ${CHOST} ]] ; then
case ${CHOST} in
*-musl*) ;;
*) die "Use sys-devel/crossdev to build a musl toolchain" ;;
diff --git a/sys-libs/pam/Manifest b/sys-libs/pam/Manifest
index 8924f1281699..1396f73b870f 100644
--- a/sys-libs/pam/Manifest
+++ b/sys-libs/pam/Manifest
@@ -4,5 +4,5 @@ DIST Linux-PAM-1.5.3.tar.xz 1020076 BLAKE2B 362c939f3afc343e6f4e78e7f6ba6f7a9c6e
DIST Linux-PAM-1.6.1-docs.tar.xz 465516 BLAKE2B c39dfba2e327120edc1f30be6ea7f8e6cf20d1f4dd17752cc34e0ae1c0bd22b3d19b94ab665bf3df5bd6ecc7fc358dbbedd8a3069df95ff6189580e538aa3547 SHA512 c6054ec6832f604c0654cf074e4e241c44037fd41cd37cca7da94abe008ff72adc4466d31bd254517eda083c7ec3f6aefd37785b3ee3d0d4553250bd29963855
DIST Linux-PAM-1.6.1.tar.xz 1054152 BLAKE2B 649b4ff892fbd3eb90adcbd9ccc5b3f5df51bf1c79b9084c7a1613c432587b13b81761d1eb4f31ef12d58843d16af24a3c441d0b6f5d2f2a1db9c8da15a61e2f SHA512 ddb5a5f296f564b76925324550d29f15d342841a97815336789c7bb922a8663e831edeb54f3dcd1eaf297e3325c9e2e6c14b8740def5c43cf3f160a8a14fa2ea
EBUILD pam-1.5.3-r1.ebuild 4462 BLAKE2B f0129140303ad021889f2bcdfd9d49277ca8f1a89ac49ee66a6769bf9d4c3ac0c31fdaf1cf2e7c0157a9b7e29399bf0906149ef2d339d5f71e49416f7bb70747 SHA512 c065fd998e4df0fda9fd8bf34ff274033e30b2d4ed920ddea3e1f6c118750d64c650783b7ec3138c8b444ae8205ef8ed3181d282177e21c0d74bdb5065b18bcb
-EBUILD pam-1.6.1.ebuild 4473 BLAKE2B 649271aee3c5bc0a2dbe24ec78d6b50a260cbde3cdc2b0665c5688cf453f14643a927b7121b2082a8b37e75fed81f7253111bb3971c7b96761ebf9d2d4ddf4a5 SHA512 2712effc8e1d76e20106a658607e9cc1724b6ee0805894f852b9956c36710266757df356b7250388d57e72d6004095e4b893d3876afff506e35276dee5f8af73
+EBUILD pam-1.6.1.ebuild 4466 BLAKE2B a3dad0e487dda23dca6ac73082d6d24384e44932a655986c661dce8992e744e8d5b181a437a18622a5a401cc4d76ba3615a201e848036363756ddc5c8f01306c SHA512 306fa314118fb666e73410d9b08b860baed3cd505246cbb4e879579d5debccce32f0215b922ff2c9bb26fada4d06407a6431da76db746f0f1a6abb087988459d
MISC metadata.xml 846 BLAKE2B e236bd8c7a53097d96164d9063d1dbb9372cef4ec92731dc43df6731cc7f4fc2935aeeb2e069b6da1d4bce3f1cc6a657e0361208581da615f3f41ec72c02261e SHA512 e2e28deadb2c941f8fa31447ec20c95ccb340d638f8b1e742a89ccc2dbb3c8d88e764f750d6e13c5a6320a612d6f2447689c02862a5e897919d1e9bca7857089
diff --git a/sys-libs/pam/pam-1.6.1.ebuild b/sys-libs/pam/pam-1.6.1.ebuild
index 06b8b9406e7e..f8d6f80e053a 100644
--- a/sys-libs/pam/pam-1.6.1.ebuild
+++ b/sys-libs/pam/pam-1.6.1.ebuild
@@ -21,7 +21,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="|| ( BSD GPL-2 )"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="audit berkdb examples debug nis selinux"
BDEPEND="
diff --git a/sys-libs/pkgcraft/Manifest b/sys-libs/pkgcraft/Manifest
index b00e08f420b4..04112ef5149a 100644
--- a/sys-libs/pkgcraft/Manifest
+++ b/sys-libs/pkgcraft/Manifest
@@ -1,6 +1,8 @@
DIST pkgcraft-c-0.0.14.tar.xz 29920400 BLAKE2B dc163e0fb9bcdfb283346cc2bc2dfec9111d4d70c0bbd7b37b9306cd1bcf1d262e99b8126db71608f16807224ca6a357a7449d7076ab57b225745c7bb69c6080 SHA512 9d47788b60a00f5d006787fa38606f12a738a86e587cff0df5671a959d1e970860f31546117f44187f17c0fa8b52e6ac8ad6ec2a767abcc985e470d5a5f9f4a5
DIST pkgcraft-c-0.0.15.tar.xz 22494284 BLAKE2B a1cccec51f0684282e5e962fc2c50a7a1ddb459dac0fb6c8d611aa4d51abc5a2394a5f3a43ad9599ae841b00678713559f1aeb7bc282309aa222d1024a50d67d SHA512 5e2c79c43f9e9113fc46b1c5cb9a78a70718eb9fd2ac9ba03d1586d6273649429b5f36ee5e832b58889914491ff9369803e509d5ba7c820a7e006df70cacf8e9
+DIST pkgcraft-c-0.0.16.tar.xz 20787816 BLAKE2B 085ee23fce8e03fa82fcec210e31f032cbe51354a14de2f2261329f432c0f6460363898d735dc7ed1c4115a184d6b7a3ff9a7c4d1697b12e34729cda54f6c234 SHA512 a805919375c8791b73a803a61c10df9ba0db87381f7fdec976428cf07b287bd10f02a6c97d1b7bb4d483b37a4ec6e027ae397067b658e4a4b422102e42d814e3
EBUILD pkgcraft-0.0.14.ebuild 1990 BLAKE2B 80c23006c2a0138ca870fe094aee7f4420b24638b3e14ed97ebc37a0eef8f5b59a8bb0f8978073db97e344573aa1f0f8fc00ca95e69c5b62240ac8c7297cf2b1 SHA512 7f1ecf8cf0b821abd1ee344119da3755055b310381ecd7c4246b90ff773ca42685242ecf92b74c4a5604389fce8b437be7b6ad29bfb2965d860cc02529dea1c0
EBUILD pkgcraft-0.0.15.ebuild 1990 BLAKE2B 5f23fe835aedf762e30aff6cb9b0d1414c0bc5eeca0ab668aac353d8428fa4f9365cd5989495b61d5e243db21140a73a6d77229b34e26a2df127b3a8db4bdaed SHA512 b68c3b3ec02e5da9cfe899a206150350188a4cfa52d1f77bfb47e17314c9763f8cafd637786cc41c0cdc6aa3f197e9770a0d024ff3c002ba8bc0d1fd7b90719e
+EBUILD pkgcraft-0.0.16.ebuild 1990 BLAKE2B 5f23fe835aedf762e30aff6cb9b0d1414c0bc5eeca0ab668aac353d8428fa4f9365cd5989495b61d5e243db21140a73a6d77229b34e26a2df127b3a8db4bdaed SHA512 b68c3b3ec02e5da9cfe899a206150350188a4cfa52d1f77bfb47e17314c9763f8cafd637786cc41c0cdc6aa3f197e9770a0d024ff3c002ba8bc0d1fd7b90719e
EBUILD pkgcraft-9999.ebuild 1990 BLAKE2B 5f23fe835aedf762e30aff6cb9b0d1414c0bc5eeca0ab668aac353d8428fa4f9365cd5989495b61d5e243db21140a73a6d77229b34e26a2df127b3a8db4bdaed SHA512 b68c3b3ec02e5da9cfe899a206150350188a4cfa52d1f77bfb47e17314c9763f8cafd637786cc41c0cdc6aa3f197e9770a0d024ff3c002ba8bc0d1fd7b90719e
MISC metadata.xml 322 BLAKE2B b0ee0fc53eb8b4b485f74806a78b5560aaf53f1772d7bd3e5af4e03385b3f3aed18fc52462c2d49de6c0d735db0cae3fab175b8adc0e5f7c4baa89e28973776f SHA512 9343cd5028750182fe9325c44f4c4c7df0976b79e0422b66e0fd16f94be76eaa203e8ecad5ec2cbed3535f455f038e51968850ced9afb27af9a98b6b968df88a
diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild
new file mode 100644
index 000000000000..a964805ae71c
--- /dev/null
+++ b/sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild
@@ -0,0 +1,92 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES=" "
+inherit edo cargo toolchain-funcs
+
+DESCRIPTION="C library for pkgcraft"
+HOMEPAGE="https://pkgcraft.github.io/"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft"
+ inherit git-r3
+
+ S="${WORKDIR}"/${P}/crates/pkgcraft-c
+
+ BDEPEND="test? ( dev-util/cargo-nextest )"
+else
+ MY_P=${PN}-c-${PV}
+ SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz"
+ S="${WORKDIR}"/${MY_P}
+
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016"
+SLOT="0/${PV}"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# clang needed for bindgen
+BDEPEND+="
+ dev-util/cargo-c
+ sys-devel/clang
+ >=virtual/rust-1.76
+"
+
+QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*"
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ cargo_src_unpack
+ fi
+}
+
+src_compile() {
+ local cargoargs=(
+ --library-type=cdylib
+ --prefix=/usr
+ --libdir="/usr/$(get_libdir)"
+ $(usev !debug '--release')
+ )
+
+ # For scallop building bash
+ tc-export AR CC
+
+ # Can pass -vv if need more output from e.g. scallop configure
+ edo cargo cbuild "${cargoargs[@]}"
+}
+
+src_test() {
+ if [[ ${PV} == 9999 ]] ; then
+ # It's interesting to test the whole thing rather than just
+ # pkgcraft-c.
+ cd "${WORKDIR}"/${P} || die
+
+ # Need nextest per README (separate processes required)
+ # Invocation from https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56
+ edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests
+ else
+ # There are no tests for pkgcraft-c. Test via e.g. dev-python/pkgcraft.
+ :;
+ fi
+}
+
+src_install() {
+ local cargoargs=(
+ --library-type=cdylib
+ --prefix=/usr
+ --libdir="/usr/$(get_libdir)"
+ --destdir="${ED}"
+ $(usev !debug '--release')
+ )
+
+ edo cargo cinstall "${cargoargs[@]}"
+}
diff --git a/sys-libs/readline/Manifest b/sys-libs/readline/Manifest
index cf05678794a6..d1eec832d732 100644
--- a/sys-libs/readline/Manifest
+++ b/sys-libs/readline/Manifest
@@ -34,8 +34,15 @@ DIST readline82-009 2270 BLAKE2B ecfa4f3f445b0c90d4ba1cf4116c9a773a3e5ee737966d9
DIST readline82-009.sig 95 BLAKE2B 5484f3df25e550a717915ecf70e8410f747ff6d192a873e5449a4fb664bd3557d21a3cf40c5c9e0097dfaf2cee205243cd1cf6af34200f89e79f9d73626c49c1 SHA512 383cc954f8324588c699968d7cdf9a4f3c0e461917c8a16f5599cd0ffb59ff9539207478195a7d77c1842c11bd912cc17d3b3b56e6a9463db1991fb5c24d5409
DIST readline82-010 2653 BLAKE2B 44ebbf93b6449d848b2dda49716b494596d207bef08cdea0d01808b5291d68714e01ef914e97652bb73e81808a91fff829c8035a097db5b3649be1e0735e3eab SHA512 b611b42e31601ea5fcd7de59e6c1cdd3fece7cc8287e0e495ddfc4d5e8f765b3c6567b728fe0a317d6cb00240b772fa4c26f374c8bf361355a9d262bc5133874
DIST readline82-010.sig 95 BLAKE2B a5a6ccaace88a79c4e28f3c9d3a9ffad186ab772ada7668653b729190d5a598cbe46c769861a72acd08b5fb36f84537bd2018a98fbd0602565660411810447f7 SHA512 0c781417f0cf63daa8532f54b71c9fda69bb2206ca41f7f75fceb7f44781ec949f932881d82fd55d69038208aed45692e30a1e6013d698c7d13f8c9984e331bc
+DIST readline82-011 1865 BLAKE2B c0c083021ef8d3b482013846719ddbbee8e0d0dcdb694e138d193937ec1ccbf26b10cf55c84646db1b63c1ba9f6e7e47b815ab11a49a2466fa1907389e61ba4f SHA512 13694129f388364bea8009e1d2156c2a27e4b63bf780be2bc18129134e9f0454cad82106b6aeed03fab5ffe1f1fa630b80b77d1bc8b824a3d2280a71bf5d2ea6
+DIST readline82-011.sig 95 BLAKE2B f391e3f83b8f574a6ccb28e1064e5b2451e4342b8b64d09f19e61ec6b380fc2d6a1ae7d384ef43c4291c1cd4cbe370de30f436abaedd0437c997fa2bbbb77ce6 SHA512 5c013a02edca92963bd2bc08b8b897cdf92c4e27d763bc3702f0f405d8409bb30a1d096a84e61c35c3bd1a7678a34f815939a0fd12d30103996ac544d8a325a4
+DIST readline82-012 2824 BLAKE2B 02f5351cdeaf818d809a3d40596ef7c7d83ab397e28486aa3ec1f25b1efe8c6ca1569d0c7e7a85170d38a37a5681cf53eb8a3b435b7c010e70ebd3d346bc25ca SHA512 8921328ed899702a4e0f5c924efee7955d70909cc6ccd2722c87127891e0639376ef5a642ca4b27f92e0ee06d4fad7297fe5f2d2db425e1b6a9b1eaf5c1e4b63
+DIST readline82-012.sig 95 BLAKE2B c9d69070ebff6b1996cfb5d1559dfdaa56d2e34770f142f9771cf8b99a68dfd55933cbcbadf589f490db4c7bdc57e43cd657d43ce72c185a46b802e61175470e SHA512 d9c0cedd012fe5a1e2236f072aefca3b1c9c66c6eedef1842f22d80c860d1e48a4f0a10711f52316e6c57d221ee32e00172002f53a3931574a03891873c0ed1e
+DIST readline82-013 5757 BLAKE2B 5af309dc331cdc2fc9c47f8a53c78731885cf70ba22c135929a30c3ab0c6c0a786d1a58b607a7aca9a6522e70aa0e9dc182ad21854d87299e48bf207ee9b02e2 SHA512 9a768946c91e4af31e872fb856b017662cdd5a12ed432d84ba13013fbac327673b655a034dbcfab52da2ff9e45eb1fdb562c3e26c224a5f4e86bff23df25175e
+DIST readline82-013.sig 95 BLAKE2B 388b707e863c6047fdc92bb29e2c172292b497f53926f6e2534016e5cdb621fd7feb9418c6edd4a693869ea61c16cb64815bf2159d6af0bb3eec5d5dc666e525 SHA512 85bd30dc816d62a2e339c95bf9f243a60a960264e14bc396b34f586afdded2cc43ecc307a7f1a2c03c7eba2d11d2f3a0028107a59c4b2bc8d6dbe77fe9fb81cd
EBUILD readline-8.1_p2-r2.ebuild 6981 BLAKE2B 1319d23bff9c63e8c53f87f5767dc24d479a70bedc1cf82d21cba0b508b052eb3cc334ae491cde913fdfb264ae6570a5f160bb7d16ae906d48f38debe9d466d5 SHA512 067c55be2dc6cb4c3e627ebefff753301e2ad1bd9c86cc5165d8dda78b6363d24d92d8001a164a1b1f1fd94a7702e8d90c9891a5e3b8e40d32e91ee3f9863d5c
EBUILD readline-8.2_p10.ebuild 7560 BLAKE2B 3dd23f93b3dc03909a81dbe3836efc7d010f1711465007569cc0f2d118f5498db418c307e952a1296585a9651c8e9abee00244eb36ce66bc17d266337383bda8 SHA512 32c78ea2851a83f3e7ef6b4b46ae03033379701acd3c344cd08f8bafbc5eec97680e41cb082113ad6605e99ece6682b6039e19839b8bd6acda6942184e72e5cc
+EBUILD readline-8.2_p13.ebuild 7567 BLAKE2B 2838875de046727fe3f1a8872f2babfca9e86d9d246420d1587acaa7f3c71f3db743e656238432de133dcf733f2be322bb626c4d81a3a24d285b66462d69eeeb SHA512 4c2a539ab5837478120641180dbe949494ea41bdef652966dac9441ec946dc3188496d0bc718982a820ce56d9b12183ebf74152cda57171922a0395a895ea95c
EBUILD readline-8.3_alpha.ebuild 7670 BLAKE2B 1c3fc1be062ccd1cf22e08b02b13e6554c519796d73159fe3edc5b0292fb995bfb91f57d42565abf0811ede55498e37f9c214e1422016fdb0ebbf637af96bc04 SHA512 68c2e6de889899f691fcca1cc4e6160d6c4d7e1eff5d3987eb5d63516ee8aa601de0197fbf8a74cdd5a5cb0db60980e85423ce8b526fa2c20de78d56454224fd
EBUILD readline-9999.ebuild 7391 BLAKE2B 76655c11c0145a954ed33867afad49c0fc294f3e86465147f497f380692ba21c7e161206c8446e8388c4d89885b858365512c68d9dd5874ed61684b829cabdf1 SHA512 2f13c81903a92966ae816ff55299189c15631775cc51dea9680d6138c7c195c61610e2d4dc3d8ba13b19416b0cf78808db640135fe7198dd1232a880d64f5449
MISC metadata.xml 533 BLAKE2B 2324b38d79697509a98d761cb8f91e08934b419f71bfd65cf09149773e3f44e8ff153d173cb1af80ccc4c10c7c65103bba5ca797f3b18b96c13132ffd777049e SHA512 5d66a8a464db16ea8afebeca7102632629486ccd4d348821ef693abde571c8a70a6aa38e9b563ddcfe93950afc38f63d2cb4239c645d97e92138a0c1e5c67f00
diff --git a/sys-libs/readline/readline-8.2_p13.ebuild b/sys-libs/readline/readline-8.2_p13.ebuild
new file mode 100644
index 000000000000..8445ab394a11
--- /dev/null
+++ b/sys-libs/readline/readline-8.2_p13.ebuild
@@ -0,0 +1,263 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# There's no standard way of versioning the point releases upstream
+# make anyway, so while this was added for RC versions, it's fine
+# in general.
+QA_PKGCONFIG_VERSION=$(ver_cut 1-2)
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
+inherit flag-o-matic multilib multilib-minimal preserve-libs toolchain-funcs verify-sig
+
+# Official patches
+# See ftp://ftp.cwru.edu/pub/bash/readline-8.1-patches/
+PLEVEL="${PV##*_p}"
+MY_PV="${PV/_p*}"
+MY_PV="${MY_PV/_/-}"
+MY_P="${PN}-${MY_PV}"
+MY_PATCHES=()
+
+is_release() {
+ case ${PV} in
+ 9999|*_alpha*|*_beta*|*_rc*)
+ return 1
+ ;;
+ *)
+ return 0
+ ;;
+ esac
+}
+
+[[ ${PV} != *_p* ]] && PLEVEL=0
+
+DESCRIPTION="Another cute console display library"
+HOMEPAGE="https://tiswww.case.edu/php/chet/readline/rltop.html https://git.savannah.gnu.org/cgit/readline.git"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/readline.git"
+ EGIT_BRANCH=devel
+ inherit git-r3
+elif is_release ; then
+ SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz"
+ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/readline-8.1-rlfe-c99.patch.xz"
+ SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )"
+
+ if [[ ${PLEVEL} -gt 0 ]] ; then
+ # bash-5.1 -> bash51
+ my_p=${PN}$(ver_rs 1-2 '' $(ver_cut 1-2))
+
+ patch_url=
+ my_patch_index=
+
+ upstream_url_base="mirror://gnu/readline"
+ mirror_url_base="ftp://ftp.cwru.edu/pub/readline"
+
+ for ((my_patch_index=1; my_patch_index <= ${PLEVEL} ; my_patch_index++)) ; do
+ printf -v mangled_patch_ver ${my_p}-%03d ${my_patch_index}
+ patch_url="${upstream_url_base}/${MY_P}-patches/${mangled_patch_ver}"
+
+ SRC_URI+=" ${patch_url}"
+ SRC_URI+=" verify-sig? ( ${patch_url}.sig )"
+
+ # Add in the mirror URL too.
+ SRC_URI+=" ${patch_url/${upstream_url_base}/${mirror_url_base}}"
+ SRC_URI+=" verify-sig? ( ${patch_url/${upstream_url_base}/${mirror_url_base}}.sig )"
+
+ MY_PATCHES+=( "${DISTDIR}"/${mangled_patch_ver} )
+ done
+
+ unset my_p patch_url my_patch_index upstream_url_base mirror_url_base
+ fi
+else
+ SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz ftp://ftp.cwru.edu/pub/readline/${MY_P}.tar.gz"
+ SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig ftp://ftp.cwru.edu/pub/readline/${MY_P}.tar.gz.sig )"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+if ! is_release ; then
+ inherit autotools
+fi
+
+LICENSE="GPL-3+"
+SLOT="0/8" # subslot matches SONAME major
+if is_release ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="static-libs +unicode utils"
+
+RDEPEND=">=sys-libs/ncurses-5.9-r3:=[static-libs?,unicode(+)?,${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-chetramey )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.0-no_rpath.patch
+ "${FILESDIR}"/${PN}-7.0-headers.patch
+ "${FILESDIR}"/${PN}-8.0-headers.patch
+ "${WORKDIR}"/${PN}-8.1-rlfe-c99.patch
+
+ # TODO: rebase
+ #"${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch
+)
+
+src_unpack() {
+ local patch
+
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
+
+ for patch in "${MY_PATCHES[@]}"; do
+ verify-sig_verify_detached "${patch}"{,.sig}
+ done
+ fi
+
+ unpack "${MY_P}.tar.gz"
+ unpack readline-8.1-rlfe-c99.patch.xz
+
+ #if [[ ${GENTOO_PATCH_VER} ]]; then
+ # unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
+ #fi
+ fi
+}
+
+src_prepare() {
+ [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}"
+
+ default
+
+ is_release || eautoreconf
+
+ if use prefix && [[ ! -x "${BROOT}"/usr/bin/pkg-config ]] ; then
+ # If we're bootstrapping, make a guess. We don't have pkg-config
+ # around yet. bug #818103.
+ # Incorrectly populating this leads to underlinked libreadline.
+ local ncurses_libs
+ local ncurses_libs_suffix=$(usex unicode w '')
+
+ ncurses_libs="-lncurses${ncurses_libs_suffix}"
+
+ if has_version "sys-libs/ncurses[tinfo(+)]" ; then
+ ncurses_libs+=" -ltinfo${ncurses_libs_suffix}"
+ fi
+ else
+ # Force ncurses linking, bug #71420.
+ # Use pkg-config to get the right values, bug #457558.
+ local ncurses_libs=$($(tc-getPKG_CONFIG) ncurses$(usex unicode w '') --libs)
+ fi
+
+ sed -i \
+ -e "/^SHLIB_LIBS=/s:=.*:='${ncurses_libs}':" \
+ support/shobj-conf || die
+ sed -i \
+ -e "/^[[:space:]]*LIBS=.-lncurses/s:-lncurses:${ncurses_libs}:" \
+ examples/rlfe/configure || die
+
+ # Fix building under Gentoo/FreeBSD; upstream FreeBSD deprecated
+ # objformat for years, so we don't want to rely on that.
+ sed -i -e '/objformat/s:if .*; then:if true; then:' support/shobj-conf || die
+
+ # For local readline headers
+ ln -s ../.. examples/rlfe/readline || die
+}
+
+src_configure() {
+ # Fix implicit decls with widechar funcs
+ append-cppflags -D_GNU_SOURCE
+ # https://lists.gnu.org/archive/html/bug-readline/2010-07/msg00013.html
+ append-cppflags -Dxrealloc=_rl_realloc -Dxmalloc=_rl_malloc -Dxfree=_rl_free
+
+ # Make sure configure picks a better ar than `ar`, bug #484866
+ export ac_cv_prog_AR="$(tc-getAR)"
+
+ # Force the test since we used sed above to force it.
+ export bash_cv_termcap_lib=ncurses
+
+ # Control cross-compiling cases when we know the right answer.
+ # In cases where the C library doesn't support wide characters, readline
+ # itself won't work correctly, so forcing the answer below should be OK.
+ if tc-is-cross-compiler ; then
+ export bash_cv_func_sigsetjmp="present"
+ export bash_cv_func_ctype_nonascii="yes"
+ # bug #503312
+ export bash_cv_wcwidth_broken="no"
+ fi
+
+ # This is for rlfe, but we need to make sure LDFLAGS doesn't change
+ # so we can re-use the config cache file between the two.
+ append-ldflags -L.
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --cache-file="${BUILD_DIR}"/config.cache
+ --with-curses
+ $(use_enable static-libs static)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+
+ if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then
+ # Code is full of AC_TRY_RUN()
+ mkdir -p examples/rlfe || die
+ cd examples/rlfe || die
+
+ ECONF_SOURCE="${S}"/examples/rlfe econf --cache-file="${BUILD_DIR}"/config.cache
+ fi
+}
+
+multilib_src_compile() {
+ emake
+
+ if use utils && multilib_is_native_abi && ! tc-is-cross-compiler ; then
+ # Code is full of AC_TRY_RUN()
+ cd examples/rlfe || die
+ local l
+ for l in readline history ; do
+ ln -s ../../shlib/lib${l}$(get_libname)* lib${l}$(get_libname) || die
+ ln -s ../../lib${l}.a lib${l}.a || die
+ done
+ emake
+ fi
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi ; then
+ if use utils && ! tc-is-cross-compiler; then
+ dobin examples/rlfe/rlfe
+ fi
+ fi
+}
+
+multilib_src_install_all() {
+ HTML_DOCS="doc/history.html doc/readline.html doc/rluserman.html" einstalldocs
+
+ dodoc USAGE
+ docinto ps
+ dodoc doc/*.ps
+}
+pkg_preinst() {
+ # bug #29865
+ # Reappeared in bug #595324 with paludis so keeping this for now...
+ preserve_old_lib \
+ /$(get_libdir)/lib{history,readline}$(get_libname 4) \
+ /$(get_libdir)/lib{history,readline}$(get_libname 5) \
+ /$(get_libdir)/lib{history,readline}$(get_libname 6) \
+ /$(get_libdir)/lib{history,readline}$(get_libname 7)
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify \
+ /$(get_libdir)/lib{history,readline}$(get_libname 4) \
+ /$(get_libdir)/lib{history,readline}$(get_libname 5) \
+ /$(get_libdir)/lib{history,readline}$(get_libname 6) \
+ /$(get_libdir)/lib{history,readline}$(get_libname 7)
+}
diff --git a/sys-libs/zlib-ng/Manifest b/sys-libs/zlib-ng/Manifest
index f1b5063181ab..6c39fadd2740 100644
--- a/sys-libs/zlib-ng/Manifest
+++ b/sys-libs/zlib-ng/Manifest
@@ -1,3 +1,5 @@
DIST zlib-ng-2.1.6.tar.gz 2412106 BLAKE2B 9ca16c19c2c799e68e099d44721b27dc33ad9e859a3d6572bebe3a75c618bffd78e19f0d4c0607802d1c8fa6a8f328d62f9993648a99c1d2e0e5fdcaf87a2667 SHA512 59ef586c09b9a63788475abfd6dd59ed602316b38f543f801bea802ff8bec8b55a89bee90375b8bbffa3bdebc7d92a00903f4b7c94cdc1a53a36e2e1fd71d13a
+DIST zlib-ng-2.1.7.tar.gz 2406554 BLAKE2B c92a2ad481e4a10b8ec164f3974a09242118e2c16dbe51553b7f6e5c33886997dc390e73ce26f99bdb5ce0ecae3eb19322059576a83da1c3958435554773878c SHA512 03e6d22ecb39c9425fa2977e5db608f765387a06b9ef93b162e403bb155aa3b59bbaedb41e827e7e159d6635325d804dcd4314a25adcb35b83e6e0cf1153aabe
EBUILD zlib-ng-2.1.6-r1.ebuild 2500 BLAKE2B 0d42ee88d8c6429ba129db582a3106d7a3527b9f54122229f42ba65859f7cc8671e7db5f2bdc2d878cb965e8b14cc83eb01ef7699c8b9443316e466ea47c22ca SHA512 1f1c8d9d33c15a2c4eb7fe6e6a497e4f22e6635ec577ef1f6d341af8769831b3b7854dc13ba5f1efbbd45a30a267252985614015e71ff2fcd53021bf5464919a
+EBUILD zlib-ng-2.1.7.ebuild 2501 BLAKE2B 7d0e385f45d38d0d8e935245e63f202e949596292736cdade65cbe022bcb4f4acf76b50942a29b5bb4cf8db6ae0522bb3f80e5119f80186cceb214973815b5ac SHA512 b38a117f984408c72a3b436578006546f1ba506bb7d9b85aa23bac72b18454b10b33973d39c9ceaafa2f52002ea72e666ddd77680ddd1f0ea5428b068350ad91
MISC metadata.xml 431 BLAKE2B 49465a63458ac9b7d807d699d45046fd7dc849796f039956effee297fd4da30109bc6f0644cc46aec680f6a94fb6b839d857b17a2699907fd43317794a12cf78 SHA512 16c8b051776ba1ba37b01eac4127d3a84811b3f4cc9f733480ddd12992bb7119cf3c8a22dc18e4086cf71fe7a16266c21684bc7040070eaf1a8dde1783c8d59e
diff --git a/sys-libs/zlib-ng/zlib-ng-2.1.7.ebuild b/sys-libs/zlib-ng/zlib-ng-2.1.7.ebuild
new file mode 100644
index 000000000000..d9bf5f443d25
--- /dev/null
+++ b/sys-libs/zlib-ng/zlib-ng-2.1.7.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Worth keeping an eye on 'develop' branch upstream for possible backports,
+# as they copied this practice from sys-libs/zlib upstream.
+
+inherit cmake-multilib
+
+DESCRIPTION="Fork of the zlib data compression library"
+HOMEPAGE="https://github.com/zlib-ng/zlib-ng"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc ~x86"
+
+CPU_USE=(
+ x86_{avx2,avx512f,avx512_vnni,sse2,ssse3,sse4_2,pclmul,vpclmulqdq}
+ arm_{crc32,neon}
+ ppc_{altivec,vsx2,vsx3}
+)
+IUSE="compat ${CPU_USE[@]/#/cpu_flags_} test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? ( dev-cpp/gtest )
+"
+RDEPEND="
+ compat? ( !sys-libs/zlib )
+"
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DZLIB_COMPAT=$(usex compat)
+ -DZLIB_ENABLE_TESTS=$(usex test)
+ -DWITH_GTEST=$(usex test)
+
+ # Unaligned access is controversial and undefined behaviour
+ # Let's keep it off for now
+ # https://github.com/gentoo/gentoo/pull/17167
+ -DWITH_UNALIGNED=OFF
+ )
+
+ # The intrinsics options are all defined conditionally, so we need
+ # to enable them on/off per-arch here for now.
+ # TODO: There's no s390x USE_EXPAND yet
+ if use amd64 || use x86 ; then
+ mycmakeargs+=(
+ -DWITH_AVX2=$(usex cpu_flags_x86_avx2)
+ -DWITH_AVX512=$(usex cpu_flags_x86_avx512f)
+ -DWITH_AVX512VNNI=$(usex cpu_flags_x86_avx512_vnni)
+ -DWITH_SSE2=$(usex cpu_flags_x86_sse2)
+ -DWITH_SSSE3=$(usex cpu_flags_x86_ssse3)
+ -DWITH_SSE42=$(usex cpu_flags_x86_sse4_2)
+ -DWITH_PCLMULQDQ=$(usex cpu_flags_x86_pclmul)
+ -DWITH_VPCLMULQDQ=$(usex cpu_flags_x86_vpclmulqdq)
+ )
+ fi
+
+ if use arm || use arm64 ; then
+ mycmakeargs+=(
+ -DWITH_ACLE=$(usex cpu_flags_arm_crc32)
+ -DWITH_NEON=$(usex cpu_flags_arm_neon)
+ )
+ fi
+
+ if use ppc || use ppc64 ; then
+ # The POWER8 support is VSX which was introduced
+ # VSX2 was introduced with POWER8, so use that as a proxy for it
+ mycmakeargs+=(
+ -DWITH_ALTIVEC=$(usex cpu_flags_ppc_altivec)
+ -DWITH_POWER8=$(usex cpu_flags_ppc_vsx2)
+ -DWITH_POWER9=$(usex cpu_flags_ppc_vsx3)
+ )
+ fi
+
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ if use compat ; then
+ ewarn "zlib-ng is experimental and replacing the system zlib is dangerous"
+ ewarn "Please be careful!"
+ ewarn
+ ewarn "The following link explains the guarantees (and what is NOT guaranteed):"
+ ewarn "https://github.com/zlib-ng/zlib-ng/blob/2.0.x/PORTING.md"
+ fi
+}