summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin14429 -> 14414 bytes
-rw-r--r--sys-libs/binutils-libs/Manifest2
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild2
-rw-r--r--sys-libs/compiler-rt-sanitizers/Manifest26
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.7-r1.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.7.ebuild)6
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.6-r1.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.6.ebuild)6
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-17.0.6-r1.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-17.0.6.ebuild)6
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.8-r1.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.8.ebuild)6
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.8-r6.ebuild221
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.1.3.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.1.0_rc4.ebuild)9
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0.9999.ebuild6
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241029.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240830.ebuild)6
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241106.ebuild (renamed from sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240910.ebuild)6
-rw-r--r--sys-libs/compiler-rt/Manifest24
-rw-r--r--sys-libs/compiler-rt/compiler-rt-15.0.7-r1.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-15.0.7.ebuild)2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-16.0.6-r5.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-16.0.6-r4.ebuild)2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-17.0.6-r1.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-17.0.6.ebuild)2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-18.1.8-r1.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-18.1.8.ebuild)2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-19.1.3.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-19.1.0_rc4.ebuild)5
-rw-r--r--sys-libs/compiler-rt/compiler-rt-20.0.0.9999.ebuild2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241029.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240830.ebuild)2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241106.ebuild (renamed from sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240910.ebuild)2
-rw-r--r--sys-libs/cracklib/Manifest2
-rw-r--r--sys-libs/cracklib/cracklib-2.10.2.ebuild2
-rw-r--r--sys-libs/db/Manifest4
-rw-r--r--sys-libs/db/db-4.8.30-r9.ebuild4
-rw-r--r--sys-libs/db/db-5.3.28-r10.ebuild2
-rw-r--r--sys-libs/efivar/Manifest2
-rw-r--r--sys-libs/efivar/efivar-39-r1.ebuild2
-rw-r--r--sys-libs/freeipmi/Manifest2
-rw-r--r--sys-libs/freeipmi/freeipmi-1.6.14.ebuild98
-rw-r--r--sys-libs/gdbm/Manifest2
-rw-r--r--sys-libs/gdbm/gdbm-1.24.ebuild6
-rw-r--r--sys-libs/glibc/Manifest39
-rw-r--r--sys-libs/glibc/files/2.25/glibc-2.25-gentoo-chk_fail.c303
-rw-r--r--sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch214
-rw-r--r--sys-libs/glibc/files/glibc-2.40-libio-legacy.patch30
-rw-r--r--sys-libs/glibc/glibc-2.19-r3.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.31-r7.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.32-r8.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.33-r14.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.34-r14.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.35-r11.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.36-r8.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.37-r10.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.38-r13.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.39-r11.ebuild (renamed from sys-libs/glibc/glibc-2.40.ebuild)9
-rw-r--r--sys-libs/glibc/glibc-2.39-r6.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.39-r7.ebuild1750
-rw-r--r--sys-libs/glibc/glibc-2.40-r2.ebuild1747
-rw-r--r--sys-libs/glibc/glibc-2.40-r3.ebuild1746
-rw-r--r--sys-libs/glibc/glibc-2.40-r5.ebuild (renamed from sys-libs/glibc/glibc-2.39-r9.ebuild)11
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild7
-rw-r--r--sys-libs/kpmcore/Manifest8
-rw-r--r--sys-libs/kpmcore/kpmcore-23.08.5.ebuild32
-rw-r--r--sys-libs/kpmcore/kpmcore-24.08.1.ebuild2
-rw-r--r--sys-libs/kpmcore/kpmcore-24.08.3.ebuild (renamed from sys-libs/kpmcore/kpmcore-24.05.2.ebuild)9
-rw-r--r--sys-libs/ldb/Manifest12
-rw-r--r--sys-libs/ldb/ldb-2.7.2.ebuild174
-rw-r--r--sys-libs/ldb/ldb-2.8.1.ebuild2
-rw-r--r--sys-libs/ldb/ldb-2.8.2.ebuild (renamed from sys-libs/ldb/ldb-2.8.0.ebuild)2
-rw-r--r--sys-libs/ldb/ldb-2.9.0.ebuild173
-rw-r--r--sys-libs/ldb/ldb-2.9.1.ebuild2
-rw-r--r--sys-libs/libblockdev/Manifest6
-rw-r--r--sys-libs/libblockdev/libblockdev-3.0.3.ebuild131
-rw-r--r--sys-libs/libblockdev/libblockdev-3.0.4.ebuild132
-rw-r--r--sys-libs/libblockdev/libblockdev-3.1.1.ebuild4
-rw-r--r--sys-libs/libcap/Manifest8
-rw-r--r--sys-libs/libcap/libcap-2.69-r1.ebuild3
-rw-r--r--sys-libs/libcap/libcap-2.70.ebuild3
-rw-r--r--sys-libs/libcap/libcap-2.71.ebuild93
-rw-r--r--sys-libs/libcap/libcap-9999.ebuild3
-rw-r--r--sys-libs/libchipcard/Manifest5
-rw-r--r--sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild53
-rw-r--r--sys-libs/libchipcard/libchipcard-5.1.6.ebuild49
-rw-r--r--sys-libs/libchipcard/metadata.xml3
-rw-r--r--sys-libs/libcxx/Manifest16
-rw-r--r--sys-libs/libcxx/libcxx-19.1.3.ebuild (renamed from sys-libs/libcxx/libcxx-19.1.0_rc4.ebuild)1
-rw-r--r--sys-libs/libcxx/libcxx-20.0.0.9999.ebuild4
-rw-r--r--sys-libs/libcxx/libcxx-20.0.0_pre20241029.ebuild (renamed from sys-libs/libcxx/libcxx-20.0.0_pre20240910.ebuild)4
-rw-r--r--sys-libs/libcxx/libcxx-20.0.0_pre20241106.ebuild (renamed from sys-libs/libcxx/libcxx-20.0.0_pre20240830.ebuild)9
-rw-r--r--sys-libs/libcxxabi/Manifest16
-rw-r--r--sys-libs/libcxxabi/libcxxabi-19.1.3.ebuild (renamed from sys-libs/libcxxabi/libcxxabi-19.1.0_rc4.ebuild)1
-rw-r--r--sys-libs/libcxxabi/libcxxabi-20.0.0.9999.ebuild3
-rw-r--r--sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241029.ebuild (renamed from sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240830.ebuild)3
-rw-r--r--sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241106.ebuild (renamed from sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240910.ebuild)3
-rw-r--r--sys-libs/libieee1284/Manifest1
-rw-r--r--sys-libs/libieee1284/libieee1284-0.2.11-r8.ebuild49
-rw-r--r--sys-libs/libnvme/Manifest8
-rw-r--r--sys-libs/libnvme/libnvme-1.10.ebuild2
-rw-r--r--sys-libs/libnvme/libnvme-1.11.ebuild (renamed from sys-libs/libnvme/libnvme-1.8.ebuild)6
-rw-r--r--sys-libs/libnvme/libnvme-1.7.1-r1.ebuild76
-rw-r--r--sys-libs/libomp/Manifest14
-rw-r--r--sys-libs/libomp/libomp-19.1.3.ebuild (renamed from sys-libs/libomp/libomp-20.0.0_pre20240910.ebuild)3
-rw-r--r--sys-libs/libomp/libomp-20.0.0_pre20241029.ebuild (renamed from sys-libs/libomp/libomp-19.1.0_rc4.ebuild)0
-rw-r--r--sys-libs/libomp/libomp-20.0.0_pre20241106.ebuild (renamed from sys-libs/libomp/libomp-20.0.0_pre20240830.ebuild)0
-rw-r--r--sys-libs/libseccomp/Manifest2
-rw-r--r--sys-libs/libseccomp/files/libseccomp-2.5.5-aliasing.patch30
-rw-r--r--sys-libs/libseccomp/libseccomp-2.5.5-r2.ebuild127
-rw-r--r--sys-libs/libselinux/Manifest2
-rw-r--r--sys-libs/libselinux/libselinux-3.7-r1.ebuild2
-rw-r--r--sys-libs/libsepol/Manifest2
-rw-r--r--sys-libs/libsepol/libsepol-3.7.ebuild2
-rw-r--r--sys-libs/libstatgrab/Manifest4
-rw-r--r--sys-libs/libstatgrab/libstatgrab-0.92.1.ebuild4
-rw-r--r--sys-libs/libstatgrab/libstatgrab-0.92.ebuild43
-rw-r--r--sys-libs/libstdc++-v3/Manifest2
-rw-r--r--sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild75
-rw-r--r--sys-libs/libunwind/Manifest3
-rw-r--r--sys-libs/libunwind/libunwind-1.7.2.ebuild131
-rw-r--r--sys-libs/liburing/Manifest10
-rw-r--r--sys-libs/liburing/liburing-2.3-r4.ebuild90
-rw-r--r--sys-libs/liburing/liburing-2.5-r2.ebuild88
-rw-r--r--sys-libs/liburing/liburing-2.7-r1.ebuild2
-rw-r--r--sys-libs/liburing/liburing-2.8.ebuild (renamed from sys-libs/liburing/liburing-2.6.ebuild)3
-rw-r--r--sys-libs/libxcrypt/Manifest2
-rw-r--r--sys-libs/libxcrypt/libxcrypt-4.4.36-r3.ebuild2
-rw-r--r--sys-libs/llvm-libunwind/Manifest16
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-19.1.3.ebuild (renamed from sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240910.ebuild)3
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-20.0.0.9999.ebuild2
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241029.ebuild (renamed from sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240830.ebuild)2
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241106.ebuild (renamed from sys-libs/llvm-libunwind/llvm-libunwind-19.1.0_rc4.ebuild)2
-rw-r--r--sys-libs/ncurses-compat/Manifest2
-rw-r--r--sys-libs/ncurses-compat/ncurses-compat-6.4_p20240414.ebuild2
-rw-r--r--sys-libs/ncurses/Manifest10
-rw-r--r--sys-libs/ncurses/files/ncurses-6.4-t64-1.patch12
-rw-r--r--sys-libs/ncurses/files/ncurses-6.4-t64-2.patch12
-rw-r--r--sys-libs/ncurses/ncurses-6.4_p20230401.ebuild420
-rw-r--r--sys-libs/ncurses/ncurses-6.4_p20240414.ebuild4
-rw-r--r--sys-libs/ncurses/ncurses-6.5-r1.ebuild4
-rw-r--r--sys-libs/ncurses/ncurses-6.5_p20240615.ebuild4
-rw-r--r--sys-libs/openipmi/Manifest2
-rw-r--r--sys-libs/openipmi/openipmi-2.0.36.ebuild98
-rw-r--r--sys-libs/readline/Manifest8
-rw-r--r--sys-libs/readline/readline-8.2_p13.ebuild2
-rw-r--r--sys-libs/readline/readline-8.3_alpha_p20241011.ebuild265
-rw-r--r--sys-libs/readline/readline-8.3_alpha_p20241104.ebuild265
-rw-r--r--sys-libs/readline/readline-9999.ebuild59
-rw-r--r--sys-libs/snapd-glib/Manifest6
-rw-r--r--sys-libs/snapd-glib/metadata.xml2
-rw-r--r--sys-libs/snapd-glib/snapd-glib-1.66.ebuild (renamed from sys-libs/snapd-glib/snapd-glib-1.63.ebuild)25
-rw-r--r--sys-libs/talloc/Manifest2
-rw-r--r--sys-libs/talloc/talloc-2.4.2.ebuild4
-rw-r--r--sys-libs/tdb/Manifest4
-rw-r--r--sys-libs/tdb/tdb-1.4.10.ebuild6
-rw-r--r--sys-libs/tdb/tdb-1.4.12.ebuild79
-rw-r--r--sys-libs/tevent/Manifest2
-rw-r--r--sys-libs/tevent/tevent-0.16.1.ebuild4
148 files changed, 1713 insertions, 7746 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index 6dd684d0539c..468758c7c5fb 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 a6713cf950ea..1e7797445ecb 100644
--- a/sys-libs/binutils-libs/Manifest
+++ b/sys-libs/binutils-libs/Manifest
@@ -30,7 +30,7 @@ EBUILD binutils-libs-2.39-r5.ebuild 4786 BLAKE2B 785b311bcf2e75905c6dcec0a9e6ca0
EBUILD binutils-libs-2.40-r7.ebuild 5024 BLAKE2B b61c9d580562da551c73991d517f5149129cfb762f6ba71ce68d1c8a8b672bfc9c0378051639fb8464c709553785d7fb3fa461de3210160eb22361de19e3bc6e SHA512 6f51861bc00722e7b4656134c2be2565a79a77ff6314f395f0409a2890391cff40d4ea45268138361054d5f9373467412780a0334b93f6439c227e6ef473c631
EBUILD binutils-libs-2.41-r5.ebuild 5206 BLAKE2B 4e9d136bf25e6afb9cde6ff205875718e714687784653048b23de87d33a9e2bcafd360d4626f5dfe260ef95470ce74c0be44968e81dd09b57d595bb873fbbd65 SHA512 ecd07127f0b40afd5ec90e732ec7d9f2d562a25881185640483c894d0810bf971cefc84328d20c4ab0967dedcb19de74fb43a7cd2c170a9882caf77325e7b90c
EBUILD binutils-libs-2.42-r1.ebuild 5355 BLAKE2B e6025c7f92f6583fa86c250ef5e79fe09940682294feae597d66ae2bf9c05d1540bf468fdb3e05a58b2d4b5639e95a9fd70702d7d55632b5504463b47df9f737 SHA512 8569f860aa35aa18cc768cd54d0606f7d58b3eb5358227b654029dbfdddb2f7686ca5fb935d84ec55cedca25dcbb95f2ba483f060efefa6c65e3b1ae11d2dc01
-EBUILD binutils-libs-2.42-r2.ebuild 5363 BLAKE2B c3aac3c7303b3e585b209c91c395a77110083081bb106d74cdf50109fc629dd2abd4066f7bb190a43d0469fd30b80c77a51b098d4109764a0d0837ef8dd70a62 SHA512 af9b1fbc8d37e1af4d20f0aff682925a5b102cdb8035043e6c28379b7c0e292db31fe5b3e4e4a7e9d46ad00a982d4fa7737778e5219cc7ac083466242f1fe995
+EBUILD binutils-libs-2.42-r2.ebuild 5355 BLAKE2B 0ff8576b6a493d7830b661abbd5e6f0454d57cb34bd793861272a6b43a483f7b7713695c7e58ea32ed7892b966aaedf4773e8630d94f267873cf19d7cb81b91a SHA512 93a9e358ae3f96e57964064572d3b75f2a368c6d803c151cacf0ccb8c271a9952302b102de3e9cc01590e0963a8d9037ede6f19fd515e29adcd539a1b81b19e4
EBUILD binutils-libs-2.43-r2.ebuild 5481 BLAKE2B fc40b227c410183e00b513414ff133e3080c1f1e90b0d0b58bae342e2870e74c730703324c4893834270328580f3fb06dc261fc6eefbbe2b196f4f7af30b3fc0 SHA512 57f907fe1c488b2d8058d4e568ab8d8d152f437e2295e1c6577eba4a424cf755acd8860942a30365782ac8bd44eb3fed6f720410a6158d06274495f86c39dbfd
EBUILD binutils-libs-2.43.ebuild 5356 BLAKE2B 42f5807d89809830d1b6a9be3ea8ecc9e9b4e42fba1ae5336995c2d11508f5464565b75083710988e516f496760669b8cbb3dafda8ffcf0bdba03fb6aa47611f SHA512 593c40088699aaebdaff81330205b2187aa5d1abddc14b85c7b2c2fd7de0e6968dfb3ee366ecd5839bfb2b2229c443d6028b173d555304d0a764c05e5b24ddad
EBUILD binutils-libs-9999.ebuild 6638 BLAKE2B 2282e7aaf994076ff284c72a0124f12f3fb2699e74a4e99c2e004117e0ad2b349ba9407fdc003ebcb72fcbebd110b76a5a94fad6fe2d33befcf78e18369d3713 SHA512 0c6170a7cb1486f16ffb68f33fa130debf016876aba46dece593e545cb8a72bdeb9048d646218eb24e21191726f439d321dd82162773b4e520badc6958b85e63
diff --git a/sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild b/sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild
index e7f9573e6742..c49fead1d74f 100644
--- a/sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild
+++ b/sys-libs/binutils-libs/binutils-libs-2.42-r2.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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
RESTRICT="!test? ( test )"
BDEPEND="
diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest
index 5b305de92733..a14c898b00af 100644
--- a/sys-libs/compiler-rt-sanitizers/Manifest
+++ b/sys-libs/compiler-rt-sanitizers/Manifest
@@ -2,6 +2,8 @@ DIST llvm-gentoo-patchset-15.0.7-r6.tar.xz 25208 BLAKE2B c9fca31a053ee059c3060a9
DIST llvm-gentoo-patchset-16.0.6-r5.tar.xz 19728 BLAKE2B 36b605401893034b2b560d26cfb57512c81eddbc35b25d9c3d1fe051b8825c38cae1b8ed999faf8fef564ca5578402d3979bc56ba0a5514dc62594d893696f41 SHA512 20a36b69dfc2b4796ce33318a28529ebdc213945ee67a983e4218117d2ee2c93be1ecb38b0e8189249c5806a442cba708e0890e1b7bf6376edec4403bcc71425
DIST llvm-gentoo-patchset-17.0.6-r3.tar.xz 4648 BLAKE2B c709162068e83575f71a2ac2243665f47a3d42cac078daa5762bbd339d8593e8c1c5c58e2e415ba6659fe2f3c3824bd098c9be579103362084079140c0386f76 SHA512 251a33f146fcbdbe51c9e1ad7b08c2cd7d062d0b136c833cda8a5155c86080c506d575e4288cde4ba8530ca7f230c2afa63621878a8df0f23076a93c924e7d65
DIST llvm-gentoo-patchset-18.1.8-r4.tar.xz 15912 BLAKE2B 7300128244aafe42fcf5863e3aad2beb0c96c3df527e6d35fe571369bad520ba4aa397a329287da17eb33dca902057da5cd5193ec560ea7f5767ba2d00a45818 SHA512 b32633db387d4adb3bb2d067f824ae4e8e8a24a25aaa4888520f6e61a4bb1f8f70ad5f44057fbc0892c6f93c803e360612b0fc02c4ec068470b546a55f246cba
+DIST llvm-gentoo-patchset-18.1.8-r6.tar.xz 24816 BLAKE2B a7e9e007b05205fa7adba032ba932eba1996dd7ed6cd4cfb460a731f0d2e5fda2174f46c2ee5554ca7f82297a4baddbabc7fdfbd530056471853df957c221f2f SHA512 e1666bba6678eff3ee3666818a656ba7b8f964acb8466bd220bfbf0cc2922820e84b9daaa84c3a8ed26f3160fddea63fbc13872b007eb6922eaee462c08aeaef
+DIST llvm-project-0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0.tar.gz 222324382 BLAKE2B 8023108460d2af1688871d5534e18aa52e29f0e466bb5431194d1e710d7cd11bdab4be000433536b2d69c815a68624e347c69378a697d6fc55433bb4c2156767 SHA512 f0c23a0ac25de31f4c81f76ee82f3189da65d825579e923ace2b54714649c60d4d078220c9f2200b11f08d0c0e32c5b81a57ba368c11d67e763936df8a609279
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,16 +12,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-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
-DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
-DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
-DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
-EBUILD compiler-rt-sanitizers-15.0.7.ebuild 6651 BLAKE2B 8526659d0f9764924a66877f35dfd0dd94fe5c88ff4b3e0589f6222cfea9c7dc19e1886f91948f81c19fd16bf0c28517094cd1a75187bd5018bc681cee02bf7e SHA512 64e8fdae19b4d11ebfb03537fc6a8ccb8a9d2b6ba5c8f6c9993ff0343b60f773a3a09ceae3078383b67e4de21e22dd3fe004164c055b659697fb319fb881e526
-EBUILD compiler-rt-sanitizers-16.0.6.ebuild 6638 BLAKE2B 5f1960eb622241ba3461f2e8e643d64e7276bac710f460191bb133146d6b611d823de5afb5ab0c18950df87fdc433ef4bf8afb50937b6446ebef938c0fcebe2f SHA512 13187c490d2cd3ce66a89cfd7a4032b64aff9599ce5a18170264411e3e7784f2e8d478373114811e1f8160ff6d0f03256307db6b814dcdf8b6e73774fa190232
-EBUILD compiler-rt-sanitizers-17.0.6.ebuild 6470 BLAKE2B d859a3d4480d9bc3ca0d3d0f02bd20b8400b07bc68cb81f237d56c574f677a78da13d3f2277fcdd719cefdcf984fab2367e92ef5991bf32089397632ea3f646d SHA512 1e857236dd6d3166fb81d145ea1278deb012449b4730392142866c8b01bcc91e0e6d02aa928792df29d4c2f90c1663397004a84e604c45c2b9330988bc62e8a7
-EBUILD compiler-rt-sanitizers-18.1.8.ebuild 6382 BLAKE2B bfc272557c2b88361c99fafef3de2b218314818e60638f2278e84ee93b21ed2d3250286d92dfccd764e6125ba48bdf83abf2a7651d7f8150cce9543ddcb2653f SHA512 bc34459c77a0fa8ef94e4127c696b67da5c0e322c5cc2a2ff0b68783d57a2bdaa8e058429bb406170a5c084dbf2ba21e9fe1917b2b1b611a5946f74ac19c4793
-EBUILD compiler-rt-sanitizers-19.1.0_rc4.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9
-EBUILD compiler-rt-sanitizers-20.0.0.9999.ebuild 6377 BLAKE2B f54bef56133f331eb8f6f9ddc3472313d2f12f90c166877d1dd82cf13c9ed26a59655623be816b5b1d991c45130d889688dace7a7ccd916b890a93a5c37eb982 SHA512 ec00264b3fd0a1a8ae9eaaec6cf98127c94ac362cc7130007ec81386411feb5c8ab6792b09558f7f6db40cf7d105282afdf1fdc7676bbf0577168bf7a1e9d4cd
-EBUILD compiler-rt-sanitizers-20.0.0_pre20240830.ebuild 6377 BLAKE2B f54bef56133f331eb8f6f9ddc3472313d2f12f90c166877d1dd82cf13c9ed26a59655623be816b5b1d991c45130d889688dace7a7ccd916b890a93a5c37eb982 SHA512 ec00264b3fd0a1a8ae9eaaec6cf98127c94ac362cc7130007ec81386411feb5c8ab6792b09558f7f6db40cf7d105282afdf1fdc7676bbf0577168bf7a1e9d4cd
-EBUILD compiler-rt-sanitizers-20.0.0_pre20240910.ebuild 6377 BLAKE2B f54bef56133f331eb8f6f9ddc3472313d2f12f90c166877d1dd82cf13c9ed26a59655623be816b5b1d991c45130d889688dace7a7ccd916b890a93a5c37eb982 SHA512 ec00264b3fd0a1a8ae9eaaec6cf98127c94ac362cc7130007ec81386411feb5c8ab6792b09558f7f6db40cf7d105282afdf1fdc7676bbf0577168bf7a1e9d4cd
+DIST llvm-project-19.1.3.src.tar.xz 141247864 BLAKE2B 4ccb30accd632a7d54eb065b724ff81ec8a50380fa527111d58acd728eecb798d42f680119b6d1cbc980523e2f39220921ca1f530daa7afea05ab27436dedb7e SHA512 0abaf158b373892d5afc184158600df17a0797547ad7238ca9018d6fcdd7310b0db803d158daa82a2e04bd42d9daebaa2c3e4b9024c0fa2df72a88596575df5c
+DIST llvm-project-19.1.3.src.tar.xz.sig 438 BLAKE2B 44717741ae13bb0c52382647352e52273d8401728dc5cc1cf0c11a8f08cd74b6e3d789e788793aad767030b36fdec62e3a05bdc0b7ff60556cec7ceac17fc239 SHA512 84ef22ee78dbaad4710becbcb02119d06063099f9102bb86f3cd44fbb7e2d87bafe239d8e0cbf22ab5a479f99a11a77125f22394d5006ed86262076ccbf1634d
+DIST llvm-project-3f4468faaa9525ad615118675c3c68938f4a8d5f.tar.gz 221860252 BLAKE2B 6c531df34163dc0879c79b029a13215d1bef2cd95bbaf4a6d5e10b81a8352236283d40f14b62e23a57cc1cf8edce138fb6e2720ced2397d6469c5863564c626d SHA512 4aa485f4547e210cf8f6f8147c4adab3e75afe77f1e4e1bc4718fe681b64bdcf8937f843964542f8ead90ceef52cc0fd4bd8275824d1a4c6961eddafc7d35115
+EBUILD compiler-rt-sanitizers-15.0.7-r1.ebuild 6668 BLAKE2B aeaf6893fc56ddaf06f0b2c2d0d9a0aa465b3ccdd19cfad213d7375be9678d9e17865fa0fbb1f007492f373e231b31c7174b32a4e324c8ec8d4a207cade24fbf SHA512 8b4847e70d11ec8cee9682866940589f862fc07efd165a9a964d32648f5db3d2795b31a914f204ce568903870c555a60dbb3277aa504e92f432468db33aba00f
+EBUILD compiler-rt-sanitizers-16.0.6-r1.ebuild 6655 BLAKE2B db5371e8891181bc3652688c2bceabc28ab5bdaec5afc80415f57b7ebe13875a84a15bc309a4d1c7e5a66c9a51a79d4c6a24a140eca5f7a1c91333e15003d430 SHA512 2053df1e8c059535bb8fc3c766fbf7bce440cf508f6f22dd78e73048af629d51e7f04a0c667632a2b9f672c2b9ebe8f72de3c5886200c36bcbb7adcd16ae5d13
+EBUILD compiler-rt-sanitizers-17.0.6-r1.ebuild 6487 BLAKE2B 5083f082d2e9bc0152bd601b5702cb2d5566ed8b9cb7640503bcc02cf42d5d85ae94945aaf72899ea1ab89c2396090113286efd6157baee51d6000920c91ef10 SHA512 b61fd0bd3a2a29fb72ec4fb4f53546febbc70168951f4c0cec52c5670f0db5c009032d9911e4f78230eac91a02d9c25a6e209d5f4f7b62b0e32d51b8e04555d7
+EBUILD compiler-rt-sanitizers-18.1.8-r1.ebuild 6399 BLAKE2B 89775029b096011375f25b0c96c17ec26472e2d298673182b6a9284b1273d0f878a7d7a72e28bbb4e800434de4c248e24475edee22f5bbd26157b663ea383b97 SHA512 e3352e1b3dce27a223159cc7d7a31d9ed71944e204725acc36ee381e32ff571d5b6c6b8ce7706afaf853d96d42630ee216f0321cb173533b3cf4e15ba166e850
+EBUILD compiler-rt-sanitizers-18.1.8-r6.ebuild 6404 BLAKE2B 44eb48fd2ab90c0b2e5dabdbb4e05e79544799c8c28daa3ac4b762cfd43fba641e2f827ea51d39cc573a6f4707ec95e0559bb137f31f112135e463f6430ac812 SHA512 814e50974005572618d672aa86761977819aab9e53b3dc5cb3865717ef3dcd776f892792cb29b331531a2d2c8fceb775c6c633dfacb57ae57a59ad19455c280b
+EBUILD compiler-rt-sanitizers-19.1.3.ebuild 6479 BLAKE2B db6bd87ee4cb4be87537152c8041fb0e6bd69100e6fa4242e231c98ec1222834dd87a7b0350b42bddc6d50597919169f44d136b7a3f609407cf752f9a5ee6cff SHA512 3a992ea97ce2028d99a94adc291bf6c084af6ccb103dab7dbba43568e1283b7c4c6dfc03385b931c185eed2fc4c37563edaeff76ed3e8528c92293030121ac7e
+EBUILD compiler-rt-sanitizers-20.0.0.9999.ebuild 6394 BLAKE2B 458582b435bbd97d6fc776b1dcf653af9d41e53b0540803a3528db993eddf33284a11ec72ba7bdd2e54bbe4cf7c51e340e04970f9dc3f1f8a08edb9e5c98b9db SHA512 7f2432f6ffe217d3dcaf2185c5b08321674f1b9e5da46a2abdebebb68bccc761f0a713aa85741d9a32c29e1b54f1b12f93110146e533742265d0bb182a45501f
+EBUILD compiler-rt-sanitizers-20.0.0_pre20241029.ebuild 6394 BLAKE2B 458582b435bbd97d6fc776b1dcf653af9d41e53b0540803a3528db993eddf33284a11ec72ba7bdd2e54bbe4cf7c51e340e04970f9dc3f1f8a08edb9e5c98b9db SHA512 7f2432f6ffe217d3dcaf2185c5b08321674f1b9e5da46a2abdebebb68bccc761f0a713aa85741d9a32c29e1b54f1b12f93110146e533742265d0bb182a45501f
+EBUILD compiler-rt-sanitizers-20.0.0_pre20241106.ebuild 6394 BLAKE2B 458582b435bbd97d6fc776b1dcf653af9d41e53b0540803a3528db993eddf33284a11ec72ba7bdd2e54bbe4cf7c51e340e04970f9dc3f1f8a08edb9e5c98b9db SHA512 7f2432f6ffe217d3dcaf2185c5b08321674f1b9e5da46a2abdebebb68bccc761f0a713aa85741d9a32c29e1b54f1b12f93110146e533742265d0bb182a45501f
MISC metadata.xml 1599 BLAKE2B 2db46fca9bbf85a6cdb70d9bc99a8e1bdc60c065b3e5f44ce31fb6cc08cc6da9037eb3155b1e73975b5e1bbb448be6b2164413f2234e89a4bc191c4562dd9342 SHA512 10bb564b181a9ce38680a05f854e58a3a726b052200d735c3959a0a42af97a47e0a5df60fbec374c7265e0eac16e1247ed0862aeab138b9dc035db8da52fb4ce
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.7.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.7-r1.ebuild
index 6a0ea3a57753..afbab6009ce0 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.7.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.7-r1.ebuild
@@ -39,13 +39,15 @@ DEPEND="
virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ sys-libs/compiler-rt:${LLVM_VERSION}
+ )
elibc_glibc? ( net-libs/libtirpc )
test? (
!!<sys-apps/sandbox-2.13
$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
=sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
- sys-libs/compiler-rt:${LLVM_VERSION}
)
!test? (
${PYTHON_DEPS}
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.6.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.6-r1.ebuild
index 79408235315b..4affd9601cf0 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.6.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.6-r1.ebuild
@@ -39,12 +39,14 @@ DEPEND="
virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ sys-libs/compiler-rt:${LLVM_MAJOR}
+ )
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}
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-17.0.6.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-17.0.6-r1.ebuild
index e22c9d4cf225..8767e5c33010 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-17.0.6.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-17.0.6-r1.ebuild
@@ -39,12 +39,14 @@ DEPEND="
virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ sys-libs/compiler-rt:${LLVM_MAJOR}
+ )
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}
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-r1.ebuild
index 4eaa90249445..efe21bdc59fd 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-r1.ebuild
@@ -39,12 +39,14 @@ DEPEND="
virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ sys-libs/compiler-rt:${LLVM_MAJOR}
+ )
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}
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.8-r6.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.8-r6.ebuild
new file mode 100644
index 000000000000..fcff09fb2e3f
--- /dev/null
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-18.1.8-r6.ebuild
@@ -0,0 +1,221 @@
+# 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}"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~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"
+# 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:${LLVM_MAJOR}
+ sys-libs/compiler-rt:${LLVM_MAJOR}
+ )
+ elibc_glibc? ( net-libs/libtirpc )
+ test? (
+ $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
+ =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
+ )
+ !test? (
+ ${PYTHON_DEPS}
+ )
+"
+
+LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
+LLVM_PATCHSET=${PV}-r6
+LLVM_TEST_COMPONENTS=( 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_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-sanitizers/compiler-rt-sanitizers-19.1.0_rc4.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.1.3.ebuild
index d395b7fd5a11..24dcc0582eda 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.1.0_rc4.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.1.3.ebuild
@@ -11,7 +11,8 @@ 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"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+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
@@ -38,12 +39,14 @@ DEPEND="
virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ sys-libs/compiler-rt:${LLVM_MAJOR}
+ )
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}
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0.9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0.9999.ebuild
index 7934f83743b1..59a64398c9bc 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0.9999.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0.9999.ebuild
@@ -38,12 +38,14 @@ DEPEND="
virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ sys-libs/compiler-rt:${LLVM_MAJOR}
+ )
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}
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240830.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241029.ebuild
index 7934f83743b1..59a64398c9bc 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240830.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241029.ebuild
@@ -38,12 +38,14 @@ DEPEND="
virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ sys-libs/compiler-rt:${LLVM_MAJOR}
+ )
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}
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240910.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241106.ebuild
index 7934f83743b1..59a64398c9bc 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20240910.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241106.ebuild
@@ -38,12 +38,14 @@ DEPEND="
virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?]
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? (
+ sys-devel/clang:${LLVM_MAJOR}
+ sys-libs/compiler-rt:${LLVM_MAJOR}
+ )
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}
diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest
index fbbfbe97f599..6312f7a0fb3c 100644
--- a/sys-libs/compiler-rt/Manifest
+++ b/sys-libs/compiler-rt/Manifest
@@ -1,6 +1,7 @@
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-0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0.tar.gz 222324382 BLAKE2B 8023108460d2af1688871d5534e18aa52e29f0e466bb5431194d1e710d7cd11bdab4be000433536b2d69c815a68624e347c69378a697d6fc55433bb4c2156767 SHA512 f0c23a0ac25de31f4c81f76ee82f3189da65d825579e923ace2b54714649c60d4d078220c9f2200b11f08d0c0e32c5b81a57ba368c11d67e763936df8a609279
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,16 +10,15 @@ 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-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
-DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
-DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
-DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
-EBUILD compiler-rt-15.0.7.ebuild 4238 BLAKE2B 22d56dbe24c92400bf58942390b06af70fddba89d8fecc9b85162dd7a41c6ee592eaaf883f5ad483f65f74fabccc28f94528688410ee36e2d5279efcc6066de0 SHA512 ca49d23def580d4dcfc4058768eeb9deb6e59ea44575da272d1c142fffe0bf4e3d3c7c9fa6182ab348a3aab11879af116a549cb1a3a03b27b4bf4151cf892aaa
-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 4973 BLAKE2B 825d46968db0a7752c290af4ffa1845a9fb5bd87e9502ba891995120629fa3bcd492c71ce46df59122d64bf72de066c9a7d052f74634723a67b95b560517c940 SHA512 4aeffc171854c140f7225717362554fed5561489f39e44690057b3076355fcfb2e150378b4bdb44f5c3217554357d951f458d572844a52cb7e73a5df2757d2cc
-EBUILD compiler-rt-19.1.0_rc4.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_pre20240830.ebuild 4963 BLAKE2B dc2eab2b95233dc791544f2cfcedf6f812ccfde2f31ce14525f60fa4d4df91ca2f93ab702156c0acdbb07fd03face456a521b7e92572b7997a2358a6e1290c95 SHA512 a0299d32d9e7539ec36740899b697f6afa69ca91528fdebe35ffa39c592a6dace90b080cca233a65ce932d17ce76292e7920fa569a3aa3e37424c9f0112c9b2f
-EBUILD compiler-rt-20.0.0_pre20240910.ebuild 4963 BLAKE2B dc2eab2b95233dc791544f2cfcedf6f812ccfde2f31ce14525f60fa4d4df91ca2f93ab702156c0acdbb07fd03face456a521b7e92572b7997a2358a6e1290c95 SHA512 a0299d32d9e7539ec36740899b697f6afa69ca91528fdebe35ffa39c592a6dace90b080cca233a65ce932d17ce76292e7920fa569a3aa3e37424c9f0112c9b2f
+DIST llvm-project-19.1.3.src.tar.xz 141247864 BLAKE2B 4ccb30accd632a7d54eb065b724ff81ec8a50380fa527111d58acd728eecb798d42f680119b6d1cbc980523e2f39220921ca1f530daa7afea05ab27436dedb7e SHA512 0abaf158b373892d5afc184158600df17a0797547ad7238ca9018d6fcdd7310b0db803d158daa82a2e04bd42d9daebaa2c3e4b9024c0fa2df72a88596575df5c
+DIST llvm-project-19.1.3.src.tar.xz.sig 438 BLAKE2B 44717741ae13bb0c52382647352e52273d8401728dc5cc1cf0c11a8f08cd74b6e3d789e788793aad767030b36fdec62e3a05bdc0b7ff60556cec7ceac17fc239 SHA512 84ef22ee78dbaad4710becbcb02119d06063099f9102bb86f3cd44fbb7e2d87bafe239d8e0cbf22ab5a479f99a11a77125f22394d5006ed86262076ccbf1634d
+DIST llvm-project-3f4468faaa9525ad615118675c3c68938f4a8d5f.tar.gz 221860252 BLAKE2B 6c531df34163dc0879c79b029a13215d1bef2cd95bbaf4a6d5e10b81a8352236283d40f14b62e23a57cc1cf8edce138fb6e2720ced2397d6469c5863564c626d SHA512 4aa485f4547e210cf8f6f8147c4adab3e75afe77f1e4e1bc4718fe681b64bdcf8937f843964542f8ead90ceef52cc0fd4bd8275824d1a4c6961eddafc7d35115
+EBUILD compiler-rt-15.0.7-r1.ebuild 4252 BLAKE2B 7270c3ae2a4a30b79774cd38041ee5e4381a0393be7768d56c2a59000a509e2b48336467d34ee09f8d82afbe9f453f79ddc17a2708746f89d2227b66cbfc6b01 SHA512 836e4cc58522c48d6fc40ca27efd68d18cca9914ce1810ab0b6d307bfa163b9d8b883729b917fb5ff129985ec86e5ba655587c3f93980f73e762e2bfd4ca2ab4
+EBUILD compiler-rt-16.0.6-r5.ebuild 5235 BLAKE2B 7b246061a0f3de0f07d1610329d4a7a509028de9297aca31d986a5e8deb0396d3cfe3733a7b277e794ba90959974242154b46f8de3d331869c3b74d1b4073b3d SHA512 52bf753237708227cf61a75997a5dd82d8b5847a723b950048d8d386b254d2774456e895c0335020ced7514ee4b57e8d4d3bd9c8564b467c1119ef349d7c30c3
+EBUILD compiler-rt-17.0.6-r1.ebuild 5232 BLAKE2B 5a0f7dfe903120235504687ae76593ce902caa8d7aab9a3e3ad09eaafcb49ab14b433c5825c52bd0533230606ed8c79dbb4e276ed2a5bd51e01a0499c8510dbe SHA512 539024f986c1c72eaa5b401af443209451a100830be73ec445e4ccc073b867e5e4806438ea779b05c5a81f544ae81baf9148adc9f3eb95d31511bc5f239b5631
+EBUILD compiler-rt-18.1.8-r1.ebuild 4987 BLAKE2B e32d8c2e8ae1b978600444420dfb2e9329c85fad13e91cbf494167aa4e57f24bf538a4417d3b47d4b87234ae26b48d88d6efd1a9413587ac4488e3a007a9ddff SHA512 0e103e1bf304892e41ec4935d390f7d2e5cfcf569f2cf22b091524d8c73fcf60e07f96f3e8d71949226852ce61777bc4a309aa9063ab87830c3fb94bf8082001
+EBUILD compiler-rt-19.1.3.ebuild 5086 BLAKE2B 73ce4892ff3df803dae4ff3f3b17ed89939521acd437b0a1953dee8321c10270ca5a89ebd0bfed6658cd669a7fb22b5ea142123fc8c6303cc4665f06646172cb SHA512 6c20f142a5d91899ad5b6aac0af1a0e07bfb57b2bcb1cd010977299401991165547f4105e23d850fc038eaea053b035c578406828a35a2bac97481d21fed7154
+EBUILD compiler-rt-20.0.0.9999.ebuild 4977 BLAKE2B 4a8175408e7946c688c362e4df75ea733260807de4f0bdbc371c0aaccda328e0ceae0be106b2a6cf233e1541e81b03670387940d8822121d81d11f2cf71e6be5 SHA512 5fae782e62cd6234b9d637e379299d869df2b7641f52919ee52750d92eb02a1027a13be827ed53caac33f08c111174f803cd199645aab90fda77e8710977e71b
+EBUILD compiler-rt-20.0.0_pre20241029.ebuild 4977 BLAKE2B 4a8175408e7946c688c362e4df75ea733260807de4f0bdbc371c0aaccda328e0ceae0be106b2a6cf233e1541e81b03670387940d8822121d81d11f2cf71e6be5 SHA512 5fae782e62cd6234b9d637e379299d869df2b7641f52919ee52750d92eb02a1027a13be827ed53caac33f08c111174f803cd199645aab90fda77e8710977e71b
+EBUILD compiler-rt-20.0.0_pre20241106.ebuild 4977 BLAKE2B 4a8175408e7946c688c362e4df75ea733260807de4f0bdbc371c0aaccda328e0ceae0be106b2a6cf233e1541e81b03670387940d8822121d81d11f2cf71e6be5 SHA512 5fae782e62cd6234b9d637e379299d869df2b7641f52919ee52750d92eb02a1027a13be827ed53caac33f08c111174f803cd199645aab90fda77e8710977e71b
MISC metadata.xml 416 BLAKE2B 79a58249c94b605ba57f346c4e05b43853cf6cfb8bb65a4f4e3c44039cccfdb83dd31bfaaaf398bcbdc393efabdfc7ed186fe775976c46227e74decf2c8f4fb2 SHA512 ce30c79a575e5933effb1fec36f9a4ef02d9f97f312feb39c55a88cbda9a1bae1d7af2ec4ad5f66212cbb2cdbfb26f1a436689f16f410153c9d65eb010264c48
diff --git a/sys-libs/compiler-rt/compiler-rt-15.0.7.ebuild b/sys-libs/compiler-rt/compiler-rt-15.0.7-r1.ebuild
index c979daaf6e68..0b5bbc2d0c6e 100644
--- a/sys-libs/compiler-rt/compiler-rt-15.0.7.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-15.0.7-r1.ebuild
@@ -19,7 +19,7 @@ DEPEND="
sys-devel/llvm:${LLVM_MAJOR}
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? ( sys-devel/clang:${LLVM_MAJOR} )
test? (
$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
=sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
diff --git a/sys-libs/compiler-rt/compiler-rt-16.0.6-r4.ebuild b/sys-libs/compiler-rt/compiler-rt-16.0.6-r5.ebuild
index 66fdaf8d448f..c014f9b33f50 100644
--- a/sys-libs/compiler-rt/compiler-rt-16.0.6-r4.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-16.0.6-r5.ebuild
@@ -19,7 +19,7 @@ DEPEND="
sys-devel/llvm:${LLVM_MAJOR}
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? ( sys-devel/clang:${LLVM_MAJOR} )
test? (
$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
=sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
diff --git a/sys-libs/compiler-rt/compiler-rt-17.0.6.ebuild b/sys-libs/compiler-rt/compiler-rt-17.0.6-r1.ebuild
index 50ca8e397361..e505a9b563a7 100644
--- a/sys-libs/compiler-rt/compiler-rt-17.0.6.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-17.0.6-r1.ebuild
@@ -19,7 +19,7 @@ DEPEND="
sys-devel/llvm:${LLVM_MAJOR}
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? ( sys-devel/clang:${LLVM_MAJOR} )
test? (
$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
=sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
diff --git a/sys-libs/compiler-rt/compiler-rt-18.1.8.ebuild b/sys-libs/compiler-rt/compiler-rt-18.1.8-r1.ebuild
index b3b0f5e6d306..538cd3a6b6e7 100644
--- a/sys-libs/compiler-rt/compiler-rt-18.1.8.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-18.1.8-r1.ebuild
@@ -20,7 +20,7 @@ DEPEND="
sys-devel/llvm:${LLVM_MAJOR}
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? ( sys-devel/clang:${LLVM_MAJOR} )
test? (
$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
=sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
diff --git a/sys-libs/compiler-rt/compiler-rt-19.1.0_rc4.ebuild b/sys-libs/compiler-rt/compiler-rt-19.1.3.ebuild
index ca99f4442636..952d4bf6f6d6 100644
--- a/sys-libs/compiler-rt/compiler-rt-19.1.0_rc4.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-19.1.3.ebuild
@@ -12,14 +12,15 @@ 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"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~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 )"
DEPEND="
sys-devel/llvm:${LLVM_MAJOR}
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? ( sys-devel/clang:${LLVM_MAJOR} )
test? (
$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
=sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
diff --git a/sys-libs/compiler-rt/compiler-rt-20.0.0.9999.ebuild b/sys-libs/compiler-rt/compiler-rt-20.0.0.9999.ebuild
index ca99f4442636..7642499a8792 100644
--- a/sys-libs/compiler-rt/compiler-rt-20.0.0.9999.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-20.0.0.9999.ebuild
@@ -19,7 +19,7 @@ DEPEND="
sys-devel/llvm:${LLVM_MAJOR}
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? ( sys-devel/clang:${LLVM_MAJOR} )
test? (
$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
=sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
diff --git a/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240830.ebuild b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241029.ebuild
index ca99f4442636..7642499a8792 100644
--- a/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240830.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241029.ebuild
@@ -19,7 +19,7 @@ DEPEND="
sys-devel/llvm:${LLVM_MAJOR}
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? ( sys-devel/clang:${LLVM_MAJOR} )
test? (
$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
=sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
diff --git a/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240910.ebuild b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241106.ebuild
index ca99f4442636..7642499a8792 100644
--- a/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20240910.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241106.ebuild
@@ -19,7 +19,7 @@ DEPEND="
sys-devel/llvm:${LLVM_MAJOR}
"
BDEPEND="
- clang? ( sys-devel/clang )
+ clang? ( sys-devel/clang:${LLVM_MAJOR} )
test? (
$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
=sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
diff --git a/sys-libs/cracklib/Manifest b/sys-libs/cracklib/Manifest
index f0b42a2d976e..e203ecacac2a 100644
--- a/sys-libs/cracklib/Manifest
+++ b/sys-libs/cracklib/Manifest
@@ -1,6 +1,6 @@
AUX cracklib-2.9.11-py3.12-tests.patch 3388 BLAKE2B af1ad743eea771cbd3465aa0c5cc3ba9832bf3f3aab0c6fc229f65c14f4e1b056d2655e0af4d02ff0edc033e79f7f7a884fec4bc4e579dd13fb7cad0bf4bf91d SHA512 c8b0e532af7c518d5c87ecc161ae2fa9380f2b5ab61b658a839d1629f7441f8079ca00979332825e195fc5ae7c194bf03a9dac3852a1f5de94dff2c97eb989b6
DIST cracklib-2.10.2.tar.xz 465152 BLAKE2B 87ea88085fee30cbd6e59485f157b7c6213e21619ff8af20ed33c118fd4be78cc9fc5b8ac5d583391df7a3bd527671044410d0e5cfe1cf864c0608cd24a8ca0b SHA512 b58f513bb3094821a69e45c092483d7445ecd1ea2d4d70b6cc422c58e478146f4656fc1ddc0b276f1da31a858d2baea4cca233c9232e2acd05085d55873f3273
DIST cracklib-2.9.11.tar.xz 461116 BLAKE2B 46b499e465c1c268b772781a9c8ce573a5167ae2e0ac919b403acdb9a14c35140dfb53909eef6e41600e26c2f87d905b3d6d05380c66f053d091765b58a264f4 SHA512 c32e509f757344a1f0b7032ad3b6dc47a8759852a94e511c92073d85bce55f45d48c389d9eb34c993e1d61ad5c1542150672f3e8bc147148ebbb04d3319a2409
-EBUILD cracklib-2.10.2.ebuild 2983 BLAKE2B 4aac75d26973223cc078d0ab502c97f5599fa1d9ce4b3ec5dadfc55ccb13db5507e994b7b189b7fd1441a67705439bbbeed2708336c63027cbd4e17d22bc077e SHA512 04544cef89330cb9a4e35b54c139b95f82ddf3a6202ef291baa4421fda8a7adf2b83bcf228f0eef601b93082de9c378d6e96993dbbc703f4b1f29ef9655159b6
+EBUILD cracklib-2.10.2.ebuild 2975 BLAKE2B fb3581847a9c1b48513716c6f7f27a8ef2ddf5e8a64ca35e31e8de341afcceb7971c5dba621b1f06ca355946bd72fd2917b726785e075295cb636bfcf8880c7f SHA512 2fb89f22c895efe8fc31532983c2f955237cd326dba8c75bdc6d4084ccb19f949259496aff46d81967acec2d314770efb158a8e8153be6877f4a496a4ce55e7e
EBUILD cracklib-2.9.11.ebuild 3027 BLAKE2B adabf7191c64f0a061bd669e4c84582a6bba996f1018719f22c2571be84d5f5a854270af0a2418893288f1317d067204692feafc0df57f2e107ac2e26ba113d8 SHA512 5377beb7bc0b9cee79836489bca1aed3544476100c7d128b5f390b4d402c4021aac9fd8619d369f354f3c05d068869b5d3bf321fea1e0e0388251ececbea7e88
MISC metadata.xml 385 BLAKE2B f81e1ac44f5a4c3f647473385363eed564accca3b62ecde3cb35fab14112af1ceb2a25dc2816fc096aee9c3ed15006252f32491583861689ed70d49218684360 SHA512 6d9908f12c310ef22feeae2216236f9b632dc5204916fbb5693cc53bb58e592dc44f49c45d2c8bc22addd69cc5e4e63df463a23299d09a637f4f0f7379e7b796
diff --git a/sys-libs/cracklib/cracklib-2.10.2.ebuild b/sys-libs/cracklib/cracklib-2.10.2.ebuild
index 13f5dab1a076..44037a6bc49a 100644
--- a/sys-libs/cracklib/cracklib-2.10.2.ebuild
+++ b/sys-libs/cracklib/cracklib-2.10.2.ebuild
@@ -18,7 +18,7 @@ S="${WORKDIR}"/${MY_P}
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="nls python static-libs zlib"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest
index f26fe110e6fe..2afa983754af 100644
--- a/sys-libs/db/Manifest
+++ b/sys-libs/db/Manifest
@@ -12,8 +12,8 @@ DIST db-4.8.30.tar.gz 22887305 BLAKE2B 10487580a371fa97ef5e468e1fcc4af68490934a8
DIST db-5.3.28.tar.gz 35090431 BLAKE2B 5b77a4ec0945fa96ce6c2b452fb4b029295e037fa64d5ff8dcb3b5e01ee3501fd75d9a73b8f5fa54d8907717d93546fbb5348ee70119e877fa2f17d301ecf50d SHA512 e91bbe550fc147a8be7e69ade86fdb7066453814971b2b0223f7d17712bd029a8eff5b2b6b238042ff6ec1ffa6879d44cb95c5645a922fee305c26c3eeaee090
DIST db-6.0.35.tar.gz 36532251 BLAKE2B 22fbe557ccc13e4b936db8ca7d6ba11ce42e477bbf39f7e472067e06fb5910b1147fa58a44ac944c24a51ea839f1c61edda6bd8f3c450acac0c13d7fdba11e89 SHA512 002db1553def44efa715095b04b2bac2de7450cdc7142586d1d8b5d8ce79ee5e98f824b3bd276cd586ca932dc51ed35a9ffbed95b2b9847264f262cfa092479d
EBUILD db-4.8.30-r8.ebuild 4535 BLAKE2B 4277f044232d6cbf4a16f4afef428d5eec22a69c66d6404ee516525eed2c667bd442c8da2b85723b05c95e3fbb9e131ef8e308f9c17c7a9d6eb29e457f57dde8 SHA512 2f93ab8e19bfc04f41f2156a0fe8854dace97e37a6158197cf13321abd6bf7dc54541d6cf35670c5d6766f5298e9eea9f489c12634557f26b449e545206d50da
-EBUILD db-4.8.30-r9.ebuild 4591 BLAKE2B 6dec81883290d192d722024bf90d165dbf36e0af9b80922b805ebe4be46268d55cf39aaa05d4eaada0918be3ba063834d2cfbe527d9adacd1bb5f9f4bbece019 SHA512 76d805ab1c1d1892338dc09a65adcecef02e0a58afb40d04761aadd493a796e59a53acd42c459a9158adf895a2485440d19388cc744cae621176cb95586787e2
-EBUILD db-5.3.28-r10.ebuild 6565 BLAKE2B b43e91f05a9559196585a79fcf0466aafacf1e1fa0aff8117ecb75bc2e23e872bb563f43c38844f10535cbb161d1a393bcd4bf036ce16dc9249dd4b9f8625b51 SHA512 e9a242caee962c39500c046f15ba19fd53a455545ffcfebd99b6919201c64dd646dddce417a58ab0514b0950ea323456e4d8bc493f0bee72ae5d20d2f9d65f52
+EBUILD db-4.8.30-r9.ebuild 4588 BLAKE2B f8fa4f4e9c375d7e6e51f684627571afdc043704db66c64bbe4181249fa0db35f20936f38cf66b67b76fde2378169038406a6c6b8432ee4d14cbb670253c9e53 SHA512 2a7bcf3738beb9abffef180fbbae92fdbd3ed574fd556bd05cc1761960d00e1a5f68c2fa5b400c82ae64e550727b93ed8384a8835efeca08d87a33b687c08abc
+EBUILD db-5.3.28-r10.ebuild 6562 BLAKE2B ca35fe352b3d5fac8e3d1e8880439fc04b847106a52c527a0726577b8b2f5d6289ac67c56b0f00e5a2b246716712e7cf37f75a134c19f0c48d5e636cc22facb2 SHA512 8c3194c12085d6d4ed77184648c864c442f2ae56bf18ce92153662e8c0f50e96c8ee587406a1b313733159e592613e72a97f6dc470324dc2e26248477dc776ee
EBUILD db-5.3.28-r9.ebuild 6509 BLAKE2B 177bc94e6d5d2daef95aaf1c2cb32af3a29471c81f00d8160795fd75d369e2ce3bfd03af9a4f1fd3421ea4b3b54ababefa5e8ea4f6ef934310e9ba27189e0a87 SHA512 f669507f0058241157fb5913d5c2acc4dd370a2875c63e8d818c1b59c9fee45265ccca5b4efeabf383971826c911c5f7723b3724a728621ec7d4b5bcb5f7ecc1
EBUILD db-6.0.35-r4.ebuild 6369 BLAKE2B eb56540e960988d4448664b4d7e2d5830c5eec294a141da16123e355ef2f1e92b23ca09b08adf0ac09d662745d55731be5d4838a1cce49b827650b7f39c647a1 SHA512 afc368aee96ce55279e374016e15ffa118ff575638555c7e574a696789695dfec44fc301f1d7869f67344c31c8d743593921a5a199f59e3a17905653376ab671
EBUILD db-6.0.35-r5.ebuild 6418 BLAKE2B 3260b73e4e6a9f58524681c94c5a021f28329c56b899f498e1f215daeab21428b46a6a1fd108d46e31844e7714a1fb93fb45c68bda7305554dbdef9e8ddfd098 SHA512 102623221838837762d345ba5349d475e3518f7ba1c23fd5d29adeffc560e4627c0adefe7f8f86c6102ed04a27102ba1b7ae06f1d47b48f2b5eacd1d84dc2dcf
diff --git a/sys-libs/db/db-4.8.30-r9.ebuild b/sys-libs/db/db-4.8.30-r9.ebuild
index 9ce18a74f1b7..1905edf0726f 100644
--- a/sys-libs/db/db-4.8.30-r9.ebuild
+++ b/sys-libs/db/db-4.8.30-r9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -27,7 +27,7 @@ done
LICENSE="Sleepycat"
SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
IUSE="doc cxx tcl test"
RESTRICT="!test? ( test )"
REQUIRED_USE="test? ( tcl )"
diff --git a/sys-libs/db/db-5.3.28-r10.ebuild b/sys-libs/db/db-5.3.28-r10.ebuild
index 54c9c98a325c..c4d02b964a3e 100644
--- a/sys-libs/db/db-5.3.28-r10.ebuild
+++ b/sys-libs/db/db-5.3.28-r10.ebuild
@@ -29,7 +29,7 @@ done
LICENSE="Sleepycat"
SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
IUSE="doc cxx tcl test"
REQUIRED_USE="test? ( tcl )"
diff --git a/sys-libs/efivar/Manifest b/sys-libs/efivar/Manifest
index 03ee87711baa..c35ad1f7ebe0 100644
--- a/sys-libs/efivar/Manifest
+++ b/sys-libs/efivar/Manifest
@@ -11,5 +11,5 @@ AUX efivar-38-march-native.patch 1203 BLAKE2B 950a72a5ae4872894379a6688e80c796dd
DIST efivar-38.tar.bz2 320221 BLAKE2B 0b96f3d71ddc2246e6a11a5cd32af3d007823c4a283186a428c3f145cd74425a31bd22c4671ad1ab252a3c572991bb1698381cb8bdf51efcbebd62befdc6c070 SHA512 c2f17297c863ece134a9dd758d237fd2df8c8d072f87af1d0bf2bcf9acfc7a53c25597f03fd4fb8cc664b205743d4ffa0ef1b068d0f73c58fa573d40993f3155
DIST efivar-39.tar.gz 463349 BLAKE2B 73ea4b3293cd708923bcd4332a8c7a5a8bbf539d81300c502a764a2ac205ba7cdf1e30b3432c42a101f56c0b6e31af2907a6a38ada69ace3b0d60e90515094cd SHA512 04493c30efbfc2773abac9a3dd93aa13403c05e29e3bfc72877d2054930811fae99119aadcb1729b6ca85abf5a24db786ea0c27c16d5458ef1b19e74696f5ff7
EBUILD efivar-38.ebuild 1639 BLAKE2B 815e6b116701bb1eea363ebbe0bf1f0281524475630ac917d040e940aa7c29013ae29dc3d711b7e94a253714b56c0c46ad90bf3aa5b50f61cadd84e4a6f6561b SHA512 4ef1a582670d09a816acadd39e6e045917f878962552b742d989b191ad1f5025731a7fee1948e4574ef55bdf7a721f472b92161b4af670f789a59a76d317cf65
-EBUILD efivar-39-r1.ebuild 1367 BLAKE2B 70feaf15b83ed74f92cfc763a053a7a1f25d40ad1910e4be879c40d86dacf359a74855b0d8aeca1afc2a37b79a86c9bc814d4da12d21b7a12e89dd05192df1f4 SHA512 c706bb7fafc53a92d18ab06f95942dc8c7ddedf0ba19fbd9639ab4a7ba119b9866a084097126ed739531d77e5be89a72922854e88979b6423a3eaa627795e567
+EBUILD efivar-39-r1.ebuild 1362 BLAKE2B 48a08411bbc3e2620c2933df456525b4d56381470d5ae74748bb8a2b8b813b1e98f3b96853761e85f3174cf00a71c1e78e2d19234c164dd6794c78ddf63d8e56 SHA512 528787c0df387c7720b34576f201dff81c1f00b0b00de6daced5fc3d553c91c09e3ae25005bb063e533b81d6d6e63ccc02a76e65f3839c409cb0806243afbb5d
MISC metadata.xml 325 BLAKE2B 9cab1cda08c7ca71c0f15baed5011f8d2cd5fa292da287100ddf25d788e5f34cfed94c1543952f445614fd161fbdfbea7fd8f63aec1c912878a973b78ad8ee34 SHA512 b0985f3403b6aa9c806899fe9ca31d3a76c61f62f427ea1aa3b0fb5ecf380e3fef7e8bc1ccfc02c6c04ee1a6a0d370c2cbb7e1bf27cd67f6156758cb53f2319c
diff --git a/sys-libs/efivar/efivar-39-r1.ebuild b/sys-libs/efivar/efivar-39-r1.ebuild
index c82f78add1fb..0966070ca6d8 100644
--- a/sys-libs/efivar/efivar-39-r1.ebuild
+++ b/sys-libs/efivar/efivar-39-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/rhboot/efivar/archive/refs/tags/${PV}.tar.gz -> ${P}
LICENSE="GPL-2"
SLOT="0/1"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/sys-libs/freeipmi/Manifest b/sys-libs/freeipmi/Manifest
index 411e0e0f04cf..e93101e17af5 100644
--- a/sys-libs/freeipmi/Manifest
+++ b/sys-libs/freeipmi/Manifest
@@ -9,6 +9,8 @@ AUX ipmidetectd.confd 185 BLAKE2B ea7164e6b126cc684482557cafae3ac0c39611484243e9
AUX ipmiseld.confd 192 BLAKE2B 52b125e63ca3e13fcb24f5b304f73c78269fc58b2c3e40cb185b28697c409ccf5ecd4b95599c38119bfe8c97977c3cc87e3633989e2b9d4095cded4b2b248dc4 SHA512 0a031f29a4692085054d5fc2dfe6d0ad7fb762f7ee96849ce2d562a90d6e3b0f3ae8328ab852dc22bee6221bc5cd8b588bd02075222038fa0f0e2f64ac185799
DIST freeipmi-1.6.10.tar.gz 3431062 BLAKE2B e217570d8fcf78ca9d04aad4d5bd46b4120beb21f2dcfb083bc9779a4541856e08ec6e87549651ee3c9b62fe54521585e192c784254dd9482bf9da09935853ae SHA512 90b6b78cdd119c2a1f332f007333aa6df70c6e3de0fd81ab007025392ee7cb7a01ab4a7a174d1f2e760c55d78f21ebbbe9667af661ccdd669e4b54edb1346937
DIST freeipmi-1.6.11.tar.gz 3429533 BLAKE2B abc803341db4e48fe1a81da1d9cce2e7a808e51f41fb5b18019fa25bec41b443275f737553fe8b7bfd1dd9ad06d08b2097ca9f8e78a431e20d1a0e89d0e8cda6 SHA512 db37bb1ec559f88764ac08491b616d24e49c9a8ba070717e940fea4886d877819064cb00221aac703d0d149dc38e562924e192e992222e18b0e8b548248487a4
+DIST freeipmi-1.6.14.tar.gz 3464254 BLAKE2B b0b3fdc45c910f5fd3e837b4186103c754fc399c05be6b3406346a9629de4392334dfce5320fabfa895f8d398399a54b58c8b6663979e428c10269dd57b35067 SHA512 5dab6430d257776cad1aed39cb2e2536af42c56e3f53774111efc15b0dfc19241eedfbcbfb1f088dd8be38ce694bff9779050daaec9ad0b2d4dad329ce8f3fe3
EBUILD freeipmi-1.6.10-r1.ebuild 2988 BLAKE2B 93ef70d463f5953d4767d77dc0b5c86608e35467b88d82dc117f9d8c3fc2125e7a50b09af894d9dd05be191e5098f9aad0d55cafda4d674404360b61e1da01c0 SHA512 4ba941a27940b9c595dcc0e254afe4506987626def549610c188b806c2cbdce63820e0c47129c2f1e25862abd3ae6e9e33816560c54347697cbf12cd669bd872
EBUILD freeipmi-1.6.11.ebuild 2578 BLAKE2B b8f5dfdd537399ce03b1d781c5ad6ae5aff19ae3b96f91b61181d65b7f23eea5d7c63e5caf56a67eb55f434dd79f10655a6a682395c016f394dfb1b991bf0f2e SHA512 e3266274dd8b9c5929d9f07fa114b94a14684b6b90819faa448e697a87528a2caad4142efcbf27a441704b7c613eaf1d6731912f00e338b7c756c7391b78cc74
+EBUILD freeipmi-1.6.14.ebuild 2581 BLAKE2B 560722c7ccf6fd15c14ce84acb45b61050ee9e1a5a9d2cd042a7e956837140afea99647db45812ab4b77077ff0f8c4fccbea9d2b1b384f6a67fff81e33b436f2 SHA512 4c415eb5517b8b5b1ce64fbc02db961a48593169b049dc728feccc827bda57a9fbfd8e6941cea0da3e92df4e1126c961bf5d1e1ad99f7db18a0cc08bd82ce68d
MISC metadata.xml 569 BLAKE2B 80068547ab42d075842e19f6ca65c9aa4b7c25aeddffc01a179e02fd6364804eefe3b7aa26434756de638f22a19da815d8b930a7d5bc81048e228ee72c81cd3a SHA512 f910ad6c63c49a2f2ddadc82c202cc9cf414eda5babdbe675048c6a5c2df4f093663ff8cf99da69563d4c67fa8bc0c18bfb9a8b8a752f8ce63bd1de8feed52e1
diff --git a/sys-libs/freeipmi/freeipmi-1.6.14.ebuild b/sys-libs/freeipmi/freeipmi-1.6.14.ebuild
new file mode 100644
index 000000000000..cc75a615f9e4
--- /dev/null
+++ b/sys-libs/freeipmi/freeipmi-1.6.14.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_P="${P/_/.}"
+DESCRIPTION="Provides Remote-Console and System Management Software as per IPMI v1.5/2.0"
+HOMEPAGE="https://www.gnu.org/software/freeipmi/"
+SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ppc64 ~x86"
+IUSE="debug doc nagios without-root"
+
+RDEPEND="dev-libs/libgcrypt:="
+DEPEND="
+ ${RDEPEND}
+ virtual/os-headers
+"
+RDEPEND="
+ ${RDEPEND}
+ nagios? (
+ || ( net-analyzer/icinga net-analyzer/nagios )
+ dev-lang/perl
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.10-header-fixes.patch
+)
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ $(use_enable doc)
+ $(usev without-root --with-dont-check-for-root)
+ --disable-static
+ --disable-init-scripts
+ --localstatedir="${EPREFIX}"/var
+ ac_cv_path_CPP_FOR_BUILD="$(tc-getPROG CPP cpp)"
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # freeipmi by defaults install _all_ commands to /usr/sbin, but
+ # quite a few can be run remotely as standard user, so move them
+ # in /usr/bin afterwards.
+ dodir /usr/bin
+ local prog
+ for prog in ipmi{detect,ping,power,console}; do
+ mv "${ED}"/usr/{s,}bin/${prog} || die
+
+ # The default install symlinks these commands to add a dash
+ # after the ipmi prefix; we repeat those after move for
+ # consistency.
+ rm "${ED}"/usr/sbin/${prog/ipmi/ipmi-}
+ dosym ${prog} /usr/bin/${prog/ipmi/ipmi-}
+ done
+
+ # Install the nagios plugin in its proper place, if desired
+ if use nagios; then
+ dodir /usr/$(get_libdir)/nagios/plugins
+ mv "${ED}"/usr/share/doc/${PF}/contrib/nagios/nagios_ipmi_sensors.pl \
+ "${ED}"/usr/$(get_libdir)/nagios/plugins/ || die
+ fperms 0755 /usr/$(get_libdir)/nagios/plugins/nagios_ipmi_sensors.pl
+
+ insinto /etc/icinga/conf.d
+ newins "${FILESDIR}"/freeipmi.icinga freeipmi-command.cfg
+ fi
+
+ dodoc AUTHORS ChangeLog* DISCLAIMER* NEWS README* TODO doc/*.txt
+
+ keepdir \
+ /var/cache/ipmiseld \
+ /var/cache/ipmimonitoringsdrcache \
+ /var/lib/freeipmi \
+ /var/log/ipmiconsole
+
+ # starting from version 1.2.0 the two daemons are similar enough
+ newinitd "${FILESDIR}"/bmc-watchdog.initd.4 ipmidetectd
+ newconfd "${FILESDIR}"/ipmidetectd.confd ipmidetectd
+
+ newinitd "${FILESDIR}"/bmc-watchdog.initd.4 bmc-watchdog
+ newconfd "${FILESDIR}"/bmc-watchdog.confd bmc-watchdog
+
+ newinitd "${FILESDIR}"/bmc-watchdog.initd.4 ipmiseld
+ newconfd "${FILESDIR}"/ipmiseld.confd ipmiseld
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/sys-libs/gdbm/Manifest b/sys-libs/gdbm/Manifest
index 6ac926b0435b..c26fd529c425 100644
--- a/sys-libs/gdbm/Manifest
+++ b/sys-libs/gdbm/Manifest
@@ -3,5 +3,5 @@ DIST gdbm-1.23.tar.gz.sig 181 BLAKE2B 34785e6fe8e02100084d61e989749ee388794b8af8
DIST gdbm-1.24.tar.gz 1195931 BLAKE2B 79f49adbb455c2e1b91f3450037b71165fa8de82650d6402e0e22ee1f4d278fdb0bd78100659bf416e2409b432e1f8d32ecbae523980413f7148b80ee06c9f4b SHA512 401ff8c707079f21da1ac1d6f4714a87f224b6f41943078487dc891be49f51fd1ac7a32fd599aae0fad185f2c6ba7432616d328fd6aaab068eb54db9562ff7fa
DIST gdbm-1.24.tar.gz.sig 95 BLAKE2B 3a66c2a256d9601db57df20feb5d72d1e94d23b7a92e3099f121549c8aa2c57b05a3021d88f97291819378462a68664af958de4c9de65887d2cca6642d172bc3 SHA512 a54595e0fd23724f5e30c2ff1b9656dbb6da3b448f4ab6a2579a523c11bae53e47d3843327a1e4499b312ab947ac73b5a9aa6e78fe5e932c55a1be0cdab4e63d
EBUILD gdbm-1.23.ebuild 1559 BLAKE2B cd15b05d96777af4ce73a828ab9e787b410cfa259f1a20b6252d00fdfcb75385ae3801f31d998ec729855a8f10de77c79421b986be534d07c78688391ba71c9d SHA512 bf082c3d47d102f5a0b69508480b1ebcae68a2a13b7c713e99b6a519a4364699eda57e20df15695dcf7fa026051939a9453577c148d80d1ad0cdd9338e859b1c
-EBUILD gdbm-1.24.ebuild 1552 BLAKE2B 1b5a1aebc59865b477be6518b7c9679cf9a836e98d8d8547904e42394ba50a2d2f1e3e95a351bd4b28640e96c3f8e111d113463888c8b102459d9b40b7260ee9 SHA512 4b52a17faf04a03e2919c425a1178de5fd37bda2653e63ed4b6a1d2b4fa8a92cd8629c405f0bf9812fcb3f52cd2700ec4647b8d23ece43dcecffa8578079df55
+EBUILD gdbm-1.24.ebuild 1658 BLAKE2B 913819addcd88be078d53a5b2908b315e5f39d09118497157c25ca00280c40a2a2f6ce6c21cba7a60e1827718dfc3787ff5a708c2ae3d67a103c2505e7c0d182 SHA512 2113391eded722cfaeee86f8553536dcf91812d035e754af1abcc32c34712d89586438b878ebfe1ec9603cb2e79b72d64b119283ce63f5706c557bbe9d7890a0
MISC metadata.xml 452 BLAKE2B 9688553eee24115f83128016ef5a5ea8536c34bcd18eb0ee444f897db05b38522a6b1332c970b906097178746bb075a839ca5e4a20871601f577204e8144be01 SHA512 f52ce70540b144b749baa59c87fb6d2582ddb86feb19938ca7d0a85d70e19bc85a6013885a9c2a2fa6dab706d5eddc6a6436d9bf879e04b2f3dfb9891c353a4c
diff --git a/sys-libs/gdbm/gdbm-1.24.ebuild b/sys-libs/gdbm/gdbm-1.24.ebuild
index 520e6e7b73df..187ddbe14933 100644
--- a/sys-libs/gdbm/gdbm-1.24.ebuild
+++ b/sys-libs/gdbm/gdbm-1.24.ebuild
@@ -4,7 +4,7 @@
EAPI=8
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gdbm.asc
-inherit libtool multilib-minimal verify-sig
+inherit libtool multilib-minimal multiprocessing verify-sig
DESCRIPTION="Standard GNU database libraries"
HOMEPAGE="https://www.gnu.org/software/gdbm/"
@@ -49,6 +49,10 @@ multilib_src_configure() {
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
+multilib_src_test() {
+ emake -Onone check TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)"
+}
+
multilib_src_install_all() {
einstalldocs
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 0fc68ddcef18..b13a5725aaf5 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -2,10 +2,7 @@ AUX 2.19/glibc-2.19-gcc-10.patch 671 BLAKE2B bea7a2da693a4c1ea50acd859ebb3e32a82
AUX 2.19/glibc-2.19-ia64-gcc-4.8-reloc-hack.patch 1360 BLAKE2B 19d218e91b1d3d38c526838600d0393de47a0e59ca3e05651bd28becb401021ddd2f6ef77b8740ca4e400f094ab5fd196f092cf25b20729eb4d42e2a200b9e03 SHA512 79876b12871b3e7693340bfdf99276ac0dfd6ff30bc977a9526af9e681fcbab2f25d3ac9e2b33f027c968b38a4b670237de54ffd08edc418423ecd82dddd1d67
AUX 2.19/glibc-2.19-kernel-2.6.16-compat.patch 3214 BLAKE2B 64af88703bddaa301ce25d4400e00140fae536882443510466510766a60ac1cf4ceca35ca0ad4384f0cdc05b79352ac7da92f555561d1f6cdd65f7cc8464c6d7 SHA512 c21d80b7ae5b2691e5b6d43a42153193822ccc2b4418728edd5f2fa72412992d103b61418b57f9cf26e72378b24aa7cbaed05eeb31a4ec312a715d258cf5232b
AUX 2.19/glibc-2.19-kernel-2.6.16-hide-pipe2.patch 620 BLAKE2B 216e728e40b044684843bff97eae31d65689595bcc3e345ef019a68e15c190cbd7fa685ff39e6363cf213f3f5676dee49f235beb1984a9e150e2b4ab72fcf605 SHA512 b93822269e67262fa45cbc50c5ec562d60ef69b2338afd56421b2d74d97360823dd4252abb0faee83231e4b3fd3f7357ef0249be8721f48fe176e512c6f5e447
-AUX 2.25/glibc-2.25-gentoo-chk_fail.c 9068 BLAKE2B 6fabcbb981d92101ff3b97e8eed4da3c0ee4fc3d09ca344c2d0b7ee5e04fec66b5db314263541beeb1290bafa837795fef1a6300986de938d2958ba89a9c1f2f SHA512 4503002b0e2cee0b6efc4599152d24fcff330157d4e35992a77d0d83a2decc4cf2da2b8645a44d90d428a1d82300a4fd8d13c5937b7c89f368c12b3c9139be6f
-AUX 2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch 6677 BLAKE2B bca5a964e35201ab99df746c08f069a3d4d344a02c063f6e1785fc70bc6d6f96b62108558afdbcb634bec136a45ed7df5b27065031f96777ff723a411cb1ab35 SHA512 2dfab5b31a0a92812ca83a797fcbbb22ab08eea6e3550e464f21fbed6cb33e474fc54bc90aebcf98912406d6a6b1938609fb36ce6fddac7d0aab86a309dd3f95
AUX 2.35/glibc-2.35-make-4.4-MAKEFLAGS.patch 3547 BLAKE2B 7b5d512df13ba1747a5a099bc7b9ff7d44ba94176c18d65fe37ab0145214f43949597bdffb3ee8c46954f7cedd0d1e708a237ccdb491a163493f5b43eac7bdda SHA512 968193c9a2ab29b38de96c37a6448f06b81f2445c814c008c4c6e3ef45956fda0e177f9236445fc31a6f208e58cae0b928185a35d5b5215c2ee042baa88199a6
-AUX glibc-2.40-libio-legacy.patch 1134 BLAKE2B 1b049a7849cecfe772269e8a33ec6d6b95823b3f022210f8785c4d5b5345787d505b3531db9f32b98ee83bd3f9479cc6750341f8d721b69bea73b3bd43fe851b SHA512 ebe94e5a1af740ded51858b7e673ce189b823bd34217ab32dec7d2dc0e34784627ec04a211354f0d8635d10d8dd4fec377b2a33da456477dc27d85be4813a21c
AUX host.conf-1 826 BLAKE2B 32fe7f016325e781d477a0f855c32d0df12626edd11d58c0ec368fc579811b73e4851dec6bfca9e9f53d1c2de1bb2b3b4406e50b7f665870958d727fbeab2f87 SHA512 91102a5383b49199eceb94fb1ecd223ce0f585021de94dc1646af1095a220ba1acf540271af908da47a3ee1aa55c35f5f372d61e34d0e14f1718e67633a13e76
AUX nscd-1 1897 BLAKE2B aefa781de3181c5609ac2659632f0a5bdfa6bbc8e22b73fdf5c28ca36184b5614bb2febd581d0c41a1f3dd72c45a191866cbc827f5e7009722b6d839518a27d6 SHA512 b2edbdc33fb4290378d9520bfcefcbb5183e8b8f0e80cf3573fb4ce6cf309e21f59178f31eec4ada90b4b37e502038e71b31f93b2ba2c7fa36a7eef1b1d9bf70
AUX nscd.service 337 BLAKE2B 6b163465dd8db024652921892dc913da8dfc0984eec7ffce621229e48fa99dcedc3b5944844529190122c81f4884b6a6fe7836d37d2d812f34059c530856dec1 SHA512 2001100f3b054843c69b6fd2d38852c7c824282aa8998c25a3c0352db993705429d25c70d8ce6cb3579f836b7089644c520acac423ebd69cb1b36e94a77c5bea
@@ -33,13 +30,10 @@ DIST glibc-2.37-patches-12.tar.xz 83716 BLAKE2B 123951d94dad6c22150c4ef2299bcaaf
DIST glibc-2.37.tar.xz 18674604 BLAKE2B 8139cd977b2ed3bfdbde5ffb1cda8f759763dbb83071167272fef798cfbdc0d17cfd1ec893d126c52c91511b7961f3ad12eed34534b99412dfa04a1cdd5b4ea3 SHA512 4fc5932f206bb1b8b54828a28af1a681616b838bbab60c81c82155f3629cbfe1301d271af65511ed917f4c6949a025429221fe6035753282f15346919f15b90c
DIST glibc-2.38-patches-13.tar.xz 92708 BLAKE2B b2f05a793c92ea0b7901d2124fcd968fa846fdf687f8cbdbc17795c33fae2d538133fae66d575c5b98a7a05a29f9f816e7ecd45f3be5ed10ef65adbf92c7fc4d SHA512 24e45a88fa7676ef22a7e2bb864dff27262f69900c4ef76d21c6fee498d728949b6f5d03dd094d1774a66a8a47b779bf4b16ee31e5306bcdb55cedcc0a1c5e9f
DIST glibc-2.38.tar.xz 18913712 BLAKE2B f9b039f0ef98a7dd8e1cba228ed10286b9e4fbe4dd89af4d26fa5c4e4cf266f19c2746b44d797ce54739d86499e74cf334aaf311bcf6e30120fd7748453e653f SHA512 a6dd5e42dcd63d58e2820c783522c8c895890b6e8c8e6c83b025553de0cc77cdf227e7044e431ead98c89c68a9ce4dd63509b47e647775fb2075f011849c1900
+DIST glibc-2.39-patches-11.tar.xz 192784 BLAKE2B fef42e0bd2a3341f41cac56dc878dcc95b7f521ffb27686a9109fe92e0458e903a24e763db17631b8ae6c1e8de7add2a11979b970689b2378aeb6ef29da7ceb6 SHA512 9daf2c57d178c7ce9d98ee454f680280738b37571bbbecc1724282e4866df29b78e60de40ad81a6efcc0a75b45d08148cb1a5f942ae7e308ae6fa63f9671b7de
DIST glibc-2.39-patches-6.tar.xz 87600 BLAKE2B 7bb24a16fb64ed07a7477dad075dfedd59ab8d0d4ab3032273684405fd690a863a84fe1f859a07faab3ccd4663ba4f896ca37303cf2a4658ab1662732c50e860 SHA512 d48de19e9e33ef334cdbd63b6ceaddff12424477193f6bb0876105e193f2aba44cb48c33aebc47546db76dc229849cc22f884a68971bbc23994769b64bcd345c
-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-patches-2.tar.xz 48712 BLAKE2B ba98d7091e688b6469d2bbb7e1f077321b0976524b44ffaff28eb121ae5d57c829f9dfe2378d07c3c6f68adec33fc5782c093406aaa44f5f35ea76db472fb78e SHA512 49fc4adbf6513b72381535f1fc541c39bc8fe369e583a3df610aab471251aff0189f7fcd66611ef6fa51146ef70c02704b70ca1d8c24db579817eedcb3797ec6
-DIST glibc-2.40-patches-3.tar.xz 56044 BLAKE2B 79659397d36fb847cff01589489a90e36286dfe34c0e765fa05259518d8182d7e0f9666a577d699ef0c713071969bb0ec6358c1fbe053ba6cdc8828d08fdaa0b SHA512 5170a2912c7c5f5aa4513abc25402f419a5de56c477597e937b7920f0c652bca1704b4a4f74d12b960ee3bf4eb8985a98712c4dff485609047084caffffb0c95
+DIST glibc-2.40-patches-5.tar.xz 87376 BLAKE2B b09b9d2c8e45c0b494223cd01effb14ef205b030f2aeb76e1d7d289997258c1e46d85f8f4ad761e22afc35b1f4747fbca51d7caf252181c7b054b6a3e6bd2bfe SHA512 bf4776c27e5d962d2774afbed2236996a712a6127e5fdccd051af212d86a7e699a932cf4cb22f5516d513b9490b91d5e145727035e845cd4ef290985ac3dc524
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
@@ -47,20 +41,17 @@ DIST locale-gen-2.00.tar.gz 7738 BLAKE2B cde6de5ba3400aea24d0d5f1b79471f89f09fb7
DIST locale-gen-2.10.tar.gz 7747 BLAKE2B 49f569c5ae5260fca128503bc6f22d6f6f1cda817920c41fdadadf1527bbb4f3eb161f79fa729830666a4673e9092f99f4685ec8fcac8ddea0b8242bca9c1f4f SHA512 e350e60d458d67638e3090711fca05af6fafac06c51b97648244549f8a0621dab7543f09dc7ad4c62392f13bdae8e5875dc6d0b6c3d83efc29d116bc2eef92db
DIST locale-gen-2.22.tar.gz 7971 BLAKE2B 2dc66fa69bf51799d0c34459b654fba6998b80a7e322e9b670036c967e269ad921f50195e6e34c4a83c1f0bad191fd5aa3f37defb82271b73acbca07b7e49d08 SHA512 9798b10dbbc792345a7b7a121dec5f4bba9839a8aec010f01a09f3402fd5bf2376f79e03a6a19bc357010db780037a8811c381136ce19be1f1370374906dff38
DIST locale-gen-2.23.tar.gz 7977 BLAKE2B bf2cc1fa05828a9133789133ce2d910662f1b5979269869cd76dac45831c45917700fc81357441fc7691af23196c6a6c3a28bb4440ceb6a5a3b17dbdc55c2bcc SHA512 f6b3daf3e2f10bc2f68626d8e7edc0f27eb0fe16bfe8840904a1b13d8fc76318d9f83277ee7fcb7a6db177413ba8a2cda94493e56d01df3a20ca37fed64e469c
-EBUILD glibc-2.19-r3.ebuild 38711 BLAKE2B 13388579c9ed797d1c8e009de3eaa87c966b2f5508242b21c0882f585755901ba1e4dc50ab8993ff330b1b97d44704d7fae4c525d71491d754228165710496a6 SHA512 cb2de8f400258d6f493de7fad9d28c3867b2b25ecb6adfc3e2b9d29ac16e039a46453654b82800a88450f4d167fdf9602cedb044521806ce4ff7c0f7ef18eb79
-EBUILD glibc-2.31-r7.ebuild 44646 BLAKE2B 3c860c95c849cb5e0302d7ff5c2aa5ac657712ce2a1ed31878dc90f2a0bd8f197b3bc55006b35aabfe97b4b0667e15a7d3415fe5cba0240b280a4853002c7608 SHA512 b5d9bbda872ce34260c9c9b7bfd023d29c407b5f6c37cfde39b8412d1b720f514a241237028516d0eb72dc667514d8d0447a06fcb06279291ec9549d38e76f3a
-EBUILD glibc-2.32-r8.ebuild 45004 BLAKE2B d32cabd3f3e0098be11be2496caa71498646a642739b004a3b681bfae90aff147a3aa19004b38785f0fe6114473212ec9c74f2b2b7f8dcdb015846f387bf98d3 SHA512 fbe9d496c1e48f55204ca137e45bb37a2d046377222224a0d84cce003fa26a4c080eca142ce89ee95d102c3c21f830625d34c03209b79735779f4e717012b38a
-EBUILD glibc-2.33-r14.ebuild 48540 BLAKE2B 67cb2b1b6dfabe5c6aee955e622bdb604c436d39dd8506ff69618e8e3d8761894816ab22990003c72d7f711d40e03c4229abd8fa85718714e60ea2ac73d9a8db SHA512 f85b81a45c55f4367c9dae628f4511f28ff3bab310e086c207f52399beae3cf35bd18842f7e296b2ae1e3047f0234ddc30c8194069f34debee86a3ad8bfc9ebc
-EBUILD glibc-2.34-r14.ebuild 49755 BLAKE2B bc068621ceec8c63f85049de0394a4342c99ad8d149836db678167a3e544e10e3e813b576309fb0196a721f9c734466b7a7fe15ea56f807f74346b8be5fe798b SHA512 c8b24583d54b1c49a859f03ce46bfc155b6a6a67397deb5d31fb9d33c52c7e4e921536013449ef290799b82e5b7b4a1a2fb659826c4544fcf569eaba3c9fab82
-EBUILD glibc-2.35-r11.ebuild 50296 BLAKE2B cf7bc84ebaedd7371c42e29c8efbd9ccfaf27a8475b2d740066ca6af23e2c6ba7b74ff37a04d2036fd40d87b473f3771eb3fd3d8873b097233f25328e046c33d SHA512 fa277c0485b8d9cc0a1d0e75f67a461a71c78acec308025402c18d52874c87712561392fefb32af8f913702416f035c3cfbf16d1f6f300f2d6b42a23aef226ee
-EBUILD glibc-2.36-r8.ebuild 52574 BLAKE2B dd2c830b86e39b3e67945312fd4d5ae1df0c3936db0f66d1c5562352df9c4f86d035ace8f4c7ea1cfa96f5c0becb1a575b80abff575e3f866be9dc2b22bf7c47 SHA512 cd0c35be93abf2ea88bd7a5d4754d5789ec06474542cf15ad627701f673589aee32d546cb8634c9b0a2f5b6b9a1c085e1660bc25a7fd4279f4ff709542164fa5
-EBUILD glibc-2.37-r10.ebuild 53103 BLAKE2B 4d97ba0a63d64ab584a798d65423adc0371b85d597190f0b615e36041d125cb20fffb164409e7eb0e535e980bf6413a3437ed946ea8e3514b6b9a0a1c0450510 SHA512 aadebf500835b85c890b3e6782f8761d2bcd02ed2bc6f27ba81482d4ea972833866e959d0f6b0070442e8a6942814c1786779a2d288b7abc0fd5db64adb29798
-EBUILD glibc-2.38-r13.ebuild 54809 BLAKE2B 1c70a93e9086ef1301cc41de70030db095b567b670379637ea5a477e8a6185efa4d8befa001873190c72f8e2ab7dbbef379a33d6a131ab40f28ce0d973db3429 SHA512 f0637821996d91bcb850373bca24056b4490890ecb6020e1ac25c5444c853179cc223ba65ca494df1378b91e0364fb3ef0606ac42b24518cfe45363adedca999
-EBUILD glibc-2.39-r6.ebuild 54793 BLAKE2B 27bec74d0a357c2eb799a5a304984fb01a05025b08a284ee7c6b97a5f7597656ed2c009aee143159c0cdff196cfefbad0bc06ff4ed7479d07e10ac79fbd7fcf7 SHA512 8ceda9c055cae112a07e224f315c75501943a31e7823710945f1162acdcb561d03d9e75cb58b8995b36cf04bafa0ecb95013c9c7c3c4a1af47ca6e33bafcf0b2
-EBUILD glibc-2.39-r7.ebuild 54801 BLAKE2B 8cc4308f976fbd76a1e794987cbb57e294b2450b2857c7f09831c87375ee086cb3126cbe6d5583020d315f321e4e121fce2f0309b38e4eae84af2a274bf80b16 SHA512 11c7cfbd007ddbd4c643c7cefefc293bda54427fdf5a38a4c172132df7e4d9793d44e4eb97c5719c52a20fe4f678d173fa499f53304c0e6643b95ad65a0923bc
-EBUILD glibc-2.39-r9.ebuild 54450 BLAKE2B 78345de72a923c83869ec7678e3fa6e18297324bce267ca4c38f700fc3b9f8d4994020da2c551358a683552e29713eb4f45a0319d4a6b76c4f865792e8163689 SHA512 b13688f60317d8bce8d3c2c4f48a62b1ed213d24d78958da3b6090066d03015588ba8470ef8feba4bb33c9c67b176e43afebd6bf3e0515c839ad8e52f3e30087
-EBUILD glibc-2.40-r2.ebuild 54498 BLAKE2B 9cd2a442e37515a20d22a5e354ee2cc3a5264d991333cd46358d262de3ac5c505978db474c3a4530ed254e467f839556d962a9b8f117c1dd162d6a5a28d3ebb1 SHA512 2a4e3137b8c24d96c193bcac4d4c4d0a163388dc3797d389fe4ca754fe2d1161ddf355ebf26e777387ebe223e027038f70b3bd1fb4198140f08f70adc01ccd87
-EBUILD glibc-2.40-r3.ebuild 54451 BLAKE2B 4baed42b53653836893487d54b7763298be333a58f36b581b7876209b69734dc38c2db8850097a2152d3de965d561b13701975d32df5a470e5f8012fa0facdf0 SHA512 22c06ca836bc9a83b04287b0f1bc84813c010ae4896219612972ceb8811e97fb2e00b975f25c12b7f60b58f96e9700f8595df7c2788e386ea683f8e11ba5a831
-EBUILD glibc-2.40.ebuild 54451 BLAKE2B 5e8c0a2768b9e68a00997f43138906ace5e134fa6807974cc60b5efdd33be7710071c5f5fd7dfd58b93d8bec5116ad655b6973e98a569148c1df9a2f9a391cf4 SHA512 819f2d116d98fb31f429972faf503aed10df2c9277d64d14e88828aafbc86d4adb248c5009003201b6c3e3968967921ed03133a0f13a918cc0c10a7782f255f8
-EBUILD glibc-9999.ebuild 54452 BLAKE2B 0e2c3c0873502f7fccb96bb3a2cd3e3b81eeb1ce6b4fc6736db6e58972f1f88534fd2c9b1539477bd1ef7124d73eb77272f851a96a1ef936c8f7a6a5610c633b SHA512 a96a1f0dba8df6897de63d0b7953c12e833f5a82584c03b0a1686e44560a04760a6ff4fb9c0d5f00d9ba9368514951a46949857c8c2c8e8fd27e654812beadfb
+EBUILD glibc-2.19-r3.ebuild 38930 BLAKE2B c59e3744ddc7355d32195116836de862f53e4420626732f539cc55b1c235e62aca48741b0dad33dcf34ef1d91aa07f92da4e28dcee698a2e0434f3df9c81dc14 SHA512 c4e516ee8c6b7036215e84c739236058c529683ed77d9f2911be747bab21e8f5b151c02f0890105a976f37e7e1bb3ca3ed0111ce7842ae3b378bd1c94d720d2a
+EBUILD glibc-2.31-r7.ebuild 44865 BLAKE2B 108c3b01dbdd0af8151cee6d3e53f591ee808042977a564c2d796ba7c22c91f3ba2d0ddcbd4b69a64e6dc2317527fa04bbe8ec7269ee28b9cb19a8a71561e442 SHA512 7bb459d8d8e4ca1cb32ec463d293872802dc1d6aa99b4499e561b2bd635a675b7a504c4036b1a03b53296f2c3b56f898570354ae24fc699337dca8b9ce523801
+EBUILD glibc-2.32-r8.ebuild 45223 BLAKE2B cce08a6134cf9ff2a843342046196e9335acf886d24ca1e9c38b864b4cc2f0cd69b7946d2bd264839181200baaef7f26f7db762d929fd55db1f992035d7679c8 SHA512 1a86e482c9c24089892d5f66328b5bf9a51d82543158528f355c8af39448ca9ea0458b5c8f3f6c31ac8c3f3d8a86e24aa7d6dad337cfb03507ccf94e0b60429a
+EBUILD glibc-2.33-r14.ebuild 48759 BLAKE2B d462bd58082ff3f43c3aa372da5576a2b7dab75f088d91d1e51f7ef0ed022f7a630485538522fd7a4c3a18a9bcf3bfb705c9810af5950b9cf743ba0ad6d444c9 SHA512 47db58014d01f5d0bfffa383578a898b81e800be4e2ee330c2a4462939c45e3be69013a22f23b06caee41de215c5991b74d6946ca71482ad71a0a53e346af64b
+EBUILD glibc-2.34-r14.ebuild 49974 BLAKE2B 8f63c95be09e2fa8f9fe2b766943d09f554d0819933d7d6c10473b73c7b9a9c7b5ccd7eb01993523ff752e124cef3e95e056dbf91c3429b94604b8ef40c10cf7 SHA512 210a0e1d3418f73e0042035f34650f1a0d7da0bd52332b7b6e7dffbd9250e419e859e7a2a5412f30527b2a85f00c65835ac9a76c2cf91858a4feb932f2d390ad
+EBUILD glibc-2.35-r11.ebuild 50515 BLAKE2B 380b3339052b042273cbe35f09b72e95e195be2759b9643a4b207455c8e03c30da9fed499aa2070b024cb8c059ebce85f1761fd9fe3f791c01f319810a33609b SHA512 7685587dca9bfa6facd1a7817dc7075065e1c8f241c12048a0bb709a84c1ea7eb799412c3e3421313bc46607f7b48d0b1c965207562f1a5fc36f1a278fa97219
+EBUILD glibc-2.36-r8.ebuild 52793 BLAKE2B 712e50a5a268f3af327c02de7ba6073abbf53a1f7ccecd39450ec92ec9e7dcf6b39987348e93777167cdbb5c72267e3063050f2ecb2479c63dcedf88cc1a9448 SHA512 625a37bb62c893bd05e631a2b93cb4b7c10196376611a084be61de4e6b16a9c272239a44ca1d306d1c444d0da70e7c2f32a206d0faf95102806df8f017fd40e9
+EBUILD glibc-2.37-r10.ebuild 53322 BLAKE2B 301a9c47f4149e927764cc132e6ec2a20b90a3a81307a59864ed12cb374c2faef71e6e3eb043e88e2b338050163bf75637cd1ee133bf1110729c192c1e9a81f4 SHA512 1928d1ccf4e15a3836c12629ad74f5e87054a21a362c432761066dd098d1995c6db55a0ca95e552a74a0772314be40c2570453545f308fddb2a6589e4648b7b0
+EBUILD glibc-2.38-r13.ebuild 55028 BLAKE2B fcee988603b8bcec9cf184c54e040c9190a98170170665c56998e9a14bec55b34e25fc1002b2aaa8bae29392968a8f543f2f68f1e564c52d9e7a0fcf5c829317 SHA512 9bd2e1fe3709f4b792575d37c6b343e2db3b4bb60090281521ac3b9c4e5b9bed2367453933a2df8c1fa9cc988a71e97d797c009f7bb9fabde6c2821ab61102dd
+EBUILD glibc-2.39-r11.ebuild 54666 BLAKE2B 6e1426bb53a87d0550b14ff5a6987db12425ad9d8d8810d8d71ea205c4414ebdb818eb1345ac314cc3f74bd6f6e22e5bca49cdeb689327607c83bc0cf251d931 SHA512 5a306c4e0d74db2803339692758c7ca0ed7c333a23ef6d960db149d7d15b07d69495cabf2338a196059e1f9306b1f76b35e4d69233bbef487cb0d34bf33e29b3
+EBUILD glibc-2.39-r6.ebuild 55012 BLAKE2B 1e9bb36ab2bbf8c0333dc7e7110830b72aab75f3caed9ee5c9f910455c40645999330f919ef67e4e3a1fabc9c4a15ec187877bd365df7dfe476a5bad61c3cc62 SHA512 cd7d5abaf050b8967b23888b832b341f87e1ffd12abd0aa6cf7c4418ca8a6c22804a7f59624480a7e04abb73655e2e1d2df98bc15ee05aaa1311687042439f23
+EBUILD glibc-2.40-r5.ebuild 54665 BLAKE2B 5e853274e02f2796d191560977e5057e66a7d7edfca9cc1c132d203df48823976ce444e70aff7a0b70dc81d901cb06009b0d431003a61c45cab387188627da0d SHA512 c082429abb9c6794fbb6c88529c5d0e480d55a73ce99116fec87cc1b3483c4983c772fe82793c246f580cd8c746f918e5039b53f1ec299b50e1c291e8725d4fc
+EBUILD glibc-9999.ebuild 54671 BLAKE2B fecbf8270a6d47d23491208f6c9da312a9a98cad00eec6e67197a43eee010b331168a74b6fffbcef5d478e610bed56a148981daf04c8e86edc1e14381f482063 SHA512 64da9826e980ae3e95838e6194f546543843d824fd274fa8db90f08b3dd6fe6c9a8e913d30b435368b43b50dd576f93907a92a50cebab5be1edc51b5a16586ce
MISC metadata.xml 2142 BLAKE2B 765ba540eb10afccd1bade4de56f0c13ce269225500a62d1d17328194de69e7fa15d359a14eac6bfa8a36df45344db3d52f5e1811b174cf1fa2bfb95ad7760a7 SHA512 2f4a148c076a0967663d14e76b85a698ddae7093ff299b0dc95a6c3b00957c9bf73443f2bace9670eb62a45465efbcca892bb52b6aac8577acb2bc5f74a7397c
diff --git a/sys-libs/glibc/files/2.25/glibc-2.25-gentoo-chk_fail.c b/sys-libs/glibc/files/2.25/glibc-2.25-gentoo-chk_fail.c
deleted file mode 100644
index 2ef96b75eacf..000000000000
--- a/sys-libs/glibc/files/2.25/glibc-2.25-gentoo-chk_fail.c
+++ /dev/null
@@ -1,303 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
- Copyright (C) 2006-2014 Gentoo Foundation Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-/* Hardened Gentoo SSP and FORTIFY handler
-
- A failure handler that does not use functions from the rest of glibc;
- it uses the INTERNAL_SYSCALL methods directly. This helps ensure no
- possibility of recursion into the handler.
-
- Direct all bug reports to http://bugs.gentoo.org/
-
- People who have contributed significantly to the evolution of this file:
- Ned Ludd - <solar[@]gentoo.org>
- Alexander Gabert - <pappy[@]gentoo.org>
- The PaX Team - <pageexec[@]freemail.hu>
- Peter S. Mazinger - <ps.m[@]gmx.net>
- Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
- Robert Connolly - <robert[@]linuxfromscratch.org>
- Cory Visi <cory[@]visi.name>
- Mike Frysinger <vapier[@]gentoo.org>
- Magnus Granberg <zorry[@]gentoo.org>
- Kevin F. Quinn - <kevquinn[@]gentoo.org>
- */
-
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <signal.h>
-
-#include <sys/types.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-#include <kernel-features.h>
-
-#include <alloca.h>
-/* from sysdeps */
-#include <socketcall.h>
-/* for the stuff in bits/socket.h */
-#include <sys/socket.h>
-#include <sys/un.h>
-
-/* Sanity check on SYSCALL macro names - force compilation
- * failure if the names used here do not exist
- */
-#if !defined __NR_socketcall && !defined __NR_socket
-# error Cannot do syscall socket or socketcall
-#endif
-#if !defined __NR_socketcall && !defined __NR_connect
-# error Cannot do syscall connect or socketcall
-#endif
-#ifndef __NR_write
-# error Cannot do syscall write
-#endif
-#ifndef __NR_close
-# error Cannot do syscall close
-#endif
-#ifndef __NR_getpid
-# error Cannot do syscall getpid
-#endif
-#ifndef __NR_kill
-# error Cannot do syscall kill
-#endif
-#ifndef __NR_exit
-# error Cannot do syscall exit
-#endif
-#ifdef SSP_SMASH_DUMPS_CORE
-# define ENABLE_SSP_SMASH_DUMPS_CORE 1
-# if !defined _KERNEL_NSIG && !defined _NSIG
-# error No _NSIG or _KERNEL_NSIG for rt_sigaction
-# endif
-# if !defined __NR_sigaction && !defined __NR_rt_sigaction
-# error Cannot do syscall sigaction or rt_sigaction
-# endif
-/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size
- * of the _kernel_ sigset_t which is not the same as the user sigset_t.
- * Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for
- * some reason.
- */
-# ifdef _KERNEL_NSIG
-# define _SSP_NSIG _KERNEL_NSIG
-# else
-# define _SSP_NSIG _NSIG
-# endif
-#else
-# define _SSP_NSIG 0
-# define ENABLE_SSP_SMASH_DUMPS_CORE 0
-#endif
-
-/* Define DO_SIGACTION - default to newer rt signal interface but
- * fallback to old as needed.
- */
-#ifdef __NR_rt_sigaction
-# define DO_SIGACTION(signum, act, oldact) \
- INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8)
-#else
-# define DO_SIGACTION(signum, act, oldact) \
- INLINE_SYSCALL(sigaction, 3, signum, act, oldact)
-#endif
-
-/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */
-#if defined(__NR_socket) && defined(__NR_connect)
-# define USE_OLD_SOCKETCALL 0
-#else
-# define USE_OLD_SOCKETCALL 1
-#endif
-
-/* stub out the __NR_'s so we can let gcc optimize away dead code */
-#ifndef __NR_socketcall
-# define __NR_socketcall 0
-#endif
-#ifndef __NR_socket
-# define __NR_socket 0
-#endif
-#ifndef __NR_connect
-# define __NR_connect 0
-#endif
-#define DO_SOCKET(result, domain, type, protocol) \
- do { \
- if (USE_OLD_SOCKETCALL) { \
- socketargs[0] = domain; \
- socketargs[1] = type; \
- socketargs[2] = protocol; \
- socketargs[3] = 0; \
- result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \
- } else \
- result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \
- } while (0)
-#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \
- do { \
- if (USE_OLD_SOCKETCALL) { \
- socketargs[0] = sockfd; \
- socketargs[1] = (unsigned long int)serv_addr; \
- socketargs[2] = addrlen; \
- socketargs[3] = 0; \
- result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \
- } else \
- result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \
- } while (0)
-
-#ifndef _PATH_LOG
-# define _PATH_LOG "/dev/log"
-#endif
-
-static const char path_log[] = _PATH_LOG;
-
-/* For building glibc with SSP switched on, define __progname to a
- * constant if building for the run-time loader, to avoid pulling
- * in more of libc.so into ld.so
- */
-#ifdef IS_IN_rtld
-static const char *__progname = "<ldso>";
-#else
-extern const char *__progname;
-#endif
-
-#ifdef GENTOO_SSP_HANDLER
-# define ERROR_MSG "stack smashing"
-#else
-# define ERROR_MSG "buffer overflow"
-#endif
-
-/* Common handler code, used by chk_fail
- * Inlined to ensure no self-references to the handler within itself.
- * Data static to avoid putting more than necessary on the stack,
- * to aid core debugging.
- */
-__attribute__ ((__noreturn__, __always_inline__))
-static inline void
-__hardened_gentoo_fail(void)
-{
-#define MESSAGE_BUFSIZ 512
- static pid_t pid;
- static int plen, i, hlen;
- static char message[MESSAGE_BUFSIZ];
- /* <11> is LOG_USER|LOG_ERR. A dummy date for loggers to skip over. */
- static const char msg_header[] = "<11>" __DATE__ " " __TIME__ " glibc-gentoo-hardened-check: ";
- static const char msg_ssd[] = "*** " ERROR_MSG " detected ***: ";
- static const char msg_terminated[] = " terminated; ";
- static const char msg_report[] = "report to " REPORT_BUGS_TO "\n";
- static const char msg_unknown[] = "<unknown>";
- static int log_socket, connect_result;
- static struct sockaddr_un sock;
- static unsigned long int socketargs[4];
-
- /* Build socket address */
- sock.sun_family = AF_UNIX;
- i = 0;
- while (path_log[i] != '\0' && i < sizeof(sock.sun_path) - 1) {
- sock.sun_path[i] = path_log[i];
- ++i;
- }
- sock.sun_path[i] = '\0';
-
- /* Try SOCK_DGRAM connection to syslog */
- connect_result = -1;
- DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0);
- if (log_socket != -1)
- DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
- if (connect_result == -1) {
- if (log_socket != -1)
- INLINE_SYSCALL(close, 1, log_socket);
- /* Try SOCK_STREAM connection to syslog */
- DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0);
- if (log_socket != -1)
- DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
- }
-
- /* Build message. Messages are generated both in the old style and new style,
- * so that log watchers that are configured for the old-style message continue
- * to work.
- */
-#define strconcat(str) \
- ({ \
- i = 0; \
- while ((str[i] != '\0') && ((i + plen) < (MESSAGE_BUFSIZ - 1))) { \
- message[plen + i] = str[i]; \
- ++i; \
- } \
- plen += i; \
- })
-
- /* Tersely log the failure */
- plen = 0;
- strconcat(msg_header);
- hlen = plen;
- strconcat(msg_ssd);
- if (__progname != NULL)
- strconcat(__progname);
- else
- strconcat(msg_unknown);
- strconcat(msg_terminated);
- strconcat(msg_report);
-
- /* Write out error message to STDERR, to syslog if open */
- INLINE_SYSCALL(write, 3, STDERR_FILENO, message + hlen, plen - hlen);
- if (connect_result != -1) {
- INLINE_SYSCALL(write, 3, log_socket, message, plen);
- INLINE_SYSCALL(close, 1, log_socket);
- }
-
- /* Time to kill self since we have no idea what is going on */
- pid = INLINE_SYSCALL(getpid, 0);
-
- if (ENABLE_SSP_SMASH_DUMPS_CORE) {
- /* Remove any user-supplied handler for SIGABRT, before using it. */
-#if 0
- /*
- * Note: Disabled because some programs catch & process their
- * own crashes. We've already enabled this code path which
- * means we want to let core dumps happen.
- */
- static struct sigaction default_abort_act;
- default_abort_act.sa_handler = SIG_DFL;
- default_abort_act.sa_sigaction = NULL;
- __sigfillset(&default_abort_act.sa_mask);
- default_abort_act.sa_flags = 0;
- if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0)
-#endif
- INLINE_SYSCALL(kill, 2, pid, SIGABRT);
- }
-
- /* SIGKILL is only signal which cannot be caught */
- INLINE_SYSCALL(kill, 2, pid, SIGKILL);
-
- /* In case the kill didn't work, exit anyway.
- * The loop prevents gcc thinking this routine returns.
- */
- while (1)
- INLINE_SYSCALL(exit, 1, 137);
-}
-
-__attribute__ ((__noreturn__))
-#ifdef GENTOO_SSP_HANDLER
-void __stack_chk_fail(void)
-#else
-void __chk_fail(void)
-#endif
-{
- __hardened_gentoo_fail();
-}
-
-#ifdef GENTOO_SSP_HANDLER
-strong_alias (__stack_chk_fail, __stack_chk_fail_local)
-#endif
diff --git a/sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch b/sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch
deleted file mode 100644
index 299a6dae7dbe..000000000000
--- a/sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-https://sourceware.org/git/?p=glibc.git;a=patch;h=738ee53f0ce5e39b9b7a6777f5d3057afbaac498
-https://sourceware.org/git/?p=glibc.git;a=patch;h=d53b9cc391c72a1011ea8fe7a9f70dc5060a0db2
-
-From 738ee53f0ce5e39b9b7a6777f5d3057afbaac498 Mon Sep 17 00:00:00 2001
-From: John David Anglin <danglin@gcc.gnu.org>
-Date: Tue, 15 Mar 2022 23:12:37 +0000
-Subject: [PATCH] hppa: Implement swapcontext in assembler (bug 28960)
-
-When swapcontext.c is compiled without -g, the following error occurs:
-Error: CFI instruction used without previous .cfi_startproc
-
-Fix by converting swapcontext routine to assembler.
----
- sysdeps/unix/sysv/linux/hppa/swapcontext.S | 72 +++++++++++++++++++
- sysdeps/unix/sysv/linux/hppa/swapcontext.c | 83 ----------------------
- 2 files changed, 72 insertions(+), 83 deletions(-)
- create mode 100644 sysdeps/unix/sysv/linux/hppa/swapcontext.S
- delete mode 100644 sysdeps/unix/sysv/linux/hppa/swapcontext.c
-
-diff --git a/sysdeps/unix/sysv/linux/hppa/swapcontext.S b/sysdeps/unix/sysv/linux/hppa/swapcontext.S
-new file mode 100644
-index 0000000000..94b164dc63
---- /dev/null
-+++ b/sysdeps/unix/sysv/linux/hppa/swapcontext.S
-@@ -0,0 +1,72 @@
-+/* Swap to new context.
-+ Copyright (C) 2008-2022 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library. If not, see
-+ <https://www.gnu.org/licenses/>. */
-+
-+#include <sysdep.h>
-+#include "ucontext_i.h"
-+
-+ .text
-+ENTRY(__swapcontext)
-+
-+ /* Copy rp to ret0 (r28). */
-+ copy %rp,%ret0
-+
-+ /* Create a frame. */
-+ ldo 64(%sp),%sp
-+ .cfi_def_cfa_offset -64
-+
-+ /* Save the current machine context to oucp. */
-+ bl __getcontext,%rp
-+
-+ /* Copy oucp to register ret1 (r29). __getcontext saves and
-+ restores it on a normal return. It is restored from oR29
-+ on reactivation. */
-+ copy %r26,%ret1
-+
-+ /* Pop frame. */
-+ ldo -64(%sp),%sp
-+ .cfi_def_cfa_offset 0
-+
-+ /* Load return pointer from oR28. */
-+ ldw oR28(%ret1),%rp
-+
-+ /* Return if error. */
-+ or,= %r0,%ret0,%r0
-+ bv,n %r0(%rp)
-+
-+ /* Load sc_sar flag. */
-+ ldb oSAR(%ret1),%r20
-+
-+ /* Return if oucp context has been reactivated. */
-+ or,= %r0,%r20,%r0
-+ bv,n %r0(%rp)
-+
-+ /* Mark sc_sar flag. */
-+ ldi 1,%r20
-+ stb %r20,oSAR(%ret1)
-+
-+ /* Activate the machine context in ucp. */
-+ bl __setcontext,%rp
-+ ldw oR25(%ret1),%r26
-+
-+ /* Load return pointer. */
-+ ldw oR28(%ret1),%rp
-+ bv,n %r0(%rp)
-+
-+PSEUDO_END(__swapcontext)
-+
-+weak_alias (__swapcontext, swapcontext)
-diff --git a/sysdeps/unix/sysv/linux/hppa/swapcontext.c b/sysdeps/unix/sysv/linux/hppa/swapcontext.c
-deleted file mode 100644
-index 1664f68c7b..0000000000
---- a/sysdeps/unix/sysv/linux/hppa/swapcontext.c
-+++ /dev/null
-@@ -1,83 +0,0 @@
--/* Swap to new context.
-- Copyright (C) 2008-2021 Free Software Foundation, Inc.
-- This file is part of the GNU C Library.
-- Contributed by Helge Deller <deller@gmx.de>, 2008.
--
-- The GNU C Library is free software; you can redistribute it and/or
-- modify it under the terms of the GNU Lesser General Public
-- License as published by the Free Software Foundation; either
-- version 2.1 of the License, or (at your option) any later version.
--
-- The GNU C Library is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- Lesser General Public License for more details.
--
-- You should have received a copy of the GNU Lesser General Public
-- License along with the GNU C Library. If not, see
-- <https://www.gnu.org/licenses/>. */
--
--#include <ucontext.h>
--#include "ucontext_i.h"
--
--extern int __getcontext (ucontext_t *ucp);
--extern int __setcontext (const ucontext_t *ucp);
--
--int
--__swapcontext (ucontext_t *oucp, const ucontext_t *ucp)
--{
-- /* Save rp for debugger. */
-- asm ("stw %rp,-20(%sp)");
-- asm (".cfi_offset 2, -20");
--
-- /* Copy rp to ret0 (r28). */
-- asm ("copy %rp,%ret0");
--
-- /* Create a frame. */
-- asm ("ldo 64(%sp),%sp");
-- asm (".cfi_def_cfa_offset -64");
--
-- /* Save the current machine context to oucp. */
-- asm ("bl __getcontext,%rp");
--
-- /* Copy oucp to register ret1 (r29). __getcontext saves and restores it
-- on a normal return. It is restored from oR29 on reactivation. */
-- asm ("copy %r26,%ret1");
--
-- /* Pop frame. */
-- asm ("ldo -64(%sp),%sp");
-- asm (".cfi_def_cfa_offset 0");
--
-- /* Load return pointer from oR28. */
-- asm ("ldw %0(%%ret1),%%rp" : : "i" (oR28));
--
-- /* Return if error. */
-- asm ("or,= %r0,%ret0,%r0");
-- asm ("bv,n %r0(%rp)");
--
-- /* Load sc_sar flag. */
-- asm ("ldb %0(%%ret1),%%r20" : : "i" (oSAR));
--
-- /* Return if oucp context has been reactivated. */
-- asm ("or,= %r0,%r20,%r0");
-- asm ("bv,n %r0(%rp)");
--
-- /* Mark sc_sar flag. */
-- asm ("1: ldi 1,%r20");
-- asm ("stb %%r20,%0(%%ret1)" : : "i" (oSAR));
--
-- /* Activate the machine context in ucp. */
-- asm ("bl __setcontext,%rp");
-- asm ("ldw %0(%%ret1),%%r26" : : "i" (oR25));
--
-- /* Load return pointer. */
-- asm ("ldw %0(%%ret1),%%rp" : : "i" (oR28));
--
-- /* A successful call to setcontext does not return. */
-- asm ("bv,n %r0(%rp)");
--
-- /* Make gcc happy. */
-- return 0;
--}
--
--weak_alias (__swapcontext, swapcontext)
---
-2.27.0
-
-
-From d53b9cc391c72a1011ea8fe7a9f70dc5060a0db2 Mon Sep 17 00:00:00 2001
-From: John David Anglin <danglin@gcc.gnu.org>
-Date: Tue, 15 Mar 2022 23:04:39 +0000
-Subject: [PATCH] hppa: Use END instead of PSEUDO_END in swapcontext.S
-
-(cherry picked from commit 7a5c440102d4ec7fafd9bbd98eca9bd90ecaaafd)
----
- sysdeps/unix/sysv/linux/hppa/swapcontext.S | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sysdeps/unix/sysv/linux/hppa/swapcontext.S b/sysdeps/unix/sysv/linux/hppa/swapcontext.S
-index 94b164dc63..fbc22586d1 100644
---- a/sysdeps/unix/sysv/linux/hppa/swapcontext.S
-+++ b/sysdeps/unix/sysv/linux/hppa/swapcontext.S
-@@ -67,6 +67,6 @@ ENTRY(__swapcontext)
- ldw oR28(%ret1),%rp
- bv,n %r0(%rp)
-
--PSEUDO_END(__swapcontext)
-+END(__swapcontext)
-
- weak_alias (__swapcontext, swapcontext)
---
-2.27.0
diff --git a/sys-libs/glibc/files/glibc-2.40-libio-legacy.patch b/sys-libs/glibc/files/glibc-2.40-libio-legacy.patch
deleted file mode 100644
index e0b3b6c35455..000000000000
--- a/sys-libs/glibc/files/glibc-2.40-libio-legacy.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-https://bugs.gentoo.org/939446
-https://sourceware.org/PR32164
-https://sourceware.org/git/?p=glibc.git;a=commit;h=7073164add3b874cf0c19ca0fb84236f6bb0985d
-
-From 7073164add3b874cf0c19ca0fb84236f6bb0985d Mon Sep 17 00:00:00 2001
-From: Siddhesh Poyarekar <siddhesh@sourceware.org>
-Date: Tue, 3 Sep 2024 14:58:33 -0400
-Subject: [PATCH] libio: Attempt wide backup free only for non-legacy code
-
-_wide_data and _mode are not available in legacy code, so do not attempt
-to free the wide backup buffer in legacy code.
-
-Resolves: BZ #32137 and BZ #27821
-
-Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
-Reviewed-by: Florian Weimer <fweimer@redhat.com>
-(cherry picked from commit ae4d44b1d501421ad9a3af95279b8f4d1546f1ce)
---- a/libio/genops.c
-+++ b/libio/genops.c
-@@ -819,7 +819,7 @@ _IO_unbuffer_all (void)
- /* Free up the backup area if it was ever allocated. */
- if (_IO_have_backup (fp))
- _IO_free_backup_area (fp);
-- if (fp->_mode > 0 && _IO_have_wbackup (fp))
-+ if (!legacy && fp->_mode > 0 && _IO_have_wbackup (fp))
- _IO_free_wbackup_area (fp);
-
- if (! (fp->_flags & _IO_UNBUFFERED)
---
-2.43.5
diff --git a/sys-libs/glibc/glibc-2.19-r3.ebuild b/sys-libs/glibc/glibc-2.19-r3.ebuild
index c0f528d06063..7d492b72364a 100644
--- a/sys-libs/glibc/glibc-2.19-r3.ebuild
+++ b/sys-libs/glibc/glibc-2.19-r3.ebuild
@@ -346,6 +346,11 @@ setup_flags() {
# glibc aborts if rpath is set by LDFLAGS
filter-ldflags '-Wl,-rpath=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# #492892
filter-flags -frecord-gcc-switches
diff --git a/sys-libs/glibc/glibc-2.31-r7.ebuild b/sys-libs/glibc/glibc-2.31-r7.ebuild
index 0c3ee20d2b3e..7df8f5816447 100644
--- a/sys-libs/glibc/glibc-2.31-r7.ebuild
+++ b/sys-libs/glibc/glibc-2.31-r7.ebuild
@@ -378,6 +378,11 @@ setup_flags() {
# glibc aborts if rpath is set by LDFLAGS
filter-ldflags '-Wl,-rpath=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# #492892
filter-flags -frecord-gcc-switches
diff --git a/sys-libs/glibc/glibc-2.32-r8.ebuild b/sys-libs/glibc/glibc-2.32-r8.ebuild
index e787a3de2ef7..656ad5161a27 100644
--- a/sys-libs/glibc/glibc-2.32-r8.ebuild
+++ b/sys-libs/glibc/glibc-2.32-r8.ebuild
@@ -395,6 +395,11 @@ setup_flags() {
# glibc aborts if rpath is set by LDFLAGS
filter-ldflags '-Wl,-rpath=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# #492892
filter-flags -frecord-gcc-switches
diff --git a/sys-libs/glibc/glibc-2.33-r14.ebuild b/sys-libs/glibc/glibc-2.33-r14.ebuild
index ca3fb42335ea..5e23df0069e8 100644
--- a/sys-libs/glibc/glibc-2.33-r14.ebuild
+++ b/sys-libs/glibc/glibc-2.33-r14.ebuild
@@ -411,6 +411,11 @@ setup_flags() {
# https://sourceware.org/PR27837
filter-ldflags '-Wl,--relax'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# #492892
filter-flags -frecord-gcc-switches
diff --git a/sys-libs/glibc/glibc-2.34-r14.ebuild b/sys-libs/glibc/glibc-2.34-r14.ebuild
index 3a2d7ac313da..e23b9ae35e9c 100644
--- a/sys-libs/glibc/glibc-2.34-r14.ebuild
+++ b/sys-libs/glibc/glibc-2.34-r14.ebuild
@@ -415,6 +415,11 @@ setup_flags() {
# https://sourceware.org/PR27837
filter-ldflags '-Wl,--relax'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# #492892
filter-flags -frecord-gcc-switches
diff --git a/sys-libs/glibc/glibc-2.35-r11.ebuild b/sys-libs/glibc/glibc-2.35-r11.ebuild
index e51499d04e05..0c2aec0025e0 100644
--- a/sys-libs/glibc/glibc-2.35-r11.ebuild
+++ b/sys-libs/glibc/glibc-2.35-r11.ebuild
@@ -428,6 +428,11 @@ setup_flags() {
# https://sourceware.org/PR27837
filter-ldflags '-Wl,--relax'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# #492892
filter-flags -frecord-gcc-switches
diff --git a/sys-libs/glibc/glibc-2.36-r8.ebuild b/sys-libs/glibc/glibc-2.36-r8.ebuild
index 471ede5408d3..cb6ddba38eb7 100644
--- a/sys-libs/glibc/glibc-2.36-r8.ebuild
+++ b/sys-libs/glibc/glibc-2.36-r8.ebuild
@@ -434,6 +434,11 @@ setup_flags() {
# https://sourceware.org/PR27837
filter-ldflags '-Wl,--relax'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# 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
diff --git a/sys-libs/glibc/glibc-2.37-r10.ebuild b/sys-libs/glibc/glibc-2.37-r10.ebuild
index e5de30df953c..e323ee8ae32d 100644
--- a/sys-libs/glibc/glibc-2.37-r10.ebuild
+++ b/sys-libs/glibc/glibc-2.37-r10.ebuild
@@ -449,6 +449,11 @@ setup_flags() {
# https://sourceware.org/PR27837
filter-ldflags '-Wl,--relax'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# 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
diff --git a/sys-libs/glibc/glibc-2.38-r13.ebuild b/sys-libs/glibc/glibc-2.38-r13.ebuild
index 01d2fa89a416..5bba661e9e91 100644
--- a/sys-libs/glibc/glibc-2.38-r13.ebuild
+++ b/sys-libs/glibc/glibc-2.38-r13.ebuild
@@ -454,6 +454,11 @@ setup_flags() {
# anyway because glibc already handles this by itself.
filter-ldflags '-Wl,--dynamic-linker=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# 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
diff --git a/sys-libs/glibc/glibc-2.40.ebuild b/sys-libs/glibc/glibc-2.39-r11.ebuild
index 06d8ace60926..d42b4f42bc0c 100644
--- a/sys-libs/glibc/glibc-2.40.ebuild
+++ b/sys-libs/glibc/glibc-2.39-r11.ebuild
@@ -12,7 +12,7 @@ TMPFILES_OPTIONAL=1
EMULTILIB_PKG="true"
# Gentoo patchset (ignored for live ebuilds)
-PATCH_VER=1
+PATCH_VER=11
PATCH_DEV=dilfridge
# gcc mulitilib bootstrap files version
@@ -41,7 +41,7 @@ HOMEPAGE="https://www.gnu.org/software/libc/"
if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~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
@@ -465,6 +465,11 @@ setup_flags() {
# anyway because glibc already handles this by itself.
filter-ldflags '-Wl,--dynamic-linker=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# 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
diff --git a/sys-libs/glibc/glibc-2.39-r6.ebuild b/sys-libs/glibc/glibc-2.39-r6.ebuild
index 2c6ad99b5569..d6ca7cba9e5b 100644
--- a/sys-libs/glibc/glibc-2.39-r6.ebuild
+++ b/sys-libs/glibc/glibc-2.39-r6.ebuild
@@ -472,6 +472,11 @@ setup_flags() {
# anyway because glibc already handles this by itself.
filter-ldflags '-Wl,--dynamic-linker=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# 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
diff --git a/sys-libs/glibc/glibc-2.39-r7.ebuild b/sys-libs/glibc/glibc-2.39-r7.ebuild
deleted file mode 100644
index f8c05e930e61..000000000000
--- a/sys-libs/glibc/glibc-2.39-r7.ebuild
+++ /dev/null
@@ -1,1750 +0,0 @@
-# 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=7
-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 ~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
-)
-
-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"
-
- # Workaround for bug #823780.
- # Need to save/restore CC because earlier on, we stuff it full of CFLAGS, and tc-getCPP doesn't like that.
- CC_mangled=${CC}
- CC=${glibc__GLIBC_CC}
- if tc-is-gcc && (($(gcc-major-version) == 11)) && (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then
- export CFLAGS_x86="${CFLAGS_x86} -mno-avx512f"
- einfo "Auto adding -mno-avx512f to CFLAGS_x86 for buggy GCC version (bug #823780) (ABI=${ABI})"
- fi
- CC=${CC_mangled}
- 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
-
- # #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 non-bfd (for various reasons):
- # * gold (bug #269274)
- # * mold (bug #860900)
- tc-ld-force-bfd
-
- 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 supporing IFUNC. glibc's ./configure
- # is not robust enough to detect proper support:
- # https://bugs.gentoo.org/641216
- # https://sourceware.org/PR22634#c0
- case $(tc-arch ${CTARGET}) in
- # Keep whitelist of targets where autodetection mostly works.
- amd64|x86|sparc|ppc|ppc64|arm|arm64|s390|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-2.40-r2.ebuild b/sys-libs/glibc/glibc-2.40-r2.ebuild
deleted file mode 100644
index a81158564242..000000000000
--- a/sys-libs/glibc/glibc-2.40-r2.ebuild
+++ /dev/null
@@ -1,1747 +0,0 @@
-# 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=2
-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 ~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 non-bfd (for various reasons):
- # * gold (bug #269274)
- # * mold (bug #860900)
- tc-ld-force-bfd
-
- 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
- eapply "${FILESDIR}"/${P}-libio-legacy.patch
- 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-2.40-r3.ebuild b/sys-libs/glibc/glibc-2.40-r3.ebuild
deleted file mode 100644
index 038ecf46f641..000000000000
--- a/sys-libs/glibc/glibc-2.40-r3.ebuild
+++ /dev/null
@@ -1,1746 +0,0 @@
-# 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=3
-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 ~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 non-bfd (for various reasons):
- # * gold (bug #269274)
- # * mold (bug #860900)
- tc-ld-force-bfd
-
- 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-2.39-r9.ebuild b/sys-libs/glibc/glibc-2.40-r5.ebuild
index 2f0b1d9a004d..01aac3024740 100644
--- a/sys-libs/glibc/glibc-2.39-r9.ebuild
+++ b/sys-libs/glibc/glibc-2.40-r5.ebuild
@@ -6,13 +6,13 @@ 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} )
+PYTHON_COMPAT=( python3_{10..13} )
TMPFILES_OPTIONAL=1
EMULTILIB_PKG="true"
# Gentoo patchset (ignored for live ebuilds)
-PATCH_VER=9
+PATCH_VER=5
PATCH_DEV=dilfridge
# gcc mulitilib bootstrap files version
@@ -41,7 +41,7 @@ HOMEPAGE="https://www.gnu.org/software/libc/"
if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+ KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~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
@@ -465,6 +465,11 @@ setup_flags() {
# anyway because glibc already handles this by itself.
filter-ldflags '-Wl,--dynamic-linker=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# 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
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index 413d47b0d8f5..dee2d1b66c49 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -6,7 +6,7 @@ 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} )
+PYTHON_COMPAT=( python3_{10..13} )
TMPFILES_OPTIONAL=1
EMULTILIB_PKG="true"
@@ -465,6 +465,11 @@ setup_flags() {
# anyway because glibc already handles this by itself.
filter-ldflags '-Wl,--dynamic-linker=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# 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
diff --git a/sys-libs/kpmcore/Manifest b/sys-libs/kpmcore/Manifest
index 6474a22a3e6b..fd3884085d98 100644
--- a/sys-libs/kpmcore/Manifest
+++ b/sys-libs/kpmcore/Manifest
@@ -1,7 +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
DIST kpmcore-24.08.1.tar.xz 646236 BLAKE2B 6aad38f47eb91a3584e061969daa01b91f134d4748b18e2b7e0e4899ab8dde2921bb8200802c8ba32ccd26209d7ba83403e5e15791234453df52ac2333b48acf SHA512 a1cf103da634056247d17dfb134595a21528eab4a6d091d8320ce8eebe0cabf979e9955d0fc4fa5bebcda601b4fd83b3b032302d1e7d9591618bb335ebed557f
-EBUILD kpmcore-23.08.5.ebuild 743 BLAKE2B 070cbc8ee445446ad57504f930d233b85eccb15f580985c643f2dd8ee2a58cab1701b5263e5a5c0474c178e376643a1c85e1b604661b85db187b59946eb01473 SHA512 15b1af85381a3664f5d9090566e98cc367b59652d4c388408a74668cedb95c3e0891154be2b7007c28abe9b54af9d63979e0ae9defe2a3e77ebed5a88a0beb1c
-EBUILD kpmcore-24.05.2.ebuild 686 BLAKE2B 4a0128f45e8bcd3faf391342388af5c63467cf69c9f0f74bcac289c72648b14df688b525e31d6bf9075d129299712e9c696360aa8bf7fd0e48f9208dca4f7ca5 SHA512 17813413958a58dc78e92522b839b9b35830d085746e39f861a96463464218e641bd917d59ab7954526a7a1da218c962cd40dff1d26315fcf44a62f517b9a9df
-EBUILD kpmcore-24.08.1.ebuild 699 BLAKE2B 64c13f02ec70b1e5a5c204fae8fb06566291839102e419054236a0fa93a3f58e644a51b36ad37503c98ab9c2520f7beb2ee3cf434022ab90f4afd1a38f18c6d5 SHA512 a203739cabad0e80c69f04fd787a63537fcdde4f243436bbe694f5523a39705b97aeb6f69a726d199997f98e5704b369bc1446ab7a43f9ff97554380091de57d
+DIST kpmcore-24.08.3.tar.xz 646392 BLAKE2B 539170f6fcea02859eac5b243fffc387b7ebc8dbb0dd780752485abb3cd9f512b1a299852e5c225230037e2859c73bd5d012c04d4b4274c6ba95dc223ba7d2ce SHA512 8a35caed3ad889ed1ae9fc6e5e59bb21390aedd3b80657002550dd2ac5030d42bff84e73449fa791886d6d0003b1069b02599b11989698315355ce722c7b18d8
+EBUILD kpmcore-24.08.1.ebuild 697 BLAKE2B db1362ea67ac83bd8ae527bab7d0f9ac7ca6cd1dc8d839843f0dead977802a3c008f180d32e1b0a1db4649a2bfed33218c79d31a5469899df88153426978410b SHA512 a582eb4895163f6bca51418d6bd430942bfbf92289c01691de6023f9708eae32486dc6da2a93905237dfd46473681cbc420bfde91a072ed262d5e29c61bebae6
+EBUILD kpmcore-24.08.3.ebuild 699 BLAKE2B 64c13f02ec70b1e5a5c204fae8fb06566291839102e419054236a0fa93a3f58e644a51b36ad37503c98ab9c2520f7beb2ee3cf434022ab90f4afd1a38f18c6d5 SHA512 a203739cabad0e80c69f04fd787a63537fcdde4f243436bbe694f5523a39705b97aeb6f69a726d199997f98e5704b369bc1446ab7a43f9ff97554380091de57d
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
deleted file mode 100644
index 99c98265b8dc..000000000000
--- a/sys-libs/kpmcore/kpmcore-23.08.5.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_NONGUI="true"
-KFMIN=5.106.0
-QTMIN=5.15.9
-inherit ecm gear.kde.org
-
-DESCRIPTION="Library for managing partitions"
-HOMEPAGE="https://apps.kde.org/partitionmanager/"
-
-LICENSE="GPL-3"
-SLOT="5/10"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 x86"
-
-# bug 689468, tests need polkit etc.
-RESTRICT="test"
-
-BDEPEND="virtual/pkgconfig"
-DEPEND="
- >=dev-qt/qtdbus-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
- >=sys-apps/util-linux-2.33.2
- >=sys-auth/polkit-qt-0.113.0[qt5(+)]
-"
-RDEPEND="${DEPEND}"
diff --git a/sys-libs/kpmcore/kpmcore-24.08.1.ebuild b/sys-libs/kpmcore/kpmcore-24.08.1.ebuild
index b9ff47bc8a51..e93086808434 100644
--- a/sys-libs/kpmcore/kpmcore-24.08.1.ebuild
+++ b/sys-libs/kpmcore/kpmcore-24.08.1.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://apps.kde.org/partitionmanager/"
LICENSE="GPL-3"
SLOT="6/10"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 arm64 ~ppc64 ~x86"
IUSE=""
# bug 689468, tests need polkit etc.
diff --git a/sys-libs/kpmcore/kpmcore-24.05.2.ebuild b/sys-libs/kpmcore/kpmcore-24.08.3.ebuild
index ff244a505a21..b9ff47bc8a51 100644
--- a/sys-libs/kpmcore/kpmcore-24.05.2.ebuild
+++ b/sys-libs/kpmcore/kpmcore-24.08.3.ebuild
@@ -4,8 +4,8 @@
EAPI=8
ECM_NONGUI="true"
-KFMIN=6.3.0
-QTMIN=6.6.2
+KFMIN=6.5.0
+QTMIN=6.7.2
inherit ecm gear.kde.org
DESCRIPTION="Library for managing partitions"
@@ -13,7 +13,8 @@ HOMEPAGE="https://apps.kde.org/partitionmanager/"
LICENSE="GPL-3"
SLOT="6/10"
-KEYWORDS="amd64 arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE=""
# bug 689468, tests need polkit etc.
RESTRICT="test"
@@ -24,7 +25,7 @@ DEPEND="
>=kde-frameworks/ki18n-${KFMIN}:6
>=kde-frameworks/kwidgetsaddons-${KFMIN}:6
>=sys-apps/util-linux-2.33.2
- >=sys-auth/polkit-qt-0.175.0[qt6]
+ >=sys-auth/polkit-qt-0.175.0[qt6(+)]
"
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
diff --git a/sys-libs/ldb/Manifest b/sys-libs/ldb/Manifest
index c5baf8d059f1..a860a2c3a209 100644
--- a/sys-libs/ldb/Manifest
+++ b/sys-libs/ldb/Manifest
@@ -4,14 +4,10 @@ AUX ldb-1.5.2-optional_packages.patch 1441 BLAKE2B 0b9413cd9690aae2b2eb26f097d25
AUX ldb-2.4.2-skip-32bit-time_t-tests.patch 1308 BLAKE2B 1ff687160b92c5395c7838ade8af32ba77637a2b18153d146b9e1496f96ec9c411cc5e5f9721a8dea1730118e6574a091ee7fd1edca1830cc54c5d4fddb007ab SHA512 27a35123cb9a1f6e39b88c91de8241ecfc0f0ed125a235ba26b95767dc3121d176b267ba97b1579e5b68cfb9e3879f40326f0163a31e311f01a1b2eb7751caf4
AUX ldb-2.5.2-skip-waf-tevent-check.patch 606 BLAKE2B 9cfe1afd1adfca20e1fcdead2f2a60f52a64f181b85c227be6cf9c9373a64528afbe4e9db1970e8316d5bddf76ba9395a75b194f27bcf25eb4d2e7695c5530eb SHA512 19028447cbde09a425f1a07fe2d9a2a6f16cada1785e6e9684a8b573db5705b6694a29cd6f5480047360920562fcc654fc10faad39e73c565f7d475558cb57c8
AUX ldb-2.9.0-optional_packages.patch 1568 BLAKE2B 723a36ca839e085dd264c9a00895f2be8dbc65dce4a523e07da2c177372cb70557bbe337e9fcfe2b7dbbedcb684e565607ddd80ce4d9e0c936f74cc8fa30c94d SHA512 9321a12f927163c95658c2a4c03e2ade3c6506bced8663a48d6ef3bbca57708fa1570a96be180b7844bc22bb5f6d4b73b722ab9bb12ded66678d8ba12f624e46
-DIST ldb-2.7.2.tar.gz 1737849 BLAKE2B 0aa70d8a4827448e41874db97130f18d17683c800b8f03f9940b4852e24fd6092052f6e70aae845c587939b9be16c80d7a920f6b874a746f923c4513b73d2afc SHA512 beb2cd83a8f128713e0b43ec6e80d0f87ab0883c6c8f0cefbbf5bf49e29dfa327b245b78467d1906917cb5f3f11e01cb76cc6bcca58a47c5deac4f05c2e9dfbd
-DIST ldb-2.8.0.tar.gz 1747616 BLAKE2B 19fd4cc0893ca36e7aa65eb605b050e3faeb7add6c00a2dfd8415334c58b7dc644ffaad41c24fe358b39292aaa581e3231e6b8161b03c073e903cdae16050ac5 SHA512 b6f289af3137e02a8e3ee0588bc300d1756b8980558e0b3a3a9eee4449100ccd42ed873187dbdb334e7e7834a8bff8478cd4f20588d4ca834d9ea14c0ee2c2f9
DIST ldb-2.8.1.tar.gz 1745790 BLAKE2B 7b0fb70b510da85e9b1e67e9485ed9caf7635d4709e855f46243746f3a65cb9ccc1958f151868261b4aeb4efc6e6aa0054e19cf8f43b8bbebd7d41630af29cc7 SHA512 37e53cee1361303398cb0366760f08f2f306ed08c98354f5eb9ab2330d67b866ed0af07b252c204f77bbb260fe911337f3585015305b9d5e0ab2fcea6761b164
-DIST ldb-2.9.0.tar.gz 1757213 BLAKE2B 6d24ced193a64e723da65f26a055b97e5c5645b0ce17263073db997e9310509c788e7739136b70d099d171d1d0cbbe43bb43ea50746d876d74a1be06fa2fc36f SHA512 b5cfbbcb2c35d6830bf1a7c85e1d4363728ae474504441add54c4c8569316b26aedbf6fb9f561ec4f187eb5a847ac76af07396e38d00e6f7632b63e02d7b64a1
+DIST ldb-2.8.2.tar.gz 1746336 BLAKE2B f3eeb9d103718c2dac9b81b85f4f5d8d214209ae4c8fe1267a40e1c5dae792f9ea991c4301fe7ff7e63ff0cd8eab51fd8212b0cf555a4c9ba90b8d761ca71b39 SHA512 df1c228307ede75920a927ae3124cd0d507dfcf00f93b6f5c14b79f4e1a23dbe00249bc92b3ee3ed1e5ce06fe363f0be1eb3dab491fbe79e83b1a1b35a6e50e1
DIST ldb-2.9.1.tar.gz 1752372 BLAKE2B dcff2bf54a31c787504eb206453f46f3ab5b7e106a9b0978ee3f2f3d5ef267d60cb0c21864bb78c31f71b815051757bd4becf6379ea26d32e151489e09835569 SHA512 a7384d5b88b1b2edc1ac40f38f74b8b2eb403610d158c579a862007801586a4ad1ba11019737ecad8a83e8f2d1ae7ae16ec7e92c58f60feb2d6fed84c4212265
-EBUILD ldb-2.7.2.ebuild 4799 BLAKE2B da7675c89eea652d2cc04d10071ec5aa7b4b262386b69bc65a281cff0dbf684887e20482846d5eb3cf1f99216a48b9496da2d98b396620fa90cc733395fb28e9 SHA512 8ec94287a95b5d4cccde368fc824f311914a64f5cda5548045373e6c01491e3ca1c90fa98240ca73274e79f5cb9e48e759882cccbd3f68d1934b70c6138be2e6
-EBUILD ldb-2.8.0.ebuild 4800 BLAKE2B 7643935dc7e272c6a4a54d603258fed4ab5b7d836fe4914c6d9a438ed4466c17a204bfd5c550f62f2a3dde31cc794019ad37e21a026848541cea60fb7774d18d SHA512 811ec6c2610d32442689c0711e6a76a1d1ad95f6a20553fd8b119d95b977a3c1b859248235ba241edeed067cb7f94664bbd629e6b8d1d510e63f93bb29fef9c6
-EBUILD ldb-2.8.1.ebuild 4806 BLAKE2B df6c86d5128495cc3a8948da9ff4eabe3d092001da9f86f3332ca148fdd5db11630aa6d1e236f72d16e7abecd576c2a73835bece3e52d5d8bf06203d085a7746 SHA512 1d9115dec2e67554a49b5921942a461a6c66c024322ac6f4e28c2a366cb3b1a284d051356a903d607571932d124f1ee980794bed57dc86811372adfed721208f
-EBUILD ldb-2.9.0.ebuild 4770 BLAKE2B 76dd5945bb42e5f3c92c7b709ba594ea168efc9b5a244cd06b27743dcde330df98e7f456874e0735ac2b9256787ab68db48badeadc4b855307b229bce449fe98 SHA512 5037421477b1d46f58bd259a45846607f192f650f47a3e60340c8e61215eff2d839fb70e94ddb9264371c68681a54302612f5e96b66435ac23a7205b68b6acec
-EBUILD ldb-2.9.1.ebuild 4770 BLAKE2B 76dd5945bb42e5f3c92c7b709ba594ea168efc9b5a244cd06b27743dcde330df98e7f456874e0735ac2b9256787ab68db48badeadc4b855307b229bce449fe98 SHA512 5037421477b1d46f58bd259a45846607f192f650f47a3e60340c8e61215eff2d839fb70e94ddb9264371c68681a54302612f5e96b66435ac23a7205b68b6acec
+EBUILD ldb-2.8.1.ebuild 4799 BLAKE2B 94ce01db89eb2070f8da98567664fba8da117e0d529d098aea09ba184eda1331cf8ab8f634e9b1b757ceb7c0ab2cfc179aee5447e6e3ff5a257dc52d0b03f049 SHA512 5a839366e448e5d86acf8ea4573c8f5e5751e7b18a6c4a34b18c4461f952816a5943dd80b1d1d2b12af9ca33ddbde00219b215fff295e2f0f81f722cc1c11d46
+EBUILD ldb-2.8.2.ebuild 4806 BLAKE2B df6c86d5128495cc3a8948da9ff4eabe3d092001da9f86f3332ca148fdd5db11630aa6d1e236f72d16e7abecd576c2a73835bece3e52d5d8bf06203d085a7746 SHA512 1d9115dec2e67554a49b5921942a461a6c66c024322ac6f4e28c2a366cb3b1a284d051356a903d607571932d124f1ee980794bed57dc86811372adfed721208f
+EBUILD ldb-2.9.1.ebuild 4770 BLAKE2B 2e2d38b6aa04ddc5c5707a2b3b1da41833e374fdcffd9f86c9c83431f81f224f98eddd4647962a7a1c738c9bfe449e942c08b526821419006e1f30a9c01cc606 SHA512 5575dc7faf9846cf07d549e77f5187cc8f83ceb5e30086c0b0bbc0056a8f91f5e7d74d4f088bc2536b2fb9d93665e79a5a50b917bac5bbe171ea11f9fe872bbf
MISC metadata.xml 446 BLAKE2B 4ee524096a438d9cbf73faea3207715f6570b763715578b74289732677c1a159955783b3d81beb775612f15f1a58f10fe9ee68406bb22484faddabb302680620 SHA512 beffe8e4143ba8a595dabfe3e9c0ed7e1093b4e92dded1a6d7dd27e2bde7928d26e95ba048e421ab17d506ede92675764732388aa8edb454cd7753a0e0094c49
diff --git a/sys-libs/ldb/ldb-2.7.2.ebuild b/sys-libs/ldb/ldb-2.7.2.ebuild
deleted file mode 100644
index 8fb1a59fae49..000000000000
--- a/sys-libs/ldb/ldb-2.7.2.ebuild
+++ /dev/null
@@ -1,174 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-inherit python-single-r1 waf-utils multilib-minimal
-
-DESCRIPTION="LDAP-like embedded database"
-HOMEPAGE="https://ldb.samba.org"
-SRC_URI="https://samba.org/ftp/pub/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="doc ldap +lmdb python test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- test? ( lmdb )"
-
-RESTRICT="!test? ( test )"
-
-TALLOC_VERSION="2.4.0"
-TDB_VERSION="1.4.8"
-TEVENT_VERSION="0.14.1"
-
-RDEPEND="
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/popt[${MULTILIB_USEDEP}]
- >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tevent-${TEVENT_VERSION}[${MULTILIB_USEDEP}]
- ldap? ( net-nds/openldap:= )
- lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] )
- python? (
- ${PYTHON_DEPS}
- sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}]
- )
-"
-DEPEND="
- ${RDEPEND}
- virtual/libcrypt
- test? ( >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] )
-"
-BDEPEND="${PYTHON_DEPS}
- dev-libs/libxslt
- virtual/pkgconfig
- doc? ( app-text/doxygen )
-"
-
-WAF_BINARY="${S}/buildtools/bin/waf"
-
-MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.5.2-optional_packages.patch
- "${FILESDIR}"/${PN}-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch
- "${FILESDIR}"/${PN}-2.4.2-skip-32bit-time_t-tests.patch
- "${FILESDIR}"/${PN}-2.5.2-skip-waf-tevent-check.patch
- "${FILESDIR}"/cmocka-config_h.patch
-)
-
-pkg_setup() {
- # Package fails to build with distcc
- export DISTCC_DISABLE=1
- export PYTHONHASHSEED=1
-
- # waf requires a python interpreter
- python-single-r1_pkg_setup
-}
-
-check_samba_dep_versions() {
- actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/talloc/wscript || die)
- if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then
- eerror "Source talloc version: ${TALLOC_VERSION}"
- eerror "Ebuild talloc version: ${actual_talloc_version}"
- die "Ebuild needs to fix TALLOC_VERSION!"
- fi
-
- actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tdb/wscript || die)
- if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then
- eerror "Source tdb version: ${TDB_VERSION}"
- eerror "Ebuild tdb version: ${actual_tdb_version}"
- die "Ebuild needs to fix TDB_VERSION!"
- fi
-
- actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tevent/wscript || die)
- if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then
- eerror "Source tevent version: ${TEVENT_VERSION}"
- eerror "Ebuild tevent version: ${actual_tevent_version}"
- die "Ebuild needs to fix TEVENT_VERSION!"
- fi
-}
-
-src_prepare() {
- default
-
- check_samba_dep_versions
-
- if use test && ! use python ; then
- # We want to be able to run tests w/o Python as it makes
- # automated testing much easier (as USE=python isn't default-enabled).
- truncate -s0 tests/python/{repack,index,api,crash}.py || die
- fi
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # When specifying libs for samba build you must append NONE to the end to
- # stop it automatically including things
- local bundled_libs="NONE"
-
- # We "use" bundled cmocka when we're not running tests as we're
- # not using it anyway. Means we avoid making users install it for
- # no reason. bug #802531
- if ! use test; then
- bundled_libs="cmocka,${bundled_libs}"
- fi
-
- local myconf=(
- $(usex ldap '' --disable-ldap)
- $(usex lmdb '' --without-ldb-lmdb)
- --disable-rpath
- --disable-rpath-install
- --with-modulesdir="${EPREFIX}"/usr/$(get_libdir)/samba
- --bundled-libraries="${bundled_libs}"
- --builtin-libraries=NONE
- )
-
- if ! use python || ! multilib_is_native_abi; then
- myconf+=( --disable-python )
- fi
-
- waf-utils_src_configure "${myconf[@]}"
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
- multilib_is_native_abi && use doc && doxygen Doxyfile
-}
-
-multilib_src_test() {
- if multilib_is_native_abi; then
- WAF_MAKE=1 \
- PATH=buildtools/bin:../../../buildtools/bin:${PATH}:"${BUILD_DIR}"/bin/shared/private/ \
- LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:"${BUILD_DIR}"/bin/shared/private/:"${BUILD_DIR}"/bin/shared \
- waf test || die
- fi
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- if multilib_is_native_abi && use doc; then
- doman apidocs/man/man3/*.3
- docinto html
- dodoc -r apidocs/html/.
- fi
-
- # bug #726454
- use python && python_optimize
-}
-
-pkg_postinst() {
- if has_version sys-auth/sssd; then
- ewarn "You have sssd installed. It is known to break after ldb upgrades,"
- ewarn "so please try to rebuild it before reporting bugs."
- ewarn "See https://bugs.gentoo.org/404281"
- fi
-}
diff --git a/sys-libs/ldb/ldb-2.8.1.ebuild b/sys-libs/ldb/ldb-2.8.1.ebuild
index dadb2bc1bb2f..22a2d3f66040 100644
--- a/sys-libs/ldb/ldb-2.8.1.ebuild
+++ b/sys-libs/ldb/ldb-2.8.1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/pub/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc ldap +lmdb python test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
diff --git a/sys-libs/ldb/ldb-2.8.0.ebuild b/sys-libs/ldb/ldb-2.8.2.ebuild
index 3fc928962101..dadb2bc1bb2f 100644
--- a/sys-libs/ldb/ldb-2.8.0.ebuild
+++ b/sys-libs/ldb/ldb-2.8.2.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/pub/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="doc ldap +lmdb python test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
diff --git a/sys-libs/ldb/ldb-2.9.0.ebuild b/sys-libs/ldb/ldb-2.9.0.ebuild
deleted file mode 100644
index 06d1b7fd2e03..000000000000
--- a/sys-libs/ldb/ldb-2.9.0.ebuild
+++ /dev/null
@@ -1,173 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-inherit python-single-r1 waf-utils multilib-minimal
-
-DESCRIPTION="LDAP-like embedded database"
-HOMEPAGE="https://ldb.samba.org"
-SRC_URI="https://samba.org/ftp/pub/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="doc ldap +lmdb python test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- test? ( lmdb )"
-
-RESTRICT="!test? ( test )"
-
-TALLOC_VERSION="2.4.2"
-TDB_VERSION="1.4.10"
-TEVENT_VERSION="0.16.1"
-
-RDEPEND="
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/popt[${MULTILIB_USEDEP}]
- >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}]
- >=sys-libs/tevent-${TEVENT_VERSION}[${MULTILIB_USEDEP}]
- ldap? ( net-nds/openldap:= )
- lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] )
- python? (
- ${PYTHON_DEPS}
- sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}]
- sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}]
- )
-"
-DEPEND="
- ${RDEPEND}
- virtual/libcrypt
- test? ( >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] )
-"
-BDEPEND="${PYTHON_DEPS}
- dev-libs/libxslt
- virtual/pkgconfig
- doc? ( app-text/doxygen )
-"
-
-WAF_BINARY="${S}/buildtools/bin/waf"
-
-MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.9.0-optional_packages.patch
- "${FILESDIR}"/${PN}-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch
- "${FILESDIR}"/${PN}-2.4.2-skip-32bit-time_t-tests.patch
- "${FILESDIR}"/${PN}-2.5.2-skip-waf-tevent-check.patch
-)
-
-pkg_setup() {
- # Package fails to build with distcc
- export DISTCC_DISABLE=1
- export PYTHONHASHSEED=1
-
- # waf requires a python interpreter
- python-single-r1_pkg_setup
-}
-
-check_samba_dep_versions() {
- actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/talloc/wscript || die)
- if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then
- eerror "Source talloc version: ${TALLOC_VERSION}"
- eerror "Ebuild talloc version: ${actual_talloc_version}"
- die "Ebuild needs to fix TALLOC_VERSION!"
- fi
-
- actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tdb/wscript || die)
- if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then
- eerror "Source tdb version: ${TDB_VERSION}"
- eerror "Ebuild tdb version: ${actual_tdb_version}"
- die "Ebuild needs to fix TDB_VERSION!"
- fi
-
- actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tevent/wscript || die)
- if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then
- eerror "Source tevent version: ${TEVENT_VERSION}"
- eerror "Ebuild tevent version: ${actual_tevent_version}"
- die "Ebuild needs to fix TEVENT_VERSION!"
- fi
-}
-
-src_prepare() {
- default
-
- check_samba_dep_versions
-
- if use test && ! use python ; then
- # We want to be able to run tests w/o Python as it makes
- # automated testing much easier (as USE=python isn't default-enabled).
- truncate -s0 tests/python/{repack,index,api,crash}.py || die
- fi
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # When specifying libs for samba build you must append NONE to the end to
- # stop it automatically including things
- local bundled_libs="NONE"
-
- # We "use" bundled cmocka when we're not running tests as we're
- # not using it anyway. Means we avoid making users install it for
- # no reason. bug #802531
- if ! use test; then
- bundled_libs="cmocka,${bundled_libs}"
- fi
-
- local myconf=(
- $(usex ldap '' --disable-ldap)
- $(usex lmdb '' --without-ldb-lmdb)
- --disable-rpath
- --disable-rpath-install
- --with-modulesdir="${EPREFIX}"/usr/$(get_libdir)/samba
- --bundled-libraries="${bundled_libs}"
- --builtin-libraries=NONE
- )
-
- if ! use python || ! multilib_is_native_abi; then
- myconf+=( --disable-python )
- fi
-
- waf-utils_src_configure "${myconf[@]}"
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
- multilib_is_native_abi && use doc && doxygen Doxyfile
-}
-
-multilib_src_test() {
- if multilib_is_native_abi; then
- WAF_MAKE=1 \
- PATH=buildtools/bin:../../../buildtools/bin:${PATH}:"${BUILD_DIR}"/bin/shared/private/ \
- LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:"${BUILD_DIR}"/bin/shared/private/:"${BUILD_DIR}"/bin/shared \
- waf test || die
- fi
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- if multilib_is_native_abi && use doc; then
- doman apidocs/man/man3/*.3
- docinto html
- dodoc -r apidocs/html/.
- fi
-
- # bug #726454
- use python && python_optimize
-}
-
-pkg_postinst() {
- if has_version sys-auth/sssd; then
- ewarn "You have sssd installed. It is known to break after ldb upgrades,"
- ewarn "so please try to rebuild it before reporting bugs."
- ewarn "See https://bugs.gentoo.org/404281"
- fi
-}
diff --git a/sys-libs/ldb/ldb-2.9.1.ebuild b/sys-libs/ldb/ldb-2.9.1.ebuild
index 06d1b7fd2e03..0d48b56509b7 100644
--- a/sys-libs/ldb/ldb-2.9.1.ebuild
+++ b/sys-libs/ldb/ldb-2.9.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="threads(+)"
inherit python-single-r1 waf-utils multilib-minimal
diff --git a/sys-libs/libblockdev/Manifest b/sys-libs/libblockdev/Manifest
index bf3e10397a97..a27d02695ad5 100644
--- a/sys-libs/libblockdev/Manifest
+++ b/sys-libs/libblockdev/Manifest
@@ -2,12 +2,8 @@ AUX libblockdev-2.28-sh_tests.patch 1552 BLAKE2B 3b26cf271a0cb2a0f51ecffe51c9caf
AUX libblockdev-3.0.4-add-non-systemd-method-for-distro-info.patch 1081 BLAKE2B f2b259d7a0fc120d900c244b8cb20dd4b69199e7e9f2c033b2c4242766529bef4f1190fd529ee612e54ed4d9456c0cb16b361669e64748d3399cefd39faeafb9 SHA512 315f404ee6a4f32cc71c71e59e49d901c082e387f49751e9caf52ff19dc3aa90099b2a8e5921e9ba1dd7f1d78b8ca3cac8e0dd8a58b6133e88cefaee8d35038d
DIST libblockdev-2.28.tar.gz 925698 BLAKE2B 63ac7ab5bd02c1ef1848d0b252e09fe721cfe86258f063b7bab616766cbc56311707dcb2dd3a1fadf0e0840187f121aa178fd5959500cd590b846238a9d3e36e SHA512 9e01c41db4f728c8e81e710c6bb4725bbe34b3a7de25ff7f57b7b88ca6b7b5debbe858947585d314770036b2c3c533f9f8ff3d038b7ca50eee3d18f9fbe0d392
DIST libblockdev-2.29.tar.gz 935117 BLAKE2B 774062459602a6f3730ac6e694b3f535daf0258cc5f509ff138bb8c15f44ff46bdc08e32ae1957909b51a191726cf5e9cb418c0317e5178300687947704cf5e0 SHA512 0d9637800b189f3824483010d2ff079da11b15ed0b42c578352a0d3cd9c35dab4e5945a3cc31c17ea6f88637548151fc7cf237ac8e9c98edfc7b7bce1a756e01
-DIST libblockdev-3.0.3.tar.gz 1048628 BLAKE2B c26a806797effc7231a0eb92f1b8cd74e548da5b1800cddd75a21e7df327be8371edabc2e9a39a727291f365b6a4f6242f78b66396adc4526b41749219f0429f SHA512 f2cc6fbe1df6fd9886016177a4a94984d704f3b402c7090344c581afb89f7cb050c9516c52974157a99ea6c6239f6a1f6079cde0b43a2336af0daca7311ca788
-DIST libblockdev-3.0.4.tar.gz 1050971 BLAKE2B e31ecb04310c2c66cbe432c1e003b3c3241f318f78916d5c61c0efca37fa677e5f857eab9b7c3bfc7c5a589350cdef12402940d28af68ab9fc95e5da6852ddf1 SHA512 82b574c1f8e301d6e9ff07f8c3d2a351a5bc966b5d65a3b578c214e03e48b54270b54176d646ac15e8119c79536d08b36415de478ffd34c8b3fe536300fc5172
DIST libblockdev-3.1.1.tar.gz 1056270 BLAKE2B b3dbdc7226524d544193b609ced8a9fee725268ba2201b639c22103fcae6d047c94fb1b848e489525300242cb235d688934193894a06279a4dc0e0b33dff6e96 SHA512 44628d9e68a467f8a5d5e65e12d5d6ffb4d9b953c846acd9f6da257eab5ccd79309651d6b20092fa700fb4340f1f718ceef11141203da676d088824aa9d03481
EBUILD libblockdev-2.28-r1.ebuild 3021 BLAKE2B c69a116e356da22fecc5c6c6306df6032d8cfd011b4df8f928d96cdcab6cd3bebb947844cedc0aa78e2ea67083960b18647c256c7272298b150e45535af69d71 SHA512 a1ba02748dfb044e770473e89d5cac59ed4822db3dd9f76bf655c4597f1341f456b34a047aed7c13a867de166be1baf8eb59f83974ca060cf5433ab9a5fc97c7
EBUILD libblockdev-2.29.ebuild 2941 BLAKE2B 23e452d1006c6ab366657d2b1e5840a98fda3cc6199227048030e12563682bfdac2e7f8fbb7341e3b49ac5bf78f4e631ec1602fdf5bee5c2e41aeee83e53f28c SHA512 fc401386877452384a4a64c031f8524af827264c67ccf706da58cace8858c2a71d26df26b2563e94f359d196dc2ae7e1ea6dff6a669eedfaa6915c7c028398fe
-EBUILD libblockdev-3.0.3.ebuild 2927 BLAKE2B 54bf9795aa6116711776a6a513100f601c2953380deed4dccd81a8ba5db760ece37b1c9792fb17368a16901c4177e95209f607bd5784abe590a79aa25caeae60 SHA512 c5ca84b5f485994c1f24f8fcac79ea0792ec59d056cfb6bdad6b073d95f8f87dea72c88124765fd2cb225fd4f8de9b4814c93d38962dcf1f2adcc89049973e55
-EBUILD libblockdev-3.0.4.ebuild 3014 BLAKE2B e4ab3055f41f5e49057dff347824f0e07ec81c4e43e239ee9590255400f62031f6306d322cc13ee1d84b5c9f9b56106a22727cc81e2d00e0f3e4d20e7cbab88c SHA512 b0fadd1563f4a9f05321bcde30f9e2daa92aba4e643b6f3a0e597ebfba71dd4c60a41a3220f2ab5fb4131e1ce527f5e6b06f5f51d80a3b96c07c182b29622678
-EBUILD libblockdev-3.1.1.ebuild 3026 BLAKE2B 5b7d26dac5b26fd76bcf9c4ca8fb334dce03a5aeac5c4584c74bd2f85a1be427f00be4234c786f1bc71893c8a1e12e8ae10d44bb14b5a2f2cd2ccb6bba77415b SHA512 86c42bade6fc52163cbfc0894f4639dfec60df4079370a98cdbe438554d31be45d572bd82e2d4867bd2aadc44528a50288916b6d845d850758fc10c215cc70fe
+EBUILD libblockdev-3.1.1.ebuild 3020 BLAKE2B afee02ab6560bca86a26b1a00e72b244105be368a532a8b630f7b842aa4f765d357a622186787f122a75966965a7afc9fac1e5d24a499ea79100ee5b92e88516 SHA512 f59c66db2ed822aef7a92eb4a1338aedc2a63f2d4a26e42c5828c780d97567df64f0f82b219d81c6b1cf771d292f04f396834c81830b2e28e03c37fe6009191e
MISC metadata.xml 1042 BLAKE2B 9e4d219b1a7d795d3a0b04647fb34acf1f9361271fa8fb8c8b125da384b9e52c31413fd3a64cd2a36bd1d9e4cbbf65b513862affa520b44b5d3eeb9c71cce9f3 SHA512 d902068c1060027a5f3ab4379c2a42a2621d415aaa3737f800ba84b862eb96d32b2e900b6c39c7217f48322457218f74044eac68d95409254d9debf0d154c312
diff --git a/sys-libs/libblockdev/libblockdev-3.0.3.ebuild b/sys-libs/libblockdev/libblockdev-3.0.3.ebuild
deleted file mode 100644
index 88cfcd76553c..000000000000
--- a/sys-libs/libblockdev/libblockdev-3.0.3.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-inherit autotools python-single-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A library for manipulating block devices"
-HOMEPAGE="https://github.com/storaged-project/libblockdev"
-if [[ "${PV}" == *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/storaged-project/libblockdev.git"
- BDEPEND="
- dev-build/autoconf-archive
- "
-else
- MY_PV="${PV}-1"
- SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv x86"
-fi
-LICENSE="LGPL-2+"
-SLOT="0/3" # subslot is SOVERSION
-IUSE="+cryptsetup device-mapper escrow gtk-doc introspection lvm +nvme test +tools"
-# Tests require root. In a future release, we may be able to run a smaller
-# subset with new run_tests.py arguments.
-RESTRICT="!test? ( test ) test"
-
-RDEPEND="
- >=dev-libs/glib-2.42.2
- dev-libs/libbytesize
- sys-apps/gptfdisk
- >=sys-apps/kmod-19
- >=sys-apps/util-linux-2.27
- >=sys-block/parted-3.1
- cryptsetup? (
- escrow? (
- >=dev-libs/nss-3.18.0
- dev-libs/volume_key
- )
- >=sys-apps/keyutils-1.5.0:=
- >=sys-fs/cryptsetup-2.3.0:=
- )
- device-mapper? ( sys-fs/lvm2 )
- lvm? (
- sys-fs/lvm2
- virtual/udev
- )
- nvme? ( sys-libs/libnvme )
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- ')
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND+="
- dev-build/gtk-doc-am
- gtk-doc? ( dev-util/gtk-doc )
- introspection? ( >=dev-libs/gobject-introspection-1.3.0 )
- test? (
- $(python_gen_cond_dep '
- dev-libs/libbytesize[python,${PYTHON_USEDEP}]
- ')
- sys-block/targetcli-fb
- )
-"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- escrow? ( cryptsetup )"
-
-pkg_setup() {
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- xdg_environment_reset #623992
- default
-
- # https://bugs.gentoo.org/744289
- find -type f \( -name "Makefile.am" -o -name "configure.ac" \) -print0 \
- | xargs --null sed "s@ -Werror@@" -i || die
-
- eautoreconf
-}
-
-src_configure() {
- # Bug #910487
- if tc-ld-is-lld; then
- tc-ld-force-bfd
- fi
-
- local myeconfargs=(
- --with-btrfs
- --with-fs
- --with-part
- --with-python3
- --without-mpath
- --without-nvdimm
- $(use_enable introspection)
- $(use_enable test tests)
- $(use_with cryptsetup crypto)
- $(use_with device-mapper dm)
- $(use_with escrow)
- $(use_with gtk-doc)
- $(use_with lvm lvm)
- $(use_with lvm lvm-dbus)
- $(use_with nvme)
- $(use_with tools)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_test() {
- # See http://storaged.org/libblockdev/ch03.html
- # The 'check' target just does Pylint.
- # ... but it needs root.
- emake test
-}
-
-src_install() {
- default
- find "${ED}" -type f -name "*.la" -delete || die
- # This is installed even with USE=-lvm, but libbd_lvm are omitted so it
- # doesn't work at all.
- if ! use lvm ; then
- rm -f "${ED}"/usr/bin/lvm-cache-stats || die
- fi
- python_optimize #718576
-}
diff --git a/sys-libs/libblockdev/libblockdev-3.0.4.ebuild b/sys-libs/libblockdev/libblockdev-3.0.4.ebuild
deleted file mode 100644
index b478e441d225..000000000000
--- a/sys-libs/libblockdev/libblockdev-3.0.4.ebuild
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools python-single-r1 xdg-utils
-
-DESCRIPTION="A library for manipulating block devices"
-HOMEPAGE="https://github.com/storaged-project/libblockdev"
-if [[ "${PV}" == *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/storaged-project/libblockdev.git"
- BDEPEND="
- dev-build/autoconf-archive
- "
-else
- MY_PV="${PV}-1"
- SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv x86"
-fi
-LICENSE="LGPL-2+"
-SLOT="0/3" # subslot is SOVERSION
-IUSE="+cryptsetup device-mapper escrow gtk-doc introspection lvm +nvme test +tools"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.42.2
- dev-libs/libbytesize
- sys-apps/gptfdisk
- >=sys-apps/kmod-19
- >=sys-apps/util-linux-2.27
- >=sys-block/parted-3.1
- cryptsetup? (
- escrow? (
- >=dev-libs/nss-3.18.0
- dev-libs/volume_key
- )
- >=sys-apps/keyutils-1.5.0:=
- >=sys-fs/cryptsetup-2.3.0:=
- )
- device-mapper? ( sys-fs/lvm2 )
- lvm? (
- sys-fs/lvm2
- virtual/udev
- )
- nvme? ( sys-libs/libnvme )
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- ')
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND+="
- dev-build/gtk-doc-am
- gtk-doc? ( dev-util/gtk-doc )
- introspection? ( >=dev-libs/gobject-introspection-1.3.0 )
- test? (
- $(python_gen_cond_dep '
- dev-libs/libbytesize[python,${PYTHON_USEDEP}]
- dev-python/dbus-python[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- ')
- sys-apps/lsb-release
- sys-block/targetcli-fb
- )
-"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- escrow? ( cryptsetup )
- test? ( introspection lvm )
-"
-
-PATCHES=(
- "${FILESDIR}/libblockdev-3.0.4-add-non-systemd-method-for-distro-info.patch"
-)
-
-pkg_setup() {
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- xdg_environment_reset #623992
- default
-
- # https://bugs.gentoo.org/744289
- find -type f \( -name "Makefile.am" -o -name "configure.ac" \) -print0 \
- | xargs --null sed "s@ -Werror@@" -i || die
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --with-btrfs
- --with-fs
- --with-part
- --with-python3
- --without-mpath
- --without-nvdimm
- $(use_enable introspection)
- $(use_enable test tests)
- $(use_with cryptsetup crypto)
- $(use_with device-mapper dm)
- $(use_with escrow)
- $(use_with gtk-doc)
- $(use_with lvm lvm)
- $(use_with lvm lvm-dbus)
- $(use_with nvme)
- $(use_with tools)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_test() {
- # See http://storaged.org/libblockdev/ch03.html
- # Largest subset which doesn't require root priviledges
- ${EPYTHON} tests/run_tests.py --include-tags extradeps sourceonly || die
-}
-
-src_install() {
- default
- find "${ED}" -type f -name "*.la" -delete || die
- # This is installed even with USE=-lvm, but libbd_lvm are omitted so it
- # doesn't work at all.
- if ! use lvm ; then
- rm -f "${ED}"/usr/bin/lvm-cache-stats || die
- fi
- python_optimize #718576
-}
diff --git a/sys-libs/libblockdev/libblockdev-3.1.1.ebuild b/sys-libs/libblockdev/libblockdev-3.1.1.ebuild
index 57aa820341d6..b4747c3f7f90 100644
--- a/sys-libs/libblockdev/libblockdev-3.1.1.ebuild
+++ b/sys-libs/libblockdev/libblockdev-3.1.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit autotools python-single-r1 xdg-utils
DESCRIPTION="A library for manipulating block devices"
@@ -17,7 +17,7 @@ if [[ "${PV}" == *9999 ]] ; then
else
MY_PV="${PV}-1"
SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
fi
LICENSE="LGPL-2+"
SLOT="0/3" # subslot is SOVERSION
diff --git a/sys-libs/libcap/Manifest b/sys-libs/libcap/Manifest
index be7ae5616bba..a133d4972cb4 100644
--- a/sys-libs/libcap/Manifest
+++ b/sys-libs/libcap/Manifest
@@ -1,7 +1,9 @@
AUX libcap-2.62-ignore-RAISE_SETFCAP-install-failures.patch 724 BLAKE2B 39b2924071c9c6b1ffba3acf2fbeea6196c20da175ed4a5ddd6fac5375d604df3823bf183c36da6eb03e1b9cd918d107fd7e5b30f2f3746ce17b589a77f3dec5 SHA512 11ca33d7f1a352cce9dad179be415b6282efdbb9049a92ba945cbfbee2b6c263af39adb3a93f62e5077d9b33e0f098f9125362432bd333601345d8c3671d40bd
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 2174 BLAKE2B d98693144422803ec9916ae39b64eb75c9f7d9bbd9a888744f790e23d92484c51e41f9c7176000cce42bc803f1818257a4fceda01a72efc6e2d3cad191ec86f4 SHA512 a4f26b0b631d75ba70e924659db575ba6f86f087060945299e01cd22eebaabc8c80eb5d54dc27a712e0df98ead3a8d0ea051163bea525251781901f918349085
-EBUILD libcap-2.70.ebuild 2174 BLAKE2B d98693144422803ec9916ae39b64eb75c9f7d9bbd9a888744f790e23d92484c51e41f9c7176000cce42bc803f1818257a4fceda01a72efc6e2d3cad191ec86f4 SHA512 a4f26b0b631d75ba70e924659db575ba6f86f087060945299e01cd22eebaabc8c80eb5d54dc27a712e0df98ead3a8d0ea051163bea525251781901f918349085
-EBUILD libcap-9999.ebuild 2182 BLAKE2B 8c7c18df57ddd8d2a2c3832332fa777fc2dd70bc533a6a8c3dec243f12db767c80b54172c35a067e521f07a9a26b971908ebb51fbd4d26c35fd89f29baab6ec7 SHA512 d06793ae4f275ad88b3bac677668972a1b4936a818fe0896ac326593244935fe9f413b193616d7468c3f0b43a82c42170968d6f9cce99383b229b046502f8705
+DIST libcap-2.71.tar.xz 193512 BLAKE2B a4bc55d8b58db5d75b4615f287a15614c075f8f7e690e7a833c453658c80d6f99e633132bc8a3b8cc7d1393e513763d924bf2cbe6bc29c7a40e2a5f19755e662 SHA512 59bb6781d96776595ad3df890f4e5188380634eabbb6128f3a5307946b01cf3bd19dee8a29d3e501de1d9e1c6ed0092c4cd5adc91da227a1260c1f4356cc0bf3
+EBUILD libcap-2.69-r1.ebuild 2156 BLAKE2B b2acc2c17492048d25d4a0c76d48906ea439b61732e13b484d8dec532964f136a0f3c63c9f071e3befa4013659212b1b3fa8b0caf87e81b76d0f73c3fa4ef398 SHA512 8f7367e13684046b731f99093364777e8d289821e277f9204a006c478b1bbf4f63903d364437364b557360db73ab7bfd79502619975a2893b007a39f7f7e0783
+EBUILD libcap-2.70.ebuild 2156 BLAKE2B b2acc2c17492048d25d4a0c76d48906ea439b61732e13b484d8dec532964f136a0f3c63c9f071e3befa4013659212b1b3fa8b0caf87e81b76d0f73c3fa4ef398 SHA512 8f7367e13684046b731f99093364777e8d289821e277f9204a006c478b1bbf4f63903d364437364b557360db73ab7bfd79502619975a2893b007a39f7f7e0783
+EBUILD libcap-2.71.ebuild 2164 BLAKE2B a93f2469d68dcd19f4c4307f8021e6f7efcde0363ffb38e42d768404bb899d1606a46c228e1aa58c6e3cd8d13c6bd52a6243462069c54b125781ee7a9ad1a15e SHA512 1e9c6f5d71b8d1a2ae6aebb886c54b0a078c2036f6c69b7b1d9d7b8fd3c9be553b32214749c6235a5529e941068fd32195752a08668b916842c78a5252fcbfee
+EBUILD libcap-9999.ebuild 2164 BLAKE2B a93f2469d68dcd19f4c4307f8021e6f7efcde0363ffb38e42d768404bb899d1606a46c228e1aa58c6e3cd8d13c6bd52a6243462069c54b125781ee7a9ad1a15e SHA512 1e9c6f5d71b8d1a2ae6aebb886c54b0a078c2036f6c69b7b1d9d7b8fd3c9be553b32214749c6235a5529e941068fd32195752a08668b916842c78a5252fcbfee
MISC metadata.xml 438 BLAKE2B b5260cc84a3fe6b992bb6218846c738af296522d7a467337c05a6240fd07fc9d6cece779bd9fcf24a11486a70874e17acae8182647d307a31cf43e1c19c3a2d3 SHA512 fa3713dcf6b7bb2ea6d4c2fdefc05e92ae345c76a6187ebcb40dab8c4ce0148650a8301f236efcb8cf53fff25730977a385578dbaa160b800159c6d6abbf37a9
diff --git a/sys-libs/libcap/libcap-2.69-r1.ebuild b/sys-libs/libcap/libcap-2.69-r1.ebuild
index 787957fa273f..735aed2e5395 100644
--- a/sys-libs/libcap/libcap-2.69-r1.ebuild
+++ b/sys-libs/libcap/libcap-2.69-r1.ebuild
@@ -17,8 +17,7 @@ fi
DESCRIPTION="POSIX 1003.1e capabilities"
HOMEPAGE="https://sites.google.com/site/fullycapable/"
-# it's available under either of the licenses
-LICENSE="|| ( GPL-2 BSD )"
+LICENSE="|| ( GPL-2 BSD ) pam? ( || ( LGPL-2+ BSD ) )"
SLOT="0"
IUSE="pam static-libs tools"
diff --git a/sys-libs/libcap/libcap-2.70.ebuild b/sys-libs/libcap/libcap-2.70.ebuild
index 787957fa273f..735aed2e5395 100644
--- a/sys-libs/libcap/libcap-2.70.ebuild
+++ b/sys-libs/libcap/libcap-2.70.ebuild
@@ -17,8 +17,7 @@ fi
DESCRIPTION="POSIX 1003.1e capabilities"
HOMEPAGE="https://sites.google.com/site/fullycapable/"
-# it's available under either of the licenses
-LICENSE="|| ( GPL-2 BSD )"
+LICENSE="|| ( GPL-2 BSD ) pam? ( || ( LGPL-2+ BSD ) )"
SLOT="0"
IUSE="pam static-libs tools"
diff --git a/sys-libs/libcap/libcap-2.71.ebuild b/sys-libs/libcap/libcap-2.71.ebuild
new file mode 100644
index 000000000000..b81da91b6121
--- /dev/null
+++ b/sys-libs/libcap/libcap-2.71.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal toolchain-funcs pam
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libcap/libcap.git"
+else
+ SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="POSIX 1003.1e capabilities"
+HOMEPAGE="https://sites.google.com/site/fullycapable/"
+
+LICENSE="|| ( GPL-2 BSD ) pam? ( || ( LGPL-2+ BSD ) )"
+SLOT="0"
+IUSE="pam static-libs tools"
+
+# While the build system optionally uses gperf, we don't DEPEND on it because
+# the build automatically falls back when it's unavailable. #604802
+PDEPEND="pam? ( sys-libs/pam[${MULTILIB_USEDEP}] )"
+DEPEND="${PDEPEND}
+ sys-kernel/linux-headers"
+BDEPEND="
+ sys-apps/diffutils
+ tools? ( dev-lang/go )"
+
+QA_FLAGS_IGNORED="sbin/captree" # go binaries don't use LDFLAGS
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.62-ignore-RAISE_SETFCAP-install-failures.patch
+)
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+run_emake() {
+ local args=(
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ OBJCOPY="$(tc-getOBJCOPY)"
+ RANLIB="$(tc-getRANLIB)"
+ exec_prefix="${EPREFIX}"
+ lib_prefix="${EPREFIX}/usr"
+ lib="$(get_libdir)"
+ prefix="${EPREFIX}/usr"
+ PAM_CAP="$(usex pam yes no)"
+ DYNAMIC=yes
+ GOLANG="$(multilib_native_usex tools yes no)"
+ )
+ emake "${args[@]}" "$@"
+}
+
+src_configure() {
+ tc-export_build_env BUILD_CC
+ multilib-minimal_src_configure
+}
+
+multilib_src_compile() {
+ run_emake
+}
+
+multilib_src_test() {
+ run_emake test
+}
+
+multilib_src_install() {
+ # no configure, needs explicit install line #444724#c3
+ run_emake DESTDIR="${D}" install
+
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{cap,psx}.a || die
+ fi
+
+ # install pam plugins ourselves
+ rm -rf "${ED}"/usr/$(get_libdir)/security || die
+
+ if use pam ; then
+ dopammod pam_cap/pam_cap.so
+ dopamsecurity '' pam_cap/capability.conf
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc CHANGELOG README doc/capability.md
+}
diff --git a/sys-libs/libcap/libcap-9999.ebuild b/sys-libs/libcap/libcap-9999.ebuild
index 0d484bbc425e..b81da91b6121 100644
--- a/sys-libs/libcap/libcap-9999.ebuild
+++ b/sys-libs/libcap/libcap-9999.ebuild
@@ -17,8 +17,7 @@ fi
DESCRIPTION="POSIX 1003.1e capabilities"
HOMEPAGE="https://sites.google.com/site/fullycapable/"
-# it's available under either of the licenses
-LICENSE="|| ( GPL-2 BSD )"
+LICENSE="|| ( GPL-2 BSD ) pam? ( || ( LGPL-2+ BSD ) )"
SLOT="0"
IUSE="pam static-libs tools"
diff --git a/sys-libs/libchipcard/Manifest b/sys-libs/libchipcard/Manifest
index 927c52889033..840ed76a1331 100644
--- a/sys-libs/libchipcard/Manifest
+++ b/sys-libs/libchipcard/Manifest
@@ -1,7 +1,4 @@
AUX libchipcard-5.1.6-clang16-build-fix.patch 509 BLAKE2B cbb4f701d8dabd95c01aad4236af9c8b6c2c6ba1c7441ad1887f3c357b9efc0d11fd17885ca352705dc1727141bd805463df111e9636f4eff5fcbbb385d58ed6 SHA512 8fb8bdeacf2814e577b74cecded27d55d048d7a66ffe80944c54557524a5a46ae854a0175d93afcacfb5148a09d42e0babf66f0f513128a98fbd4009ddcbfdcc
-DIST libchipcard-5.1.5rc2.tar.gz 877820 BLAKE2B dfe82e3d6aea26e95e5f69298ea17ad4bb9a1d106cca02a9fc23f5aa5ea338471ae5628248350e01571f4819567da2a0f5a3699d56d8f02ed58971d6ac715abe SHA512 5e86068bd688f72e04073dbd076f21646a6b75d2a7a73c25bba4396e8657c4df28cf5cfb61eef7b243186f8313cea1262e415f2acad5348fa5179b46d7f96ed1
DIST libchipcard-5.1.6.tar.gz 874865 BLAKE2B 995dec0ce1dd9a5c4eb1173c114a19292d5c9a96f44c0ad969390ab489a6ac4e9001596995eb06db98a4bee2fa8b2310b844efd2e1b18fe1138be00398e60bd3 SHA512 a6e22f2a92203529a8b35387b6d8a3de0ce16a8d845b6ebee53bc151fcaa7626a61f63e71480cd85c01c9c5975a17632be8ba2d71a604f7ec2eab9d40b9ddfd5
-EBUILD libchipcard-5.1.5_rc2.ebuild 1133 BLAKE2B f7ad19cad106605826a7a4a980d8bd96611093356b585ecdaff29314959ea87461c8e100c7729e0363bb841884979fbac4f614b3dc5173f8216e4db90d3637ae SHA512 1ea4bb2e2f482b78b44ce46a06dab8f1e4cf250f6325cde4a60e249c163f43578bd1c0e423e13f2d03bfb9db41efcc908d4a8eb2a1b2a02a778311c31bed7891
EBUILD libchipcard-5.1.6-r1.ebuild 1145 BLAKE2B 579e5d85998ee19d57e75b5e07419361416b9369b102cd2c7f9b508f184965d88306689b54ca9a4e9e3c870c71cf7102eea42af621a186072615a37a76ba3ae9 SHA512 8305ec500b9b70d341e90e3872d41130cf5a4b4511a8d24dd6d41f98f1f15f197acefe13992f81dcb035c495fa931d5603f5ea5d6200e5167cc5be31444a1eca
-EBUILD libchipcard-5.1.6.ebuild 1088 BLAKE2B b4bf1d476f918a74075414d025ea511ef7f2c2faa9ffe85836f625874c7c484a1d8ad203b3457413ce52ee0f23a67ef4179089ea2cc79a005704a859719b5232 SHA512 09bdea0d2cd7bab935e8ebd3a6096c194eb8168de89d048d1b26e436c2909bb75b0cbc561d60498702516aff19e67b39c677035fc65e9ccc98f34fee06af8c42
-MISC metadata.xml 168 BLAKE2B 2e0e000b4c3b6ca04c12903fdbe278415c05a822623c52e9aa95cbbf3d50bcb1246b7edbda7d2f6b559af8950c6374e6e0a69b76319964cfe686bf50b0604a57 SHA512 4dcf45d1809e8390a2d8155c8ebfe0dd610203e392aeab0ccd8a10f42cc8532a4925eff32b35e7a6c35598a4efd288229034ec0732299dbd8cfa0acff705fed3
+MISC metadata.xml 254 BLAKE2B fceaf33c4655f20858f32c4491b2b96da7e79b54962d41634abca56cfc69634433e270b2f80d5275aceee169fbd141d1f5c92062f1f5409de2a8d8bf479adf93 SHA512 2adf12a6251f75349080b4e98064d4ea7b9cc4f12e5d27c494d16847b9c331f25185360f35eff3bd03f11f9afb519ff8d6a8c354b810576502cda5f8a84dd9a6
diff --git a/sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild b/sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild
deleted file mode 100644
index 72c3965f46dc..000000000000
--- a/sys-libs/libchipcard/libchipcard-5.1.5_rc2.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P="${P/_rc/rc}"
-
-DESCRIPTION="Library for accessing chip cards via chip card readers (terminals)"
-HOMEPAGE="https://www.aquamaniac.de/rdm/projects/libchipcard"
-SRC_URI="https://www.aquamaniac.de/rdm/attachments/download/229/${MY_P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="doc examples"
-
-BDEPEND="
- sys-devel/gettext
- doc? ( app-text/doxygen )
-"
-DEPEND="
- >=sys-apps/pcsc-lite-1.6.2
- >=sys-libs/gwenhywfar-4.99.22_rc6:=
- sys-libs/zlib
- virtual/libintl
-"
-RDEPEND="${DEPEND}"
-
-DOCS=( AUTHORS ChangeLog NEWS README TODO doc/{CERTIFICATES,CONFIG,IPCCOMMANDS} )
-
-S="${WORKDIR}/${MY_P}"
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- --with-docpath=/usr/share/doc/${PF}/apidoc
- $(use_enable doc full-doc)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- einstalldocs
-
- if use examples; then
- docinto tutorials
- dodoc tutorials/*.{c,h,xml} tutorials/README
- fi
-
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/sys-libs/libchipcard/libchipcard-5.1.6.ebuild b/sys-libs/libchipcard/libchipcard-5.1.6.ebuild
deleted file mode 100644
index 22b7cb9b20a5..000000000000
--- a/sys-libs/libchipcard/libchipcard-5.1.6.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Library for accessing chip cards via chip card readers (terminals)"
-HOMEPAGE="https://www.aquamaniac.de/rdm/projects/libchipcard"
-SRC_URI="https://www.aquamaniac.de/rdm/attachments/download/382/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="doc examples"
-
-BDEPEND="
- sys-devel/gettext
- doc? ( app-text/doxygen )
-"
-DEPEND="
- >=sys-apps/pcsc-lite-1.6.2
- >=sys-libs/gwenhywfar-4.99.22_rc6:=
- sys-libs/zlib
- virtual/libintl
-"
-RDEPEND="${DEPEND}"
-
-DOCS=( AUTHORS ChangeLog NEWS README TODO doc/{CERTIFICATES,CONFIG,IPCCOMMANDS} )
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- --with-docpath=/usr/share/doc/"${PF}"/apidoc
- $(use_enable doc full-doc)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- einstalldocs
-
- if use examples; then
- docinto tutorials
- dodoc tutorials/*.{c,h,xml} tutorials/README
- fi
-
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/sys-libs/libchipcard/metadata.xml b/sys-libs/libchipcard/metadata.xml
index 115e9d64a669..947e0178918b 100644
--- a/sys-libs/libchipcard/metadata.xml
+++ b/sys-libs/libchipcard/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">aqbanking/libchipcard</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest
index 531ed0e45a4a..99b2a6440dfb 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -1,5 +1,6 @@
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-0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0.tar.gz 222324382 BLAKE2B 8023108460d2af1688871d5534e18aa52e29f0e466bb5431194d1e710d7cd11bdab4be000433536b2d69c815a68624e347c69378a697d6fc55433bb4c2156767 SHA512 f0c23a0ac25de31f4c81f76ee82f3189da65d825579e923ace2b54714649c60d4d078220c9f2200b11f08d0c0e32c5b81a57ba368c11d67e763936df8a609279
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,16 +9,15 @@ 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-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
-DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
-DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
-DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
+DIST llvm-project-19.1.3.src.tar.xz 141247864 BLAKE2B 4ccb30accd632a7d54eb065b724ff81ec8a50380fa527111d58acd728eecb798d42f680119b6d1cbc980523e2f39220921ca1f530daa7afea05ab27436dedb7e SHA512 0abaf158b373892d5afc184158600df17a0797547ad7238ca9018d6fcdd7310b0db803d158daa82a2e04bd42d9daebaa2c3e4b9024c0fa2df72a88596575df5c
+DIST llvm-project-19.1.3.src.tar.xz.sig 438 BLAKE2B 44717741ae13bb0c52382647352e52273d8401728dc5cc1cf0c11a8f08cd74b6e3d789e788793aad767030b36fdec62e3a05bdc0b7ff60556cec7ceac17fc239 SHA512 84ef22ee78dbaad4710becbcb02119d06063099f9102bb86f3cd44fbb7e2d87bafe239d8e0cbf22ab5a479f99a11a77125f22394d5006ed86262076ccbf1634d
+DIST llvm-project-3f4468faaa9525ad615118675c3c68938f4a8d5f.tar.gz 221860252 BLAKE2B 6c531df34163dc0879c79b029a13215d1bef2cd95bbaf4a6d5e10b81a8352236283d40f14b62e23a57cc1cf8edce138fb6e2720ced2397d6469c5863564c626d SHA512 4aa485f4547e210cf8f6f8147c4adab3e75afe77f1e4e1bc4718fe681b64bdcf8937f843964542f8ead90ceef52cc0fd4bd8275824d1a4c6961eddafc7d35115
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 5442 BLAKE2B 0bafe813a25b0bf38606bc5def482fa9e354005273762cdb29564d0dea93a575a7a95b1b8435ba959da4e47a26aec788e10c15509eb66937830b227679a2fbf7 SHA512 e12a3002d860023ef1f302ac1656ea4ec5556f41ef2b2f247a3eedebeddd7fb51a1e4f2c5a4e75770e15cffd1bdb830a82d081d2505a2196b494a490cc516f17
-EBUILD libcxx-19.1.0_rc4.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341
-EBUILD libcxx-20.0.0.9999.ebuild 5352 BLAKE2B d9c49814193b00a3c7453c8886c8bf18b8ce1b4d2893c50421cbe1db30385991cce8cd06c9435b05b93017338bd2ab52cb8815a07c8bf9bd2cae613e15551743 SHA512 e05e0da05a7c943e27102addfdf54845e09104cb98fe3beba0bf8c007c8e8c5b23477ef0e4a9d7d88d6e67673519e48aee7686c665eb88603c7409b70be2546c
-EBUILD libcxx-20.0.0_pre20240830.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341
-EBUILD libcxx-20.0.0_pre20240910.ebuild 5352 BLAKE2B d9c49814193b00a3c7453c8886c8bf18b8ce1b4d2893c50421cbe1db30385991cce8cd06c9435b05b93017338bd2ab52cb8815a07c8bf9bd2cae613e15551743 SHA512 e05e0da05a7c943e27102addfdf54845e09104cb98fe3beba0bf8c007c8e8c5b23477ef0e4a9d7d88d6e67673519e48aee7686c665eb88603c7409b70be2546c
+EBUILD libcxx-19.1.3.ebuild 5181 BLAKE2B dbad2e4443d758b1b2570dd2e5bf448f6fc4d8e633e2a21e5f26485203eb6da0e72a81abf870ef95c7903632b56af75fa0bb46220ee3651685144a4bdea46f61 SHA512 316a9684216860346b6a7486145993d25ed3daf9cc01929dba45a19818da4c92c8da88cf0230cf5196be99b04bd8471a14ae69b5ac722175dd0f7fdf5919bc75
+EBUILD libcxx-20.0.0.9999.ebuild 5358 BLAKE2B f1653197106b3f12fa21ca3e82968e2a4b1d5376bf0c7a72ffafe28623919c85de6180de6d2bb75092de2101ddd98c07cfa1866fda15c50832802e1a712a3f60 SHA512 501844ea65ad7200b74c412e5b9298559a78859f25f01a6b963a336db5f4be4790e079f861ab749f5b87241da014958bf166695b7aa03a6e84a7bc598dd455c2
+EBUILD libcxx-20.0.0_pre20241029.ebuild 5358 BLAKE2B f1653197106b3f12fa21ca3e82968e2a4b1d5376bf0c7a72ffafe28623919c85de6180de6d2bb75092de2101ddd98c07cfa1866fda15c50832802e1a712a3f60 SHA512 501844ea65ad7200b74c412e5b9298559a78859f25f01a6b963a336db5f4be4790e079f861ab749f5b87241da014958bf166695b7aa03a6e84a7bc598dd455c2
+EBUILD libcxx-20.0.0_pre20241106.ebuild 5358 BLAKE2B f1653197106b3f12fa21ca3e82968e2a4b1d5376bf0c7a72ffafe28623919c85de6180de6d2bb75092de2101ddd98c07cfa1866fda15c50832802e1a712a3f60 SHA512 501844ea65ad7200b74c412e5b9298559a78859f25f01a6b963a336db5f4be4790e079f861ab749f5b87241da014958bf166695b7aa03a6e84a7bc598dd455c2
MISC metadata.xml 598 BLAKE2B b7a60449e0d8e4e7605ec203dfaa45b17a265b024e21a3bcfe05a3aeb6c3d19a1d2a218cb1f9ac9ed52296f0d6e723fed251f364341fb70cbd91b747962db580 SHA512 a23f912efff52c4687767023da826ace8c6e5dcd5e69ece86aabbea99da89e48ba81cdc292f03193e2e8a05743e62ebf4d4735d038e0cc4b42714fa277569335
diff --git a/sys-libs/libcxx/libcxx-19.1.0_rc4.ebuild b/sys-libs/libcxx/libcxx-19.1.3.ebuild
index a0d07e1507f4..80dbe207d4c4 100644
--- a/sys-libs/libcxx/libcxx-19.1.0_rc4.ebuild
+++ b/sys-libs/libcxx/libcxx-19.1.3.ebuild
@@ -12,6 +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"
IUSE="+clang +libcxxabi +static-libs test"
REQUIRED_USE="test? ( clang )"
RESTRICT="!test? ( test )"
diff --git a/sys-libs/libcxx/libcxx-20.0.0.9999.ebuild b/sys-libs/libcxx/libcxx-20.0.0.9999.ebuild
index 43c213cc6426..73b362d082dd 100644
--- a/sys-libs/libcxx/libcxx-20.0.0.9999.ebuild
+++ b/sys-libs/libcxx/libcxx-20.0.0.9999.ebuild
@@ -39,7 +39,9 @@ BDEPEND="
)
"
-LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake )
+LLVM_COMPONENTS=(
+ runtimes libcxx{,abi} libc llvm/{cmake,utils/llvm-lit} cmake
+)
llvm.org_set_globals
python_check_deps() {
diff --git a/sys-libs/libcxx/libcxx-20.0.0_pre20240910.ebuild b/sys-libs/libcxx/libcxx-20.0.0_pre20241029.ebuild
index 43c213cc6426..73b362d082dd 100644
--- a/sys-libs/libcxx/libcxx-20.0.0_pre20240910.ebuild
+++ b/sys-libs/libcxx/libcxx-20.0.0_pre20241029.ebuild
@@ -39,7 +39,9 @@ BDEPEND="
)
"
-LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake )
+LLVM_COMPONENTS=(
+ runtimes libcxx{,abi} libc llvm/{cmake,utils/llvm-lit} cmake
+)
llvm.org_set_globals
python_check_deps() {
diff --git a/sys-libs/libcxx/libcxx-20.0.0_pre20240830.ebuild b/sys-libs/libcxx/libcxx-20.0.0_pre20241106.ebuild
index a0d07e1507f4..73b362d082dd 100644
--- a/sys-libs/libcxx/libcxx-20.0.0_pre20240830.ebuild
+++ b/sys-libs/libcxx/libcxx-20.0.0_pre20241106.ebuild
@@ -39,7 +39,9 @@ BDEPEND="
)
"
-LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake )
+LLVM_COMPONENTS=(
+ runtimes libcxx{,abi} libc llvm/{cmake,utils/llvm-lit} cmake
+)
llvm.org_set_globals
python_check_deps() {
@@ -144,6 +146,11 @@ multilib_src_compile() {
multilib_src_test() {
local -x LIT_PRESERVES_TMP=1
+ cmake_build install-cxx-test-suite-prefix
+ cp "${BUILD_DIR}"/{lib,libcxx/test-suite-install/$(get_libdir)}/libc++_shared.so || die
+ if use static-libs; then
+ cp "${BUILD_DIR}"/{lib,libcxx/test-suite-install/$(get_libdir)}/libc++_static.a || die
+ fi
cmake_build check-cxx
}
diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest
index 9d1c16b5f29c..12d0ad38706b 100644
--- a/sys-libs/libcxxabi/Manifest
+++ b/sys-libs/libcxxabi/Manifest
@@ -1,3 +1,4 @@
+DIST llvm-project-0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0.tar.gz 222324382 BLAKE2B 8023108460d2af1688871d5534e18aa52e29f0e466bb5431194d1e710d7cd11bdab4be000433536b2d69c815a68624e347c69378a697d6fc55433bb4c2156767 SHA512 f0c23a0ac25de31f4c81f76ee82f3189da65d825579e923ace2b54714649c60d4d078220c9f2200b11f08d0c0e32c5b81a57ba368c11d67e763936df8a609279
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
@@ -6,16 +7,15 @@ 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-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
-DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
-DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
-DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
+DIST llvm-project-19.1.3.src.tar.xz 141247864 BLAKE2B 4ccb30accd632a7d54eb065b724ff81ec8a50380fa527111d58acd728eecb798d42f680119b6d1cbc980523e2f39220921ca1f530daa7afea05ab27436dedb7e SHA512 0abaf158b373892d5afc184158600df17a0797547ad7238ca9018d6fcdd7310b0db803d158daa82a2e04bd42d9daebaa2c3e4b9024c0fa2df72a88596575df5c
+DIST llvm-project-19.1.3.src.tar.xz.sig 438 BLAKE2B 44717741ae13bb0c52382647352e52273d8401728dc5cc1cf0c11a8f08cd74b6e3d789e788793aad767030b36fdec62e3a05bdc0b7ff60556cec7ceac17fc239 SHA512 84ef22ee78dbaad4710becbcb02119d06063099f9102bb86f3cd44fbb7e2d87bafe239d8e0cbf22ab5a479f99a11a77125f22394d5006ed86262076ccbf1634d
+DIST llvm-project-3f4468faaa9525ad615118675c3c68938f4a8d5f.tar.gz 221860252 BLAKE2B 6c531df34163dc0879c79b029a13215d1bef2cd95bbaf4a6d5e10b81a8352236283d40f14b62e23a57cc1cf8edce138fb6e2720ced2397d6469c5863564c626d SHA512 4aa485f4547e210cf8f6f8147c4adab3e75afe77f1e4e1bc4718fe681b64bdcf8937f843964542f8ead90ceef52cc0fd4bd8275824d1a4c6961eddafc7d35115
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 2759 BLAKE2B 1d4ac3db2b24ed4c598f2e5c4021e68a95b3652b0ee4a7b9a8976bb253b921d428dd30a5da26dfb82b350c05ec8840f38887ae02a766a22861e0638434a7a4a6 SHA512 8fe5ca2d5c605406b102abd013f05b5662a5d643ec22b1a83a8bf8ec1b6a940fcdc448f1bb81f877741406874e126747148e295f5492f6b76c0e17ad093ad07a
-EBUILD libcxxabi-19.1.0_rc4.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34
-EBUILD libcxxabi-20.0.0.9999.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34
-EBUILD libcxxabi-20.0.0_pre20240830.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34
-EBUILD libcxxabi-20.0.0_pre20240910.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34
+EBUILD libcxxabi-19.1.3.ebuild 2764 BLAKE2B 279e2dedfd47b02e89b0d34b7ce17ddfcc409340319473901306b761545030bfaa0ab9788b567f6982b1071d37bc4f9790fe38a2817bd9b4f13bd337aa2f8b99 SHA512 10fbb48677a4bd39c196631649eaf307f7adfb5d8512f9abd6c4c0b7984a91113c4e9cf663282de38be7b02e0e8e835bc91300a38ca63f26c73f7fe6fd737de9
+EBUILD libcxxabi-20.0.0.9999.ebuild 2663 BLAKE2B 51f73901a172d1d38eb2204428cab606794110644be1d95e542da7c80e2f88f12b1dde949f3b000a27677108922413351d7f79547101a22b14595b31f3cb9138 SHA512 3d61d2c559bcdb9d13a8134dd75dfb66b46b51eb8c3c870fa807f0dfc6298ed1582a6a3eeba732d9aac6e974e28bf5fc8efb6825654b11b0fcbb4eeaa4d40492
+EBUILD libcxxabi-20.0.0_pre20241029.ebuild 2663 BLAKE2B 51f73901a172d1d38eb2204428cab606794110644be1d95e542da7c80e2f88f12b1dde949f3b000a27677108922413351d7f79547101a22b14595b31f3cb9138 SHA512 3d61d2c559bcdb9d13a8134dd75dfb66b46b51eb8c3c870fa807f0dfc6298ed1582a6a3eeba732d9aac6e974e28bf5fc8efb6825654b11b0fcbb4eeaa4d40492
+EBUILD libcxxabi-20.0.0_pre20241106.ebuild 2663 BLAKE2B 51f73901a172d1d38eb2204428cab606794110644be1d95e542da7c80e2f88f12b1dde949f3b000a27677108922413351d7f79547101a22b14595b31f3cb9138 SHA512 3d61d2c559bcdb9d13a8134dd75dfb66b46b51eb8c3c870fa807f0dfc6298ed1582a6a3eeba732d9aac6e974e28bf5fc8efb6825654b11b0fcbb4eeaa4d40492
MISC metadata.xml 438 BLAKE2B 0a830a06a53a6cdaf138ad7620fe366fae05c1c1451267d6a58caf7da5ce8f5a26d302fab53b9460920074ab5a65991d3bd24fde087809e8dc12188dd94c7676 SHA512 d53e13c497569636fb453a159c5ca5ddfabf8e5debd5f92e5149c52d54c876753842ab73293d6d08e2d9b279363b4f0c743eed3a5027a61246c6b60496be8e87
diff --git a/sys-libs/libcxxabi/libcxxabi-19.1.0_rc4.ebuild b/sys-libs/libcxxabi/libcxxabi-19.1.3.ebuild
index 903f8e866cb6..c129f18b4672 100644
--- a/sys-libs/libcxxabi/libcxxabi-19.1.0_rc4.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-19.1.3.ebuild
@@ -12,6 +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"
IUSE="+clang +static-libs test"
REQUIRED_USE="test? ( clang )"
RESTRICT="!test? ( test )"
diff --git a/sys-libs/libcxxabi/libcxxabi-20.0.0.9999.ebuild b/sys-libs/libcxxabi/libcxxabi-20.0.0.9999.ebuild
index 903f8e866cb6..13b5d3b6c275 100644
--- a/sys-libs/libcxxabi/libcxxabi-20.0.0.9999.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-20.0.0.9999.ebuild
@@ -37,7 +37,7 @@ BDEPEND="
"
LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/cmake cmake )
-LLVM_TEST_COMPONENTS=( llvm/utils/llvm-lit )
+LLVM_TEST_COMPONENTS=( libc llvm/utils/llvm-lit )
llvm.org_set_globals
python_check_deps() {
@@ -76,7 +76,6 @@ multilib_src_configure() {
# 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
diff --git a/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240830.ebuild b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241029.ebuild
index 903f8e866cb6..13b5d3b6c275 100644
--- a/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240830.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241029.ebuild
@@ -37,7 +37,7 @@ BDEPEND="
"
LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/cmake cmake )
-LLVM_TEST_COMPONENTS=( llvm/utils/llvm-lit )
+LLVM_TEST_COMPONENTS=( libc llvm/utils/llvm-lit )
llvm.org_set_globals
python_check_deps() {
@@ -76,7 +76,6 @@ multilib_src_configure() {
# 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
diff --git a/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240910.ebuild b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241106.ebuild
index 903f8e866cb6..13b5d3b6c275 100644
--- a/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20240910.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241106.ebuild
@@ -37,7 +37,7 @@ BDEPEND="
"
LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/cmake cmake )
-LLVM_TEST_COMPONENTS=( llvm/utils/llvm-lit )
+LLVM_TEST_COMPONENTS=( libc llvm/utils/llvm-lit )
llvm.org_set_globals
python_check_deps() {
@@ -76,7 +76,6 @@ multilib_src_configure() {
# 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
diff --git a/sys-libs/libieee1284/Manifest b/sys-libs/libieee1284/Manifest
index a1a6d07611fe..b356722e017a 100644
--- a/sys-libs/libieee1284/Manifest
+++ b/sys-libs/libieee1284/Manifest
@@ -1,5 +1,4 @@
AUX libieee1284-0.2.11-don-t-blindly-assume-outb_p-to-be-available.patch 1114 BLAKE2B cfc35b9dec4cb0cc08f9128f8f735b0843aa77c534c2707a888388805af60583eb8ab55dd5f8ab04be2b152beef9ca7d798da3346c65a8c479b994dc3068a2cc SHA512 cd63304e5002105cf47d7c12212aa70aaf9b3ec6e7c87d67a4b5a32d3be7d41155968b1b8558bf2d126d0446223025ccccb1ded166789d355640637b9ed5ea7b
DIST libieee1284-0.2.11.tar.bz2 278804 BLAKE2B 6bdc7051c91c7d1b7e601eb17823c4dbd17ca1f049a2af8487518649ec33fd5948d184b97764934371ea11d3871e82059cb0a5bd5501e1881e191791992e9d7b SHA512 06cc3049ce15613d34e39dc71bc572843c61ab64077c29ef9a6257edb0849c98565ff612a4cf787bc9642a39f1c89b7c47a20fb27f2318105be82aad8d472bb9
-EBUILD libieee1284-0.2.11-r8.ebuild 945 BLAKE2B c3762b30ec3e5f959c6dc4e8c827100cc33727759d48b1f5735b78ca0ce14bb76c2c4334c871eacea0f2b68bf3a777e61dc9a83f7fe4aad061d2cd7b15277f08 SHA512 a265b08e661166b56f4e1520eceb540f439d8e35bc5e37bddfb4a9be34423b23562071eb438444fcbbfbb1a0cc5627106eb285dc22ecd38dbfd63b80c1aa2586
EBUILD libieee1284-0.2.11-r9.ebuild 1034 BLAKE2B 1072d7b67f5dc6329a2f4175362db7c4ca737655141ee4e0bf38f291414b8bedda12dc58a9d3bfcfef874987c9c3dc9cb327412d124612123f4aac1a6c11623c SHA512 784ed7ba85e4bd0e770c3fc610543c24115b087385a86cd171f879ecdc73ce821c7dc6d0c769bcaf6915fa698036a14def70455e3df4a33cfd50476a0bd49ce2
MISC metadata.xml 332 BLAKE2B c2c4da67b3d2e5d1324702d5337f5069becc86d7fba6f4f8a0b5a827a290fd54d5439cdf299f20f0a8586d332bc59dc13098f0b8a310e5ff5ec75cdf72d38989 SHA512 d6fde1d953667b89149bb7259f2bcb98682d4ff9c8fe21d94626c7a835f6e2b50b253209e7f1cd4917bb187a2d15d660dba5a146f0b06fbcae7701e77d274cf0
diff --git a/sys-libs/libieee1284/libieee1284-0.2.11-r8.ebuild b/sys-libs/libieee1284/libieee1284-0.2.11-r8.ebuild
deleted file mode 100644
index a55966b1f274..000000000000
--- a/sys-libs/libieee1284/libieee1284-0.2.11-r8.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="Library to query devices using IEEE1284"
-HOMEPAGE="http://cyberelk.net/tim/software/libieee1284/"
-SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc x86"
-IUSE="doc static-libs"
-
-BDEPEND="doc? (
- app-text/docbook-sgml-utils
- >=app-text/docbook-sgml-dtd-4.1
- app-text/docbook-dsssl-stylesheets
- dev-perl/XML-RegExp
- )"
-
-src_prepare() {
- default
-
- mv configure.{in,ac} || die
-
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --enable-shared
- --without-python
- $(use_enable static-libs static)
- )
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- einstalldocs
- dodoc doc/interface*
-
- if ! use static-libs; then
- find "${ED}" -name '*.la' -delete || die
- fi
-}
diff --git a/sys-libs/libnvme/Manifest b/sys-libs/libnvme/Manifest
index e5b8cfefaad2..aec47e6b0a77 100644
--- a/sys-libs/libnvme/Manifest
+++ b/sys-libs/libnvme/Manifest
@@ -1,10 +1,8 @@
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.11.gh.tar.gz 740365 BLAKE2B c4d5950b0d0769f1aaddc6d82364ad14ae3b1b6e2b5d16225c8599833e51516c14b8802b77562b08cbb54c15b8e5814d7f5b059939c197b87375afba899ffe3d SHA512 5c1d00fe57ff699be01c326e24612da25e1772578928e2c70fb5f67e8a9fe0fa4c95e18f58d4abefa0e163e99c9e37b1109298e805e174b033e749d19865336b
DIST libnvme-1.9.tar.gz 657952 BLAKE2B e9d655709770f7c1d9c916cc9539b8ea096b0d5bf6b12079c2db494f070c98b6c388e2a79ed27a4932994a00d44da93fa3119ee224c48d40347a483548397349 SHA512 39a3346805143f93a17d00cfcb6fb75f82154658db6079134c09dfa989995ac5de79b1ce1ac091b4e997523d3216829ce9eac44110c9f59f9fd21636529c8b25
-EBUILD libnvme-1.10.ebuild 1496 BLAKE2B c10665d8779c60fe36618755a56799e5323a03f1205fb0547158c91d626f3ad7f1b592d9f32ab706e0e71d7ea0d8632caeecd1e6cb7828677dff361bf194f99e SHA512 65c4945fc3b03a6b836b73d31e1a708a744f84059ff9b57429aff096e6fb36d3a4574a567f03fddf6c8b49261b2a3f1375d894bd80e92dc0a074c1f27ce38313
-EBUILD libnvme-1.7.1-r1.ebuild 1488 BLAKE2B 67e447407bb97e0e9fd50a7e2661c50b9b7411498995ca9e44234f75ee1fe573fa553783ed0787a294c50744881321fcca12f0e237e34a21b19ca6955dd85228 SHA512 eba6517f494530acdd1afa993025544788d25c082528ef884fcbcdf23b498cf16a1325ad0d49708892ab63ea161dbd39fa1d4970fec1be86387251792fbc2e34
-EBUILD libnvme-1.8.ebuild 1490 BLAKE2B 218c3b49e961ba9c729eece8a8a3990a1f0382c506e4f54f071e5a562ec2994bca7df7da8f931c08171851d0a1518db07d5b841d66d2cf51f8ba0ebfddc0bad5 SHA512 72bd73578abf3494e9538a5889d7270a92b1aefb47fb1f8b1eff6e7c130d82ae7eb5f06b592c02356e1fc156c5c38457990f5ba235becc00babd68edcaa562f4
+EBUILD libnvme-1.10.ebuild 1490 BLAKE2B 1744ecfb30382f9b30bf0f7b90fc18474544a470513289fee0a833b0f9ffa2a0366b33d27148b3082ebc59a2f6a92ae14e3f72c132377559c979a9d06daa02e8 SHA512 41d68a137d48e334108bec901e92be84748a1b4839bea7d5ac7d402645557c9e31e66922f26e598ebdaf253dea851b5fd70a8a1c46f57d0154d376303db5fafa
+EBUILD libnvme-1.11.ebuild 1508 BLAKE2B 73f66b9cbecbf94d4e9881cd9c5615dd11a59948b4aaa74ecc841f08b13c60c3eb27d429535603079bafff0b3f857c964b223753bc73dca7e6af7ea915c3c6d5 SHA512 c86d73510aceb1200d8442d5866d3de663148ec31dbc84d338f10b490e1ac87bb6800c2a99314b988d1eb1bf6ef35df1ebcb3cbfc19cf48b41205c4b587265bb
EBUILD libnvme-1.9.ebuild 1544 BLAKE2B 070f4b4216a6fd02ff2af13c23cc9f2ceeee9f4f9c68b778e19c587ae91269f3359a92cacf9cf8587f89b6c552b844923ff5c43fd3cd4b4419d8374e0f68ccd7 SHA512 869382f8717e50df15706a339528e5bd35e481f8e848d959d2499364a9f94c8cb0d0be51af4fe67d982fc8c2e15d0f8da0d9a7510cc3901be2f8b7911ea33e0b
MISC metadata.xml 585 BLAKE2B 6163419190adb903fdbdef99ad53f8b14ffbc08ac3c8b56f820049468010af2a58ac204ded1b53c767759e9ac864bf85dbc3b723cd7113cb919194dd9ceaaac3 SHA512 2f5268b41676d2a61d5415de3ec62149cda53613970a1af6aface937cc635d26866c88205a6d9fcf7efd7df0c7f45308ecf5b29b6cea937966b765a222edb8f7
diff --git a/sys-libs/libnvme/libnvme-1.10.ebuild b/sys-libs/libnvme/libnvme-1.10.ebuild
index 7ada129a3e8e..183c72198792 100644
--- a/sys-libs/libnvme/libnvme-1.10.ebuild
+++ b/sys-libs/libnvme/libnvme-1.10.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -
LICENSE="LGPL-2.1+"
SLOT="0/1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
IUSE="dbus +json keyutils python ssl test +uuid"
RESTRICT="!test? ( test )"
diff --git a/sys-libs/libnvme/libnvme-1.8.ebuild b/sys-libs/libnvme/libnvme-1.11.ebuild
index bd72c79f4ebd..874a7a0f5838 100644
--- a/sys-libs/libnvme/libnvme-1.8.ebuild
+++ b/sys-libs/libnvme/libnvme-1.11.ebuild
@@ -3,16 +3,16 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} python3_13t )
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}.tar.gz"
+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 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="dbus +json keyutils python ssl test +uuid"
RESTRICT="!test? ( test )"
diff --git a/sys-libs/libnvme/libnvme-1.7.1-r1.ebuild b/sys-libs/libnvme/libnvme-1.7.1-r1.ebuild
deleted file mode 100644
index 79ddf7d31ab4..000000000000
--- a/sys-libs/libnvme/libnvme-1.7.1-r1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-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}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/1"
-KEYWORDS="~alpha amd64 arm arm64 ~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 b0be47b34782..32af62b6b25e 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -1,4 +1,5 @@
DIST llvm-gentoo-patchset-15.0.7-r6.tar.xz 25208 BLAKE2B c9fca31a053ee059c3060a94dcf675d472fc1a59b5f927648de58fb4ff20bfc229890f789ed47b3d053bd466b860a0c60a53b4b024a8fe18c776e9a72434d6de SHA512 601cd923711839dca7cb5bfea53ded644777c6340265a797939a53409fd2ca27059a015fd6ca6832e60314699ade27919a9a59dab395cc27f8fdc479a0f3c034
+DIST llvm-project-0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0.tar.gz 222324382 BLAKE2B 8023108460d2af1688871d5534e18aa52e29f0e466bb5431194d1e710d7cd11bdab4be000433536b2d69c815a68624e347c69378a697d6fc55433bb4c2156767 SHA512 f0c23a0ac25de31f4c81f76ee82f3189da65d825579e923ace2b54714649c60d4d078220c9f2200b11f08d0c0e32c5b81a57ba368c11d67e763936df8a609279
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,16 +8,15 @@ 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-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
-DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
-DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
-DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
+DIST llvm-project-19.1.3.src.tar.xz 141247864 BLAKE2B 4ccb30accd632a7d54eb065b724ff81ec8a50380fa527111d58acd728eecb798d42f680119b6d1cbc980523e2f39220921ca1f530daa7afea05ab27436dedb7e SHA512 0abaf158b373892d5afc184158600df17a0797547ad7238ca9018d6fcdd7310b0db803d158daa82a2e04bd42d9daebaa2c3e4b9024c0fa2df72a88596575df5c
+DIST llvm-project-19.1.3.src.tar.xz.sig 438 BLAKE2B 44717741ae13bb0c52382647352e52273d8401728dc5cc1cf0c11a8f08cd74b6e3d789e788793aad767030b36fdec62e3a05bdc0b7ff60556cec7ceac17fc239 SHA512 84ef22ee78dbaad4710becbcb02119d06063099f9102bb86f3cd44fbb7e2d87bafe239d8e0cbf22ab5a479f99a11a77125f22394d5006ed86262076ccbf1634d
+DIST llvm-project-3f4468faaa9525ad615118675c3c68938f4a8d5f.tar.gz 221860252 BLAKE2B 6c531df34163dc0879c79b029a13215d1bef2cd95bbaf4a6d5e10b81a8352236283d40f14b62e23a57cc1cf8edce138fb6e2720ced2397d6469c5863564c626d SHA512 4aa485f4547e210cf8f6f8147c4adab3e75afe77f1e4e1bc4718fe681b64bdcf8937f843964542f8ead90ceef52cc0fd4bd8275824d1a4c6961eddafc7d35115
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 4288 BLAKE2B f357d18d80010a75b917694db783d6a7ea3e2d49c157f194cdcf6f27a89110df32d0605d2eda30a30b662cc9f52994b16c48c2ecb01b4c81bcde741282a5e840 SHA512 16580962bb4d278794edd748a26be3d7d185c906f76b5dde675a875cdd62e3c97e817de042fc2564ac40d41919fd649aa747ec430fa8c18be553ea88b0d02f88
-EBUILD libomp-19.1.0_rc4.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
+EBUILD libomp-19.1.3.ebuild 2248 BLAKE2B 8493ef91a33d9415c1ae604e8d65a972964b8a4d4adc5dbecf884a30a2a5aa216955fb15ade6d260e2573dcf265c845a1ed95ad7ef850342007e97e345c78558 SHA512 fb53d47a8a75cb06d4915ea00186dffc01ba718d021945df3f9f8cc106c2ecbc9278b1fdc8d037ce562a3b0b1bdc58dc266b90d671b2d427de2761b02661a96d
EBUILD libomp-20.0.0.9999.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
-EBUILD libomp-20.0.0_pre20240830.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
-EBUILD libomp-20.0.0_pre20240910.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
+EBUILD libomp-20.0.0_pre20241029.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
+EBUILD libomp-20.0.0_pre20241106.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
MISC metadata.xml 883 BLAKE2B 127e896b82a49633a6866b33ca776ebe2dd149a5d04da4484a53186f219a85db0ab9d826bc1cc61d4df9fa54c9bcc546be070a0b28985174925fd947aa09cca2 SHA512 dc32cae01401feb93eede6506b3955c766ff19b44976fcc67277559b23ac151993377daeed9ba83b2dd71dbdeea330cd1208dcb0c9c5f56be270883b31f9b15f
diff --git a/sys-libs/libomp/libomp-20.0.0_pre20240910.ebuild b/sys-libs/libomp/libomp-19.1.3.ebuild
index 32b91b3699c4..64ab38e3e987 100644
--- a/sys-libs/libomp/libomp-20.0.0_pre20240910.ebuild
+++ b/sys-libs/libomp/libomp-19.1.3.ebuild
@@ -11,7 +11,8 @@ 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"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos"
+IUSE="debug gdb-plugin hwloc ompt test"
REQUIRED_USE="
gdb-plugin? ( ${PYTHON_REQUIRED_USE} )
"
diff --git a/sys-libs/libomp/libomp-19.1.0_rc4.ebuild b/sys-libs/libomp/libomp-20.0.0_pre20241029.ebuild
index 32b91b3699c4..32b91b3699c4 100644
--- a/sys-libs/libomp/libomp-19.1.0_rc4.ebuild
+++ b/sys-libs/libomp/libomp-20.0.0_pre20241029.ebuild
diff --git a/sys-libs/libomp/libomp-20.0.0_pre20240830.ebuild b/sys-libs/libomp/libomp-20.0.0_pre20241106.ebuild
index 32b91b3699c4..32b91b3699c4 100644
--- a/sys-libs/libomp/libomp-20.0.0_pre20240830.ebuild
+++ b/sys-libs/libomp/libomp-20.0.0_pre20241106.ebuild
diff --git a/sys-libs/libseccomp/Manifest b/sys-libs/libseccomp/Manifest
index f0119e8c3fb3..36fc855d0a97 100644
--- a/sys-libs/libseccomp/Manifest
+++ b/sys-libs/libseccomp/Manifest
@@ -1,4 +1,5 @@
AUX libseccomp-2.5.3-skip-valgrind.patch 516 BLAKE2B d5dc87fcca8e20b7edd427c434d875c9c3c7aa130a651dbe06c2c648825312e330400f89177afcfe4985fa48e0f95de9937773deb6d3d83da9b2351e6e0488fc SHA512 96053f8ca6abc97ea7c5565c3c25563881e8c0363e9c38fa05836d59b5d9ea1a375f9e072bd5f89a67ddac159c1219be7ed829facd651b3fb8bd5071c89bddcb
+AUX libseccomp-2.5.5-aliasing.patch 1065 BLAKE2B 22b25db6d1ebf6f3f6a54b49341f4457bcad7c3e43d7509241408bc237451e899be8a38ecb9f704826efeccc265b0bc9bc4fe89d3da76707bd2338e0fe146fe0 SHA512 f618af56ebb02e4f8115d84890679cf00f8f5062c181a6cad8a5604316c282b022ba078a61adfd4bc412f79ad805cb35e71e5cc191390502306e515eaf97009b
AUX libseccomp-2.5.5-arch-syscall-check.patch 1485 BLAKE2B c94cd88060e51e1ba4962fc56603a958bd8fe314adc6d038a271d8f661db1f421026a180d5aa6deccc42422818a95cf8ec46a2a4e961325ef74d342d17f24e2a SHA512 c14f351e9d7dbdf1be43f031cd7a9a5b192b2e358574054aabba1d08a0ccc1cf8f1138b1462d0b7eac899ac801039aa03e748ff52a8020174801b26ee47b69b1
AUX libseccomp-2.5.5-which-hunt.patch 1779 BLAKE2B 00ac7f24b718f450c258c0d69f600a739360ac6cce45acdca51d413e07396d16ffa50d64fda2744968171e33e3a0e2ac17fa01c6016a95fab6774a4f6c7ba7c4 SHA512 b077a3f1075664fdfec6fecc077bd53685823794f037315a559f205cb6dc78a7d5e720ea4587dfdb605bfbeae79cf964d083157fbfae2085ca1d9e2995015067
AUX libseccomp-2.6.0-python-shared.patch 778 BLAKE2B 343bcb6c8e8cfc9bab3e0439d391ddfae023587f64f23860c1594cacb60d3af58e031edd5f37ba705bf3da01799ed12ab931a4b9a98e9063922f16cab814d5e6 SHA512 029b1403a3b0af5931833837d9b640d8d9ee172972f927f756137ca51bdbfd3f9cd42657029397fdb2cb727a5065356e05ca196fcb2170484f807bb65cd5a398
@@ -7,6 +8,7 @@ DIST libseccomp-2.5.5-loongarch-r1.patch 119822 BLAKE2B 4aa75c1ac87b2ca25cf6be38
DIST libseccomp-2.5.5-loongarch64-20231204.patch.xz 41236 BLAKE2B 7831b28c275771bb675b4b5045e657d96c254e69cee7188a19f4812bc83343e0041772c20be1e7392ec88387726b49f34aa670a906b922dba531a0d35e548b1e SHA512 7870e536d834360dfec446493815b675a305f6bec1b79d0caae6fb546d2f694e77ce52e547bbcdb22cda272272bf3d5a427960b4aa76fb987d06ab035298007d
DIST libseccomp-2.5.5.tar.gz 642445 BLAKE2B d770cee1f3e02fbbcd9f25655b360ab38160ad800e2829a67f2b9da62b095a90be99ac851a67344cf95bd6810a6268da4655dc1d37d996e58239c4999eb41998 SHA512 f630e7a7e53a21b7ccb4d3e7b37616b89aeceba916677c8e3032830411d77a14c2d74dcf594cd193b1acc11f52595072e28316dc44300e54083d5d7b314a38da
EBUILD libseccomp-2.5.5-r1.ebuild 3273 BLAKE2B cade5d5eca0b4576ffb41debba45ff49e1a36b79f38b7d2fd8add821b174c9e73a7e9b20f07007e70b6b3f1d9e37ff9735ba38dcb300abf985a1c623cfb43528 SHA512 0e406903011d194f42fd1a2f4135759e89ebcc810722e8efefc1c68390e42ef4d9f26fd7df7955bd96faebedf74bbde37e04561d8b6601f2d49f1f21e790827b
+EBUILD libseccomp-2.5.5-r2.ebuild 3327 BLAKE2B 2027d330196acd6f7617310adf72ebf4065e1b0c7bd9ab255970e4aefabcc44e76c5e538c0f1d244e7b92d28973dafe4e3e80547bf32c983de349b9b741898aa SHA512 450970e8cfbdff098e2bf429242d5aa3091d2c350c0ef3acb3a42376223049de71174a82c023d5efb52c3a0122f69d77b79b27fbc258d3a4c620d3bcc87cc407
EBUILD libseccomp-2.5.5.ebuild 2933 BLAKE2B d2b8b53e01877d343de0b6838b2bf4b3addeec676fbd89fae289788da03fb4b9b7af89e193e17621361bb39e33f77f80393a7807887010016dc7d49120653b1d SHA512 9f911a3647dac012b5cad4c919ba1a286fbc9348320810f7b772125da4250c4d26ae5cb870caf96a45930f3f040296f375b31818e69c0ccee826b497208d7d86
EBUILD libseccomp-9999.ebuild 2433 BLAKE2B 50afb42077d398c80404844c9d865b2b5760f157c7455f8b74ab666f16ebec647f413649091a4d1406f7b7d5e0b9daf1a0edf4a3ee83f9eb7c495b8817cf06e4 SHA512 c0abf7f041c37df9047fb4e7e9c4632978be2d90c93b5756bdfff9167d2cd11df5065266c23eefd70feb67cf731cb653d6ab9154ae077bcb714c11c38aacea18
MISC metadata.xml 506 BLAKE2B 44dc13629234226f9314270c05d5c7c87575639fe12282e73697ead63d016ee9b52a89d673be5881bfcbf4d605024ecfcc3e19510581d334a6d5737df6a36b50 SHA512 93b0a53783499eab6b6264867a049830d765ee56d19b0c60e764f6651dff9f0d11efbec0783fdeb17c2c64d3f409bb4b1b1f74f267022775b992b61a1df03100
diff --git a/sys-libs/libseccomp/files/libseccomp-2.5.5-aliasing.patch b/sys-libs/libseccomp/files/libseccomp-2.5.5-aliasing.patch
new file mode 100644
index 000000000000..60190702d381
--- /dev/null
+++ b/sys-libs/libseccomp/files/libseccomp-2.5.5-aliasing.patch
@@ -0,0 +1,30 @@
+https://github.com/seccomp/libseccomp/commit/2847f10dddca72167309c04cd09f326fd3b78e2f
+
+From 2847f10dddca72167309c04cd09f326fd3b78e2f Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 24 Dec 2023 20:38:06 +0100
+Subject: [PATCH] scmp_bpf_sim: fix aliasing UB
+
+See https://github.com/seccomp/libseccomp/pull/425.
+
+Punning sys_data_b between uint32_t* and struct* seccomp_data isn't legal,
+use memcpy to fix the testsuite with Clang 17.
+
+Modern compilers recognise this idiom and optimise it out anyway.
+
+Signed-off-by: Sam James <sam@gentoo.org>
+Acked-by: Tom Hromatka <tom.hromatka@oracle.com>
+Signed-off-by: Paul Moore <paul@paul-moore.com>
+--- a/tools/scmp_bpf_sim.c
++++ b/tools/scmp_bpf_sim.c
+@@ -182,7 +182,8 @@ static void bpf_execute(const struct bpf_program *prg,
+ switch (code) {
+ case BPF_LD+BPF_W+BPF_ABS:
+ if (k < BPF_SYSCALL_MAX) {
+- uint32_t val = *((uint32_t *)&sys_data_b[k]);
++ uint32_t val;
++ memcpy(&val, &sys_data_b[k], sizeof(val));
+ state.acc = ttoh32(arch, val);
+ } else
+ exit_error(ERANGE, ip_c);
+
diff --git a/sys-libs/libseccomp/libseccomp-2.5.5-r2.ebuild b/sys-libs/libseccomp/libseccomp-2.5.5-r2.ebuild
new file mode 100644
index 000000000000..3baf6b3db7a2
--- /dev/null
+++ b/sys-libs/libseccomp/libseccomp-2.5.5-r2.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 multilib-minimal
+
+DESCRIPTION="High level interface to Linux seccomp filter"
+HOMEPAGE="https://github.com/seccomp/libseccomp"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/seccomp/libseccomp.git"
+ PRERELEASE="2.6.0"
+ AUTOTOOLS_AUTO_DEPEND=yes
+ inherit autotools git-r3
+else
+ AUTOTOOLS_AUTO_DEPEND=no
+ inherit autotools libtool
+ SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz
+ experimental-loong? ( https://github.com/matoro/libseccomp/compare/v${PV}..loongarch-r1.patch
+ -> ${P}-loongarch-r1.patch )"
+ KEYWORDS="-* ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="experimental-loong python static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# We need newer kernel headers; we don't keep strict control of the exact
+# version here, just be safe and pull in the latest stable ones. bug #551248
+DEPEND="
+ >=sys-kernel/linux-headers-5.15
+ python? ( ${PYTHON_DEPS} )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ ${DEPEND}
+ dev-util/gperf
+ experimental-loong? ( ${AUTOTOOLS_DEPEND} )
+ python? (
+ ${DISTUTILS_DEPS}
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/libseccomp-python-shared.patch
+ "${FILESDIR}"/libseccomp-2.5.3-skip-valgrind.patch
+ "${FILESDIR}"/libseccomp-2.5.5-which-hunt.patch
+ "${FILESDIR}"/libseccomp-2.5.5-arch-syscall-check.patch
+ "${FILESDIR}"/libseccomp-2.5.5-aliasing.patch
+)
+
+src_prepare() {
+ if use experimental-loong; then
+ PATCHES+=( "${DISTDIR}/${P}-loongarch-r1.patch" )
+ fi
+
+ default
+
+ if [[ ${PV} == *9999 ]] ; then
+ sed -i -e "s/0.0.0/${PRERELEASE}/" configure.ac || die
+ fi
+
+ if use experimental-loong; then
+ # touch generated files to avoid activating maintainer mode
+ # remove when loong-fix-build.patch is no longer necessary
+ touch ./aclocal.m4 ./configure ./configure.h.in || die
+ find . -name Makefile.in -exec touch {} + || die
+ fi
+
+ if [[ ${PV} == *9999 ]] || use experimental-loong; then
+ rm -f "include/seccomp.h" || die
+ eautoreconf
+ else
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ --disable-python
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi && use python ; then
+ # setup.py expects libseccomp.so to live in "../.libs"
+ # Copy the python files to the right place for this.
+ rm -r "${BUILD_DIR}"/src/python || die
+ cp -r "${S}"/src/python "${BUILD_DIR}"/src/python || die
+ local -x CPPFLAGS="-I\"${BUILD_DIR}/include\" -I\"${S}/include\" ${CPPFLAGS}"
+
+ # setup.py reads VERSION_RELEASE from the environment
+ local -x VERSION_RELEASE=${PRERELEASE-${PV}}
+
+ pushd "${BUILD_DIR}/src/python" >/dev/null || die
+ distutils-r1_src_compile
+ popd >/dev/null || die
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python ; then
+ distutils-r1_src_install
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "${PN}.la" -delete || die
+
+ einstalldocs
+}
diff --git a/sys-libs/libselinux/Manifest b/sys-libs/libselinux/Manifest
index fda5887ee67d..76eeeec002db 100644
--- a/sys-libs/libselinux/Manifest
+++ b/sys-libs/libselinux/Manifest
@@ -1,6 +1,6 @@
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.6-r1.ebuild 4211 BLAKE2B 315e1097fddba4754f70e0c41f0255011a6ef389a3304b33dd25f0919002637542052c1ec9a599b43021a5ed86b3a43f879ad310087b9177e21511468f6fe115 SHA512 8b9abb27de59212d76631c3b8ce4c2480f1012d9953d54ed578c4b459988939b5abbcd3a3a96b18cf0e99be24004564cd699d723fa14b94ce3000cfb8297bbe0
-EBUILD libselinux-3.7-r1.ebuild 4225 BLAKE2B ad5ee3fbd5643a465e1e8448f9db623015500694f276f597e104c617c1f3e017ff2f75688f08c0fcb040c6209117ad78a93ab2d1b4b5b551446d0d7df8521447 SHA512 d0779acec625bc01d634cc8eb89c1e3746f8a966b3d256c382ecdb14af78e733a0e1100bbf45f0708d0678d3526028c60394259aafb1701d366576856bdd453f
+EBUILD libselinux-3.7-r1.ebuild 4221 BLAKE2B 834336b9ca5a67fb1d2f1bd758e62582da58538372974323500e64658073882d2b998a2e003fe7ace1470c7522698d3ff659bcae6df123f5430d9b4b1cdefc53 SHA512 e7738bebe371900d08a14acc88e7cb5be06ccf4aa8add52ec130a4585dde12787ebd5261fca4068d98054dba23cf424a04af3b6f7e481dd45cf3624a9ad343af
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.7-r1.ebuild b/sys-libs/libselinux/libselinux-3.7-r1.ebuild
index 72e3b36bde1a..fead63a7b180 100644
--- a/sys-libs/libselinux/libselinux-3.7-r1.ebuild
+++ b/sys-libs/libselinux/libselinux-3.7-r1.ebuild
@@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]]; then
S="${WORKDIR}/${P}/${PN}"
else
SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86"
+ KEYWORDS="amd64 arm arm64 ~mips ~riscv x86"
S="${WORKDIR}/${MY_P}"
fi
diff --git a/sys-libs/libsepol/Manifest b/sys-libs/libsepol/Manifest
index 37b8f908a401..04cb0acc257e 100644
--- a/sys-libs/libsepol/Manifest
+++ b/sys-libs/libsepol/Manifest
@@ -1,6 +1,6 @@
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.6.ebuild 1114 BLAKE2B 94ab8f288daf3208748785f0440c24bbd4af0477f383c5d570db7a7d8eb98fe1f910d419a5fd41cb063bb06e7898a34b66dff7655e08f894e357324b99516a2d SHA512 be5926d4a51c07270d7cadacbaf8208b68803133c4a372127ad6f5e45261b0ca7a6cc5521a1f006805aacab721a0329a72fa40e4c87865723f054e23d55afb2c
-EBUILD libsepol-3.7.ebuild 1201 BLAKE2B 2788cdd6371440168ffcbb90b93df66b7ce88f9476d37634e7d4e34706b408d20eef13bb2d9e97052a55f103549a32dc7de1084d37c68d27616ac39e4f3fbd6d SHA512 4df5ac41cbab2fb2db540badc40e1a7055a074ab8382213aec78579341729b297dd340e0b7355c9e168a0d56cf1e5a36f215789b5308cfcc194bf687caff6816
+EBUILD libsepol-3.7.ebuild 1197 BLAKE2B add6fc44ab8a13b5f953233445ed57aca7e9fe4072f11270103767e6e9c42e8821cee31d6bb5b31c7132f3f2e8b39e96fa386244d95e2d4604448d899b6cac04 SHA512 c427f7c086224fe171e7bdb45622ad99f2a2aa5dca65fc970ff51ee77f4e876df94fc682903e5c0aba64e2d1e5916f18629f0f4f53399dc8067ac14bbf3c6d84
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.7.ebuild b/sys-libs/libsepol/libsepol-3.7.ebuild
index 95aea8cbafe3..b4695c7d1f80 100644
--- a/sys-libs/libsepol/libsepol-3.7.ebuild
+++ b/sys-libs/libsepol/libsepol-3.7.ebuild
@@ -17,7 +17,7 @@ if [[ ${PV} == 9999 ]]; then
S="${WORKDIR}/${P}/${PN}"
else
SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86"
+ KEYWORDS="amd64 arm arm64 ~mips ~riscv x86"
S="${WORKDIR}/${MY_P}"
fi
diff --git a/sys-libs/libstatgrab/Manifest b/sys-libs/libstatgrab/Manifest
index 5f231e91cb01..db53195b2dd4 100644
--- a/sys-libs/libstatgrab/Manifest
+++ b/sys-libs/libstatgrab/Manifest
@@ -1,5 +1,3 @@
DIST libstatgrab-0.92.1.tar.gz 817531 BLAKE2B 5315772da07a9229f7f5d85dc7563333892e2a7293d7b331bd65edbebc08841103e6cf695d8faf25b83135545dda767bfc358517afa866981657dc8205d319be SHA512 e1f14df8abbb044d02b0ecebc23fbe9effaa0bac6738686e661de015564df5a4d872edef6d07fd150db25764b449d47ef54beecbe12c51987a679b07edc53c97
-DIST libstatgrab-0.92.tar.gz 815262 BLAKE2B d8ca538f01d9e0b1d5c459c9c0da6df5b6806e02649d726c3ee8a2f69233a7183df6dda95980a8e6f8b438478ec28f4baa9d623d5372e5e3e28ea4909e905872 SHA512 a99c6be56d930779d0d8f6f81e64e2f31e19423009c39e925b39116a42aa2c6037651992ac2168c43a5c6ecadf3e4a58486ab6148cf96118c429b04fdcf65192
-EBUILD libstatgrab-0.92.1.ebuild 968 BLAKE2B 1ce3599cf112523f1bb152d3f7fccb4e0656533756feb510ae09c0624af3e0f9d9f57d1e214b95ecffcd4ba1ee602b54b08f0a50358ae24753791faf7c3eac06 SHA512 277bcb4f484b8d9848b010b88134e151e3a4b2baa4560a3e317ad6f5515dd383c115cb6afedb4fb9e1302ac58dc07c1e6529e68259190e9253a6cd8d865c6ff5
-EBUILD libstatgrab-0.92.ebuild 968 BLAKE2B 0f2eb2d418540a1c515cbb4f16f5eb6abd2bf5bbf324bad88b93f235f1bc16057a1bc85509e753393b4a985e046732d9eb9302c7d634fe61650cfd8caff7b175 SHA512 de527b62a295b554a653ddc2e901d126729d754013746832f377f01c7a70be5b5309a277ba6e28bdbe80ffe0646c758757d7a2ed0f577ae4df4056fabd9a7fab
+EBUILD libstatgrab-0.92.1.ebuild 955 BLAKE2B 76cff87dcef38ce74e36e5ac69477fd3ad535dc05890962aabffa9fda561e71a1ff7dc8101a9152f15b59ff14fc0f0374d6b1ef4ab113dbb24ad4ec2be6aba22 SHA512 653c3bf52b2683d74827699fe07a059723e012b29b57e88df92e6dedc5331c45ac2053ae6c2e2b7e915dab320dec1feb08af2dd5f1ba519bb092f6ad090033af
MISC metadata.xml 256 BLAKE2B 2cc24f32d3929f21719f6dbfed59d471a6c5b3c8bc63534f0686f456805ded41b6d8e2dd7621443b1f57a3b09f43801b8a0649162d5afa995a8378fd76e1109b SHA512 b1a2dce972e99ca197dcb2f9c7830dd8f3702cb5c6cdbdbe6ec2de64df8a7d2fa6b680d194ebc3e8c53c1b8d05c1723673b1e56e7684ba2a4567adaa358335b6
diff --git a/sys-libs/libstatgrab/libstatgrab-0.92.1.ebuild b/sys-libs/libstatgrab/libstatgrab-0.92.1.ebuild
index a95f40de80dc..ccff04645e8b 100644
--- a/sys-libs/libstatgrab/libstatgrab-0.92.1.ebuild
+++ b/sys-libs/libstatgrab/libstatgrab-0.92.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="A tool to provide access to statistics about the system on which it's run"
-HOMEPAGE="https://www.i-scream.org/libstatgrab/"
+HOMEPAGE="https://libstatgrab.org/"
SRC_URI="https://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/${P}.tar.gz"
LICENSE="|| ( GPL-2 LGPL-2.1 )"
diff --git a/sys-libs/libstatgrab/libstatgrab-0.92.ebuild b/sys-libs/libstatgrab/libstatgrab-0.92.ebuild
deleted file mode 100644
index 81a63a9af307..000000000000
--- a/sys-libs/libstatgrab/libstatgrab-0.92.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A tool to provide access to statistics about the system on which it's run"
-HOMEPAGE="https://www.i-scream.org/libstatgrab/"
-SRC_URI="https://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/${P}.tar.gz"
-
-LICENSE="|| ( GPL-2 LGPL-2.1 )"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ppc ~riscv x86"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="sys-libs/ncurses:="
-DEPEND="${RDEPEND}"
-
-DOCS=( ChangeLog PLATFORMS NEWS AUTHORS README )
-
-src_configure() {
- local myeconfargs=(
- --disable-setgid-binaries
- --disable-setuid-binaries
- --with-ncurses
- --disable-static
- $(use_enable test tests)
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- if use examples; then
- docompress -x /usr/share/doc/${PF}/examples
- docinto examples
- dodoc -r examples/*
- fi
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sys-libs/libstdc++-v3/Manifest b/sys-libs/libstdc++-v3/Manifest
index f7e5908fb2ec..99081c5f478a 100644
--- a/sys-libs/libstdc++-v3/Manifest
+++ b/sys-libs/libstdc++-v3/Manifest
@@ -1,4 +1,4 @@
DIST gcc-3.3.6-patches-4.tar.bz2 53437 BLAKE2B 372ff1fcfcfacca43b420d2cda7fccb2ede4917408e1fcceb6c094694de8ae21148fa9c5ab8663cf6fb9ad858e3d0cbb3f20c91020db7b627828403444c2fd66 SHA512 1ff4563956d2f3af1240a14cd1ec126ff75dcf24e1cec39d32a17d6be92b94aeb081605ceb04b138ba905cea8ccbe204dce4b42a02ef55383fcfa91643f73faf
DIST gcc-3.3.6.tar.bz2 23972413 BLAKE2B e7b33edcdbbb13b0be41a41156bf6fb6dcfe4f5ad75c41de86cb37f854be6b7a6a8dda0e65d331461469848cd912e25920e8aa2dcb142cb661731ba571cb5de1 SHA512 576b88e2fa675314a79a85f180684fe5af370c596476a0bf02e33e8ae0e2be838417ea80675ce4194a8213792cf7ada50cae5131149e4b890ab61e0b8d50d0ed
-EBUILD libstdc++-v3-3.3.6-r4.ebuild 5080 BLAKE2B d152b447ad096eb4f26aa3446a3c57cd2d12781f7b407801b0274d843c0de9308b830df826f1149a9125b74b314ba4e911199d3b4f5f2d03abb18e921bfcfee6 SHA512 0e39522d8624b432350c313d3a341e83558b9c283997ec08a59623d3afd0f1eb7e8c55f32026ee5986666a4c4cbd213423cd120fc1f5f08bf899ba04d9151470
+EBUILD libstdc++-v3-3.3.6-r4.ebuild 5676 BLAKE2B 22c5b065f1bd0698083e7b601e690e092b669adb6f583fc30f5b8c3c5fb30e6f7315c0772c04f2cad93fc55bc8d88c0179deb0862dd2b46520d505a5399fd5e7 SHA512 4c54dbd29cafc9203833fcf8f90831c2b64b801f970fa77c90f4ccbd448646c66b2087c1b76c715b459bb4334fec6afc9a439ca4075364b349ec3bf21d511275
MISC metadata.xml 258 BLAKE2B f45bf60ab247635720461e6f8028b41d748c2c0fecea4d5b6eb29a9f532de573e8054773a084b99b2a6a040e980cfc41c8839b13bdeb8ebe6e1de12a1492873b SHA512 2cd16eedd80ae476d1611112f620d3d5eee88fd181fe635d9f9235ac312e24bf8eac5b44f54ff55806ee7a03aaf1d1382a734f7b3496814853d238b9a7b6ee1e
diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild
index 7c20c6524879..9ebe0e98eb7e 100644
--- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild
+++ b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild
@@ -70,11 +70,13 @@ is_arch_allowed() {
}
do_filter_flags() {
- declare setting
+ declare setting newflags
# In general gcc does not like optimization, and add -O2 where
# it is safe. This is especially true for gcc 3.3 + 3.4
- replace-flags -O? -O2
+ if is-flagq -O?; then
+ newflags+=" -O2"
+ fi
# gcc 3.3 doesn't support -mtune on numerous archs, so xgcc will fail
setting="`get-flag mtune`"
@@ -90,47 +92,28 @@ do_filter_flags() {
transform_known_flags
setting="`get-flag march`"
if [[ ! -z "${setting}" ]] ; then
- is_arch_allowed "${setting}" || filter-flags -march="${setting}"
+ is_arch_allowed "${setting}" && newflags+=" -march=${setting}"
fi
setting="`get-flag mcpu`"
if [[ ! -z "${setting}" ]] ; then
- is_arch_allowed "${setting}" || filter-flags -mcpu="${setting}"
+ is_arch_allowed "${setting}" && newflags+=" -mcpu=${setting}"
fi
- # xgcc wont understand gcc 3.4 flags...
- filter-flags -fno-unit-at-a-time
- filter-flags -funit-at-a-time
- filter-flags -fweb
- filter-flags -fno-web
- filter-flags -mno-tls-direct-seg-refs
-
- # xgcc isnt patched with propolice
- filter-flags -fstack-protector-all
- filter-flags -fno-stack-protector-all
- filter-flags -fstack-protector
- filter-flags -fno-stack-protector
-
- # xgcc isnt patched with the gcc symbol visibility patch
- filter-flags -fvisibility-inlines-hidden
- filter-flags -fvisibility=hidden
-
- # Bug #269433 & #290202
- filter-flags -fno-strict-overflow
- filter-flags -fstrict-overflow
-
- # Bug #442784
- filter-flags '-W*'
-
- filter-flags -frecord-gcc-switches
- filter-flags '-fdiagnostics-color*'
-
- # Bug #610064
- filter-flags '-fstack-check*'
-
- # ...sure, why not?
- strip-unsupported-flags
-
- strip-flags
+ # There is lots of brittle old code that violates the aliasing rules. GCC
+ # 3.3 supports disabling this optimization.
+ newflags+=" -fno-strict-aliasing"
+
+ # xgcc wont understand gcc 3.4 flags... in fact it won't understand most
+ # things or have most patches, regardless of what the real GCC understands.
+ # A random collection of bugs:
+ # #269433 #290202 #442784 #610064 #879775 #919184 #832016
+ #
+ # There's some extensive discussion at bug #923112, ultimately the only
+ # practical approach is to simply reject *all* flags unless we handpicked
+ # them to allow them. Check in "${S}"/gcc/doc/gcc.1 before proceeding.
+ export CFLAGS="${newflags}"
+ export CXXFLAGS="${newflags}"
+ unset LDFLAGS
}
S=${WORKDIR}/gcc-${PV}
@@ -153,6 +136,22 @@ src_prepare() {
fi
tc-export AR CC RANLIB NM
+
+ # newer versions of GCC add default werrors that we need to disable for
+ # this very old and brittle code. But adding it to CFLAGS doesn't work,
+ # since GCC creates xgcc and uses that to compile libstdc++, and the
+ # ancient xgcc doesn't understand the flags we need.
+ mkdir "${T}/conservative-compiler" || die
+ export PATH="${$}/conservative-compiler:${PATH}"
+
+ local realcc=$(type -P "${CC}") || die
+ export CC="${T}/conservative-compiler/${CC##*/}"
+ cat > "${CC}" <<- __EOF__ || die
+ #!/bin/sh
+ "${realcc}" -Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=int-conversion -Wno-error=incompatible-pointer-types "\$@"
+ __EOF__
+
+ chmod +x "${CC}" || die
}
src_configure() {
diff --git a/sys-libs/libunwind/Manifest b/sys-libs/libunwind/Manifest
index 5aafc7741337..2473d26492e8 100644
--- a/sys-libs/libunwind/Manifest
+++ b/sys-libs/libunwind/Manifest
@@ -1,9 +1,6 @@
AUX libunwind-1.7.2-backport-pr521.patch 1415 BLAKE2B 696e075318574e40b3a583526cb8fbbdcff0ccd4357c6cd4f10655222b1a13c79402f40c3887c9c07ec68819f02451685875c88af5c28cbb17ce926abb716a8f SHA512 4d50a36e214f927cc85f7d03424b0a06358a403f82dfb7f4148a668cf745c85876e2f8c4a49a71f868b1bd1e818fda8d9c85b75d8a5e4a9cd3499d0fc0cbd13d
-DIST libunwind-1.7.1-docs.tar.xz 27248 BLAKE2B 0905f49ce72e6cafbb185828a4adf7eb5a88ede335104b1b0679e66199079e3dad9d83815d10a864b4480d88abd82b73bb71181962b1fea39ec41f534d78d549 SHA512 d786572e7fbd5ef7852712f592bd17d4110951083991c5ffcff2bb4ae91e4519b42743f848fe7f2cc9f72d8a0240531ec3d27806972c2c309d06a9048284b97b
-DIST libunwind-1.7.2.tar.gz 912590 BLAKE2B 519570a02d06ce4a174ca226941e493499054112de1c92938434e9fb56fabc8446f699a886ea8beee672ac5e28acd03d16169257a43e2ee1bab084fb331ef4cf SHA512 903f7e26c7d4c22e6ef4fe8954ca0f153fdf346cec40e1e8f7ab966d251110f4deb0a84d1fd150aee194ed966b5c1e01ee27c821cd043859852da33a94faae1f
DIST libunwind-1.8.0-docs.tar.xz 29280 BLAKE2B 260c5011cf23422ec04449126259c9960b5549b94def8ffa3821ccc67809b5da06be22fb0b465fcee2f0ec89faebab71d2bf3316dc68315a27e0913856513b0a SHA512 6969c8426dc5d79a78a9dae366a9e7b6f1d9a7ce307357913d4f5b8867a540ab8225b5342ee0e06e77b832ef76336fba41dadf12effa5236a076e6bfe72ec548
DIST libunwind-1.8.1.tar.gz 958468 BLAKE2B 936e70f2428d8f6ada3b4d58b3c9e3a9738eb2f7aee1ad5fb4e44dbb7400186d1bd1ead86a698e53d199d5944b102f8380d08b48104a138021286a79fb006ec3 SHA512 aba7b578c1b8cbe78f05b64e154f3530525f8a34668b2a9f1ee6acb4b22c857befe34ad4e9e8cca99dbb66689d41bc72060a8f191bd8be232725d342809431b3
-EBUILD libunwind-1.7.2.ebuild 3901 BLAKE2B a162ec00d299f224c77a83ca56838982346c8cfa3b4babf2247053a9e6c2ccbcfccd0084acba92edb50de5fdb734573289b6070fe3663e6064b73f8f211fb27f SHA512 45e2e6ca0661861a539af7011bc9de18cb559a6a4d0d6e81794c8c204a50aca034238b31edda9b676e98f7f5c592beea2861b1811ab6df5ffdef737212bb9a15
EBUILD libunwind-1.8.1.ebuild 4054 BLAKE2B 0e8bb18baa0bd26efdc737d81417a9dd7bb329a5e15e354aa10fcae12288069548b499fc60fa56ff3c43602101b5dfe4fdc10f20762cf950066bace8c883a447 SHA512 6f8ce3c1959f8f8de45c1c015f141269afa2f785d339bef3492f58b71dccf0aa1c1c3c6a4c44814192aa4c1f3d4831dd0c0ac9878ba08e27a8327d396236c064
EBUILD libunwind-9999.ebuild 4061 BLAKE2B 248beda5dec3b1641c25cd5aec23b4f1ad8db9535c189afb85c693b418b12c37b5b7486915c799793907bc91f244b17911bb65f76bd9b33f01c450bc52e1a9e1 SHA512 0e9a87bb6ffedda6b3f3d75210711f4d5001831e597b578919970dfb28f2356c10752158c2dc8e63cc91a3c4ab3eb3d7a20bddef07ad643ad08783986d8a673c
MISC metadata.xml 632 BLAKE2B 89e326bf82b001cbf4fc665315af12062c0afda7a4ebdc6da5b966b9f918e769a516767f6b054b9915ddfe397edc98c4a4f8e6c238d5accf122d3ceb76b92faa SHA512 3677c9c0a6ea3bc90dddf8501209601bdf0b4ea188ec164c39aa6e21ce2f6fa3ce5c672fe7e8ef0ad5c344debf26f8679bc0a126860eb2862832792de9f7d94b
diff --git a/sys-libs/libunwind/libunwind-1.7.2.ebuild b/sys-libs/libunwind/libunwind-1.7.2.ebuild
deleted file mode 100644
index 5c86fedcb3f2..000000000000
--- a/sys-libs/libunwind/libunwind-1.7.2.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 2005-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-libunwind-docs
-# Set to 1 if prebuilt, 0 if not
-# (the construct below is to allow overriding from env for script)
-: ${LIBUNWIND_DOCS_PREBUILT:=1}
-
-LIBUNWIND_DOCS_PREBUILT_DEV=sam
-LIBUNWIND_DOCS_VERSION=1.7.1
-# Default to generating docs (inc. man pages) if no prebuilt; overridden later
-LIBUNWIND_DOCS_USEFLAG="+doc"
-
-inherit multilib-minimal
-
-DESCRIPTION="Portable and efficient API to determine the call-chain of a program"
-HOMEPAGE="https://savannah.nongnu.org/projects/libunwind"
-
-if [[ ${PV} == 9999 ]] ; then
- LIBUNWIND_DOCS_PREBUILT=0
-
- EGIT_REPO_URI="https://github.com/libunwind/libunwind"
- inherit autotools git-r3
-else
- SRC_URI="https://github.com/libunwind/libunwind/releases/download/v${PV}/${P}.tar.gz"
- if [[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] ; then
- SRC_URI+=" !doc? ( https://dev.gentoo.org/~${LIBUNWIND_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${LIBUNWIND_DOCS_VERSION}-docs.tar.xz )"
- fi
-
- KEYWORDS="amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 -sparc x86 ~amd64-linux ~x86-linux"
-fi
-
-[[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] && LIBUNWIND_DOCS_USEFLAG="doc"
-
-LICENSE="MIT"
-SLOT="0/8" # libunwind.so.8
-IUSE="debug debug-frame ${LIBUNWIND_DOCS_USEFLAG} libatomic lzma static-libs test zlib"
-
-RESTRICT="test !test? ( test )" # some tests are broken (toolchain version dependent, rely on external binaries)
-
-BDEPEND="
- doc? ( app-text/texlive-core )
-"
-RDEPEND="
- lzma? ( app-arch/xz-utils[static-libs?,${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[static-libs?,${MULTILIB_USEDEP}] )
-"
-# We just use the header from libatomic.
-DEPEND="
- ${RDEPEND}
- libatomic? ( dev-libs/libatomic_ops[${MULTILIB_USEDEP}] )
-"
-
-PATCHES=( "${FILESDIR}/${PN}-1.7.2-backport-pr521.patch" )
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/libunwind.h
-
- # see libunwind.h for the full list of arch-specific headers
- /usr/include/libunwind-aarch64.h
- /usr/include/libunwind-arm.h
- /usr/include/libunwind-hppa.h
- /usr/include/libunwind-ia64.h
- /usr/include/libunwind-mips.h
- /usr/include/libunwind-ppc32.h
- /usr/include/libunwind-ppc64.h
- /usr/include/libunwind-riscv.h
- /usr/include/libunwind-sh.h
- /usr/include/libunwind-tilegx.h
- /usr/include/libunwind-x86.h
- /usr/include/libunwind-x86_64.h
-)
-
-src_prepare() {
- default
-
- chmod +x src/ia64/mk_cursor_i || die
-
- if [[ ${PV} == 9999 ]] ; then
- eautoreconf
- fi
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- # --enable-cxx-exceptions: always enable it, headers provide the interface
- # and on some archs it is disabled by default causing a mismatch between the
- # API and the ABI, bug #418253
- --enable-cxx-exceptions
- --enable-coredump
- --enable-ptrace
- --enable-setjmp
- $(use_enable debug-frame)
- $(multilib_native_use_enable doc documentation)
- $(use_enable lzma minidebuginfo)
- $(use_enable static-libs static)
- $(use_enable zlib zlibdebuginfo)
- # conservative-checks: validate memory addresses before use; as of 1.0.1,
- # only x86_64 supports this, yet may be useful for debugging, couple it with
- # debug useflag.
- $(use_enable debug conservative_checks)
- $(use_enable debug)
- $(use_enable test tests)
- )
-
- export ac_cv_header_atomic_ops_h=$(usex libatomic)
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- # bug #586208
- CCACHE_NODIRECT=1 default
-}
-
-multilib_src_test() {
- # Explicitly allow parallel build of tests.
- # Sandbox causes some tests to freak out.
- SANDBOX_ON=0 emake check
-}
-
-multilib_src_install_all() {
- find "${ED}" -name "*.la" -type f -delete || die
-
- # If USE=doc, there'll be newly generated docs which we install instead.
- if ! use doc && [[ ${LIBUNWIND_DOCS_PREBUILT} == 1 ]] ; then
- doman "${WORKDIR}"/${PN}-${LIBUNWIND_DOCS_VERSION}-docs/man*/*.[0-8]
- fi
-}
diff --git a/sys-libs/liburing/Manifest b/sys-libs/liburing/Manifest
index a901e4fd63c5..7a9ffcc691f8 100644
--- a/sys-libs/liburing/Manifest
+++ b/sys-libs/liburing/Manifest
@@ -3,14 +3,10 @@ AUX liburing-2.3-remove-error-from-error_h-for-portability.patch 4160 BLAKE2B 02
AUX liburing-2.5-lld-17.patch 944 BLAKE2B 4369d02ca7599b28e33aee7639600546f2b1e37bc806b8d3810102915b75d81c36ee089eacd9c899299e6f71c82076688e7e66ff9014b646a565b2567a947e37 SHA512 3c7fa358837e81a791576ee1e392f947f9153cb62de3b53e5b063f5c745b477ba6754dcf7785903372e91fb8d475a46b43cc787edb66996d79c0d7fd97186687
AUX liburing-2.5-print-libgcc-file-name.patch 1900 BLAKE2B 9f4c75b8281d83cdd6b95b14b26be86a6d448562006691cd394947046ab00920ff0775ca4e7a1b8f9645135f6a9ccc4e9e73237cf8004433058d9ba95b001359 SHA512 bdc7d2bed2e331d2712d021f99b7a2f96b76ea6b6716a9d1b4a7fc1bf49eb94bb88e5d8ad392b083842517df0e9933ddd96a3bbd78198fb67c1a8d7e81f3acd5
DIST liburing-2.2.tar.bz2 172733 BLAKE2B 19ae8a356e4fdc296bfb3ff121b777bd7c970388b31686aac5c531508e807360d58220bc27f9c62c55bd76ca687013acfceb3fa8a2162b615561f637cc50ffe1 SHA512 55b935a90c108be54393a5ab341b56e40ad8d506360fe15b3dcde5ee263356f11080f8614efdc4253f6318ea35d808ec47a9dbfc6b9f6cc2e04f7f1a75c3f621
-DIST liburing-2.3.tar.bz2 197929 BLAKE2B 94ae2a79522fbac13c071ad752f5cbfae3e3b3dd6b35da24e5c756ba47a7b304e5bcb18391ca23fc2edafeb2dbcdcf143fd2cda71656396ac34248159a964fb7 SHA512 341aa13d3b560617f3710291945ec2fe35d828e0b67ee3a97555fd4eb3d2042a7f9e722080d8ebb45aa74a2ca4ef58db1e8a10c351e951a604da007ba69d2738
-DIST liburing-2.5.tar.bz2 217397 BLAKE2B cb5d0a61bc8ce5a92a1b581c5411938146a84c365598454ac8bac7ba0d7429e20a5a608cb725619cbf8b77570b2d638fc347fd9ee9cb1456361957a2a4d6e6d6 SHA512 cba62acde52c07185ade0ac0fee6bf3845f5677d061b52d179c6341a62f8581d4f8920fc09d27a3723bc3832bc84dd5475d173427ee5d8a063d079b07af96416
-DIST liburing-2.6.tar.bz2 244371 BLAKE2B f0e05a5a82592ed45c7c7f12b437d17655989102961c3d349d18d993f21cf0f1a6eb2aa7ad863a579428a1546c307924bf368e10af96045fd40a02fd5bd5843e SHA512 bf07cc0e67498ba64d888d1a113f7c8bea3feaed6f05ce69c99a1dec9506e553a1695ab4e1ecfa86f0ba1af699769557291d5c6b125b9bf59a1452f69eac0613
DIST liburing-2.7.tar.bz2 252289 BLAKE2B dc04745d2eda04d7009a532fc77566804c34b77dcef512f17ef424e22bc1e1a31ba87c2a841bb5574b11c494641a3128005d6dfccf2b87d6c3888fe5cd887996 SHA512 ec6cf69cae2e7e448e9e338bcd616bf27522f6f0e4768bf80d246d6df8610df3accaddae1c135c31bca7814bc3b8214854c40b3f7137163c0950605c716793f1
+DIST liburing-2.8.tar.bz2 284202 BLAKE2B de1deaa8927b5f80a38195ef857fdb0d3dc5f7f57358fe319af42ec3d980bf4c20284d7726645e9c32bcb3e5d7d981540a52a35abb26394cbef03f88ab7c4248 SHA512 5822108aa771a34a4c3f008a0155e4f1fa9393499f24a1bce00aed7fab6e3b9e022b44f96479af0036295129db75d5062618fb4c48cef836e3155c604491e94d
EBUILD liburing-2.2.ebuild 1568 BLAKE2B dd0e6f74a59c243c732d2cb75ddd987f6f88e57ffadac6b61eef0aedfedff30832b90996ac4896014aba9184b2cc78b00660cafc05a8b907bf0ca35c67b43531 SHA512 6cdb9636ceb5e16cb763940f3b22f01c2c71215100801cb96fde1cc5b266ed5437feeac889ca94a81f284f5aa58bbb44ad7ee567365481e30b2f5534430ef7c7
-EBUILD liburing-2.3-r4.ebuild 2136 BLAKE2B 4188ce6840337a43ec7451e5a22213d17a7f04a256da8b72ad4b2ab4b41e4f92f16b9e009f11083d7d7361d20bae7d327435a27faf419acef20830d4357abca1 SHA512 7115819c724c6bf923911a3fbc933be954023fe371f09cf49f6f6d0c9b90bb33419c6e7f7f102942ceda6dedb0522e83edef2e33140a410ec0b52ba671735632
-EBUILD liburing-2.5-r2.ebuild 1985 BLAKE2B e6627d1d5fa1f4c1b228ea7f22beb7bbfd6276b417918bc7aaf6679a9a8f5094139d810eaaac880119b6fe1392f1ed5c2a2ba91f1f6e6434da73d5e6a2ce3977 SHA512 f29b30cd9a4a729206296c54e42e05857b64796d4cfc9d9beed126aad077cdcf74addd426c1fc46527a188bb763af697893638d57579a6d0a531cbb7ce10d9be
-EBUILD liburing-2.6.ebuild 1890 BLAKE2B ee3f65cdff2254009c27bcde568b04b1b5b3d26f1d5c24adc9e11a1afdc1ebb2021b65009ea6097ccc0cedbb6d3328d9057a3f8e52d24e50303edf22de696ad4 SHA512 7a1d563681637e584ef0d5afd1ae825fff2292d07989f4677fb9b7cdaff4414aaa94ea126c339bbe300bef6eab0d6382da348c12f832db10b1ef23c60ba42c3d
-EBUILD liburing-2.7-r1.ebuild 1909 BLAKE2B e67f6d607cfec26e0bf8754a0b659d02ae57e7f70e445f8065a1759ee8c0fae96d4e1a767c6b0049cbcb401e9e7b13d4bda0346085261c0d870b61c04306a4ad SHA512 a2b72bb1df3e49195dc2bacbfb931e18becf6e845ab8bd5ee7e0efc2a43249d69e8c9737c21e898f5b1e4a9807a8fdde750bb0183a57c7ad247ca05d687e867f
+EBUILD liburing-2.7-r1.ebuild 1904 BLAKE2B 81ac0e9486e54423b092bf35262deb8bf4024d453468dbeb11e54e0d212148441a296adb4d3cae284ab363a76c9f326898cf2293e68a4016e479bc0fd2f6c051 SHA512 5b48195cd22ed5d87239d966166076fcdf833c9e5382d29b998fafd79b0e979d2d0c6f6626f255222911539fdc53c57c0e10a75826372b7699ba2e505e00fcd4
+EBUILD liburing-2.8.ebuild 1909 BLAKE2B e67f6d607cfec26e0bf8754a0b659d02ae57e7f70e445f8065a1759ee8c0fae96d4e1a767c6b0049cbcb401e9e7b13d4bda0346085261c0d870b61c04306a4ad SHA512 a2b72bb1df3e49195dc2bacbfb931e18becf6e845ab8bd5ee7e0efc2a43249d69e8c9737c21e898f5b1e4a9807a8fdde750bb0183a57c7ad247ca05d687e867f
EBUILD liburing-9999.ebuild 1890 BLAKE2B fade94775f7d40df8df45f5d06a40930b80c359d1b8c4741c4b9b57db142c9a33337389e1a95aeace4fb4425fac64a06e2a196d468ddb88695575fc07f3e975f SHA512 246a516d468f7a825ebf01351f7314da1a3efda4a0c40f868a2810e3d0406e82c137934ea857760e164d25c9f4d661eedbee27fa0b546357e63a08cd1488af2a
MISC metadata.xml 326 BLAKE2B 7c133a6dbb4ab4b537c0741ec9f3cd525c0803040950ee93e4c1cbc848c7618074471cc1a18ca07d6963c06252c83b66df0811ebae4c0cf9d7782f66ca5aa14a SHA512 1aacf941a9fa57429468fdfc8f546f559c5d483988ba5c6b0f4ed0fe5913f85d218b2a9eec83bae1d11a71eed36a37e76ccedc192697fbe9763fd0b09b2dcfd7
diff --git a/sys-libs/liburing/liburing-2.3-r4.ebuild b/sys-libs/liburing/liburing-2.3-r4.ebuild
deleted file mode 100644
index 9cce13f4916d..000000000000
--- a/sys-libs/liburing/liburing-2.3-r4.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib-minimal toolchain-funcs
-
-DESCRIPTION="Efficient I/O with io_uring"
-HOMEPAGE="https://github.com/axboe/liburing"
-if [[ "${PV}" == *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/axboe/liburing.git"
-else
- SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
- QA_PKGCONFIG_VERSION=${PV}
-fi
-LICENSE="MIT"
-SLOT="0/2" # liburing.so major version
-
-IUSE="examples static-libs test"
-# fsync test hangs forever
-RESTRICT="!test? ( test )"
-
-# At least installed headers need <linux/*>, bug #802516
-DEPEND=">=sys-kernel/linux-headers-5.1"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- # https://bugs.gentoo.org/891633
- "${FILESDIR}/${PN}-2.3-liburing.map-Export-io_uring_-enable_rings-register_.patch"
- # https://github.com/axboe/liburing/pull/787
- "${FILESDIR}/${PN}-2.3-remove-error-from-error_h-for-portability.patch"
-)
-
-src_prepare() {
- default
-
- if ! use examples; then
- sed -e '/examples/d' Makefile -i || die
- fi
- if ! use test; then
- sed -e '/test/d' Makefile -i || die
- fi
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- local myconf=(
- --prefix="${EPREFIX}/usr"
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- --libdevdir="${EPREFIX}/usr/$(get_libdir)"
- --mandir="${EPREFIX}/usr/share/man"
- --cc="$(tc-getCC)"
- --cxx="$(tc-getCXX)"
- )
- # No autotools configure! "econf" will fail.
- TMPDIR="${T}" ./configure "${myconf[@]}" || die
-}
-
-multilib_src_compile() {
- emake V=1 AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)"
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if ! use static-libs ; then
- find "${ED}" -type f -name "*.a" -delete || die
- fi
-}
-
-multilib_src_test() {
- local disabled_tests=(
- accept.c
- fpos.c
- io_uring_register.c
- link-timeout.c
- read-before-exit.c
- recv-msgall-stream.c
- )
- local disabled_test
- for disabled_test in "${disabled_tests[@]}"; do
- sed -i "/\s*${disabled_test}/d" test/Makefile \
- || die "Failed to remove ${disabled_test}"
- done
-
- emake -C test V=1 runtests
-}
diff --git a/sys-libs/liburing/liburing-2.5-r2.ebuild b/sys-libs/liburing/liburing-2.5-r2.ebuild
deleted file mode 100644
index 60a7bd52ff07..000000000000
--- a/sys-libs/liburing/liburing-2.5-r2.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib-minimal toolchain-funcs
-
-DESCRIPTION="Efficient I/O with io_uring"
-HOMEPAGE="https://github.com/axboe/liburing"
-if [[ "${PV}" == *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/axboe/liburing.git"
-else
- SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- QA_PKGCONFIG_VERSION=${PV}
-fi
-LICENSE="MIT"
-SLOT="0/2" # liburing.so major version
-
-IUSE="examples static-libs test"
-# fsync test hangs forever
-RESTRICT="!test? ( test )"
-
-# At least installed headers need <linux/*>, bug #802516
-DEPEND=">=sys-kernel/linux-headers-5.1"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-lld-17.patch
- "${FILESDIR}"/${P}-print-libgcc-file-name.patch
-)
-
-src_prepare() {
- default
-
- if ! use examples; then
- sed -e '/examples/d' Makefile -i || die
- fi
- if ! use test; then
- sed -e '/test/d' Makefile -i || die
- fi
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- local myconf=(
- --prefix="${EPREFIX}/usr"
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- --libdevdir="${EPREFIX}/usr/$(get_libdir)"
- --mandir="${EPREFIX}/usr/share/man"
- --cc="$(tc-getCC)"
- --cxx="$(tc-getCXX)"
- )
- # No autotools configure! "econf" will fail.
- TMPDIR="${T}" ./configure "${myconf[@]}" || die
-}
-
-multilib_src_compile() {
- emake V=1 AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)"
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if ! use static-libs ; then
- find "${ED}" -type f -name "*.a" -delete || die
- fi
-}
-
-multilib_src_test() {
- local disabled_tests=(
- accept.c
- fpos.c
- io_uring_register.c
- link-timeout.c
- read-before-exit.c
- recv-msgall-stream.c
- )
- local disabled_test
- for disabled_test in "${disabled_tests[@]}"; do
- sed -i "/\s*${disabled_test}/d" test/Makefile \
- || die "Failed to remove ${disabled_test}"
- done
-
- emake -C test V=1 runtests
-}
diff --git a/sys-libs/liburing/liburing-2.7-r1.ebuild b/sys-libs/liburing/liburing-2.7-r1.ebuild
index a469ca0ee19f..fd2fb61f74e7 100644
--- a/sys-libs/liburing/liburing-2.7-r1.ebuild
+++ b/sys-libs/liburing/liburing-2.7-r1.ebuild
@@ -12,7 +12,7 @@ if [[ "${PV}" == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/axboe/liburing.git"
else
SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86"
QA_PKGCONFIG_VERSION=${PV}
fi
LICENSE="MIT"
diff --git a/sys-libs/liburing/liburing-2.6.ebuild b/sys-libs/liburing/liburing-2.8.ebuild
index 0570d27a5b4d..a469ca0ee19f 100644
--- a/sys-libs/liburing/liburing-2.6.ebuild
+++ b/sys-libs/liburing/liburing-2.8.ebuild
@@ -12,7 +12,7 @@ if [[ "${PV}" == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/axboe/liburing.git"
else
SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
QA_PKGCONFIG_VERSION=${PV}
fi
LICENSE="MIT"
@@ -47,6 +47,7 @@ multilib_src_configure() {
--mandir="${EPREFIX}/usr/share/man"
--cc="$(tc-getCC)"
--cxx="$(tc-getCXX)"
+ --use-libc
)
# No autotools configure! "econf" will fail.
TMPDIR="${T}" ./configure "${myconf[@]}" || die
diff --git a/sys-libs/libxcrypt/Manifest b/sys-libs/libxcrypt/Manifest
index 75efa55d7c1b..4544e53b3868 100644
--- a/sys-libs/libxcrypt/Manifest
+++ b/sys-libs/libxcrypt/Manifest
@@ -1,6 +1,6 @@
AUX libxcrypt-4.4.19-multibuild.patch 303 BLAKE2B cd342eef2a8ce3e305e544d37373370748690878b4171709028b7b894ad2c76c9188496ab089a46645ad6f9fca09fa4f89cdcb444e1400747ee358c079441661 SHA512 3cbd4bbd0827801faaaa2198eccccb285100cdfc43525b70816121aa70b32dc2c8479c53e16b9e99920926b1b11014dcc19909c4f72a09d9d19fcdb0fa6350cd
DIST libxcrypt-4.4.36-autotools.tar.xz 624660 BLAKE2B 8dc3d0f354baf8c64dc011e95e7df10d48b0dfe428503936ffd55edf2745de04003c7efe231ed5d9a14cea7f682ba377b7e00f0463b4060c50c9c29f555b790f SHA512 fb8391ecb89622eb0d74d13c5fc1369718e83c47671449044ca0c2f78a236d7b06177a60bf8cda47694caa840c68eaaf0b23690e8975fa5d64b734c8eb246d10
EBUILD libxcrypt-4.4.36-r2.ebuild 9077 BLAKE2B 09a3d627d925440c17e5c4508c607c874293111030ab55112abee65da2d509489af0550c4a3700435c3d2c3ff896e1fa0b2f09910eb89f74de1d68f9473be711 SHA512 8acfca5b1f9b8bf4a2c05ccbb6f0332a450a3e30cf9c44ada9a2fa4f9cdf3e64f4561d7655287f12fdda59daa136dbf3d8a5c50c73536c0c125cbed95986f533
-EBUILD libxcrypt-4.4.36-r3.ebuild 6517 BLAKE2B 82ea2bb5c3416b4ad3c113b96a5960ae7698088ee9dfc80565527d999d02add9b65dd464221a26e7b7096297189fe962b828b828395fd650d0e21bc0cce0fbd2 SHA512 7efefc66d9899c9ab53793cda73743b4cbca5e17aefbc6e22598a65d749130181eb5bd630e9cad1827be02b6c21ef5f9ed37b5574bf77e2c75d32b1d0ee1e840
+EBUILD libxcrypt-4.4.36-r3.ebuild 6517 BLAKE2B b822ee679e02beac72e630d061743c13a75b57ee2ff11d80a74160737fb1307818821796a6d68b404657b612637b1fd6fcd850105ede2ca5e479192d164a111b SHA512 5070b6177f037f5efda0ffd2867497c7ad09ad480afc37a2fdc74ba816cbed7154820f4303f4784d5e4467d422f939ecd62d073c5cb5b24d9ebdabcc46701a58
EBUILD libxcrypt-4.4.36.ebuild 9270 BLAKE2B 4c8a349c1b5496f0727476fcec727fb9c348ec09389d9caf7e1a4a09e32cf478f74ed8d4c4e71fcc6aae7c87348f150316c22354fe317cc5be38b76601c4d1f3 SHA512 ae10a1021720bd168fd7029024a8ddf5a009deb056a013ff38943f1fee38c101ea4e6b1c3d03b8e7e2606f260e1bf36e13a35e7248e92f924b254090f52c469b
MISC metadata.xml 913 BLAKE2B c2b3f52bd72bb46b0de4eb4a5f47dcb3aacfd248b811bcdc88db88c6f9cbe3ed1af4fda3e643b350fd22131273af03f2f888d78d306f0f7274d9432eb65075a3 SHA512 0ebbc3c2aa661f1a40e7f654384a395662b1b0235f145c7778b7b86bfb65ad09d4e8900bc6ede94413f057e769397c355bfd1bcafe8540acbf7e00e5451400c9
diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.36-r3.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.36-r3.ebuild
index ac68c09ffad2..6bca15f08f61 100644
--- a/sys-libs/libxcrypt/libxcrypt-4.4.36-r3.ebuild
+++ b/sys-libs/libxcrypt/libxcrypt-4.4.36-r3.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
# NEED_BOOTSTRAP is for developers to quickly generate a tarball
# for publishing to the tree.
NEED_BOOTSTRAP="no"
diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest
index c6228e0ce674..44b7823ce1a0 100644
--- a/sys-libs/llvm-libunwind/Manifest
+++ b/sys-libs/llvm-libunwind/Manifest
@@ -1,3 +1,4 @@
+DIST llvm-project-0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0.tar.gz 222324382 BLAKE2B 8023108460d2af1688871d5534e18aa52e29f0e466bb5431194d1e710d7cd11bdab4be000433536b2d69c815a68624e347c69378a697d6fc55433bb4c2156767 SHA512 f0c23a0ac25de31f4c81f76ee82f3189da65d825579e923ace2b54714649c60d4d078220c9f2200b11f08d0c0e32c5b81a57ba368c11d67e763936df8a609279
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
@@ -6,16 +7,15 @@ 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-19.1.0-rc4.src.tar.xz 141255904 BLAKE2B c693dc94aeb4b59ad4a05a426037075449535c398cbc1ae9b4371d42ea0962b267a3be8af93f4fe47b21c11964fbea6e8eb662225e6f79b20bbc35e706588435 SHA512 826978a596b26040124f2ceba858f91031f78faca22f32de2eea1a4d299a849dcb1fffdfb01601adc39d733dd0cdee43b21af05159d45dcebc842f6b6b540ba8
-DIST llvm-project-19.1.0-rc4.src.tar.xz.sig 438 BLAKE2B aef02737285d2faa1b21cec1a32fff6e776ac4bb5c4fd6f26d3d1a9b9244ed1fc0a1eb786a444a6549dda8683485f67964b4d4e48393e1780e7938ee0d94348a SHA512 5b9dcbf232229fdd87824bc87d0ad4ebd54127c9288708fb3304166422d378b77a843d7c5d8258850a0de59310c24e65042d636a5314e2af8513627a43bdb6e8
-DIST llvm-project-5500e21942f7047344b6fee62d3e08c0ba2f9182.tar.gz 219148250 BLAKE2B 61880a13086c46ac9a9f8326b1e007146afb1662a0a223703fe36a91da230d5708b368f1177e76ac13c1e5a30f620c4ce6346484a0a67a0f011a816bba4d13f9 SHA512 a6d4fcae960b450be2abd2da485cea638b73290b17ceeabf560651d614f55925f86ee6f76a116262d8a1ff70ba699468cb4cf4c32015e26540ba6e47c58db1b7
-DIST llvm-project-bece0d7517bd0a036dc8a319514e4a8a5c497dee.tar.gz 218241938 BLAKE2B 7ac08a21ab2899823683dc700bd2f6226e22653f5be553fe0278868f9fa0d8946fabe6aae40f68cfd14e019b1a3795affb64bf41ebcc949394b73a90e7cd019c SHA512 8893512dcbc1171d2c91aeb0aa9e5fd424474c4d6b5215fb1a078dc8757ab2d404b55ed90709e09368e0794c8306f489be8339d5c502dd6c2ef1852e24636e85
+DIST llvm-project-19.1.3.src.tar.xz 141247864 BLAKE2B 4ccb30accd632a7d54eb065b724ff81ec8a50380fa527111d58acd728eecb798d42f680119b6d1cbc980523e2f39220921ca1f530daa7afea05ab27436dedb7e SHA512 0abaf158b373892d5afc184158600df17a0797547ad7238ca9018d6fcdd7310b0db803d158daa82a2e04bd42d9daebaa2c3e4b9024c0fa2df72a88596575df5c
+DIST llvm-project-19.1.3.src.tar.xz.sig 438 BLAKE2B 44717741ae13bb0c52382647352e52273d8401728dc5cc1cf0c11a8f08cd74b6e3d789e788793aad767030b36fdec62e3a05bdc0b7ff60556cec7ceac17fc239 SHA512 84ef22ee78dbaad4710becbcb02119d06063099f9102bb86f3cd44fbb7e2d87bafe239d8e0cbf22ab5a479f99a11a77125f22394d5006ed86262076ccbf1634d
+DIST llvm-project-3f4468faaa9525ad615118675c3c68938f4a8d5f.tar.gz 221860252 BLAKE2B 6c531df34163dc0879c79b029a13215d1bef2cd95bbaf4a6d5e10b81a8352236283d40f14b62e23a57cc1cf8edce138fb6e2720ced2397d6469c5863564c626d SHA512 4aa485f4547e210cf8f6f8147c4adab3e75afe77f1e4e1bc4718fe681b64bdcf8937f843964542f8ead90ceef52cc0fd4bd8275824d1a4c6961eddafc7d35115
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 3407 BLAKE2B 1f0f6be6cd671b42d97bfa5ffc5fbf0c837f1d97a034db9c88fa15ba381651c6f669aef7e8e6f46091f33950f6fc8dad7a7e45ded1711b8dea2e562ec7174cb9 SHA512 e4db23d628e8d82c48f5dd1f2c29a90acceaabdcdb049d38310cdfe82c3d59b4cb5d80df8b9f5663ab3c86fbf304bffc35fd01d61f9b7dc99cbef879e9157a61
-EBUILD llvm-libunwind-19.1.0_rc4.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_pre20240830.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a
-EBUILD llvm-libunwind-20.0.0_pre20240910.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a
+EBUILD llvm-libunwind-19.1.3.ebuild 3413 BLAKE2B 7f510e3b4b415a4178c5783a5252adf00ee264ec8173d459f1ee7df65dcb3c0c9bc8712384d2e4c9a5451a13c7868bef011d990158e4875f5ed8f343866bd228 SHA512 84de24446bb5b2239ef96155327e2c9b35a1a3d1c93c7acb5aaf046299dd8ebab6c89b9b2c6d36bd6adb6265492521c3a6f395f4fdecb37ea4b022e6a840f56f
+EBUILD llvm-libunwind-20.0.0.9999.ebuild 3321 BLAKE2B 11e3226e8d8fd4781f2c3b9b4a40068a57fba8b0797726c88f592e69147a99bbfc78d98449daccfd0d30fd378ba8ced48d6dcd4df938fb7604d02dcee3f18f3e SHA512 9c815395dcb606b62f192c978185d88978c4f280a71c69611a1d106dcec1758b901cfd74652e2b4e4adcb944bec318de8f2aa8d32aaea3d471b43870dbf2d562
+EBUILD llvm-libunwind-20.0.0_pre20241029.ebuild 3321 BLAKE2B 11e3226e8d8fd4781f2c3b9b4a40068a57fba8b0797726c88f592e69147a99bbfc78d98449daccfd0d30fd378ba8ced48d6dcd4df938fb7604d02dcee3f18f3e SHA512 9c815395dcb606b62f192c978185d88978c4f280a71c69611a1d106dcec1758b901cfd74652e2b4e4adcb944bec318de8f2aa8d32aaea3d471b43870dbf2d562
+EBUILD llvm-libunwind-20.0.0_pre20241106.ebuild 3321 BLAKE2B 11e3226e8d8fd4781f2c3b9b4a40068a57fba8b0797726c88f592e69147a99bbfc78d98449daccfd0d30fd378ba8ced48d6dcd4df938fb7604d02dcee3f18f3e SHA512 9c815395dcb606b62f192c978185d88978c4f280a71c69611a1d106dcec1758b901cfd74652e2b4e4adcb944bec318de8f2aa8d32aaea3d471b43870dbf2d562
MISC metadata.xml 438 BLAKE2B 2a36fbbc59e137056029c62aef6d167d9c82531c2582d7bad5cb13cc36e5c4c9518ffe8c56d06bbcfd97ad22eda71a8b776f3984195f53d06cf45659b438dc00 SHA512 4f18b054072d00e5440faa31a59f9ef587d035b5f25e30913f0b1449debee967fa794fae2548e87db3fb2177ce853ab075e1f11f3cc763f5d7fdf06147108845
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240910.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-19.1.3.ebuild
index e4c76c15ebc8..45b7c96819be 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240910.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-19.1.3.ebuild
@@ -12,7 +12,8 @@ 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"
+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-20.0.0.9999.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0.9999.ebuild
index e4c76c15ebc8..f2972aaec14a 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0.9999.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0.9999.ebuild
@@ -35,7 +35,7 @@ BDEPEND="
"
LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/cmake cmake )
-LLVM_TEST_COMPONENTS=( libcxxabi llvm/utils/llvm-lit )
+LLVM_TEST_COMPONENTS=( libc libcxxabi llvm/utils/llvm-lit )
llvm.org_set_globals
python_check_deps() {
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240830.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241029.ebuild
index e4c76c15ebc8..f2972aaec14a 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20240830.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241029.ebuild
@@ -35,7 +35,7 @@ BDEPEND="
"
LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/cmake cmake )
-LLVM_TEST_COMPONENTS=( libcxxabi llvm/utils/llvm-lit )
+LLVM_TEST_COMPONENTS=( libc libcxxabi llvm/utils/llvm-lit )
llvm.org_set_globals
python_check_deps() {
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-19.1.0_rc4.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241106.ebuild
index e4c76c15ebc8..f2972aaec14a 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-19.1.0_rc4.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241106.ebuild
@@ -35,7 +35,7 @@ BDEPEND="
"
LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/cmake cmake )
-LLVM_TEST_COMPONENTS=( libcxxabi llvm/utils/llvm-lit )
+LLVM_TEST_COMPONENTS=( libc libcxxabi llvm/utils/llvm-lit )
llvm.org_set_globals
python_check_deps() {
diff --git a/sys-libs/ncurses-compat/Manifest b/sys-libs/ncurses-compat/Manifest
index 2765f89a9ef0..c95c52242a21 100644
--- a/sys-libs/ncurses-compat/Manifest
+++ b/sys-libs/ncurses-compat/Manifest
@@ -143,5 +143,5 @@ DIST ncurses-6.4_p20240330-patches.tar.xz 63796 BLAKE2B 3e6618ba0b37268d10a16cf2
DIST ncurses-6.4_p20240413-patches.tar.xz 63760 BLAKE2B 6a91d453cca3705ca54b3a6f2ef00250d655168c1697726db4b581a1597cbc143479b8794e176d5e4154c794f99ea33c3fe1eb26605789930fc82649a2da3c93 SHA512 59239503a9400e054641428528799aa9c13b12669b31f32b2ff18cb60882698801e04dcdf75ece8357c7a4c3b899a729aa973090ec12a20de72cb80a916878b8
EBUILD ncurses-compat-6.4_p20230401.ebuild 9849 BLAKE2B 4f9c95f12c597ff68ae3a1f5c0f0a30abdd9f34d020eb87ed9ce3de3519fe30bb0db4a27f339f7b727ddae0fe95e373624e1869794e102736326db912719df25 SHA512 b0551e6f0b06733c691e83490076b1e574dc0372897f3a71df01477c3ca70643a6240dc89503a9fbc541e0fe328a2583d04c81565952deaad69c2cb11c61e2ec
EBUILD ncurses-compat-6.4_p20240330.ebuild 10486 BLAKE2B 9eaf4363a32b6c5571fcba734d0f2a20f4bcc26e6b7cff8edba298583c23db9f659dffc1103637e202ccbbbc8eb45656afeef608c52cf6e2b2c9c705e2c7cd9f SHA512 30040aa804a86be4afea1b09b24110cb23b2cee013177a6e0656444367b0e2eaca7f10bd7d4894f0f0d1d44694ad85c8e554f164c5d98f1c1e217e42517dd908
-EBUILD ncurses-compat-6.4_p20240414.ebuild 10515 BLAKE2B f249c0b7b6d33e931c0b51fa06ed0e9c382ed19a3ed7677ec8c1ec969c6f04545c9c2b224459f65f554ce486420ad4e8a439b6131628b023b7d0be2c04101218 SHA512 6a77404944f58153ea6f34bea51e432815b6cae49d497631f04d79555314f72d88dab7f4b65ae44f5d3cc9e120ead046a921a65e0677f02fcb9cc17d441a0b2d
+EBUILD ncurses-compat-6.4_p20240414.ebuild 10508 BLAKE2B 42a47e7520fc3eecb4c2389ddf0134d314b76546f2dad5fa325d105207104fbc07e9197e58f26f7a7920b77057c05f42a1a7ee9f8ecbf62c9da3b1e063b69d43 SHA512 21c46b0df8c017a1f5166521d4ba0785027965e4a17068aa9903da3555ab22c4419e01ed962036bf2c195fdd53a7da21980c001fdbd2ff846b043df513ab6d16
MISC metadata.xml 949 BLAKE2B 02d84363ace3523a818cf986afab5b7ddc3034d8fd1e365c054f802e944601ea4b4d579a27d06ddef9045730f05d5b901eb688bd7a53e341363feb7065318420 SHA512 3489cb9d8f931f74e898bed2d7bf6ca29934b9a5ebf3f58b8d3f1b68c87fc3cb7804cfefce2b1369ec0b6bf2e7ec22dc43e07920d99d4fc9edec0a970bf7be87
diff --git a/sys-libs/ncurses-compat/ncurses-compat-6.4_p20240414.ebuild b/sys-libs/ncurses-compat/ncurses-compat-6.4_p20240414.ebuild
index 9628822ce31c..8b6b75f2bb57 100644
--- a/sys-libs/ncurses-compat/ncurses-compat-6.4_p20240414.ebuild
+++ b/sys-libs/ncurses-compat/ncurses-compat-6.4_p20240414.ebuild
@@ -156,7 +156,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
# The subslot reflects the SONAME.
SLOT="5/5"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="gpm +stack-realign tinfo unicode"
DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest
index 3a830a4983a4..5880e6e1d0a0 100644
--- a/sys-libs/ncurses/Manifest
+++ b/sys-libs/ncurses/Manifest
@@ -1,3 +1,5 @@
+AUX ncurses-6.4-t64-1.patch 565 BLAKE2B 3707a1b7654be8406ab27f2e9c4c935a3ad3841bd8f2b5f9452c22aa3f29d647352091ebe369f69faf91289913d6c77f7ab8f40ceacfcda3847f824dd13ded3e SHA512 8441bd8615a01e3037e2904dda9efa05259014f7e07a354422087765544073f29f7c574af898648e74860f94d51ec75284136e92c361e256ff00b89ac117316b
+AUX ncurses-6.4-t64-2.patch 554 BLAKE2B bf64450f54023ffa457607a759d52d57ce51b516950810f2d8f10e059bc49d1688dcd2aaccfe9539909838f512951e80f9c545081f21edacd7e49b9594a3be0b SHA512 655e3be8328be84c60d753b0a65866a3d2b03c228c49320381e9711d7962f719ba7f843b3dc3678797c94c38d4454eca01b5bfc06d19586b0cf5b109490eddec
DIST ncurses-6.4-20230107.patch.gz 196232 BLAKE2B 8751142f825a4b79413986e45bc160d49cc9ccef23ae542c59a74435e251de82bdc8f450df14db0867b8679b5ecb81f0fb9abda662a82fb033a7eb5e079ee308 SHA512 970670d8eee50d44b8c7f29daf4c6a575beff3b4fafe12fff786cbd7ac03edeb1e7dae99c8064de99c166e9b3d7811f035ecf75c0eaffb382127cc9df5388d9b
DIST ncurses-6.4-20230107.patch.gz.asc 729 BLAKE2B 483156747c88de46d131cf1f4e460972f95f689baaec0fb4c7c9966bec6e53d41285261761af17cbd8a9543108095587e598e3fe2fe21d76dc4fedde85a3eb0a SHA512 e14d0a27dae59e95f503bf1a569b0cc3115755043eb0cb4fa481e90bf24d097fae675e08c1247c0746fbb5c03c363dc88e6a60c0e9d6abb278df4e8d581749b1
DIST ncurses-6.4-20230114.patch.gz 179019 BLAKE2B 8e7290f41133177275249c084c93a5fe6cb1dcd75e4deea0e44dbdd79774a364705bcd20b30b735996e19e861b5cde2216b5ce7c8d89066095d7c06ce38e5454 SHA512 202c02b09bf21d5c8341fc0e8a30a2c906f0e260a4d536f1332f978ebbe4d93250b832c6449a81ffdc9e030802f064237f39fd0f473e75e61cc77e15232c9a01
@@ -138,7 +140,6 @@ DIST ncurses-6.4-20240414.patch.gz 3007 BLAKE2B a4db0635df3b2669ae1ba0057c21f717
DIST ncurses-6.4-20240414.patch.gz.asc 729 BLAKE2B 8d579b2724245756947200a3e704c1ae534ba64e6986ad009a5ca9d33145fff82ddae9003a7c6ffe5b64b68f813661440afcac0a1321e5b80113d3ec94e1ea5a SHA512 0976a253d11fb10d52fee1cd2ad38e80b0b531f89efe94a62b9a0e2d69206bd1574140785776c7f6bd19775f6ca446c582da31cd9f51a8b0f12039d1e9695600
DIST ncurses-6.4.tar.gz 3612591 BLAKE2B 47fd9c2d27f44fa9942552881a471e5067465dbace40bf68b28998dded0556127a1d8662b96de4de4fd76c1c8b98bdae796036553ab4b05ca9f160839d841ba3 SHA512 1c2efff87a82a57e57b0c60023c87bae93f6718114c8f9dc010d4c21119a2f7576d0225dab5f0a227c2cfc6fb6bdbd62728e407f35fce5bf351bb50cf9e0fd34
DIST ncurses-6.4.tar.gz.sig 438 BLAKE2B e6a78b8d0cbce1577205b49b0260394094632cefd95294813c7e4e51a2908e8599a9f24b3b648e42ba16c015fb9424b2a82236f58aac3bf96f5400a50482e44e SHA512 f2a7859725b4d5d62f68006338d56598ac6b38a1448983108906e192f0ec922be287cc89bcc79c1ae49ebc80c967af3dd077427f35ae579b00d445c882414fed
-DIST ncurses-6.4_p20230408-patches.tar.xz 80472 BLAKE2B 0ba8156ebd4f1691fec7bc1b800ef39ce6a4210573c027dd437919cdcd7c995830116da06c69f31c65923845a4d5c88e974673fac38acce5813f7d6cdc646e3e SHA512 32960e2cc4cd9dc60c38b49f46c5ce2c02179479abb66ca29f63cd06475ae8e26299a78b5f06762d114aefbbca3ba6fbebe7093a58106eeaa40cf500d21633a4
DIST ncurses-6.4_p20240413-patches.tar.xz 63760 BLAKE2B 6a91d453cca3705ca54b3a6f2ef00250d655168c1697726db4b581a1597cbc143479b8794e176d5e4154c794f99ea33c3fe1eb26605789930fc82649a2da3c93 SHA512 59239503a9400e054641428528799aa9c13b12669b31f32b2ff18cb60882698801e04dcdf75ece8357c7a4c3b899a729aa973090ec12a20de72cb80a916878b8
DIST ncurses-6.5-20240504.patch.gz 16541 BLAKE2B 1b698b61fb738252eb8839f659b8670c743808058da9eaf39e6d288f5c00b3d1fbc4318daee8744fef37cdc42fa176fc41bbc5d4890295ad53a633207cd129a2 SHA512 6d72b5950dd55a2eb36f4c615c851a0879dcee5f97f9aa46eef68fc0f3c6996c7bf06d4646a05c455888a563ca673be3159e89db2266e81f0e72434cf4d3df29
DIST ncurses-6.5-20240504.patch.gz.asc 729 BLAKE2B 6a9ff6b524bb8ade98d6259514b7d467aee38d12b915c7eb030f025f244a44cc0c2dac524bd2645c5f315f54ef47fe6791dffc1728320e0e4790032a838cbbcd SHA512 4f8a2c6be0471df7c25fc67f596753df48a2a4660c848263d10126bba96010c185d31208b2424c495f29bbed6c93cc9cc88b37b4cc252e00bb971364fe68d2d8
@@ -159,8 +160,7 @@ DIST ncurses-6.5-20240615.patch.gz.asc 729 BLAKE2B 1e7179beb1908ae8c9733c0f55e5e
DIST ncurses-6.5.tar.gz 3688489 BLAKE2B d0a05c218b5f320ba9abe2f322787baef1d15d764e503c81d49772b54b2927d28ecbeb500c8e514996226b41f69445b4de44ff423cec25b61847307fe61682ec SHA512 fc5a13409d2a530a1325776dcce3a99127ddc2c03999cfeb0065d0eee2d68456274fb1c7b3cc99c1937bc657d0e7fca97016e147f93c7821b5a4a6837db821e8
DIST ncurses-6.5.tar.gz.sig 438 BLAKE2B 5789b47932ec97d3863c7a65306369f0a36cb5b1a35c1e009b5174f50941edceafc22e6f07db3843a096773663a0ca602c0ecb9465e6042d9a78d76ae5008215 SHA512 96ce61a3d529e48e249acecbf4bb9eae2d9f2f67506e92ffa3182f5e98040c38babf0c2c15d92fc5d96e1181e72be1b29fdbff7bee859dfe2ae387f9b8883092
DIST ncurses-6.5_p20240615-patches.tar.xz 63232 BLAKE2B c7fdc496bb3b055b6766ea8a8b5edaba08cecbe9dfe1b3035e55067bce958eb2bf235f226058e30712f14bf6401112901c3add42093216e3b6b42b4ffd438f67 SHA512 a4d9d09c6110a2971bed0facab87c7e255b4c3e34bfa3b8faddd86af9c95fea89833cd14286fd690db138ca60c0fcff818f11d30a6aa820136899619a4e7f95a
-EBUILD ncurses-6.4_p20230401.ebuild 13380 BLAKE2B 4d9ae329de2d78926805b53ba845613c0945d4d41b9e3f3b1667221e4ae4c2e42b1baae23692564e2cad5271ec9a508301884544505dde68b2fa3c1016821747 SHA512 3a95ceb5c44c1720115a87a50b550aac7767fcaf77c3a01dc4203f413dba90e3d2a1a6935f9dca04e284356f48b56e0b2693d3ae49371a6ca8f3b9d35882a3e3
-EBUILD ncurses-6.4_p20240414.ebuild 14233 BLAKE2B 16b967fefddc7004957994d77dd935b64cfaebcc030a050b9317a38ea925a83ef6baacc24d1a59024f033b5223423fd4bf8ec87743240e135d5075aa017fccd7 SHA512 c0036f47826f48a8e8fe1fc5b0b569cba45f82cc80cd91c2a1c29c31b41dbebeeedb36492ab1905996e26a643c1274a27c1193ee373866dc7a5ccd210a648c84
-EBUILD ncurses-6.5-r1.ebuild 13753 BLAKE2B 659022d3a35c654034402d08e54adfba47b1d556f83c956eb86c395caaea3698acd2f329e77cffb8bd83ad51f4c749684c9998a0ada19e0dcd84f80d9167cec1 SHA512 40b107b0352abcb61cc5bbec64303c0c97dc8046ce30fffde2a60459b100c558258769061865dde4ea12bd5413bbcb02bccdd2bd950a6963376d66bd720181b2
-EBUILD ncurses-6.5_p20240615.ebuild 13819 BLAKE2B ae86ce970133130c2b4f1465ba2d22ac3b2d5d892e2d1734d8f927f15071f4631fd894decc1bd52bb861d4d8da9e97fb048c3eb1f249e6e1a88bc39d25fac572 SHA512 f4ec961da166ff7d9a005768cc1109040f37de45bbf871cfd253aeba7298c905f35a66456512fa89f6ab6dca262a6fcdef216ef3993cc47bf7ae88a859f7fe29
+EBUILD ncurses-6.4_p20240414.ebuild 14355 BLAKE2B 33f762811b54142db6ad02789e40a896da5a7163003898c20d49c64c551db4ee1ef7b000204482fc87019f6e489d9e86a3512a44012420633d735a900e63d778 SHA512 06d21b4b82708370f03ce972952d22625c87fe32de189366b4bb090027a8f1a58f3c961628abb85a0a559a1081b5f8a5253248248547ee559c4d92bd252f5864
+EBUILD ncurses-6.5-r1.ebuild 13875 BLAKE2B 6149ec2accc814e80c829f738b1471b21b476edfa13e20fa1ba6f016cf9a78874b9cf1ee1177f23212a91d9b4e5d3420caa052b0848bc311fc15c73dfa8af3bd SHA512 d817b26b8eca20a13f61a3172923c6a36e9259eed0c6466b16a929832854d4aa1618623ffd5469bfe9550f95ff789635c4294f927bf469f16abd5865cc7ba230
+EBUILD ncurses-6.5_p20240615.ebuild 13941 BLAKE2B e22a5ed76cb87c4c60a1ae7b73bca25bbea53c6d91d90e174d80855015f0df6e61bec5491b8aa22e86b6aa5d769ba14d994c78bf13fa43fc4895808e87a885dd SHA512 a1e18805537910e701354670e81059d6f27f6b5acf795eba9a57d1aa41a5714f7e09df28ecf8cc0cf951b231b25a7a0cec2f9f64796f7f84d993369b74054d7e
MISC metadata.xml 1094 BLAKE2B a65bbb9584f77fb07fff735e6471ef48a5d63e7fa79112bf75df67f2f94e816706165fdd42a482708a7fd2ab3b3e308f9766eac0b39c3a4e31dcff5b3db25d57 SHA512 adf0f939a1e14c964bfb44ab80b1b8c1ee897a036a994848ba3e40280ab3a73ddb3beef540c905efd623e71b890c4c91e0b7c24651561d0e2bb2a4c86f039dba
diff --git a/sys-libs/ncurses/files/ncurses-6.4-t64-1.patch b/sys-libs/ncurses/files/ncurses-6.4-t64-1.patch
new file mode 100644
index 000000000000..8df982c371ee
--- /dev/null
+++ b/sys-libs/ncurses/files/ncurses-6.4-t64-1.patch
@@ -0,0 +1,12 @@
+diff '--color=auto' -ruN ncurses-6.4.orig/aclocal.m4 ncurses-6.4/aclocal.m4
+--- ncurses-6.4.orig/aclocal.m4 2024-08-29 20:47:34.978057133 +0000
++++ ncurses-6.4/aclocal.m4 2024-08-29 20:48:57.809473044 +0000
+@@ -10139,7 +10139,7 @@
+ cf_xopen_source="-D_SGI_SOURCE"
+ cf_XOPEN_SOURCE=
+ ;;
+-(linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc)
++(linux*gnu*|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc)
+ CF_GNU_SOURCE($cf_XOPEN_SOURCE)
+ ;;
+ (minix*)
diff --git a/sys-libs/ncurses/files/ncurses-6.4-t64-2.patch b/sys-libs/ncurses/files/ncurses-6.4-t64-2.patch
new file mode 100644
index 000000000000..5abdd5c610de
--- /dev/null
+++ b/sys-libs/ncurses/files/ncurses-6.4-t64-2.patch
@@ -0,0 +1,12 @@
+diff '--color=auto' -ruN ncurses-6.4.orig/configure ncurses-6.4/configure
+--- ncurses-6.4.orig/configure 2024-08-29 20:50:18.321117225 +0000
++++ ncurses-6.4/configure 2024-08-29 20:52:49.308328392 +0000
+@@ -10413,7 +10413,7 @@
+ cf_xopen_source="-D_SGI_SOURCE"
+ cf_XOPEN_SOURCE=
+ ;;
+-(linux*gnu|linux*gnuabi64|linux*gnuabin32|linux*gnueabi|linux*gnueabihf|linux*gnux32|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc)
++(linux*gnu*|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin|msys|mingw*|linux*uclibc)
+
+ cf_gnu_xopen_source=$cf_XOPEN_SOURCE
+
diff --git a/sys-libs/ncurses/ncurses-6.4_p20230401.ebuild b/sys-libs/ncurses/ncurses-6.4_p20230401.ebuild
deleted file mode 100644
index f94b6e84bc25..000000000000
--- a/sys-libs/ncurses/ncurses-6.4_p20230401.ebuild
+++ /dev/null
@@ -1,420 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
-inherit flag-o-matic toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript verify-sig
-
-MY_PV="${PV:0:3}"
-MY_P="${PN}-${MY_PV}"
-DESCRIPTION="Console display library"
-HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/"
-# Keep invisible-mirror.net here as some users reported 403 forbidden with invisible-island.net
-SRC_URI="
- mirror://gnu/ncurses/${MY_P}.tar.gz
- https://invisible-island.net/archives/${PN}/${MY_P}.tar.gz
- https://invisible-mirror.net/archives/${PN}/${MY_P}.tar.gz
- verify-sig? ( mirror://gnu/ncurses/${MY_P}.tar.gz.sig )
-"
-
-GENTOO_PATCH_DEV=sam
-GENTOO_PATCH_PV=6.4_p20230408
-GENTOO_PATCH_NAME=${PN}-${GENTOO_PATCH_PV}-patches
-
-# Populated below in a loop. Do not add patches manually here.
-UPSTREAM_PATCHES=()
-
-if [[ ${PV} == *_p* ]] ; then
- # Sometimes, after releases, there's no megapatch available yet.
- #
- # From upstream README at e.g. https://invisible-island.net/archives/ncurses/6.3/:
- #
- # "At times (generally to mark a relatively stable point), I create a rollup
- # patch, which consists of all changes from the release through the current date."
- #
- # Also, from https://lists.gnu.org/archive/html/bug-ncurses/2019-08/msg00039.html,
- # the patches are considered to be acceptable to use after some testing. They
- # are both for development but also bug fixes.
- #
- # This array should contain a list of all the snapshots since the last
- # release if there's no megapatch available yet.
- PATCH_DATES=(
- 20230107
- 20230114
- 20230121
- 20230128
- 20230211
- 20230218
- 20230225
- 20230311
-
- # Latest patch is just _pN = $(ver_cut 4)
- $(ver_cut 4)
- )
-
- if [[ -z ${PATCH_DATES[@]} ]] ; then
- SRC_URI+=" https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P/_p/-}.patch.sh.gz"
- SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P/_p/-}.patch.sh.gz.asc"
-
- # If we have a rollup patch, use that instead of the individual ones.
- UPSTREAM_PATCHES+=( patch.sh )
- else
- # We use a mirror as well because we've had reports of 403 forbidden for some users.
- upstream_url_base="https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P}-"
- upstream_m_url_base="https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${MY_P}-"
-
- # Prefix each date with the upstream location (https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P})
- mangled_patches=( "${PATCH_DATES[@]/#/${upstream_url_base}}" )
- # Suffix each with .patch.gz
- mangled_patches=( "${mangled_patches[@]/%/.patch.gz}" )
- mangled_patches_sig=( "${mangled_patches[@]/%/.asc}" )
- # Repeat for .patch.gz.asc for verify-sig
- SRC_URI+=" ${mangled_patches[@]}"
- SRC_URI+=" verify-sig? ( ${mangled_patches_sig[@]} )"
-
- # For all of the URLs, chuck in invisible-island.net too:
- SRC_URI+=" ${mangled_patches[@]/${upstream_url_base}/${upstream_m_url_base}}"
- SRC_URI+=" verify-sig? ( ${mangled_patches_sig[@]/${upstream_url_base}/${upstream_m_url_base}} )"
-
- UPSTREAM_PATCHES=( "${PATCH_DATES[@]/%/.patch}" )
-
- unset upstream_url_base upstream_m_url_base mangled_patches mangled_patches_sig
- fi
-fi
-
-SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${GENTOO_PATCH_NAME}.tar.xz"
-
-LICENSE="MIT"
-# The subslot reflects the SONAME.
-SLOT="0/6"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="ada +cxx debug doc gpm minimal profile split-usr +stack-realign static-libs test tinfo trace"
-RESTRICT="!test? ( test )"
-
-DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
-# Block the older ncurses that installed all files w/SLOT=5, bug #557472
-RDEPEND="
- ${DEPEND}
- !<=sys-libs/ncurses-5.9-r4:5
- !<sys-libs/slang-2.3.2_pre23
- !<x11-terms/rxvt-unicode-9.06-r3
- !<x11-terms/st-0.6-r1
-"
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-thomasdickey )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${UPSTREAM_PATCHES[@]/#/${WORKDIR}/${MY_P}-}"
-
- # When rebasing Gentoo's patchset, please use git from a clean
- # src_prepare with upstream patches already applied. git am --reject
- # the existing patchset and rebase as required. This makes it easier
- # to manage future rebasing & adding new patches.
- #
- # For the same reasons, please include the original configure.in changes,
- # NOT just the generated results!
- "${WORKDIR}"/${GENTOO_PATCH_NAME}
-)
-
-src_unpack() {
- # Avoid trying to verify our own patchset tarball, there's no point
- if use verify-sig ; then
- local file
- for file in ${A} ; do
- if [[ ${file} == ${MY_P}.tar.gz ]] ; then
- verify-sig_verify_detached "${DISTDIR}"/${file} "${DISTDIR}"/${file}.sig
- else
- [[ ${file} == @(*${GENTOO_PATCH_NAME}.tar.xz|*.asc|*.sig) ]] && continue
-
- verify-sig_verify_detached "${DISTDIR}"/${file} "${DISTDIR}"/${file}.asc
- fi
- done
- fi
-
- default
-}
-
-src_configure() {
- # bug #115036
- unset TERMINFO
-
- tc-export_build_env BUILD_{CC,CXX,CPP}
-
- # bug #214642
- BUILD_CPPFLAGS+=" -D_GNU_SOURCE"
-
- # Build the various variants of ncurses -- narrow, wide, and threaded. #510440
- # Order matters here -- we want unicode/thread versions to come last so that the
- # binaries in /usr/bin support both wide and narrow.
- # The naming is also important as we use these directly with filenames and when
- # checking configure flags.
- NCURSES_TARGETS=(
- ncurses
- ncursesw
- ncursest
- ncursestw
- )
-
- # When installing ncurses, we have to use a compatible version of tic.
- # This comes up when cross-compiling, doing multilib builds, upgrading,
- # or installing for the first time. Build a local copy of tic whenever
- # the host version isn't available. bug #249363, bug #557598
- if ! has_version -b "~sys-libs/${P}:0" ; then
- local lbuildflags="-static"
-
- # some toolchains don't quite support static linking
- local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
- case ${CHOST} in
- *-darwin*) dbuildflags= ;;
- *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
- esac
- echo "int main() {}" | \
- $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \
- || lbuildflags="${dbuildflags}"
-
- # We can't re-use the multilib BUILD_DIR because we run outside of it.
- BUILD_DIR="${WORKDIR}" \
- CC=${BUILD_CC} \
- CXX=${BUILD_CXX} \
- CPP=${BUILD_CPP} \
- CHOST=${CBUILD} \
- CFLAGS=${BUILD_CFLAGS} \
- CXXFLAGS=${BUILD_CXXFLAGS} \
- CPPFLAGS=${BUILD_CPPFLAGS} \
- LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
- do_configure cross --without-shared --with-normal --with-progs --without-ada
- fi
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- if [[ ${ABI} == x86 ]] ; then
- # For compatibility with older binaries at slight performance cost.
- # bug #616402
- use stack-realign && append-flags -mstackrealign
- fi
-
- local t
- for t in "${NCURSES_TARGETS[@]}" ; do
- do_configure "${t}"
- done
-}
-
-do_configure() {
- local target=$1
- shift
-
- mkdir "${BUILD_DIR}/${target}" || die
- cd "${BUILD_DIR}/${target}" || die
-
- local conf=(
- # We need the basic terminfo files in /etc, bug #37026. We will
- # add '--with-terminfo-dirs' and then populate /etc/terminfo in
- # src_install() ...
- --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo"
-
- # Enable installation of .pc files.
- --enable-pc-files
- # This path is used to control where the .pc files are installed.
- --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
-
- # Now the rest of the various standard flags.
- --with-shared
- # (Originally disabled until bug #245417 is sorted out, but now
- # just keeping it off for good, given nobody needed it until now
- # (2022) and we're trying to phase out bdb.)
- --without-hashed-db
- $(use_with ada)
- $(use_with cxx)
- $(use_with cxx cxx-binding)
- --with-cxx-shared
- $(use_with debug)
- $(use_with profile)
- # The configure script uses ldd to parse the linked output which
- # is flaky for cross-compiling/multilib/ldd versions/etc...
- $(use_with gpm gpm libgpm.so.1)
- # Required for building on mingw-w64, and possibly other windows
- # platforms, bug #639670
- --disable-term-driver
- --disable-termcap
- --enable-symlinks
- --with-manpage-format=normal
- --enable-const
- --enable-colorfgbg
- --enable-hard-tabs
- --enable-echo
- $(use_enable !ada warnings)
- $(use_with debug assertions)
- $(use_enable !debug leaks)
- $(use_with debug expanded)
- $(use_with !debug macros)
- $(multilib_native_with progs)
- $(use_with test tests)
- $(use_with trace)
- $(use_with tinfo termlib)
- --disable-stripping
- --disable-pkg-ldflags
- )
-
- if [[ ${target} == ncurses*w ]] ; then
- conf+=( --enable-widec )
- else
- conf+=( --disable-widec )
- fi
- if [[ ${target} == ncursest* ]] ; then
- conf+=( --with-{pthread,reentrant} )
- else
- conf+=( --without-{pthread,reentrant} )
- fi
-
- # Make sure each variant goes in a unique location.
- if [[ ${target} == "ncurses" ]] ; then
- # "ncurses" variant goes into "${EPREFIX}"/usr/include
- # It is needed on Prefix because the configure script appends
- # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr.
- conf+=( --enable-overwrite )
- else
- conf+=( --includedir="${EPREFIX}"/usr/include/${target} )
- fi
- # See comments in src_configure.
- if [[ ${target} != "cross" ]] ; then
- local cross_path="${WORKDIR}/cross"
- [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic"
- fi
-
- ECONF_SOURCE="${S}" econf "${conf[@]}" "$@"
-}
-
-src_compile() {
- # See comments in src_configure.
- if ! has_version -b "~sys-libs/${P}:0" ; then
- BUILD_DIR="${WORKDIR}" do_compile cross -C progs tic$(get_exeext)
- fi
-
- multilib-minimal_src_compile
-}
-
-multilib_src_compile() {
- local t
- for t in "${NCURSES_TARGETS[@]}" ; do
- do_compile "${t}"
- done
-}
-
-do_compile() {
- local target=$1
- shift
-
- cd "${BUILD_DIR}/${target}" || die
-
- # A little hack to fix parallel builds ... they break when
- # generating sources so if we generate the sources first (in
- # non-parallel), we can then build the rest of the package
- # in parallel. This is not really a perf hit since the source
- # generation is quite small.
- emake -j1 sources
-
- # For some reason, sources depends on pc-files which depends on
- # compiled libraries which depends on sources which ...
- # Manually delete the pc-files file so the install step will
- # create the .pc files we want.
- rm -f misc/pc-files || die
- emake "$@"
-}
-
-multilib_src_install() {
- local target
- for target in "${NCURSES_TARGETS[@]}" ; do
- emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install
- done
-
- # Move main libraries into /.
- if multilib_is_native_abi ; then
- gen_usr_ldscript -a \
- "${NCURSES_TARGETS[@]}" \
- $(usex tinfo 'tinfow tinfo' '')
- fi
-
- # Don't delete '*.dll.a', needed for linking, bug #631468
- if ! use static-libs; then
- find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die
- fi
-
- # Build fails to create this ...
- # -FIXME-
- # Ugly hackaround for riscv having two parts libdir (bug #689240)
- # Replace this hack with an official solution once we have one...
- # -FIXME-
- dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \
- /usr/$(get_libdir)/terminfo
-
- # Remove obsolete libcurses symlink that is created by the build
- # system. Technically, this could be also achieved
- # via --disable-overwrite but it also moves headers implicitly,
- # and we do not want to do this yet.
- # bug #836696
- rm "${ED}"/usr/$(get_libdir)/libcurses* || die
-}
-
-multilib_src_install_all() {
- local terms=(
- # Dumb/simple values that show up when using the in-kernel VT.
- ansi console dumb linux
- vt{52,100,102,200,220}
- # [u]rxvt users used to be pretty common. Probably should drop this
- # since upstream is dead and people are moving away from it.
- rxvt{,-unicode}{,-256color}
- # xterm users are common, as is terminals re-using/spoofing it.
- xterm xterm-{,256}color
- # screen is common (and reused by tmux).
- screen{,-256color}
- screen.xterm-256color
- )
- if use split-usr ; then
- local x
- # We need the basic terminfo files in /etc for embedded/recovery, bug #37026
- einfo "Installing basic terminfo files in /etc..."
- for x in "${terms[@]}"; do
- local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
- local basedir=$(basename "$(dirname "${termfile}")")
-
- if [[ -n ${termfile} ]] ; then
- dodir "/etc/terminfo/${basedir}"
- mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die
- dosym "../../../../etc/terminfo/${basedir}/${x}" \
- "/usr/share/terminfo/${basedir}/${x}"
- fi
- done
-
- echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses
-
- use minimal && rm -r "${ED}"/usr/share/terminfo*
- # Because ncurses5-config --terminfo returns the directory we keep it
- # bug #245374
- keepdir /usr/share/terminfo
- elif use minimal ; then
- # Keep only the basic terminfo files
- find "${ED}"/usr/share/terminfo/ \
- \( -type f -o -type l \) ${terms[*]/#/! -name } -delete , \
- -type d -empty -delete || die
- fi
-
- cd "${S}" || die
- dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
- if use doc ; then
- docinto html
- dodoc -r doc/html/
- fi
-}
-
-pkg_preinst() {
- preserve_old_lib /$(get_libdir)/libncurses.so.5
- preserve_old_lib /$(get_libdir)/libncursesw.so.5
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /$(get_libdir)/libncurses.so.5
- preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5
-}
diff --git a/sys-libs/ncurses/ncurses-6.4_p20240414.ebuild b/sys-libs/ncurses/ncurses-6.4_p20240414.ebuild
index fe3c520b5ff9..bf4152a97a8b 100644
--- a/sys-libs/ncurses/ncurses-6.4_p20240414.ebuild
+++ b/sys-libs/ncurses/ncurses-6.4_p20240414.ebuild
@@ -178,6 +178,10 @@ PATCHES=(
# For the same reasons, please include the original configure.in changes,
# NOT just the generated results!
"${WORKDIR}"/${GENTOO_PATCH_NAME}
+
+ # Avoid breakage with CHOST ending in t64
+ "${FILESDIR}"/ncurses-6.4-t64-1.patch
+ "${FILESDIR}"/ncurses-6.4-t64-2.patch
)
src_unpack() {
diff --git a/sys-libs/ncurses/ncurses-6.5-r1.ebuild b/sys-libs/ncurses/ncurses-6.5-r1.ebuild
index 4222def62445..3b8b72cdf0f2 100644
--- a/sys-libs/ncurses/ncurses-6.5-r1.ebuild
+++ b/sys-libs/ncurses/ncurses-6.5-r1.ebuild
@@ -115,6 +115,10 @@ PATCHES=(
# For the same reasons, please include the original configure.in changes,
# NOT just the generated results!
"${WORKDIR}"/${GENTOO_PATCH_NAME}
+
+ # Avoid breakage with CHOST ending in t64
+ "${FILESDIR}"/ncurses-6.4-t64-1.patch
+ "${FILESDIR}"/ncurses-6.4-t64-2.patch
)
src_unpack() {
diff --git a/sys-libs/ncurses/ncurses-6.5_p20240615.ebuild b/sys-libs/ncurses/ncurses-6.5_p20240615.ebuild
index a4551c5a8c5c..7057a54fdec3 100644
--- a/sys-libs/ncurses/ncurses-6.5_p20240615.ebuild
+++ b/sys-libs/ncurses/ncurses-6.5_p20240615.ebuild
@@ -121,6 +121,10 @@ PATCHES=(
# For the same reasons, please include the original configure.in changes,
# NOT just the generated results!
"${WORKDIR}"/${GENTOO_PATCH_NAME}
+
+ # Avoid breakage with CHOST ending in t64
+ "${FILESDIR}"/ncurses-6.4-t64-1.patch
+ "${FILESDIR}"/ncurses-6.4-t64-2.patch
)
src_unpack() {
diff --git a/sys-libs/openipmi/Manifest b/sys-libs/openipmi/Manifest
index a9440601ff2a..b075461143c3 100644
--- a/sys-libs/openipmi/Manifest
+++ b/sys-libs/openipmi/Manifest
@@ -1,6 +1,8 @@
AUX openipmi-2.0.26-tinfo.patch 808 BLAKE2B fc7545b3610c9ba6a2d8d7075a8db3384659945bd7d85758342438f261fedce67bace7795a74ff6010f68d04d8ae33936b6c60780986c9e0d66e93061577132f SHA512 2deae71fd039126cb3dd0a348658ddbf568345c782c2467a4712d36006217f86eaf86950c821d36a400aea4cf18409684e8abd3b1e504928f5bc6d4cf943c4bb
AUX openipmi-2.0.33-c99.patch 2031 BLAKE2B 0a84beca0c7cefef2f690a99dd99ee8bf6213b8399f27154e4377f1f343f576557977e7f61b421d67aadab8bb087e8ba09b21b31dbe194ef464fd0e393b0b0d5 SHA512 695d2c89aca9bcaef732e8541e37129240be21d164be38c0fedd6e34d111b6cee0649eb2e265dc468502f592d286b7ea5048fccb94ab547e9c1e0ccd373f6d68
DIST OpenIPMI-2.0.33.tar.gz 3141439 BLAKE2B 02634ac8e17abf6a95f37e1b6825fe1f493e1990d7a5b0f6e87f7d9527f2a778f9faf0b12566529a3c87ecce893346e5125c51da988b95fbb56145282194ed16 SHA512 615fccd1ffd4af18584c1b0e54667ba2de60b6d42b44e7448f27808114180fa3b31b4834276bdf69c3df1e5210df871fd888deec8186377524838390fe41e641
+DIST OpenIPMI-2.0.36.tar.gz 3149501 BLAKE2B 9ed690a5824caa5d1f588f65625e1db9b79b3d03c8e828e9ffb549396264530ab28f3ec86705053446a6f91669a03165e9de7b2764c1f38733d33a0327c26e1c SHA512 a47725308336f200e88a1eb8641ed5ef03fc8bb43ee47f7a99e39df68640ff912b6842c1710d7e767aeb724fc41fa4ed3b244685812ee985e5200003a45f4015
EBUILD openipmi-2.0.33-r1.ebuild 2118 BLAKE2B a314173bf0982d86615340a4892448c4f976961140b153f19c6452ed3684a79145ad030aac4ce602256576f4518fef8ea11112332e183655b139fdf04096e2d0 SHA512 02c576d0bacba82a62feefcb27b30e055b199390e5a98595c9d0ef2b0a98f91c8d2a93792e90fb5945a924967b4f9d0dfbe89a0834b6c8c2ab23cccaaff5395c
EBUILD openipmi-2.0.33.ebuild 2079 BLAKE2B 7a09a880d1bec77069ed690bc3c415c108d518d7148b691d1e0d06a652cf8f928cd9cc70c424104655c6bec3c8975bf08ed276eee42da4b9e68b27f6c29e38ab SHA512 cdd54b07fb61f6836384f5f2d85db2e5f488fc8484260823b9a4a31254717ee2e373ccf73593cb478226295af8ecd91d2a3ab556703d1267df002c3c556b526e
+EBUILD openipmi-2.0.36.ebuild 2086 BLAKE2B 4c1f4b16aa3d8b87a38d354e475152cb879fcb6c1799f495268273fa75e9ee2cde16b0a800c3f1d38c96c67a8911d50e0c802c91c8fccd968db7c7bc2700c749 SHA512 d15a295148bed2baa4aa701120866d64f76130a483694da33301a1606d02a671679eac36fe8cf041d3d9ebe436561b8075cf9dec2bb88f4dab8506d2557d2006
MISC metadata.xml 348 BLAKE2B 845b9eadd51770ff89268871a3cbb7befb724efeaa28b891e510f34f3bb80b8c72f937505b31646440da9581fa37a38f6272b37f424e78b9ff5c832c255e9bfc SHA512 c13f3458e198f1d4da1cf5be846df5d2cc2ca3ef3fecd5959f7fed0979f10d0eff326da380793dc4471d64e622a415ca60b144b92bb2889a0f870e0c2767f917
diff --git a/sys-libs/openipmi/openipmi-2.0.36.ebuild b/sys-libs/openipmi/openipmi-2.0.36.ebuild
new file mode 100644
index 000000000000..3cb33aab7349
--- /dev/null
+++ b/sys-libs/openipmi/openipmi-2.0.36.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit autotools python-single-r1
+
+MY_PN="OpenIPMI"
+MY_P="${MY_PN}-${PV/_/-}"
+DESCRIPTION="Library interface to IPMI"
+HOMEPAGE="https://sourceforge.net/projects/openipmi/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-2.1 GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="crypt snmp perl python static-libs tcl"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/popt
+ sys-libs/gdbm:=
+ sys-libs/ncurses:=
+ sys-libs/readline:=
+ crypt? ( dev-libs/openssl:= )
+ snmp? ( net-analyzer/net-snmp )
+ perl? ( dev-lang/perl:= )
+ python? ( ${PYTHON_DEPS} )
+ tcl? ( dev-lang/tcl:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-lang/swig-1.3.21
+ virtual/pkgconfig
+"
+
+# Gui is broken!
+# python? ( tcl? ( tk? ( dev-lang/tk dev-tcltk/tix ) ) )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.0.26-tinfo.patch" # bug #501510
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # For tinfo patch
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ # These binaries are for root!
+ --bindir="${EPREFIX}"/usr/sbin
+ --with-glib
+ --with-glibver=2.0
+ --with-swig
+ --without-tkinter
+ $(use_with snmp ucdsnmp yes)
+ $(use_with crypt openssl yes)
+ $(use_with perl perl yes)
+ $(use_with tcl tcl yes)
+ $(use_with python python yes)
+ )
+
+ # GUI is broken
+ #use tk && use python && use !tcl && \
+ # ewarn "Not building Tk GUI because it needs both Python AND Tcl"
+ #if use python && use tcl; then
+ # myconf+=( $(use_with tk tkinter) )
+ #else
+ # myconf+=( --without-tkinter )
+ #fi
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc README* FAQ ChangeLog TODO doc/IPMI.pdf lanserv/README.vm
+ newdoc cmdlang/README README.cmdlang
+
+ use python && python_optimize
+
+ find "${ED}" -name "*.la" -delete || die
+
+ if ! use static-libs ; then
+ find "${ED}" -name "*.a" -delete || die
+ fi
+}
diff --git a/sys-libs/readline/Manifest b/sys-libs/readline/Manifest
index 54841902c9c2..c6ce68e03d24 100644
--- a/sys-libs/readline/Manifest
+++ b/sys-libs/readline/Manifest
@@ -10,6 +10,8 @@ DIST readline-8.2.tar.gz 3043952 BLAKE2B 7974322b9c092a756a79e537df08e8532f8e0fc
DIST readline-8.2.tar.gz.sig 95 BLAKE2B dc510459c0c47782ca87364a6677b4d8f0b68a984143122c08bd15aef08a71bff59ac92d3c3ada518dad09f189c144748e840175041eb619f679e2d8b95dc2aa SHA512 0effd273689e5f7fe7e049c8f2c5f3c97149f198a90d053231ee4de34901560a465ab0d4fd71fd07c7d7e233caed7f42e5b668bffaf1e23a7eb373c8f9e150fe
DIST readline-8.3-alpha.tar.gz 3091427 BLAKE2B f40e1db1ea39bbf4183901688733df0c67666eb58a33333f9b57ea7ba5399956f5523748ecce9bc5b6dc1954647c0bceb6ebbb4fe93b0085a595047650ad7c7e SHA512 d3aacd82826f1d1adc7ea846d8b8e70726da925e74a8bb1d141a9093e0d5e375236d1c745f0609f8ba3aff9f5266b1cf3da31d76e414a284b6ed798d92a1a1f6
DIST readline-8.3-alpha.tar.gz.sig 95 BLAKE2B c11d1b4dd8f453bc5f7d19dd25901bfa4796825efa4f07f2043aa94d556a39bc1c928aed7fdc09ed6325c6ef017f72df18bbdd461a52a7122ccdf9b58a345c17 SHA512 fb070ae3dbafa042f591d8a5c24f48b40a672843e41e78f5d6a5ded5228046fe75893be6b10a9634d8852617bfa8b675e68a4c808f06ee95f07a40536fc63769
+DIST readline-8.3_alpha_p20241011-4d34c34b3aa955f65e79bfbf7b7426344a3c2840.tar.gz 3179300 BLAKE2B ea4bab2b8e4da4590caedef5f3b7fccd4a9aef0fff4d150ef15c4185ee2609c29aab43777084e270226d8641c91cbab92da55e77c27c42dcfc360a6abf7df9bb SHA512 93617234b7ab080ed1f8c52cfc79fd6e54ac818ed29a3016915b51ccc6c8f5ece5e0ee0ba9668e6ed2ba64bacc82c164d19846bcc2bb78933b2927b4f2a2d968
+DIST readline-8.3_alpha_p20241104-3c16957f8914425966b31e7348048b129b2317ad.tar.gz 3458233 BLAKE2B e9fc8c34ffd2a81c903daa64881893c5e092ba45c846b1e1b141905997a61a93a9dfd79ad9f0606b54d84d529665937bdaa2c166786808dc0ce223b1a1b2f535 SHA512 a37759b9d22687255de0c8f52dae106d01bec2b89784d972d35e3fdee1cb8d8fb9c12142a2de0e190c70f2571542a0f7f0cb00ae9e12757f150f9532a9529102
DIST readline81-001 2454 BLAKE2B 7ec4e5c39a224a70643b44b88bcfef5198e199c76f2a34f0b0ce24f1747dd46be49ddf93871c474cda64322b4358127fec4c2401d19422f84934546bbe1f3bf2 SHA512 cfbef10bdeb562a302ccf214878d02ebadf799343b3d2d7996a282f81bcfde83997ba6dcc9a8477af4dd7c73bca74105ca00a81e42ed13321672bd2930550e54
DIST readline81-001.sig 95 BLAKE2B 7d523d0fc21772cb03aa4b5d66ea58c1a99a6c0e4a8625e89cad015cbff63cd68e08207ca5150819225300ac864806032888104bbbea64ca38ebf89e28c24b7e SHA512 7fa3747e388aecb26f2d4f8346b89b367710ea99a14618c625066b820901dc467bd156ec37340fde1f86f0fe0d6b33044c1ed5768cf8ed1a25386d32dc6419a6
DIST readline81-002 1242 BLAKE2B 4ef0404561bd8fc5559e8e5f675ae3f12c467178a8954f54f3204c2d09b88ccec960e807c7af0ec3514b489b676e3be51f98351e377fb18e3d7a14d33d4da69d SHA512 e47c029b82cf3a4d44e85c4348f7e059c56726694c190d84186822e1c893e1c006e7ec75f33c36791112f81abd792a2e2fdae9a65cd128f3c89ff4ffd9a9a1ff
@@ -42,7 +44,9 @@ DIST readline82-013 5757 BLAKE2B 5af309dc331cdc2fc9c47f8a53c78731885cf70ba22c135
DIST readline82-013.sig 95 BLAKE2B 388b707e863c6047fdc92bb29e2c172292b497f53926f6e2534016e5cdb621fd7feb9418c6edd4a693869ea61c16cb64815bf2159d6af0bb3eec5d5dc666e525 SHA512 85bd30dc816d62a2e339c95bf9f243a60a960264e14bc396b34f586afdded2cc43ecc307a7f1a2c03c7eba2d11d2f3a0028107a59c4b2bc8d6dbe77fe9fb81cd
EBUILD readline-8.1_p2-r2.ebuild 6975 BLAKE2B e6b022db819ee9cfb347cdb66a6a8e7ca68ee77440d2cacb5f94e81748e3067a6db583501eb0237597a3360c7b1b084197d870332fa31889c2813d39133fd5a0 SHA512 e9e544c3f21e85d2aa3354070e489dc7e013f09b06a450f2d610f791d78885a5e08de5df199678d204b82a86fd35e4eb94b8b50747ddb1ae353860da7eaa0b47
EBUILD readline-8.2_p10.ebuild 7553 BLAKE2B e38548489777633d6094a73e5f56fd291fad1d8c81b9abaddf06b5f8438573727e5cbda0adfadd5938e2ecfc9217c310f81b826a2dd2cdf35df969275a12e338 SHA512 056a9f5fefb2d7076869f28e14a56a36270a32b8004eb2d146dd209ef42551067f746ebe6ed632e916084ea5724705bb844be4348e8967c236177217d038ccac
-EBUILD readline-8.2_p13.ebuild 7561 BLAKE2B 191300fca5568a21b5ecc0218394a993276a98785d09cd5daf49e51b2cb5bcefa0a5209e23051569fe0778ea800dd7c4239f30188db67f9adb34780de11e6915 SHA512 ba8d9d0c093a9e0695aba2504d6c51c2167a7ad3c13bfd924d4fcc5aedc48ee334a74b769948b9f0351b9b2f9c73ff373510bfd146c0cfad0de0735a5839675c
+EBUILD readline-8.2_p13.ebuild 7554 BLAKE2B 8cdbca343ac4eececbd682473f2573daed9fcd1a2b0091bae7f4e490f523ac6f6baa65927642a928c887b2d6a4671f89ee8172953de8517d3ff3ef95a94856ad SHA512 a066b2afe480df61082fe9e46e996f9fe366fb17d9b0e1e673ee9a50da1f8c9fe1998a3ec93952966a82a62cd4abead35a9f004a3c74bdda6fda367772580edf
EBUILD readline-8.3_alpha.ebuild 7664 BLAKE2B c9c4b48462e671d26ddf981986b0310e88305e24990e1e312cf5bf48ec0e1a5310af059d6c91a3c7ab41ad4350275ddc3a96c517ba7d5fe8916c9468c3078e68 SHA512 6413171f101344d0896aaf5a9d592b7cbe55a337c780b537ab1b3f476a9f35e78446feda3e8bdcbeafa8c212ecce6066d7edeaa8121ed6d00b497df076bed95f
-EBUILD readline-9999.ebuild 7385 BLAKE2B cc0e30f63579388c31751fc4f1d99bb1ef130fb9ea41addfa123df52227df64852b19b147b96f9cde4b447bfd843f0b1bd1cef2241d9a60da94b03722573e135 SHA512 776eabe24d667b43f7be86aaa49f8fe9b72073639c8d7342ce576c5e832fa33311fdbd3d72c7255047dd7f442d5cc9d7fcbdb4d720be336d56f9a6928b587d68
+EBUILD readline-8.3_alpha_p20241011.ebuild 7811 BLAKE2B cf5eba115b0192005b2694856cef13519c3be3f9b65274286eacbd44ed4f700bad6a963604eb879911b28dba2804f27603d5c2fd6e079dc5a6b3b2acd42c5140 SHA512 c5bcb825bdccd649ba16986830df9bc4e20f74d6275cf9feb9f99de62715136951bd35b039c10c357bb972dee5b534994b7dc8d64a5a77b796568c99212bde50
+EBUILD readline-8.3_alpha_p20241104.ebuild 7811 BLAKE2B 2000b04403b7245eb322a0c6ee6cf1d07061cbd6448f4017870d015071ecbc73ae11d8891487d34ec187ab949529df3c0e38069639f56d86bbd194c8bc32e574 SHA512 6055e75d59b204d1d18920d4875871a8d9569fd0cd5ea8ddaf91df2e5a0f6dbca466b9a27e5368f44902897d244d6b3afd8190d6d841f974c4945f33b5c1b7dd
+EBUILD readline-9999.ebuild 7811 BLAKE2B cf5eba115b0192005b2694856cef13519c3be3f9b65274286eacbd44ed4f700bad6a963604eb879911b28dba2804f27603d5c2fd6e079dc5a6b3b2acd42c5140 SHA512 c5bcb825bdccd649ba16986830df9bc4e20f74d6275cf9feb9f99de62715136951bd35b039c10c357bb972dee5b534994b7dc8d64a5a77b796568c99212bde50
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
index 38df3c2c67f8..c24a357c4e82 100644
--- a/sys-libs/readline/readline-8.2_p13.ebuild
+++ b/sys-libs/readline/readline-8.2_p13.ebuild
@@ -83,7 +83,7 @@ fi
LICENSE="GPL-3+"
SLOT="0/8" # subslot matches SONAME major
if is_release ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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"
diff --git a/sys-libs/readline/readline-8.3_alpha_p20241011.ebuild b/sys-libs/readline/readline-8.3_alpha_p20241011.ebuild
new file mode 100644
index 000000000000..a5ecc024b54d
--- /dev/null
+++ b/sys-libs/readline/readline-8.3_alpha_p20241011.ebuild
@@ -0,0 +1,265 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# 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=()
+
+# Determine the patchlevel.
+case ${PV} in
+ 9999|*_alpha*|*_beta*|*_rc*)
+ # Set a negative patchlevel to indicate that it's a pre-release.
+ PLEVEL=-1
+ ;;
+ *_p*)
+ PLEVEL=${PV##*_p}
+ ;;
+ *)
+ PLEVEL=0
+esac
+
+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 (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ # It can be useful to have snapshots in the pre-release period once
+ # the first alpha is out, as various bugs get reported and fixed from
+ # the alpha, and the next pre-release is usually quite far away.
+ #
+ # i.e. if it's worth packaging the alpha, it's worth packaging a followup.
+ READLINE_COMMIT="4d34c34b3aa955f65e79bfbf7b7426344a3c2840"
+ SRC_URI="https://git.savannah.gnu.org/cgit/readline.git/snapshot/readline-${READLINE_COMMIT}.tar.gz -> ${P}-${READLINE_COMMIT}.tar.gz"
+ S=${WORKDIR}/${PN}-${READLINE_COMMIT}
+else
+ SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz"
+ SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )"
+ S="${WORKDIR}/${MY_P}"
+
+ 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
+fi
+
+LICENSE="GPL-3+"
+SLOT="0/8" # subslot matches SONAME major
+if (( PLEVEL >= 0 )); then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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
+
+ # TODO: rebase
+ #"${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch
+)
+
+src_unpack() {
+ local patch
+
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ default
+ 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"
+
+ if [[ ${GENTOO_PATCH_VER} ]]; then
+ unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
+ fi
+ fi
+}
+
+src_prepare() {
+ (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
+
+ default
+
+ #(( PLEVEL < 0 )) && 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/readline/readline-8.3_alpha_p20241104.ebuild b/sys-libs/readline/readline-8.3_alpha_p20241104.ebuild
new file mode 100644
index 000000000000..2233ddf217a3
--- /dev/null
+++ b/sys-libs/readline/readline-8.3_alpha_p20241104.ebuild
@@ -0,0 +1,265 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# 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=()
+
+# Determine the patchlevel.
+case ${PV} in
+ 9999|*_alpha*|*_beta*|*_rc*)
+ # Set a negative patchlevel to indicate that it's a pre-release.
+ PLEVEL=-1
+ ;;
+ *_p*)
+ PLEVEL=${PV##*_p}
+ ;;
+ *)
+ PLEVEL=0
+esac
+
+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 (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ # It can be useful to have snapshots in the pre-release period once
+ # the first alpha is out, as various bugs get reported and fixed from
+ # the alpha, and the next pre-release is usually quite far away.
+ #
+ # i.e. if it's worth packaging the alpha, it's worth packaging a followup.
+ READLINE_COMMIT="3c16957f8914425966b31e7348048b129b2317ad"
+ SRC_URI="https://git.savannah.gnu.org/cgit/readline.git/snapshot/readline-${READLINE_COMMIT}.tar.gz -> ${P}-${READLINE_COMMIT}.tar.gz"
+ S=${WORKDIR}/${PN}-${READLINE_COMMIT}
+else
+ SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz"
+ SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )"
+ S="${WORKDIR}/${MY_P}"
+
+ 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
+fi
+
+LICENSE="GPL-3+"
+SLOT="0/8" # subslot matches SONAME major
+if (( PLEVEL >= 0 )); then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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
+
+ # TODO: rebase
+ #"${FILESDIR}"/${PN}-8.0-darwin-shlib-versioning.patch
+)
+
+src_unpack() {
+ local patch
+
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ default
+ 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"
+
+ if [[ ${GENTOO_PATCH_VER} ]]; then
+ unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
+ fi
+ fi
+}
+
+src_prepare() {
+ (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
+
+ default
+
+ #(( PLEVEL < 0 )) && 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/readline/readline-9999.ebuild b/sys-libs/readline/readline-9999.ebuild
index 050abf97ed41..a5ecc024b54d 100644
--- a/sys-libs/readline/readline-9999.ebuild
+++ b/sys-libs/readline/readline-9999.ebuild
@@ -18,18 +18,18 @@ 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
+# Determine the patchlevel.
+case ${PV} in
+ 9999|*_alpha*|*_beta*|*_rc*)
+ # Set a negative patchlevel to indicate that it's a pre-release.
+ PLEVEL=-1
+ ;;
+ *_p*)
+ PLEVEL=${PV##*_p}
+ ;;
+ *)
+ PLEVEL=0
+esac
DESCRIPTION="Another cute console display library"
HOMEPAGE="https://tiswww.case.edu/php/chet/readline/rltop.html https://git.savannah.gnu.org/cgit/readline.git"
@@ -38,9 +38,19 @@ 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
+elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ # It can be useful to have snapshots in the pre-release period once
+ # the first alpha is out, as various bugs get reported and fixed from
+ # the alpha, and the next pre-release is usually quite far away.
+ #
+ # i.e. if it's worth packaging the alpha, it's worth packaging a followup.
+ READLINE_COMMIT="4d34c34b3aa955f65e79bfbf7b7426344a3c2840"
+ SRC_URI="https://git.savannah.gnu.org/cgit/readline.git/snapshot/readline-${READLINE_COMMIT}.tar.gz -> ${P}-${READLINE_COMMIT}.tar.gz"
+ S=${WORKDIR}/${PN}-${READLINE_COMMIT}
+else
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.gz"
SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${MY_P}.tar.gz.sig )"
+ S="${WORKDIR}/${MY_P}"
if [[ ${PLEVEL} -gt 0 ]] ; then
# bash-5.1 -> bash51
@@ -68,20 +78,11 @@ elif is_release ; then
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
+if (( PLEVEL >= 0 )); then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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"
@@ -107,6 +108,8 @@ src_unpack() {
if [[ ${PV} == 9999 ]]; then
git-r3_src_unpack
+ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ default
else
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
@@ -118,18 +121,18 @@ src_unpack() {
unpack "${MY_P}.tar.gz"
- #if [[ ${GENTOO_PATCH_VER} ]]; then
- # unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
- #fi
+ if [[ ${GENTOO_PATCH_VER} ]]; then
+ unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
+ fi
fi
}
src_prepare() {
- [[ ${PLEVEL} -gt 0 ]] && eapply -p0 "${MY_PATCHES[@]}"
+ (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
default
- is_release || eautoreconf
+ #(( PLEVEL < 0 )) && eautoreconf
if use prefix && [[ ! -x "${BROOT}"/usr/bin/pkg-config ]] ; then
# If we're bootstrapping, make a guess. We don't have pkg-config
diff --git a/sys-libs/snapd-glib/Manifest b/sys-libs/snapd-glib/Manifest
index f8cf5a4f77e1..0da0d0567150 100644
--- a/sys-libs/snapd-glib/Manifest
+++ b/sys-libs/snapd-glib/Manifest
@@ -1,7 +1,7 @@
AUX snapd-glib-1.65-install-missing-header.patch 372 BLAKE2B b2cd1bc66ff14d3adfb62f15f69b85e5be5c8f658835ac657ef7645d4256876f2fd7d6ae760c7b6fc25dd714f6e4cc497bbabd5445ca253101c351aac8170977 SHA512 7c2afe6558afbf94ce208eb0367f6e9f499f4f409555ba2357b7ab2af53c1b04a42fd1925cfef1c6701ac205d1696f5dad68fb009ce31008d7229e31e957287b
-DIST snapd-glib-1.63.tar.xz 187676 BLAKE2B a212f826ee35ef5458b716ce64d8f4b32474f991938bc314fcdb0feb5c803f93880a517fe5e1550bc82bc4992bee7467dc0d8cf5cb260712e83b8a1fe6b75743 SHA512 94a2f46e4e066270ea5492cb00fd44da247686a354cbe6766fe3e8974e6bb51f4cf1ca95027533417ec8c8117fc9d3866cb173a113b89d789b6ba518489a314f
DIST snapd-glib-1.65.tar.xz 205948 BLAKE2B e5253cd6f8ac908236a89bf8fa3ec2252d2e4bb0875c6860b63808663d80d59d0a5397a5170ac959492e720e1c8fe77d9674a6469cc58556073cf93888da9a8b SHA512 6bae381c6b5a83312004026228ee76e7b8722a5a561c991ceda35aaf104eaf84451f5a7ba299cad6b1f82e3dbcb16cc4780ac393cadb2ca58478b59a809fc613
-EBUILD snapd-glib-1.63.ebuild 1149 BLAKE2B dd24a67001aad8070a2d59d74b7c6631f81f887d098379a59cbd8cbca79fec6af48e72494f44d382d195b889df4734216eb1a99a7d38a070d3f08a9d2c0c0ee1 SHA512 6767b4e61361089372012b35c8cfc57bf622b66d2a0a52fdffbacd81bdc3704696a69676dddda2d029c8ce8fc1988d2646be249e09e8a72d9bd847407063ab08
+DIST snapd-glib-1.66.tar.xz 211400 BLAKE2B 34b0e77b453f2c809bfae871bc6e965e085abc726ed7cd12642c6c4423c4ec17c7398ebb6e0ca375427f31c0dd9a114df24a643ce59df252b4259d607358f7a7 SHA512 62e8f526dcd6adf3c424be02602853288c05a20dcf538960375928532ced3a0754e8c3f4877407a3a2f48eee6a9ec8e58f03f1fb0e12baaf88af5946e7a2627f
EBUILD snapd-glib-1.65-r102.ebuild 1253 BLAKE2B e28158f33ab4cb2202c0e949ede7e55e8c26e0c2b194cc2abaa6403525440b402267a3fc25b12270614b4586f15a2c506c87742f6a16c8a4210e85e3091b1713 SHA512 8b5f2a547d8fea3545c64b9440a00a5a472af054aa3d8c6c90f0e586aa932100c81b92ae863f2da9224d173025ca6db1572b7b313b0e2e4878c69195a1380994
EBUILD snapd-glib-1.65-r2.ebuild 1276 BLAKE2B c485f68cfba4a389569abf763a6e43007a24096aea45f9d4aaf2ed4d859f9f279cfff811d44942689eb39192271e67a82ebd19346fc2db2e96b3cec51600cdbb SHA512 02499703bf964b59fdfe670ccaf0c854212fe38b36569d93037155b0a1c3b7957ee6d0ca7cf87dc090364eeb98c3db77c241d4b4e0b0ee9842165a8ad6068477
-MISC metadata.xml 406 BLAKE2B ee1d1cdc33311cea7a3bcc4288fb8ec0148327eaa6fc59fd7c18ff3b34d9624a9e42a85f47254205a3d078651012d52ddc5f2dbf693f0250afc4194e389ba4be SHA512 1331657e9efe50b9901b2acc60694edf2c9f518a37f2a0d346969b78ceffe75d88a0503bb43fdac9a75eb81706440d99d8ce3eb6b9b112163438474b823338e1
+EBUILD snapd-glib-1.66.ebuild 1141 BLAKE2B ccabcbbe958975c446d8aa79eeeaadc1ba5ebc18f881b587c868d5d6c1ce7de9a47f91a27448d232bbc7360c5b9e389433380e26ccdbf1d7cdf256c6ebbf3d3b SHA512 76edd7f21f6c106466585207afcf25f72562b9fe65dbc73af7f222fa0cf8ed1178d5888f90a777b5f4ee618c5cddb1b535e4a1f5dea5187b0e10fa9e52d0520f
+MISC metadata.xml 407 BLAKE2B b67062fb5087356bc203da9f2f374b86b81d28dbc5b22b33b54424190d7baf57629f4d58b2077531963108b24f70d1438e26b5782a182edb2c4e63050ca1fedc SHA512 69ad843142e440518e4fe8c2784c9033ad0a7d2195c88a6a06f533524be27a296be7a7d0b8052987ecd61f0de0b39134459a0ea6bc952500dc222529cb457253
diff --git a/sys-libs/snapd-glib/metadata.xml b/sys-libs/snapd-glib/metadata.xml
index 8e8a7baf2077..a6317bc2b9be 100644
--- a/sys-libs/snapd-glib/metadata.xml
+++ b/sys-libs/snapd-glib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>andrewammerlaan@gentoo.org</email>
diff --git a/sys-libs/snapd-glib/snapd-glib-1.63.ebuild b/sys-libs/snapd-glib/snapd-glib-1.66.ebuild
index 5f95bf2cdd41..5b9d007e6ad6 100644
--- a/sys-libs/snapd-glib/snapd-glib-1.63.ebuild
+++ b/sys-libs/snapd-glib/snapd-glib-1.66.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,18 +11,18 @@ SRC_URI="https://github.com/snapcore/snapd-glib/releases/download/${PV}/${P}.tar
LICENSE="LGPL-3"
SLOT="0/1"
-KEYWORDS="amd64"
+KEYWORDS="~amd64"
-IUSE="doc introspection qml qt5 vala"
+IUSE="doc introspection qml qt6 vala"
REQUIRED_USE="
- qml? ( qt5 )
+ qml? ( qt6 )
vala? ( introspection )
"
BDEPEND="
virtual/pkgconfig
sys-devel/gettext
- qt5? ( dev-qt/linguist-tools:5 )
+ qt6? ( dev-qt/qttools:6[linguist] )
"
DEPEND="
@@ -32,12 +32,12 @@ DEPEND="
net-libs/libsoup:3.0
doc? ( dev-util/gtk-doc )
introspection? ( dev-libs/gobject-introspection )
- qml? ( dev-qt/qtdeclarative:5 )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- )
+ qml? (
+ qt6? ( dev-qt/qtdeclarative:6 )
+ )
+ qt6? (
+ dev-qt/qtbase:6[network,widgets]
+ )
vala? ( $(vala_depend) )
"
@@ -54,9 +54,10 @@ src_configure() {
"$(meson_use doc docs)"
"$(meson_use introspection)"
"$(meson_use qml qml-bindings)"
- "$(meson_use qt5 qt-bindings)"
+ "$(meson_use qt6)"
"$(meson_use vala vala-bindings)"
-Dsoup2=false
+ -Dqt5=false
)
meson_src_configure
diff --git a/sys-libs/talloc/Manifest b/sys-libs/talloc/Manifest
index b425a5f50b6f..8a2b6ccaf415 100644
--- a/sys-libs/talloc/Manifest
+++ b/sys-libs/talloc/Manifest
@@ -3,5 +3,5 @@ DIST talloc-2.4.1.tar.gz 679160 BLAKE2B a7913b25930c77da53c17c2e0d71386402b1059f
DIST talloc-2.4.2.tar.gz 679750 BLAKE2B 1f836d6b11e096e399ad7b99ad4abd3c140e75ee307695659c35b89eca600de247e5432bce523a299334f20ca2dad4c726b783a94c546b67fe25b2b7199b2915 SHA512 fb91665ffbe0cce96b1359940ff3ed21330c81c5331140788a26aa94f82b50492176e6000ff54b31d1a434bb1cb53a6a2c7894153545252a1fd91bda7c05a213
EBUILD talloc-2.4.0.ebuild 3586 BLAKE2B 9641fa19076031f905983116071343c09a5be4ea9c8bd237fccb6c16f3dd38f153dc9be5fc4460831c6aad3a05aba8e53cc074b0451703d57a68cbea3c172630 SHA512 89af48b2d3da6c5e5c2439ac8639c45bd33aa0df94e5f77aef10ddeb799143d073dcab797fe3baafdc1b1ba08fb27a8337c9b5f62e171590eb6922534b8ec4a0
EBUILD talloc-2.4.1.ebuild 3658 BLAKE2B 66864e636205c00e08d4b305c9b923e2f80dc94ccda8babe5c1859700d51cd1b995acd00bbc6b55a761286701fb490b5f553062e009ef18b2c71a01e898fff56 SHA512 4c86371f4f3087481d19e39f429fd1359ba9d052276bdab89bda0748e430247e4bec65d8948945c67547ab4fcf01943cfb035f9cbe33badfc2ee2948b3fcb01e
-EBUILD talloc-2.4.2.ebuild 3665 BLAKE2B 0f3ef747c523575a547ab82abde8472169d6515fb51f9bfd72cd9c93938fc766d3a70e2e7046ed5d9dc5da359de1fa9aa048390882d74e37656dbfe5ad343f92 SHA512 58bc0da0ad4a7893ea5b13163d165a765fa0ff12fc95e6e1d9ef2419e68b5e7b8c8684ec06dd38d140ce59e11ddef1583d4ae96924fa4cf402473137f26750d0
+EBUILD talloc-2.4.2.ebuild 3658 BLAKE2B d00c566595ab7fb5bed7e6f8279136dc1245238bd1fbb9d54293f6f6f63c6ab51a263027ad1cde0362f600eefe54214b4a9b95b2dffe97b906145c90896c0d7d SHA512 839c91eabe9e017b01abfc9e4d5590b010decf4f32ee9f0aae96d630cb4a4921b3d06adb3002460fb0e9c226a4630b6959df3920dda98d459b3583988451ab81
MISC metadata.xml 326 BLAKE2B 4788d8b536b43840fc3a6d6ef36d860589ebb1137cd07d11ce75c54869b8b65027f9332901c1882ce8fd97f446d90973cec03332b4e693283162f3c731b7627e SHA512 e700e6f5810ad2d6618f52ff3607a2dc3254751dc8172744512c956f001045accfa28d8aa79be67935c02aead13c2c22c54aa4e221f487ba3cb25ebe9273d57f
diff --git a/sys-libs/talloc/talloc-2.4.2.ebuild b/sys-libs/talloc/talloc-2.4.2.ebuild
index 8d98b20fe6dc..b32518a37948 100644
--- a/sys-libs/talloc/talloc-2.4.2.ebuild
+++ b/sys-libs/talloc/talloc-2.4.2.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="threads(+)"
inherit waf-utils python-single-r1 multilib-minimal
@@ -13,7 +13,7 @@ SRC_URI="https://www.samba.org/ftp/${PN}/${P}.tar.gz"
LICENSE="GPL-3 LGPL-3+ LGPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
IUSE="compat +python test valgrind"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/sys-libs/tdb/Manifest b/sys-libs/tdb/Manifest
index 1303d8b063e1..98c0ea2089e1 100644
--- a/sys-libs/tdb/Manifest
+++ b/sys-libs/tdb/Manifest
@@ -1,7 +1,9 @@
DIST tdb-1.4.10.tar.gz 747139 BLAKE2B e271f824acc8c691a6e88f5e5f73d0673a132134d025e84461520108b94cd7a5db587a0012ad1172270d29042f29336aab6ca59a735d611d6529f81ec3c195e9 SHA512 b5147d811617d90a025d1070abf16c42744b3fc3cac1042fbff03b1e635af2eaf9c957a7bffdb3f56b4a0c775b44f8027def9f23deb1b3ede817b95bbece2ce9
+DIST tdb-1.4.12.tar.gz 748827 BLAKE2B a21d4d6335306ed43d099629960856b1f4e94be046d43b4c3d1cb7a1d929dcb7146f385d4a1c2e8ef3a22af73f7e4db9d2a6f032a7501946dd7fdcbead377661 SHA512 f41644ae29da7fed26959e4f2e3664e58ec65681b0b7115fbb296a7a8c5642c8190dac6e16e5704b322469466dd5aa15c1f7f72df8226ac9c695b5b10ac85b66
DIST tdb-1.4.8.tar.gz 742791 BLAKE2B dc2705cb16ee59f4d5bf25602032b25fd5338caa890db19939996a40cd19c4c999f9a74786d5754dbbd1de54d818541cf56844beeb33008aaee507d5dfcdba85 SHA512 763beebe923aa04303cbb91ce5970e6bbd13546888cff75ea9ab025afff3ef88fee539ae173fc2fb7ec661b6c337b0c2da361ce3d318f51ef6627bdb3fe6ca63
DIST tdb-1.4.9.tar.gz 746608 BLAKE2B 2cdcf636b9ef5445d48ca2aab79d4ffd137a8409b6d7b1fcdbcd28797d4bbe617f768a5ef92a14c4ae6dddfc37576f5d411cf4d67edeb4319f46a1a15ffd94ee SHA512 6b0109075826b8630f6b5a7e7ade2fcff95c5d05338340af78219422610947c520707b3e484ff13fbd40bbfffe13977976e8ddcb1be7b13e13ac78b4e3ec06c2
-EBUILD tdb-1.4.10.ebuild 1584 BLAKE2B ed38ca2d157e19d7b95875b32bbd2a1c2854346d3585ac0c0dc29c7182cb0b2453ede45185a8533d19ab4ca91aaf5033dfdb3349c229bf3fc367d65d06d9e924 SHA512 7a21b309336b3d45ebb442ff84cb5d93a54c9c04eed1dbed17e927b4f6682201649672e9bd35abdcda282b1a17fece07ad7784141d7232f7a09474b9d1ca1898
+EBUILD tdb-1.4.10.ebuild 1602 BLAKE2B d9ac5aaa7cafcd1257d08a03d05ca2a81433097dccff734df37027eec54df85f31d8c5adc6bcb0b53acaeceab332c7f22c6ba27769c1c8116ab599e71a621446 SHA512 b881a38cb426e3c684f18c2811d7a662789d13edceed5c15e6485b328645e10cec13e221b113973ba37ff23d32437dd88596850f98a4e1feb8a86ec18bf31bdc
+EBUILD tdb-1.4.12.ebuild 1608 BLAKE2B 39d1761369f1ef7ee07edf2a0a6c4bf94d79b83d7dcabebbaf38b05996bd638836043dbe131590dc6a1ec8c6b115dff3ca8d72305ad68cb9974a4529f06459a5 SHA512 152aa1f3cca26f3cb469a188fb5a8c7bba0216ef47418bf21da50fd21841a8423516f26a731da2f55d92c3060ebb901c8174bad7426880a30f2e0c6ee4439e1d
EBUILD tdb-1.4.8.ebuild 1437 BLAKE2B bdc628fd2e8ec3b5bed053de32ed423339500b73b0ee16f04d6c61e1f11b017f2c2195c8a102223f975858beaeae64f9e55b6cff210bd9e5d967c7fa0149fd65 SHA512 4a4e2e9cadd18011d683246c8833ac6d925978b9bb8193ba2bd0e027156f2e58abb78e4de29a3cdfc7d7f7ef76a97cf70d75523d87beac3c785d2860d551b9af
EBUILD tdb-1.4.9.ebuild 1578 BLAKE2B d7503ae4f2b715f6b25d778bc4b9b0be06b9688ced6efc128f948d457d3604df072bb3c7842219c6d04bd370d25af5c32f4b19825edd9525886c8780c5fc6cef SHA512 bd2beccc8faf37199b749bc537d4c1a18ebc56963034ffb9ee1c2eccd14fce5fb4eacb6a8ef180f161c31e1fd8bd8df834c7865febff04178a6d20067af375b5
MISC metadata.xml 245 BLAKE2B 015a6303c153dcdb4a4b6ec58ea97e6798d3316c6d211559022bd2a26d481356e481ba2ade200171bb182264ce9c132727cf8ce077fba38fabcef92c3431b6ba SHA512 5d1b6ef089165b3325df35b31d33f7c994bbc302399bb47abf3138885f0dd7b04176114de8ffea6ee1ae26a53fc83be9016426714e547fd6405c454b918e39da
diff --git a/sys-libs/tdb/tdb-1.4.10.ebuild b/sys-libs/tdb/tdb-1.4.10.ebuild
index 151c787ebc80..04e70547aeed 100644
--- a/sys-libs/tdb/tdb-1.4.10.ebuild
+++ b/sys-libs/tdb/tdb-1.4.10.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="threads(+)"
inherit waf-utils multilib-minimal python-single-r1
@@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/tdb/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="python test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
@@ -70,7 +70,7 @@ multilib_src_compile() {
multilib_src_test() {
# the default src_test runs 'make test' and 'make check', letting
# the tests fail occasionally (reason: unknown)
- emake check
+ emake check WAF_BIN="${WAF_BINARY}"
}
multilib_src_install() {
diff --git a/sys-libs/tdb/tdb-1.4.12.ebuild b/sys-libs/tdb/tdb-1.4.12.ebuild
new file mode 100644
index 000000000000..5f85cdd900aa
--- /dev/null
+++ b/sys-libs/tdb/tdb-1.4.12.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE="threads(+)"
+inherit waf-utils multilib-minimal python-single-r1
+
+DESCRIPTION="Simple database API"
+HOMEPAGE="https://tdb.samba.org/"
+SRC_URI="https://samba.org/ftp/tdb/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="python test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libbsd[${MULTILIB_USEDEP}]
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="
+ ${RDEPEND}
+ virtual/libcrypt
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ app-text/docbook-xml-dtd:4.2
+"
+
+WAF_BINARY="${S}/buildtools/bin/waf"
+
+src_prepare() {
+ default
+
+ python_fix_shebang .
+
+ if use test ; then
+ # TODO: Fix python tests to run w/ USE=python.
+ truncate -s0 python/tests/simple.py || die
+ fi
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ #MAKEOPTS+=" -j1"
+
+ local extra_opts=(
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ --disable-dependency-tracking
+ --disable-warnings-as-errors
+ )
+
+ if ! multilib_is_native_abi || ! use python ; then
+ extra_opts+=( --disable-python )
+ fi
+
+ waf-utils_src_configure "${extra_opts[@]}"
+}
+
+multilib_src_compile() {
+ waf-utils_src_compile
+}
+
+multilib_src_test() {
+ # the default src_test runs 'make test' and 'make check', letting
+ # the tests fail occasionally (reason: unknown)
+ emake check WAF_BIN="${WAF_BINARY}"
+}
+
+multilib_src_install() {
+ waf-utils_src_install
+ use python && python_optimize
+}
diff --git a/sys-libs/tevent/Manifest b/sys-libs/tevent/Manifest
index dcd1df3ee6c3..f60ac625736a 100644
--- a/sys-libs/tevent/Manifest
+++ b/sys-libs/tevent/Manifest
@@ -4,5 +4,5 @@ DIST tevent-0.15.0.tar.gz 884634 BLAKE2B 071906dc0cc199a9b550e74ca7fcd3555e54a1c
DIST tevent-0.16.1.tar.gz 890010 BLAKE2B 34639cf0e63193eebdb9c3f845390685d66916c6a687f22fbe25dbe175d3279752dfea1e3567fdb2eed3bea17108b9b226039cb1218c0536fc1eb7f4e0a025ab SHA512 cda001d91728b2f28dd081e9c5f6d8ede345dcd9ce1dca04394860cd83090c15aa8dfef1c53b73e120bd17f0d95551fa9301eb4927963314556d016fe5420a39
EBUILD tevent-0.14.1.ebuild 2429 BLAKE2B 00dd3924763dc424f136f0d23a49432ee8c0a3783e0df65c2a2fcc680ef8b52aaa3d93d923d23a44443e4f281cb9efe9920825b00c33740c59999017d95f5fc4 SHA512 6d42907fc9fdbbaa1f0e5ebea366add6465f24b537841b2c890de18941af74a79bfe7897956f98737c134c0ed3a9c08367236b7ad8967d60c2a07868c45ea5a5
EBUILD tevent-0.15.0.ebuild 2579 BLAKE2B f34ec0e0d12c01f1ee56446c0c18f00feb241eb9063f2d489231d4fbd0fc1bf6ab71c903fe273470176962bb2dc62c7aca92d1281496a42ba2f66d33e10710f2 SHA512 359d37e964bf50ce9d4e0233395f9845d069f5f9a4c5bfacd7e8c25285b3e1c030b3b0662b6c50587e267fdfc426f59df01a0243719f0e913ea441da91671f67
-EBUILD tevent-0.16.1.ebuild 2536 BLAKE2B e1d36ab0a1a8f0c5b65b0650b42c00d8dbedbf8a9f0fdd27b6705d7a42362418ea8257a7e6cce42cdd7e45d1b93887f2cda60fa799263ddf8a00148040983f58 SHA512 ad981394cb8570d5c36cbd11c40fe08ecd5331f257fa662c3f0c469b420221a136d291514bb321106b9b73707efeea71a3ed14e8380fcb6f87bb17d300dbfb65
+EBUILD tevent-0.16.1.ebuild 2529 BLAKE2B f3886c3acee1098d0d9e35b386484ea4abff6c23e5a455ca79a331f510c256a226eb2c3f6a801b2ec797d67a2944c5bce7c531fbf7b9cff0f80cd039fb866641 SHA512 12a46339ee33442713240125d07f56242d8732249d27459814c080a483d5a6c3767094e18b345f0cc703cb1a6f5745dabcdfc0ca27f25767bc33954512c6da7b
MISC metadata.xml 239 BLAKE2B 7127a2a67e79dc98a78fcaca706fd348389c7f08465112215855afe5978d2932ecbee93944efb1df528fbb6d09e884b277cb1d55a8b3926487b6ca07f9330b8a SHA512 4ea42efe4d083d013b85796ca25a132678bcefe6e3687fd6dd371814fd307118fbc8da8c15ce7f4d956e5f824cd0202f49d3469406c88008e84ff9f4d360f424
diff --git a/sys-libs/tevent/tevent-0.16.1.ebuild b/sys-libs/tevent/tevent-0.16.1.ebuild
index 725d96c3aa53..037719db24f7 100644
--- a/sys-libs/tevent/tevent-0.16.1.ebuild
+++ b/sys-libs/tevent/tevent-0.16.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="threads(+)"
inherit waf-utils multilib-minimal python-single-r1
@@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/tevent/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux"
IUSE="python test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"