summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-04-15 12:04:03 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-04-15 12:04:03 +0100
commit7fa8a1e3f149eea4c844c47cfe26136ed7614c58 (patch)
treee514d1b9999d088064bee1e34a3a3c500d6d7a07 /sys-libs
parentd993571e2ee444d08f4e9e90d493ee37338657e3 (diff)
gentoo auto-resync : 15:04:2024 - 12:04:02
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin14748 -> 14569 bytes
-rw-r--r--sys-libs/glibc/Manifest6
-rw-r--r--sys-libs/glibc/glibc-2.38-r11.ebuild6
-rw-r--r--sys-libs/glibc/glibc-2.39-r2.ebuild6
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild6
-rw-r--r--sys-libs/libhugetlbfs/Manifest10
-rw-r--r--sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-allow-building-against-glibc-2.34.patch258
-rw-r--r--sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-ino_t-fix.patch13
-rw-r--r--sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-nonnull-fix.patch31
-rw-r--r--sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-path-max-fix.patch22
-rw-r--r--sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-sc-level2-fix.patch45
-rw-r--r--sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-uncompressed-man-pages.patch34
-rw-r--r--sys-libs/libhugetlbfs/files/libhugetlbfs-2.6-fixup-testsuite.patch31
-rw-r--r--sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild175
-rw-r--r--sys-libs/libhugetlbfs/metadata.xml12
-rw-r--r--sys-libs/libseccomp/Manifest5
-rw-r--r--sys-libs/libseccomp/files/libseccomp-2.5.5-arch-syscall-check.patch45
-rw-r--r--sys-libs/libseccomp/libseccomp-2.5.5-r1.ebuild5
-rw-r--r--sys-libs/libseccomp/libseccomp-9999.ebuild2
-rw-r--r--sys-libs/libxcrypt/Manifest2
-rw-r--r--sys-libs/libxcrypt/libxcrypt-4.4.36-r3.ebuild6
-rw-r--r--sys-libs/ncurses/Manifest6
-rw-r--r--sys-libs/ncurses/ncurses-6.4_p20240414.ebuild488
23 files changed, 571 insertions, 643 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index b9fc6fd36e23..6e34ab670add 100644
--- a/sys-libs/Manifest.gz
+++ b/sys-libs/Manifest.gz
Binary files differ
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 552f6cecd34d..ad5df3f97393 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -51,8 +51,8 @@ EBUILD glibc-2.35-r11.ebuild 50190 BLAKE2B 29f06ac1b489b7c75e022f5044d723f05a23e
EBUILD glibc-2.36-r8.ebuild 52468 BLAKE2B 005a5537d1cbcc1ba128174c06aa9fe797b2f1a86c1f21b174ed5d41807e869b96a311a4f9d9c1d471f9afd24c49b0ef976f3015b13de5fea7f65d4ec9a7edc9 SHA512 a0b65b2736c7a649c3b3b2b41d8b47264d60a4074dfa4f3eb93790b26786d2cdb91667d9c49f3ce10ba987c8b5d0e4b541e426e096f2aa296fe9b55e391a3296
EBUILD glibc-2.37-r10.ebuild 52997 BLAKE2B 5302881267c59582fbdb775dd789597c199461735a92cf91d2609e1827b80fdfd5514d836867a917895ab2f0c1ea61d4a899321ae490e68af33c17456b20c164 SHA512 c0010d3a73918e95ab9cfc50c3cf452b528a028e78a4522659df3be3f8f753094bd2ba5542d539a83a76d51608d563054a3560f25ee0a862757730e1cd18adad
EBUILD glibc-2.38-r10.ebuild 54293 BLAKE2B a1e9e5df6cf6454cd823f4c497113b4b958ee48f2e7caa1f0faa8f0a798d287b4c9b333b3e10a51f0f687fcea77f1cbf10aeb2d254f9d636e3224a645e39eb82 SHA512 49bd7ced8fe1781929d1b416dd121f247a2902bf258af361826fe58ef0192cb31055855fcf8cd36f8893e3013dc915febc8899bf4c61fc8010aa36480d245552
-EBUILD glibc-2.38-r11.ebuild 54294 BLAKE2B 403803ad95aa199d6d2bbdb07ad4120c38ce661fc538f73e52f0d171c2f4a3b251117f45e185cbf0b3a44d5232c13dcc953563f6cd4fa86b8377b86996d4df62 SHA512 8b7d47f0ee986b26091c41e867e73e33273409d4f78857fcfabeff446317bf8afb45093cffca894dc8e8b4a60f3a70d1a0d9e8d25c7184f23d155b239289db13
+EBUILD glibc-2.38-r11.ebuild 54516 BLAKE2B 5f54284b49ed56c0d22b425300d4926655d81755e6ba27417dc1fdc5e1137a50b9ae3de26c7475844b93b7b1ba815ab54e5d52c4c91b881a029a6320bdb0063b SHA512 e37b8a2498d8c0444843406e53b4b5f3fff873cee1521218eb5de364308c3dadb7d599314ba34efaf09d6b1309fa8e6fdb468e708597390252d4858d8047440c
EBUILD glibc-2.39-r1.ebuild 54002 BLAKE2B 132527fc9289b6526837df002fb5dc518cc988b6e995a4fce5d73f7c6a7304875509c469716dc50544bda7f9b61261cf52788d1e41951eab9604699276d042d2 SHA512 5bb5854dce0382146af3f68c11e45075fe32e81ac93cff5bc1cc1d4938c7ce31092d1e7a1bd1cfe1364c0d79686d8c523445dfa8df8f82cf260c18a37b915296
-EBUILD glibc-2.39-r2.ebuild 54080 BLAKE2B 04fe721435809c26ed7792f2380b816f48d5ffb680f20914aa8d0f459844ee5c033bcbe230ae4317298371c81bcc205d8671b0192b2c80700fce8eaa4999ef3f SHA512 7785b6e89666f992457196c03ba159a3200ae9603c70d9a1892939faf810d5f8adbe008d8fa97ac90ce02fdaa84f7789806e797e3f6c654243984e8f28846a35
-EBUILD glibc-9999.ebuild 54081 BLAKE2B f2b8bfcf17a25ac09b7ee5deb9610ec16896fb54db83db07779573ce503c9fc8562f1044ece9216a57f0ae6bc9cf7651ee83b16d314ee1578a6dbcf8fba5a88a SHA512 34690d305187ac73e90ce3e17b53de2f372e06aa72209ee59248fb5e6684ca10b3191af2b550a7857432115a4cab907b6385d0d7d6aa6852cbf4318a556559d0
+EBUILD glibc-2.39-r2.ebuild 54302 BLAKE2B e26f05667f9d11fc20122ec156912645e40e8f72b31f4c3c6af1b55facdf225855c1e666b439483156e1fcf6bf7cea57d69c186dc5aeb0bbe073cd7ec3b1450e SHA512 2b79905886b56d3d0e2f710dd1c9d9f89e71b9d6d705b26fc74ae9ef73ce4d1ee18a1c12e2978f46c37795f7939bb3cb5a3c2f5738e6b6c736c776bc99b1c393
+EBUILD glibc-9999.ebuild 54303 BLAKE2B fb17c851cddbdfb5417aa0e11847b2e4a1219db670b652f17e8b0952105c66782b9d4f4d58e343e57bc0a0d41c4ed4527fb65485f36fd011908a7e2b06dfc9ba SHA512 3d496f1df146744c303ba005b48d134babce84e9e4f43e85acb589620e21afa5dc944dab43b903169d3057a20bc6a37f074076bb4d532230b79401e702c0be5f
MISC metadata.xml 2142 BLAKE2B 765ba540eb10afccd1bade4de56f0c13ce269225500a62d1d17328194de69e7fa15d359a14eac6bfa8a36df45344db3d52f5e1811b174cf1fa2bfb95ad7760a7 SHA512 2f4a148c076a0967663d14e76b85a698ddae7093ff299b0dc95a6c3b00957c9bf73443f2bace9670eb62a45465efbcca892bb52b6aac8577acb2bc5f74a7397c
diff --git a/sys-libs/glibc/glibc-2.38-r11.ebuild b/sys-libs/glibc/glibc-2.38-r11.ebuild
index 8da751b46e7c..93f0999d1d03 100644
--- a/sys-libs/glibc/glibc-2.38-r11.ebuild
+++ b/sys-libs/glibc/glibc-2.38-r11.ebuild
@@ -576,10 +576,12 @@ setup_env() {
# 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
@@ -606,6 +608,7 @@ setup_env() {
export CC="${current_gcc_path}/gcc"
export CPP="${current_gcc_path}/cpp"
export CXX="${current_gcc_path}/g++"
+ export CPP="$(tc-getCPP ${CTARGET})"
export LD="${current_binutils_path}/ld.bfd"
export AR="${current_binutils_path}/ar"
export AS="${current_binutils_path}/as"
@@ -644,6 +647,7 @@ setup_env() {
# 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)"
@@ -659,6 +663,8 @@ setup_env() {
# 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}"
+
if is_crosscompile; then
# Assume worst-case bootstrap: glibc is built for the first time
# with ${CTARGET}-g++ not available yet. We avoid
diff --git a/sys-libs/glibc/glibc-2.39-r2.ebuild b/sys-libs/glibc/glibc-2.39-r2.ebuild
index 236484af1eeb..ab73ae4098aa 100644
--- a/sys-libs/glibc/glibc-2.39-r2.ebuild
+++ b/sys-libs/glibc/glibc-2.39-r2.ebuild
@@ -589,10 +589,12 @@ setup_env() {
# 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
@@ -641,6 +643,7 @@ setup_env() {
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
@@ -657,6 +660,7 @@ setup_env() {
# 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)"
@@ -672,6 +676,8 @@ setup_env() {
# 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}"
+
if is_crosscompile; then
# Assume worst-case bootstrap: glibc is built for the first time
# with ${CTARGET}-g++ not available yet. We avoid
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index 5a0caff2e597..c6fc206e2d4f 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -589,10 +589,12 @@ setup_env() {
# 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
@@ -641,6 +643,7 @@ setup_env() {
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
@@ -657,6 +660,7 @@ setup_env() {
# 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)"
@@ -672,6 +676,8 @@ setup_env() {
# 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}"
+
if is_crosscompile; then
# Assume worst-case bootstrap: glibc is built for the first time
# with ${CTARGET}-g++ not available yet. We avoid
diff --git a/sys-libs/libhugetlbfs/Manifest b/sys-libs/libhugetlbfs/Manifest
deleted file mode 100644
index a56c823cd78c..000000000000
--- a/sys-libs/libhugetlbfs/Manifest
+++ /dev/null
@@ -1,10 +0,0 @@
-AUX libhugetlbfs-2.23-allow-building-against-glibc-2.34.patch 10055 BLAKE2B 38b3c28321bdaa5271d8655823ea00952ca8571c84bfe9ec980a35ad7ad77e382ac9235c058597628cc574e03ce0dadbe19bab298c30763e03508aff01275e4b SHA512 abfcfdd87cf7c17663ba466c46182ac04aac454bcedc55a5032bd142419388daa8b0ca0a885f3aedfc830bbd2c58dfd15c4a3499a6fb26df679d8cbe87bf2143
-AUX libhugetlbfs-2.23-musl-ino_t-fix.patch 298 BLAKE2B cefafb44877d41e1255854dfb5fe4e8d0a5bc162f8de72541fd54a8b2caa3593a26e27515605a072afbae573432d797cd9a16d1db9796aea1678b7e4bf5df34e SHA512 65ed971be4c1646c7fd34c16ee7ba36066fb35298f91ceb53122c53c94cfda13de7ebcdf464cba393b50cf77b243ecc5ec136399ba7ab286ecb5e0f9ffc4b819
-AUX libhugetlbfs-2.23-musl-nonnull-fix.patch 935 BLAKE2B 7a3c13e24ed9e8b86f5e37db10313a7b67fd65b6bd328f304fad3f7b86f86fc66fab8b418ddade7d1f60327d4caf110fbeefb9254b1a75ca6c8e1043e5594578 SHA512 66b96b60bebfc7ad13bc1646868eb5dd447aae8922513d126a8775ccc24a19b3f0e25c986e34b52de7b48fd19278db50af116aec78517ece47189f4f8f6c89bf
-AUX libhugetlbfs-2.23-musl-path-max-fix.patch 462 BLAKE2B 79247f6e2cb50b43ccb54f3434e7ebea696f00743f2ab1f70ea172a1c97f15c7110ef0cf46c57ec9fef6c51b1fd38ebf122284d0622d86d2de8e2c3708934bc6 SHA512 be71e9aebe25fcef59c1ac0935fdc25771c5d153ddee4b9749275e4e0eb0f9967f59030aab0f2e9a2a5dcfce2fc1edf3ead5403cc8501adbbb4f79df1e8ee66b
-AUX libhugetlbfs-2.23-musl-sc-level2-fix.patch 1618 BLAKE2B 0d21d5b08c11bdb54fab5bd67b924b6a8277204868f3b4ab833f3cf877ca9e26c588768d2f05a7159a2df1246693761e8f35a22419897c9d9adbf74c804b0556 SHA512 4c2dfcdd35afc49b39284d58b7e1c3f2f4f618930d905e48c0ad6e276343dcdfad383120538a759996e7188406c263cf2666d8cba99556f4d7bb208eb2ffc230
-AUX libhugetlbfs-2.23-uncompressed-man-pages.patch 1515 BLAKE2B b43415a3059f1071f0fc04ec834cd51d87a8bd93f2df6b428a33296b1b55745f23861415a463d5899b12699c5f4a3e5bdd837a8ec2894d1fc89039924330d77d SHA512 ea3ef19a688866676315af59422233681a41338fd049cfa50ed91f660f0baf1950ba056b9fcd540e6694b8ec348c0d1fbb3aa6b8c1840e22a77634e26555c9bc
-AUX libhugetlbfs-2.6-fixup-testsuite.patch 1231 BLAKE2B e49ac448b4ac17a6ce9c32543e3ad7391bc8525e147d7a5100ef7ae15e4b0cf48b58ff1fe62d9a0fa61f142b7b8366228974c6628999edaa61d96114371bc09d SHA512 af9ee541ac4a30260e17baab1616cee13fdcc679ae3fdceed29ca6282c12a6b60d24b04bb61e3aa5f42092e017eb3bae59a56fd2b03954e40803f9f6f2cc4f80
-DIST libhugetlbfs-2.23.tar.gz 175459 BLAKE2B f469ff9a65364e9f0e04c11c8010c958855ebd4d50e1dd719576cda7c280586623404304be64a794907a5fb1d97bd9c0620a91d7a2492577e04fa40ff432b4c7 SHA512 fc9a7d59bcda9d3ca9c9e43a3a348f989c9cbdbbb77f21a43a06e71eacd05bbe5a7b2b51e20ae9ea00da9f1c4d1130da529bbfb702e8c9d11cab6efadd3dc168
-EBUILD libhugetlbfs-2.23.ebuild 4490 BLAKE2B 81f15b9e48dfb5c699c89625121508b523a16e0d06c9f2444dbba33efc756850bcbbe1910ac66dcfa49bf0070c7a4149e7b18776dac82440f0b0047fb4a4ee99 SHA512 d54e9aa3c5c328105cb15a8fd3d6f4b87fb9ef6248a0eebea950e442072cd321681c0c9dfe1bf2c0c83cdad9299aad5dd3703549faed5359882410854b1d4328
-MISC metadata.xml 397 BLAKE2B 7b521a2822a494f6a2b7a85420a38edd396ca0e3856faeb682378c48eda3d1932788af7ac7bbb4e07cae37b2119afd386f75c5dc0ab1f69c8e4630be16cc549e SHA512 96065769a7893c1e05bc3ab9396eb01a60a293dac9b090419087a9bb5a152b2f291a950e8217ffcb7bed34262a5369119da469e22cc3171fdc0ad2b87ae6d698
diff --git a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-allow-building-against-glibc-2.34.patch b/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-allow-building-against-glibc-2.34.patch
deleted file mode 100644
index 68e121e240ab..000000000000
--- a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-allow-building-against-glibc-2.34.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From 959d74fd0fbbff310943096e15024a84e8f5cba4 Mon Sep 17 00:00:00 2001
-From: Matheus Castanho <msc@linux.ibm.com>
-Date: Thu, 12 Aug 2021 16:38:46 -0300
-Subject: [PATCH] Disable hugepage-backed malloc if __morecore is not available
-
-Starting with glibc 2.32, __morecore hook has been marked as deprecated, and was
-completely removed on glibc 2.34, which causes an undefined symbol error during
-the build of libhugetlbfs.
-
-Greater changes are needed in order to keep providing the same functionality
-with future versions of glibc (see issue #52). Meanwhile, we can disable
-hugepage-backed malloc setup if __morecore is not available so users can at
-least keep using the other features provided by the library. Related tests are
-also conditionally disabled, and will show as SKIPPED if __morecore is not
-available.
-
-Tested on powerpc64le and x86_64 with glibc 2.34 and olders.
-
-Signed-off-by: Matheus Castanho <msc@linux.ibm.com>
----
- Makefile | 6 +++++
- morecore.c | 8 ++++++
- tests/run_tests.py | 67 +++++++++++++++++++++++++++++++++++++++-------
- 3 files changed, 71 insertions(+), 10 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 8b73523..35e53e7 100644
---- a/Makefile
-+++ b/Makefile
-@@ -192,6 +192,12 @@ endif
- endif
- endif
-
-+# glibc 2.34 removed __morecore, so it may not be available with recent versions
-+HAS_MORECORE := $(shell /bin/echo -e '\#include <malloc.h>\nvoid * morecore_exists() { return &__morecore; }' | $(CC) -c -xc -o /dev/null - &> /dev/null && /bin/echo yes || /bin/echo no)
-+ifeq ($(HAS_MORECORE),yes)
-+CFLAGS += -DHAS_MORECORE
-+endif
-+
- HEADERDIR = $(PREFIX)/include
- LIBDIR32 = $(PREFIX)/$(LIB32)
- LIBDIR64 = $(PREFIX)/$(LIB64)
-diff --git a/morecore.c b/morecore.c
-index 6563bbd..405c566 100644
---- a/morecore.c
-+++ b/morecore.c
-@@ -33,6 +33,13 @@
-
- #include "libhugetlbfs_internal.h"
-
-+#ifndef HAS_MORECORE
-+void hugetlbfs_setup_morecore(void)
-+{
-+ INFO("Not setting up morecore because it's not available (see issue #52).\n");
-+}
-+#else
-+
- static int heap_fd;
-
- static void *heapbase;
-@@ -381,3 +388,4 @@ void hugetlbfs_setup_morecore(void)
- * to mmap() if we run out of hugepages. */
- mallopt(M_MMAP_MAX, 0);
- }
-+#endif /* HAS_MORECORE */
-diff --git a/tests/run_tests.py b/tests/run_tests.py
-index 018264d..871d04d 100755
---- a/tests/run_tests.py
-+++ b/tests/run_tests.py
-@@ -60,7 +60,7 @@ def snapshot_pool_state():
- l.append((d, tuple(substate)))
- return tuple(l)
-
--def run_test_prog(bits, pagesize, cmd, **env):
-+def run_test_prog(bits, pagesize, cmd, output='stdout', **env):
- if paranoid_pool_check:
- beforepool = snapshot_pool_state()
- print("Pool state: %s" % str(beforepool))
-@@ -73,15 +73,17 @@ def run_test_prog(bits, pagesize, cmd, **env):
- % (bits, bits, local_env.get("LD_LIBRARY_PATH", ""))
- local_env["HUGETLB_DEFAULT_PAGE_SIZE"] = repr(pagesize)
-
-+ popen_args = {'env' : local_env, output : subprocess.PIPE}
-+
- try:
-- p = subprocess.Popen(cmd, env=local_env, stdout=subprocess.PIPE)
-+ p = subprocess.Popen(cmd, **popen_args)
- rc = p.wait()
- except KeyboardInterrupt:
- # Abort and mark this a strange test result
- return (None, "")
- except OSError as e:
- return (-e.errno, "")
-- out = p.stdout.read().decode().strip()
-+ out = getattr(p, output).read().decode().strip()
-
- if paranoid_pool_check:
- afterpool = snapshot_pool_state()
-@@ -309,6 +311,33 @@ def check_linkhuge_tests():
- okbits.add(bits)
- return okbits
-
-+def check_morecore_disabled():
-+ """
-+ Check if support for morecore is available.
-+
-+ Newer glibc versions (>= 2.34) removed the __morecore malloc hook, so tests
-+ relying on that functionality will not work as expected, and should be
-+ disabled.
-+ """
-+ global morecore_disabled, wordsizes, pagesizes
-+
-+ # Quick and dirty way to get a word and page size. Which one doesn't really
-+ # matter in this case.
-+ for wsz in wordsizes:
-+ b = wsz
-+ break
-+ for psz in pagesizes:
-+ p = psz
-+ break
-+
-+ # Run an arbitrary program and check stderr for the "morecore disabled"
-+ # message
-+ (rc, out) = run_test_prog(b, p, "gethugepagesize", output='stderr',
-+ HUGETLB_MORECORE="yes",
-+ HUGETLB_VERBOSE="3")
-+
-+ morecore_disabled = "Not setting up morecore" in out
-+
- def print_cmd(pagesize, bits, cmd, env):
- if env:
- print(' '.join(['%s=%s' % (k, v) for k, v in env.items()]), end=" ")
-@@ -357,14 +386,17 @@ def skip_test(pagesize, bits, cmd, **env):
- print_cmd(pagesize, bits, cmd, env)
- print("SKIPPED")
-
--def do_test(cmd, bits=None, **env):
-+def do_test(cmd, bits=None, skip=False, **env):
- """
- Run a test case, testing each page size and each indicated word size.
- """
- if bits == None: bits = wordsizes
- for p in pagesizes:
- for b in (set(bits) & wordsizes_by_pagesize[p]):
-- run_test(p, b, cmd, **env)
-+ if skip:
-+ skip_test(p, b, cmd, **env)
-+ else:
-+ run_test(p, b, cmd, **env)
-
- def do_test_with_rlimit(rtype, limit, cmd, bits=None, **env):
- """
-@@ -375,7 +407,7 @@ def do_test_with_rlimit(rtype, limit, cmd, bits=None, **env):
- do_test(cmd, bits, **env)
- resource.setrlimit(rtype, oldlimit)
-
--def do_test_with_pagesize(pagesize, cmd, bits=None, **env):
-+def do_test_with_pagesize(pagesize, cmd, bits=None, skip=False, **env):
- """
- Run a test case, testing with a specified huge page size and
- each indicated word size.
-@@ -383,7 +415,10 @@ def do_test_with_pagesize(pagesize, cmd, bits=None, **env):
- if bits == None:
- bits = wordsizes
- for b in (set(bits) & wordsizes_by_pagesize[pagesize]):
-- run_test(pagesize, b, cmd, **env)
-+ if skip:
-+ skip_test(pagesize, b, cmd, **env)
-+ else:
-+ run_test(pagesize, b, cmd, **env)
-
- def do_elflink_test(cmd, **env):
- """
-@@ -533,7 +568,7 @@ def functional_tests():
- """
- Run the set of functional tests.
- """
-- global linkhuge_wordsizes
-+ global linkhuge_wordsizes, morecore_disabled
-
- # Kernel background tests not requiring hugepage support
- do_test("zero_filesize_segment")
-@@ -598,19 +633,24 @@ def functional_tests():
- do_test("fork-cow")
- do_test("direct")
- do_test_with_pagesize(system_default_hpage_size, "malloc")
-+
- do_test_with_pagesize(system_default_hpage_size, "malloc",
-+ skip=morecore_disabled,
- LD_PRELOAD="libhugetlbfs.so",
- HUGETLB_MORECORE="yes")
- do_test_with_pagesize(system_default_hpage_size, "malloc",
-+ skip=morecore_disabled,
- LD_PRELOAD="libhugetlbfs.so",
- HUGETLB_MORECORE="yes",
- HUGETLB_RESTRICT_EXE="unknown:none")
- do_test_with_pagesize(system_default_hpage_size, "malloc",
-+ skip=morecore_disabled,
- LD_PRELOAD="libhugetlbfs.so",
- HUGETLB_MORECORE="yes",
- HUGETLB_RESTRICT_EXE="unknown:malloc")
- do_test_with_pagesize(system_default_hpage_size, "malloc_manysmall")
- do_test_with_pagesize(system_default_hpage_size, "malloc_manysmall",
-+ skip=morecore_disabled,
- LD_PRELOAD="libhugetlbfs.so",
- HUGETLB_MORECORE="yes")
-
-@@ -630,26 +670,32 @@ def functional_tests():
- do_test_with_pagesize(system_default_hpage_size, "heapshrink",
- GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
- LD_PRELOAD="libheapshrink.so")
-+
- do_test_with_pagesize(system_default_hpage_size, "heapshrink",
-+ skip=morecore_disabled,
- GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
- LD_PRELOAD="libhugetlbfs.so",
- HUGETLB_MORECORE="yes")
- do_test_with_pagesize(system_default_hpage_size, "heapshrink",
-+ skip=morecore_disabled,
- GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
- LD_PRELOAD="libhugetlbfs.so libheapshrink.so",
- HUGETLB_MORECORE="yes")
- do_test_with_pagesize(system_default_hpage_size, "heapshrink",
-+ skip=morecore_disabled,
- GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
- LD_PRELOAD="libheapshrink.so",
- HUGETLB_MORECORE="yes",
- HUGETLB_MORECORE_SHRINK="yes")
- do_test_with_pagesize(system_default_hpage_size, "heapshrink",
-+ skip=morecore_disabled,
- GLIBC_TUNABLES="glibc.malloc.tcache_count=0",
- LD_PRELOAD="libhugetlbfs.so libheapshrink.so",
- HUGETLB_MORECORE="yes",
- HUGETLB_MORECORE_SHRINK="yes")
-
-- do_test("heap-overflow", HUGETLB_VERBOSE="1", HUGETLB_MORECORE="yes")
-+ do_test("heap-overflow", skip=morecore_disabled, HUGETLB_VERBOSE="1",
-+ HUGETLB_MORECORE="yes")
-
- # Run the remapping tests' up-front checks
- linkhuge_wordsizes = check_linkhuge_tests()
-@@ -747,7 +793,7 @@ def print_help():
-
- def main():
- global wordsizes, pagesizes, dangerous, paranoid_pool_check, system_default_hpage_size
-- global custom_ldscripts
-+ global custom_ldscripts, morecore_disabled
- testsets = set()
- env_override = {"QUIET_TEST": "1", "HUGETLBFS_MOUNTS": "",
- "HUGETLB_ELFMAP": None, "HUGETLB_MORECORE": None}
-@@ -802,6 +848,7 @@ def main():
- return 1
-
- check_hugetlbfs_path()
-+ check_morecore_disabled()
-
- if "func" in testsets: functional_tests()
- if "stress" in testsets: stress_tests()
diff --git a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-ino_t-fix.patch b/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-ino_t-fix.patch
deleted file mode 100644
index f408f9fd6ac0..000000000000
--- a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-ino_t-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-# Include dirent.h for ino_t
-# Fixes error: unknown typename 'ino_t'
-# Closes: https://bugs.gentoo.org/828830
---- a/tests/hugetests.h
-+++ b/tests/hugetests.h
-@@ -22,6 +22,7 @@
-
- #include <errno.h>
- #include <string.h>
-+#include <dirent.h>
- #include <unistd.h>
-
- #include "libhugetlbfs_privutils.h"
diff --git a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-nonnull-fix.patch b/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-nonnull-fix.patch
deleted file mode 100644
index 5e3532e50877..000000000000
--- a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-nonnull-fix.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-# Use __nonnull only on glibc system
-# Closes: https://bugs.gentoo.org/832980
---- a/shm.c
-+++ b/shm.c
-@@ -35,6 +35,12 @@
- #endif
-
- #ifdef HAVE_SHMGET_SYSCALL
-+
-+/* define __THROW to avoid build issue when it's not available from the libc */
-+#ifndef __THROW
-+#define __THROW
-+#endif
-+
- /*
- * The calls to dlsym() and dlerror() in the shmget() wrapper below force
- * a dependency on libdl.so. This does not work for static executables
-@@ -48,8 +54,13 @@
- * system shmget() may be performed without worry as there is no dynamic
- * call chain.
- */
-+#ifdef __GLIBC__
- extern void *dlsym (void *__restrict __handle, __const char *__restrict __name)
- __attribute__((weak)) __THROW __nonnull ((2));
-+#else
-+extern void *dlsym (void *__restrict __handle, __const char *__restrict __name)
-+ __attribute__((weak)) __THROW __attribute__((nonnull((2))));
-+#endif // __GLIBC__
- extern char *dlerror (void) __attribute__((weak)) __THROW;
-
-
diff --git a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-path-max-fix.patch b/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-path-max-fix.patch
deleted file mode 100644
index 883bb3e98fc7..000000000000
--- a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-path-max-fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-# Include limits.h for PATH_MAX
-# Closes: https://bugs.gentoo.org/828830
---- a/hugeadm.c
-+++ b/hugeadm.c
-@@ -33,6 +33,7 @@
- #include <grp.h>
- #include <pwd.h>
- #include <fcntl.h>
-+#include <limits.h>
-
- #include <sys/stat.h>
- #include <sys/types.h>
---- a/tests/gethugepagesizes.c
-+++ b/tests/gethugepagesizes.c
-@@ -27,6 +27,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
-+#include <limits.h>
- #include <stdarg.h>
- #include <hugetlbfs.h>
-
diff --git a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-sc-level2-fix.patch b/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-sc-level2-fix.patch
deleted file mode 100644
index c42e017abec1..000000000000
--- a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-musl-sc-level2-fix.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-# _SC_LEVEL2_CACHE_LINESIZE is most probably Glibc specific define. Hence we
-# cannot use it with other libc's. Check if _SC_LEVEL2_CACHE_LINESIZE is
-# available or use custom function to get CPU cache size
-# Original patch was found here [1]
-# [1]: https://cgit.openembedded.org/meta-openembedded/plain/meta-oe/recipes-benchmark/libhugetlbfs/files/0003-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch
-# Closes: https://bugs.gentoo.org/828830
---- a/alloc.c
-+++ b/alloc.c
-@@ -245,6 +245,24 @@ void free_huge_pages(void *ptr)
- __free_huge_pages(ptr, 1);
- }
-
-+/*
-+ * Avoid sysconf(_SC_LEVEL2_CACHE_LINESIZE) on linux
-+ * Taken from the folling patch [1]
-+ *
-+ * [1]: https://cgit.openembedded.org/meta-openembedded/plain/meta-oe/recipes-benchmark/libhugetlbfs/files/0003-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch
-+ */
-+#if !defined(_SC_LEVEL2_CACHE_LINESIZE)
-+static size_t get_cacheline_size() {
-+ FILE * fp = fopen("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", "r");
-+ unsigned int line_size = 0;
-+ if (fp) {
-+ fscanf(fp, "%d", &line_size);
-+ fclose(fp);
-+ }
-+ return line_size;
-+}
-+#endif
-+
- /*
- * Offset the buffer using bytes wasted due to alignment to avoid using the
- * same cache lines for the start of every buffer returned by
-@@ -261,7 +279,11 @@ void *cachecolor(void *buf, size_t len, size_t color_bytes)
-
- /* Lookup our cacheline size once */
- if (cacheline_size == 0) {
-+#if defined(_SC_LEVEL2_CACHE_LINESIZE)
- cacheline_size = sysconf(_SC_LEVEL2_CACHE_LINESIZE);
-+#else
-+ cacheline_size = get_cacheline_size();
-+#endif
- linemod = time(NULL);
- }
-
diff --git a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-uncompressed-man-pages.patch b/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-uncompressed-man-pages.patch
deleted file mode 100644
index c0ca6a398e70..000000000000
--- a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.23-uncompressed-man-pages.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -436,27 +436,19 @@ install-man:
- $(INSTALL) -d $(DESTDIR)$(MANDIR8)
- for x in $(INSTALL_MAN1); do \
- $(INSTALL) -m 444 man/$$x $(DESTDIR)$(MANDIR1); \
-- gzip -f $(DESTDIR)$(MANDIR1)/$$x; \
- done
- for x in $(INSTALL_MAN3); do \
- $(INSTALL) -m 444 man/$$x $(DESTDIR)$(MANDIR3); \
-- gzip -f $(DESTDIR)$(MANDIR3)/$$x; \
- done
-- rm -f $(DESTDIR)$(MANDIR3)/free_huge_pages.3.gz
-- rm -f $(DESTDIR)$(MANDIR3)/free_hugepage_region.3.gz
-- rm -f $(DESTDIR)$(MANDIR3)/hugetlbfs_unlinked_fd_for_size.3.gz
-- rm -f $(DESTDIR)$(MANDIR3)/hugetlbfs_find_path_for_size.3.gz
-- ln -s get_huge_pages.3.gz $(DESTDIR)$(MANDIR3)/free_huge_pages.3.gz
-- ln -s get_hugepage_region.3.gz $(DESTDIR)$(MANDIR3)/free_hugepage_region.3.gz
-- ln -s hugetlbfs_unlinked_fd.3.gz $(DESTDIR)$(MANDIR3)/hugetlbfs_unlinked_fd_for_size.3.gz
-- ln -s hugetlbfs_find_path.3.gz $(DESTDIR)$(MANDIR3)/hugetlbfs_find_path_for_size.3.gz
-+ ln -s get_huge_pages.3 $(DESTDIR)$(MANDIR3)/free_huge_pages.3
-+ ln -s get_hugepage_region.3 $(DESTDIR)$(MANDIR3)/free_hugepage_region.3
-+ ln -s hugetlbfs_unlinked_fd.3 $(DESTDIR)$(MANDIR3)/hugetlbfs_unlinked_fd_for_size.3
-+ ln -s hugetlbfs_find_path.3 $(DESTDIR)$(MANDIR3)/hugetlbfs_find_path_for_size.3
- for x in $(INSTALL_MAN7); do \
- $(INSTALL) -m 444 man/$$x $(DESTDIR)$(MANDIR7); \
-- gzip -f $(DESTDIR)$(MANDIR7)/$$x; \
- done
- for x in $(INSTALL_MAN8); do \
- $(INSTALL) -m 444 man/$$x $(DESTDIR)$(MANDIR8); \
-- gzip -f $(DESTDIR)$(MANDIR8)/$$x; \
- done
-
- install-bin:
diff --git a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.6-fixup-testsuite.patch b/sys-libs/libhugetlbfs/files/libhugetlbfs-2.6-fixup-testsuite.patch
deleted file mode 100644
index 12548a884a6f..000000000000
--- a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.6-fixup-testsuite.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -Nuar --exclude '*.S' --exclude Makefile libhugetlbfs-2.6.orig/tests/run_tests.py libhugetlbfs-2.6/tests/run_tests.py
---- libhugetlbfs-2.6.orig/tests/run_tests.py 2009-08-24 05:56:07.000000000 -0700
-+++ libhugetlbfs-2.6/tests/run_tests.py 2009-10-31 00:40:28.520387427 -0700
-@@ -56,6 +56,11 @@
- local_env["LD_LIBRARY_PATH"] = "../obj%d:obj%d:%s" \
- % (bits, bits, local_env.get("LD_LIBRARY_PATH", ""))
- local_env["HUGETLB_DEFAULT_PAGE_SIZE"] = repr(pagesize)
-+ if isinstance(cmd, types.StringType):
-+ cmd = 'obj%d/%s' % (bits, cmd)
-+ else:
-+ s = 'obj%d/%s' % (bits, cmd[0])
-+ cmd = (s,)+(cmd[1:])
-
- p = subprocess.Popen(cmd, env=local_env, stdout=subprocess.PIPE)
- try:
-@@ -523,10 +528,11 @@
- elfshare_test("linkshare")
- elflink_and_share_test("linkhuge")
-
-- # elflink_rw tests
-- elflink_rw_test("linkhuge_rw")
-- # elflink_rw sharing tests
-- elflink_rw_and_share_test("linkhuge_rw")
-+ if 32 in wordsizes:
-+ # elflink_rw tests
-+ elflink_rw_test("linkhuge_rw")
-+ # elflink_rw sharing tests
-+ elflink_rw_and_share_test("linkhuge_rw")
-
- # Accounting bug tests
- # reset free hpages because sharing will have held some
diff --git a/sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild b/sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild
deleted file mode 100644
index 09cf0eba54c1..000000000000
--- a/sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit toolchain-funcs python-any-r1
-
-DESCRIPTION="Easy hugepage access"
-HOMEPAGE="https://github.com/libhugetlbfs/libhugetlbfs"
-SRC_URI="https://github.com/libhugetlbfs/libhugetlbfs/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? ( ${PYTHON_DEPS} )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.6-fixup-testsuite.patch
- "${FILESDIR}"/${PN}-2.23-uncompressed-man-pages.patch
- "${FILESDIR}"/${PN}-2.23-allow-building-against-glibc-2.34.patch
- "${FILESDIR}"/${PN}-2.23-musl-sc-level2-fix.patch
- "${FILESDIR}"/${PN}-2.23-musl-path-max-fix.patch
- "${FILESDIR}"/${PN}-2.23-musl-nonnull-fix.patch
- "${FILESDIR}"/${PN}-2.23-musl-ino_t-fix.patch
-)
-
-src_prepare() {
- default
-
- sed -i \
- -e '/^PREFIX/s:/local::' \
- -e '1iBUILDTYPE = NATIVEONLY' \
- -e '1iV = 1' \
- -e '/gzip.*MANDIR/d' \
- -e "/^LIB\(32\)/s:=.*:= $(get_libdir):" \
- -e '/^CC\(32\|64\)/s:=.*:= $(CC):' \
- -e 's@^\(ARCH\) ?=@\1 =@' \
- Makefile || die "sed failed"
-
- if [[ "$(get_libdir)" == "lib64" ]]; then
- sed -i \
- -e "/^LIB\(32\)/s:=.*:= lib32:" \
- Makefile
- fi
-
- # Tarballs from github don't have the version set.
- # https://github.com/libhugetlbfs/libhugetlbfs/issues/7
- [[ -f version ]] || echo "${PV}" > version
-}
-
-src_test_alloc_one() {
- hugeadm="${1}"
- sign="${2}"
- pagesize="${3}"
- pagecount="${4}"
-
- ${hugeadm} \
- --pool-pages-max ${pagesize}:${sign}${pagecount} \
- && \
- ${hugeadm} \
- --pool-pages-min ${pagesize}:${sign}${pagecount}
- return $?
-}
-
-# die is NOT allowed in this src_test block after the marked point, so that we
-# can clean up memory allocation. You'll leak at LEAST 64MiB per run otherwise.
-src_test() {
- [[ ${UID} -eq 0 ]] || die "Need FEATURES=-userpriv to run this testsuite"
- einfo "Building testsuite"
- emake -j1 tests
-
- local hugeadm='obj/hugeadm'
- local allocated=''
- local rc=0
- # the testcases need 64MiB per pagesize.
- local MIN_HUGEPAGE_RAM=$((64*1024*1024))
-
- einfo "Planning allocation"
- local PAGESIZES="$(${hugeadm} --page-sizes-all)"
-
- # Need to do this before we can create the mountpoints.
- local pagesize pagecount
- for pagesize in ${PAGESIZES} ; do
- # The kernel depends on the location :-(
- mkdir -p /var/lib/hugetlbfs/pagesize-${pagesize}
- addwrite /var/lib/hugetlbfs/pagesize-${pagesize}
- done
-
- addwrite /proc/sys/vm/
- addwrite /proc/sys/kernel/shmall
- addwrite /proc/sys/kernel/shmmax
- addwrite /proc/sys/kernel/shmmni
-
- einfo "Checking HugeTLB mountpoints"
- ${hugeadm} --create-mounts || die "Failed to set up hugetlb mountpoints."
-
- # -----------------------------------------------------
- # --------- die is unsafe after this point. -----------
- # -----------------------------------------------------
-
- einfo "Starting allocation"
- for pagesize in ${PAGESIZES} ; do
- pagecount=$((${MIN_HUGEPAGE_RAM}/${pagesize}))
- einfo " ${pagecount} @ ${pagesize}"
-
- addwrite /var/lib/hugetlbfs/pagesize-${pagesize}
- src_test_alloc_one "${hugeadm}" "+" "${pagesize}" "${pagecount}"
-
- rc=$?
- if [[ ${rc} -eq 0 ]]; then
- allocated="${allocated} ${pagesize}:${pagecount}"
- else
- eerror "Failed to add ${pagecount} pages of size ${pagesize}"
- fi
- done
-
- einfo "Allocation status"
- ${hugeadm} --pool-list
-
- if [[ -n "${allocated}" ]]; then
- # All our allocations worked, so time to run.
- einfo "Starting tests"
-
- cd "${S}"/tests || die
- local TESTOPTS="-t func"
- case ${ARCH} in
- amd64|ppc64)
- TESTOPTS="${TESTOPTS} -b 64"
- ;;
- x86)
- TESTOPTS="${TESTOPTS} -b 32"
- ;;
- esac
-
- # This needs a bit of work to give a nice exit code still.
- ./run_tests.py ${TESTOPTS}
- rc=$?
- else
- eerror "Failed to make HugeTLB allocations."
- rc=1
- fi
-
- einfo "Cleaning up memory"
- cd "${S}" || die
- # Cleanup memory allocation
- for alloc in ${allocated} ; do
- pagesize="${alloc/:*}"
- pagecount="${alloc/*:}"
-
- einfo " ${pagecount} @ ${pagesize}"
- src_test_alloc_one "${hugeadm}" "-" "${pagesize}" "${pagecount}"
- done
-
- # ---------------------------------------------------------
- # --------- die is safe again after this point. -----------
- # ---------------------------------------------------------
-
- return ${rc}
-}
-
-src_compile() {
- tc-export AR
- emake CC="$(tc-getCC)" libs tools
-}
-
-src_install() {
- default
-
- use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a
-}
diff --git a/sys-libs/libhugetlbfs/metadata.xml b/sys-libs/libhugetlbfs/metadata.xml
deleted file mode 100644
index 4256595eca45..000000000000
--- a/sys-libs/libhugetlbfs/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
-</maintainer>
-<upstream>
- <remote-id type="github">libhugetlbfs/libhugetlbfs</remote-id>
- <remote-id type="sourceforge">libhugetlbfs</remote-id>
-</upstream>
-</pkgmetadata>
diff --git a/sys-libs/libseccomp/Manifest b/sys-libs/libseccomp/Manifest
index aee6178daae6..2f24d03c95bc 100644
--- a/sys-libs/libseccomp/Manifest
+++ b/sys-libs/libseccomp/Manifest
@@ -1,10 +1,11 @@
AUX libseccomp-2.5.3-skip-valgrind.patch 516 BLAKE2B d5dc87fcca8e20b7edd427c434d875c9c3c7aa130a651dbe06c2c648825312e330400f89177afcfe4985fa48e0f95de9937773deb6d3d83da9b2351e6e0488fc SHA512 96053f8ca6abc97ea7c5565c3c25563881e8c0363e9c38fa05836d59b5d9ea1a375f9e072bd5f89a67ddac159c1219be7ed829facd651b3fb8bd5071c89bddcb
+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
AUX libseccomp-python-shared.patch 759 BLAKE2B e2c42e18ca93fe5fddbc3a5b47ac0e6a29e566292fd62b87e6b45f6cb230570a2d1907a8b192e80b32c1900d069a4f10a866fa50bd9b88f5b78abff4206bd4cb SHA512 74548c7969869ff8f937a75eac720f1c654fad87dc17aed1c041bcb765586b4ee978a3ff7c6281be03277f6c74f2ec32624f91beb55afec3066a06a9e51483e2
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 2977 BLAKE2B 465ada875d125a0772c4a24ea0f31b74cf7c8b48846379b0f8371e9a117836f41831fd1a8351325341fab0bd75a905bf90c46a7a6b231678134bf24b7ab5e8de SHA512 cd187a505f7b179b5a4f692ea2476d5432f046021f8d31f403e61e1a339f49a15f42b36e4d5447ca0eafc8fe3718b92e020b05d93ec354c42dcecfddda7542c6
+EBUILD libseccomp-2.5.5-r1.ebuild 3028 BLAKE2B d3bee995e94088d7bb3193d57a46af968c7e5216aff493423b220504c839f06b3fd91e080e31edbc80b55f378151c69cef0466df78422bd3e179e5ec98a4fd48 SHA512 8f0c4c3c85529772b81d73a519bc377a02da569059026b5929453eab8721540515eea5f415015eb1019f8f5c85574342f89bc76fe8a59e1f37068acd74b3bfb1
EBUILD libseccomp-2.5.5.ebuild 2933 BLAKE2B d2b8b53e01877d343de0b6838b2bf4b3addeec676fbd89fae289788da03fb4b9b7af89e193e17621361bb39e33f77f80393a7807887010016dc7d49120653b1d SHA512 9f911a3647dac012b5cad4c919ba1a286fbc9348320810f7b772125da4250c4d26ae5cb870caf96a45930f3f040296f375b31818e69c0ccee826b497208d7d86
-EBUILD libseccomp-9999.ebuild 2433 BLAKE2B a56e8a279a27b607acfbc6a7a718a5f8968841bb9b7251813ba7af259be9ccffdadbfd40459a883b1add4114c497692390f7d65da60d8f4b676826203c8ec6ef SHA512 3d553759cbcfb2e99e2fbbcb6140b80ba9b64c7f9e6dfe738ba2d5371526a4e5ad4b3b0049496af9538867df4975d74a1d8b2c08657b141a46e8197e0369f89c
+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-arch-syscall-check.patch b/sys-libs/libseccomp/files/libseccomp-2.5.5-arch-syscall-check.patch
new file mode 100644
index 000000000000..238098ad4c9e
--- /dev/null
+++ b/sys-libs/libseccomp/files/libseccomp-2.5.5-arch-syscall-check.patch
@@ -0,0 +1,45 @@
+From 744c9a897b74ad66d065791593e25a05e4b6f6a1 Mon Sep 17 00:00:00 2001
+From: Michal Privoznik <mprivozn@redhat.com>
+Date: Tue, 1 Nov 2022 11:59:51 +0100
+Subject: [PATCH] src: Make arch-syscall-check work in VPATH build
+
+The aim of arch-syscall-check test is to check for syscalls
+missing implementation. It does so by comparing two files:
+
+ 1) src/syscalls.csv
+ 2) include/seccomp-syscalls.h
+
+However, due to use of relative paths these files are not found
+when doing a VPATH build. But, we can re-use an idea from GNU
+coreutils and get an absolute path to the source dir. All that's
+needed then is to prefix those two paths with the source dir
+path.
+
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+Acked-by: Tom Hromatka <tom.hromatka@oracle.com>
+Signed-off-by: Paul Moore <paul@paul-moore.com>
+---
+ src/arch-syscall-check | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/arch-syscall-check b/src/arch-syscall-check
+index ae67daa..9c7fd41 100755
+--- a/src/arch-syscall-check
++++ b/src/arch-syscall-check
+@@ -22,8 +22,11 @@
+ # along with this library; if not, see <http://www.gnu.org/licenses>.
+ #
+
+-SYSCALL_CSV="./syscalls.csv"
+-SYSCALL_HDR="../include/seccomp-syscalls.h"
++# Based on an idea from GNU coreutils
++abs_topsrcdir="$(unset CDPATH; cd $(dirname $0)/.. && pwd)"
++
++SYSCALL_CSV="$abs_topsrcdir/src/syscalls.csv"
++SYSCALL_HDR="$abs_topsrcdir/include/seccomp-syscalls.h"
+
+ function check_snr() {
+ (export LC_ALL=C; diff \
+--
+2.44.0
+
diff --git a/sys-libs/libseccomp/libseccomp-2.5.5-r1.ebuild b/sys-libs/libseccomp/libseccomp-2.5.5-r1.ebuild
index db6a08dfb2a6..347a6274d5f7 100644
--- a/sys-libs/libseccomp/libseccomp-2.5.5-r1.ebuild
+++ b/sys-libs/libseccomp/libseccomp-2.5.5-r1.ebuild
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 multilib-minimal
@@ -20,7 +20,7 @@ if [[ ${PV} == *9999 ]] ; then
else
SRC_URI="https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz
experimental-loong? ( https://dev.gentoo.org/~xen0n/distfiles/${PN}-2.5.5-loongarch64-20231204.patch.xz )"
- KEYWORDS="-* ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="-* amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux"
fi
LICENSE="LGPL-2.1"
@@ -49,6 +49,7 @@ 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
)
src_prepare() {
diff --git a/sys-libs/libseccomp/libseccomp-9999.ebuild b/sys-libs/libseccomp/libseccomp-9999.ebuild
index 45cf592639a0..ac4df4483838 100644
--- a/sys-libs/libseccomp/libseccomp-9999.ebuild
+++ b/sys-libs/libseccomp/libseccomp-9999.ebuild
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 multilib-minimal
diff --git a/sys-libs/libxcrypt/Manifest b/sys-libs/libxcrypt/Manifest
index 0ffffc5542f9..063b44d3dcd3 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 9083 BLAKE2B 75bae6bbaa6d87d2a7dde7c237e6e9d931adab44591a54d35e13f95993077d0cb16391fc85835ee67ffd6c30f88e052e24d4b5ecf6ea2833d56e0a1990401162 SHA512 a5fd4cdf5a9adc31e145109532181a659e4ddedbea7e7e3f74a47cb9afbcdbbcc1940f339cec2318fe7f34531b32d80f884e8e7db1b638dafede1493a987708c
-EBUILD libxcrypt-4.4.36-r3.ebuild 6520 BLAKE2B 6db30204a2815cf03a154bd542cc4039036c2613843f49dcab6aeae125a486d0aec9b2a250c8719bef368b92e13c96897716314d30efcf6892c23a0d7598775c SHA512 f538e1a5138c3e19be822a9040ac32b210dd3b7325fa170bf85d91ffe764db9a3a260317ab5f0fd9b5ff310c26ce0e1a4de302423b04637e2a0e5adc4e21d2ce
+EBUILD libxcrypt-4.4.36-r3.ebuild 6524 BLAKE2B 44dfbae851fb773df69d016c681c655f252231cd0cdb2138416c3761b1df8657268c589fc288ab49c768763b98de0edf52108c65c1a95bcb43b8e25658e0098e SHA512 b2a70f4647defb0a7b8eab90d28c1a8d6d17353a8b78bc4fbde8ccecde0c98d61bf2bd0bf44a380adc47e2e502c92e8051d26c30dbba068e77439d7d85801ded
EBUILD libxcrypt-4.4.36.ebuild 9276 BLAKE2B 98a592ac762240cae507fc801b23df1172552d07a1583ef42d83efe00d1008f2fdc28cc71d73d527cb94d59ccd9db64062077789dece2428518b887bc72ba8a0 SHA512 8b4bf70219e81777d4ba975f0d06f33f9fda18211816e93f0b04363663a06fc2fad9cf1f02c012ca877935f45f6ea9af3afa026c56c12e7f5a97699097b975c3
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 3faec08e8e41..550e7631a094 100644
--- a/sys-libs/libxcrypt/libxcrypt-4.4.36-r3.ebuild
+++ b/sys-libs/libxcrypt/libxcrypt-4.4.36-r3.ebuild
@@ -3,11 +3,11 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
# NEED_BOOTSTRAP is for developers to quickly generate a tarball
# for publishing to the tree.
NEED_BOOTSTRAP="no"
-inherit crossdev multilib python-any-r1 flag-o-matic toolchain-funcs multilib-minimal
+inherit crossdev multibuild multilib python-any-r1 flag-o-matic toolchain-funcs multilib-minimal
DESCRIPTION="Extended crypt library for descrypt, md5crypt, bcrypt, and others"
HOMEPAGE="https://github.com/besser82/libxcrypt"
@@ -20,7 +20,7 @@ fi
LICENSE="LGPL-2.1+ public-domain BSD BSD-2"
SLOT="0/1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+compat static-libs +system test headers-only"
RESTRICT="!test? ( test )"
diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest
index acf491b05974..38df71800404 100644
--- a/sys-libs/ncurses/Manifest
+++ b/sys-libs/ncurses/Manifest
@@ -132,12 +132,18 @@ DIST ncurses-6.4-20240323.patch.gz 143301 BLAKE2B f51c229985025950ebe0b35e1e9cb1
DIST ncurses-6.4-20240323.patch.gz.asc 729 BLAKE2B 380eaa8b0f3faa3e2ff21a3847c6f2ba59019adec68391134bb68bdecfd13cb56589ad4ec062dd391ae3d7bd96a306d85e78ef0827300de594723d188272e7c4 SHA512 380675d04ad1db69a039001b109bea6e7ef3f9fa0059ebe8b17ad12d0b59b20dd18b90abedb63f95db2ed6ad770de77aacc85c24d70bb883b1851c72c5dada88
DIST ncurses-6.4-20240330.patch.gz 63526 BLAKE2B 593823a358017e5f98e897ebd6e1a2f945b0329c51a76b0ea65458751d2486dc51a71c1d0fdfbc1741167c47ed0b8aedc52b1a923c4788f23293d7e7729885c7 SHA512 666c8f7a37bc2b93b9b0ff76f2a5fe412f1d5c0c9260b64a26665e7c3ba74a9f05ae3883a512425d901ab943948509792759297ea85b9642cd02b7b64455326e
DIST ncurses-6.4-20240330.patch.gz.asc 729 BLAKE2B 159c110254d81b1c83d7cdb3250fce7ac12d1b4773e6c1a4a347bc7a5d96893504b1a7066d6a8997c3db467ba7d3705e043714000142fd2ebac6e9a008a62ae8 SHA512 1a0dcc56e79da6e0d615bd0a6571869e42aa6e31233e6cb01fe85c8816c82858c23e93a47650e1a4fd8cee2461e4900f7b78a4f9aa3149a0aec6cda704f9c163
+DIST ncurses-6.4-20240413.patch.gz 113122 BLAKE2B d8e5d011a8ab61dd30624c51d7917ecc66f388c8b0edcba25f35179031a16b5a41379d8c5f2c40a2b6af5e485b25ca8a3cb1c97301450b00c14e2640187f0054 SHA512 45c14df0fc4229667ae173cd4eb37fad2a3dbcb8906763a4d472fad7b563dbe72dbc0bc12e6070e6e7f2e64fc2f3a254bffe5d1e904dce9f5636fccdd2761750
+DIST ncurses-6.4-20240413.patch.gz.asc 729 BLAKE2B 3786f815cddf3f6ebbf89da47e3151c01d50f26c2fa713cb982c61b7190ca25a807b6f7264688a296d5d252c78f4737372f2c6f26d7713bc448c5228676e922f SHA512 c172fe7f308a01474d04b06919b43710abcdb9fe3961396cbc7731f619093ed18bc7deb9bb62075e3bd0bb88d345059c9bf485a4f9ef614dc1109d4549c95a34
+DIST ncurses-6.4-20240414.patch.gz 3007 BLAKE2B a4db0635df3b2669ae1ba0057c21f717db2512aa51545ea5157dbaf33c3db334cf8315ecd60a4c8a6406e6e7ba417e23f00f575af72c56b18046e3c4a34dab87 SHA512 348ffdbeb2b7350493957562a0af1a217590dd35cd9f8f27ff46adfb969018224e170b63581f5b3ad268293441db59878898bd23d1d1a4add77fc681344df526
+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_p20230527-patches.tar.xz 63080 BLAKE2B 9db4ac28c8936d3a9c6f3ca5cb8a4c92aa79ee4ce49789bcfc9c031a0454bf6f55a0544bc4a3dbb5c243ed9b2d0792afb98622a6a14b11675b7988100a650eb5 SHA512 3eacda173e8a177cd201ca3fef65311ac92e7e5af4039dc8a5792beae7db1d37efd06f5a55c249eebb771d1245995ff3a206a45794936b6b4299151666dbeade
DIST ncurses-6.4_p20240330-patches.tar.xz 63796 BLAKE2B 3e6618ba0b37268d10a16cf26c2810e55c17ded97079af3753e34f2d12575f979a2e55cfd308abf783e35e39d4a848b89f435b4886d3633007ccb522b8dc2e51 SHA512 1bbf1978f9287f68bf6a8596f06d4d0523564bf3d2f6b3bd9746081a2fa0c76e36862beca62a4157d51cac0df61e456ddb6cacfae10b92344fe80cd752f72c38
+DIST ncurses-6.4_p20240413-patches.tar.xz 63760 BLAKE2B 6a91d453cca3705ca54b3a6f2ef00250d655168c1697726db4b581a1597cbc143479b8794e176d5e4154c794f99ea33c3fe1eb26605789930fc82649a2da3c93 SHA512 59239503a9400e054641428528799aa9c13b12669b31f32b2ff18cb60882698801e04dcdf75ece8357c7a4c3b899a729aa973090ec12a20de72cb80a916878b8
EBUILD ncurses-6.4_p20230401.ebuild 13386 BLAKE2B 1e8285544f4eeb665a79988329e82fca9ad7ff1488ae8637294b5ecdc4b8aea3d5a4043d792bd05ef41d2111ae3c73d0d09a14b2fb606c9060ff267c0658e514 SHA512 f22355b4a8d30d403ddb1140c65c05d5ad5854791da6bf55309ba7c90f28f14cdf324b1e81e23bb9f4f607af8fea9d65b9ff8c909cba81ed04cffb53d257d347
EBUILD ncurses-6.4_p20230527.ebuild 13534 BLAKE2B 6f66941cfa56e0033c3fb8b51805a9fe1f2a7d7ae94b640a6e69093ebdcb0c3c79cbde4bf56205bdb1f26a8601ed7d2c31b9cdf6c132779f39ab99e52c9b1a4e SHA512 ed972ae8c20b0d723bc957ee7bd71529b3b9ae8d2a796d9f600939ccde5e1c640cd08c259ffc17cd03e2316d72a1e6cab5c5e5727b571a0a8cf127a0a5b46602
EBUILD ncurses-6.4_p20240330.ebuild 14061 BLAKE2B 15a772cb1354bac6500cbed1617adec51be0b3479a37d855c72c2e2b6946335f6b865ae65ec0044a5c13e3ac9f62eaed2968bb96db8b89559c0297831fe5b8e9 SHA512 37b5382b95a6ae9985a812d7e9ad0b2816b95ffdb248441955ab1fb2c67b1a0d9077beb71b9ce17befda6a43b75560f5ece027d9f85fac42270fc2da30a3257c
+EBUILD ncurses-6.4_p20240414.ebuild 14247 BLAKE2B a9a35523584e251e8853d553b9fb76e9089838977906c71182d94dc8214a91cc8be26b34f4340de74913d061e85a836bc454ab9bc6ae653f8f76e0d372463d99 SHA512 3e171e6851a9eeaa44dcc9ecfd05603fde3ca3b32875717fe89f03b9ddcdced568f959a6de9b5a30dddb531918e487dfac86444c34fa9f88aa43b85278a4ca6c
MISC metadata.xml 1094 BLAKE2B a65bbb9584f77fb07fff735e6471ef48a5d63e7fa79112bf75df67f2f94e816706165fdd42a482708a7fd2ab3b3e308f9766eac0b39c3a4e31dcff5b3db25d57 SHA512 adf0f939a1e14c964bfb44ab80b1b8c1ee897a036a994848ba3e40280ab3a73ddb3beef540c905efd623e71b890c4c91e0b7c24651561d0e2bb2a4c86f039dba
diff --git a/sys-libs/ncurses/ncurses-6.4_p20240414.ebuild b/sys-libs/ncurses/ncurses-6.4_p20240414.ebuild
new file mode 100644
index 000000000000..3d26b093679b
--- /dev/null
+++ b/sys-libs/ncurses/ncurses-6.4_p20240414.ebuild
@@ -0,0 +1,488 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# sys-libs/ncurses-compat can be bumped with sys-libs/ncurses as upstream
+# provide a configure option for the ABI version.
+
+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_p20240413
+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
+ 20230401
+ 20230408
+ 20230415
+ 20230418
+ 20230423
+ 20230424
+ 20230429
+ 20230506
+ 20230514
+ 20230520
+ 20230527
+ 20230603
+ 20230610
+ 20230615
+ 20230617
+ 20230624
+ 20230625
+ 20230701
+ 20230708
+ 20230715
+ 20230722
+ 20230729
+ 20230805
+ 20230812
+ 20230819
+ 20230826
+ 20230902
+ 20230909
+ 20230917
+ 20230918
+ 20230923
+ 20231001
+ 20231007
+ 20231014
+ 20231016
+ 20231021
+ 20231028
+ 20231104
+ 20231111
+ 20231118
+ 20231121
+ 20231125
+ 20231202
+ 20231209
+ 20231217
+ 20231223
+ 20231230
+ 20240106
+ 20240113
+ 20240120
+ 20240127
+ 20240203
+ 20240210
+ 20240217
+ 20240224
+ 20240302
+ 20240309
+ 20240323
+ 20240330
+ 20240413
+
+ # 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"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+# The subslot reflects the SONAME.
+SLOT="0/6"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+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 )"
+
+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)
+ --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}
+
+ # XXX: Revisit on next ABI break (>6) (bug #928873)
+ --disable-opaque-curses
+ --disable-opaque-form
+ --disable-opaque-menu
+ --disable-opaque-panel
+ )
+ 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
+}