From 005a5b259b876973202153b9c5c5e77bea56df6c Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 30 Aug 2022 10:48:18 +0100 Subject: gentoo auto-resync : 30:08:2022 - 10:48:18 --- dev-libs/Manifest.gz | Bin 95418 -> 95428 bytes dev-libs/jemalloc/Manifest | 4 +- .../files/jemalloc-5.3.0-backport-pr-2312.patch | 160 +++++++++++++++++++++ dev-libs/jemalloc/jemalloc-5.3.0-r1.ebuild | 56 ++++++++ dev-libs/jemalloc/jemalloc-5.3.0.ebuild | 2 +- dev-libs/json-parser/Manifest | 2 +- .../json-parser/json-parser-1.1.0_p20211208.ebuild | 2 +- 7 files changed, 222 insertions(+), 4 deletions(-) create mode 100644 dev-libs/jemalloc/files/jemalloc-5.3.0-backport-pr-2312.patch create mode 100644 dev-libs/jemalloc/jemalloc-5.3.0-r1.ebuild (limited to 'dev-libs') diff --git a/dev-libs/Manifest.gz b/dev-libs/Manifest.gz index f8cc75915826..156b52cb6463 100644 Binary files a/dev-libs/Manifest.gz and b/dev-libs/Manifest.gz differ diff --git a/dev-libs/jemalloc/Manifest b/dev-libs/jemalloc/Manifest index 94faada60ec7..e76150ae100c 100644 --- a/dev-libs/jemalloc/Manifest +++ b/dev-libs/jemalloc/Manifest @@ -1,7 +1,9 @@ AUX jemalloc-5.2.0-gentoo-fixups.patch 1443 BLAKE2B 433f445195f13ad3932d3b0c86a4b3ab2adfe99711584c96d8377fddf31730d9a0a116b345dbb9f46e487df9d11b222625dd72238b828452be1fb3ab838c347f SHA512 6fe7419d4cbf68e4725e9a10b8f42af126be924b011aab09a6872b0bd59effec3c641f9df4c2ba9935fb1b7bbfb62c3f272bc63a5264fdc105351427fd739958 +AUX jemalloc-5.3.0-backport-pr-2312.patch 4648 BLAKE2B 5d84d64e38bdc86f3b1f07ce5c7aa8d03d1ae88a646585c331d4a921ae1bed2c2dd6f193114e0506e6806b879238148ef9eba3fd35c98dedd72cbfe307c26c41 SHA512 f890b8f696a7c299f257373d14aab2f918b665d858a5ed5656ed3e6db9e43fe3677a1b5b86610493f1eb222c5cdefeb791ee5de6c9db40681589b2260b62f83c AUX jemalloc-5.3.0-gentoo-fixups.patch 1233 BLAKE2B 4654d1ecc2846281530b922e942dd68dcf4a4859ad087db4c5e163fd903c941b877fc2ad7e7a39b041e19ab74dc3af677132eb294394763f18f41dc9b126006f SHA512 4d1d4c22085cee554a5eaff0415c2401e528c1a496c4e06f9cc04fb8574ae19e9a271ea60cc368c3e0af65b26e72c86668a00fc38049281ac1bd79148551c142 DIST jemalloc-5.2.1.tar.bz2 554279 BLAKE2B 52cb8cd5e5807a750a7e5e9ee005afd61144d821d7f7029a5eca998fd61787a7271338dee3de586ddf93f5fdbddc2c2ca03ba64375a70096f273a6aa173da431 SHA512 0bbb77564d767cef0c6fe1b97b705d368ddb360d55596945aea8c3ba5889fbce10479d85ad492c91d987caacdbbdccc706aa3688e321460069f00c05814fae02 DIST jemalloc-5.3.0.tar.bz2 736023 BLAKE2B 9ff51616c3fb086d7cc021c59b83e5f0304d886993f4b5194a6956ffaf742cc509d08a2cf81ead6966c39a44f35621b57550f4a5c726c4508fd2c86c7c056ab0 SHA512 22907bb052096e2caffb6e4e23548aecc5cc9283dce476896a2b1127eee64170e3562fa2e7db9571298814a7a2c7df6e8d1fbe152bd3f3b0c1abec22a2de34b1 EBUILD jemalloc-5.2.1-r1.ebuild 1418 BLAKE2B efc1ecdbf966fe0f3fc69f065f51c66946b59b68e59197079d9a1fc2f88da1f736015f9910a5923b0f1f2b476578f2b21d5edfea61337c76ce689326338ebe26 SHA512 745d3534239ac337bef2b6cfb38dbf5cf9b648781bfad50e9e8e3fa037313183c7a5b447e72221db152315e0372ec03edb23b102a368f818b30adbb1d50657d6 -EBUILD jemalloc-5.3.0.ebuild 1509 BLAKE2B efde538a9372f7dd4a8d7da8019892cd03f9e9c2355b6216be9c9e639364e967b4d762b246050b4147514a976bb036fdd1807438cedf8c78dd47ba5b535d181d SHA512 7a94711a79b3aacb903ae5e5fdd570a4e4747d3557d789e745cec257c5f64048ed2baf4b67a501e2567141b43f159765315f16b19ae6c94a9a1ef69b635f0321 +EBUILD jemalloc-5.3.0-r1.ebuild 1573 BLAKE2B 0345ea1eef9a77168a3881b665438d4f813e9a82ef4da6df27b62dcdd2d518c267e9135ef73e4af1a142316d2a321ad63c049514d7e0e78c654d216b8513cb69 SHA512 c2a9bffe5aff406db9cceeed2ae46670ddfd7e2ab4057a9f17795d7ff93db629c604a694e1f031c4ce6e0b7ff85c3c394c4ef2b89d2a4f78a178d5979c0dca87 +EBUILD jemalloc-5.3.0.ebuild 1515 BLAKE2B c4f8a3f919d246a44f861c10c62b16a02d3b70cb4dcb7a22a95ae17a71f077f11a1a49864ee518bcaf8275b1e952692349e220528728e84748b8ccd78586b6d8 SHA512 79d35937513eeb4638c78e6dfb439fadd123bb1470f16ce78f668722a4cc2bf844ee5544cd0988e2cf94753caf59fbeb80ecb73e5350e0acad4e923ced30a8ca MISC metadata.xml 638 BLAKE2B 5d10d2e2db2f0557f2a0176e8e4ad244aa6b9209519c4b21c68696561b6a2a558f206bbd7de37d1f021231b8c84ec08a6796f0af5e5b32c2ec8c047ee50e8fab SHA512 31f22b88e6fa5252504cba421a730f13a18c213dec487a764c2c05555d45539ee58a0ddfe2212f535bc276934101125a3940c9b4934c7f924e89f85ebe75672c diff --git a/dev-libs/jemalloc/files/jemalloc-5.3.0-backport-pr-2312.patch b/dev-libs/jemalloc/files/jemalloc-5.3.0-backport-pr-2312.patch new file mode 100644 index 000000000000..8867eeb3b2c1 --- /dev/null +++ b/dev-libs/jemalloc/files/jemalloc-5.3.0-backport-pr-2312.patch @@ -0,0 +1,160 @@ +This backports https://github.com/jemalloc/jemalloc/pull/2312, which +I opened after discussion with upstream in +https://github.com/jemalloc/jemalloc/issues/2305, where they explicitly +clarify that the HPA feature is not tested, not supported, and not +intended for use on non-x86 platforms. + +From: matoro +Date: Wed, 27 Jul 2022 11:13:35 -0400 +Subject: [PATCH] Support HPA only on x86 + +This can be overridden with -DHPA_SUPPORTED. + +Unfortunately has to be implemented using preprocessor macros, can't use +test_skip_if because the test name string is already corrupted by that +time. See https://github.com/jemalloc/jemalloc/issues/2305 +--- + include/jemalloc/internal/hpa.h | 27 +++++++++++++++++++++++++++ + src/hpa.c | 7 +------ + test/include/test/test.h | 9 +++++++++ + test/unit/psset.c | 14 ++++++++++++++ + 4 files changed, 51 insertions(+), 6 deletions(-) + +diff --git a/include/jemalloc/internal/hpa.h b/include/jemalloc/internal/hpa.h +index f3562853e..3d389a644 100644 +--- a/include/jemalloc/internal/hpa.h ++++ b/include/jemalloc/internal/hpa.h +@@ -7,6 +7,33 @@ + #include "jemalloc/internal/pai.h" + #include "jemalloc/internal/psset.h" + ++/* ++ * The HPA_SUPPORTED macro is not a technical indicator of whether HPA ++ * theoretically functions on the platform, but rather whether the platform is ++ * tested/supported for using HPA on by the jemalloc developers. ++ */ ++#ifdef HPA_SUPPORTED ++#warning "Force-enabling HPA support. Do NOT report issues to jemalloc developers." ++#else ++#define HPA_SUPPORTED 1 ++ ++/* ++ * At least until the API and implementation is somewhat settled, we ++ * don't want to try to debug the VM subsystem on the hardest-to-test ++ * platform. ++ */ ++#ifdef _WIN32 ++#undef HPA_SUPPORTED ++#endif ++ ++/* ++ * https://github.com/jemalloc/jemalloc/issues/2305#issuecomment-1195917164 ++ */ ++#if !defined(__x86_64__) && !defined(__i386__) ++#undef HPA_SUPPORTED ++#endif ++#endif ++ + typedef struct hpa_central_s hpa_central_t; + struct hpa_central_s { + /* +diff --git a/src/hpa.c b/src/hpa.c +index 7e2aeba0c..0a9946b9e 100644 +--- a/src/hpa.c ++++ b/src/hpa.c +@@ -25,12 +25,7 @@ static uint64_t hpa_time_until_deferred_work(tsdn_t *tsdn, pai_t *self); + + bool + hpa_supported() { +-#ifdef _WIN32 +- /* +- * At least until the API and implementation is somewhat settled, we +- * don't want to try to debug the VM subsystem on the hardest-to-test +- * platform. +- */ ++#ifndef HPA_SUPPORTED + return false; + #endif + if (!pages_can_hugify) { +diff --git a/test/include/test/test.h b/test/include/test/test.h +index d4b65912d..7fa56f7be 100644 +--- a/test/include/test/test.h ++++ b/test/include/test/test.h +@@ -546,6 +546,15 @@ static void \ + f(void) { \ + p_test_init(#f); + ++#define TEST_SKIP(f) \ ++static void \ ++f(void) { \ ++ p_test_init(#f); \ ++ test_skip("%s:%s:%d: Test skipped: ", \ ++ __func__, __FILE__, __LINE__); \ ++ p_test_fini(); \ ++} ++ + #define TEST_END \ + goto label_test_end; \ + label_test_end: \ +diff --git a/test/unit/psset.c b/test/unit/psset.c +index 6ff720129..af764d3a3 100644 +--- a/test/unit/psset.c ++++ b/test/unit/psset.c +@@ -276,6 +276,7 @@ TEST_BEGIN(test_evict) { + } + TEST_END + ++#ifdef HPA_SUPPORTED + TEST_BEGIN(test_multi_pageslab) { + bool err; + hpdata_t *ps; +@@ -338,6 +339,9 @@ TEST_BEGIN(test_multi_pageslab) { + expect_false(err, "Allocation should have succeeded"); + } + TEST_END ++#else ++TEST_SKIP(test_multi_pageslab) ++#endif + + static void + stats_expect_empty(psset_bin_stats_t *stats) { +@@ -427,6 +431,7 @@ TEST_END + * (There's nothing magic about these numbers; it's just useful to share the + * setup between the oldest fit and the insert/remove test). + */ ++#ifdef HPA_SUPPORTED + static void + init_test_pageslabs(psset_t *psset, hpdata_t *pageslab, + hpdata_t *worse_pageslab, edata_t *alloc, edata_t *worse_alloc) { +@@ -472,7 +477,9 @@ init_test_pageslabs(psset_t *psset, hpdata_t *pageslab, + &alloc[HUGEPAGE_PAGES - 1]); + expect_ptr_null(evicted, "Unexpected eviction"); + } ++#endif + ++#ifdef HPA_SUPPORTED + TEST_BEGIN(test_oldest_fit) { + bool err; + edata_t alloc[HUGEPAGE_PAGES]; +@@ -495,7 +502,11 @@ TEST_BEGIN(test_oldest_fit) { + "Allocated from the wrong pageslab"); + } + TEST_END ++#else ++TEST_SKIP(test_oldest_fit) ++#endif + ++#ifdef HPA_SUPPORTED + TEST_BEGIN(test_insert_remove) { + bool err; + hpdata_t *ps; +@@ -541,6 +552,9 @@ TEST_BEGIN(test_insert_remove) { + expect_true(err, "psset should be empty, but an alloc succeeded"); + } + TEST_END ++#else ++TEST_SKIP(test_insert_remove) ++#endif + + TEST_BEGIN(test_purge_prefers_nonhuge) { + /* diff --git a/dev-libs/jemalloc/jemalloc-5.3.0-r1.ebuild b/dev-libs/jemalloc/jemalloc-5.3.0-r1.ebuild new file mode 100644 index 000000000000..e8e5b62bd8d1 --- /dev/null +++ b/dev-libs/jemalloc/jemalloc-5.3.0-r1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit autotools multilib-minimal + +DESCRIPTION="Jemalloc is a general-purpose scalable concurrent allocator" +HOMEPAGE="http://jemalloc.net/ https://github.com/jemalloc/jemalloc" +SRC_URI="https://github.com/jemalloc/jemalloc/releases/download/${PV}/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0/2" +#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="debug lazy-lock prof stats xmalloc" +HTML_DOCS=( doc/jemalloc.html ) +PATCHES=( + "${FILESDIR}/${PN}-5.3.0-gentoo-fixups.patch" + "${FILESDIR}/${PN}-5.3.0-backport-pr-2312.patch" +) + +MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h ) + +src_prepare() { + default + eautoreconf +} + +multilib_src_configure() { + local myconf=( + $(use_enable debug) + $(use_enable lazy-lock) + $(use_enable prof) + $(use_enable stats) + $(use_enable xmalloc) + ) + + ECONF_SOURCE="${S}" econf "${myconf[@]}" +} + +multilib_src_install() { + # Copy man file which the Makefile looks for + cp "${S}/doc/jemalloc.3" "${BUILD_DIR}/doc" || die + emake DESTDIR="${D}" install +} + +multilib_src_install_all() { + if [[ ${CHOST} == *-darwin* ]] ; then + # fixup install_name, #437362 + install_name_tool \ + -id "${EPREFIX}"/usr/$(get_libdir)/libjemalloc.2.dylib \ + "${ED}"/usr/$(get_libdir)/libjemalloc.2.dylib || die + fi + find "${ED}" -name '*.a' -delete || die +} diff --git a/dev-libs/jemalloc/jemalloc-5.3.0.ebuild b/dev-libs/jemalloc/jemalloc-5.3.0.ebuild index 93e652a0edc9..07a0064fc17a 100644 --- a/dev-libs/jemalloc/jemalloc-5.3.0.ebuild +++ b/dev-libs/jemalloc/jemalloc-5.3.0.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/jemalloc/jemalloc/releases/download/${PV}/${P}.tar.b LICENSE="BSD" SLOT="0/2" #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" -KEYWORDS="amd64 arm arm64 hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="debug lazy-lock prof stats xmalloc" HTML_DOCS=( doc/jemalloc.html ) PATCHES=( "${FILESDIR}/${PN}-5.3.0-gentoo-fixups.patch" ) diff --git a/dev-libs/json-parser/Manifest b/dev-libs/json-parser/Manifest index ce24f6d98791..14a8ba984bfc 100644 --- a/dev-libs/json-parser/Manifest +++ b/dev-libs/json-parser/Manifest @@ -1,4 +1,4 @@ AUX json-parser-1.1.0-pkgconfig-libdir.patch 844 BLAKE2B 991a915cff64a9a3fd1fbeea36e9a6389272e70d04b25419650b8eaeb7ef13cd568d171a60817dbda4b51f6cfafebc18637ba9adcac8998d2b35a552e8183a53 SHA512 ee83f9b29d81de6fe313055ee53a3e9f9ab20a9fef46b42c155bda78abd687bdf4e834c9dc9c9ca8b76c1556217a9cbdda89b604efe75e7d9c7ba6ec7a1abf8b DIST json-parser-1.1.0_p20211208.tar.gz 51479 BLAKE2B 31ce7929c1de829e312dfc855365d8851ad7c2ce31379d3ab4b4937291e2ec367c7692ecb11b781d0647e5dc38008e4e7bd122d9edaafd1c393a1cbf765117b9 SHA512 cbe6690a70ada1906b2c208fcbe03fe5a14651660ece9ba933a3160ea027c6dd9507189e1c63052059c3a00b2e2a59dbc65fa668a287455d438aa4453eecf22f -EBUILD json-parser-1.1.0_p20211208.ebuild 1595 BLAKE2B 2db08bdb731a40bc6f6cecc9463ff04f4a01daf87b87b0dc14e7e31a05c4ee03d5869332a5dad9db30ecdfc0b6d1123a9deefd024e658dbc627108c65bc07844 SHA512 5b05888f06c0c3ee945c53c2968937baa19d93b268bba8dcc7cc6e8a6ded72a23d012887a4e6ca7e27233569057b05dad7df686d1457d00f69d8bb6e6e976796 +EBUILD json-parser-1.1.0_p20211208.ebuild 1600 BLAKE2B e31195345612b46e5ac56a68573d874e81f152c65af0c036150492d7f3dd1e47b9d45ccb4c24985be03683ab3df2892988c06f0458a085ee094db69e05a1c45a SHA512 e1a1d41eb611b031b1489e5440ded85cc9696830b1e12ffc89d68ebf7d5a0742b40a3ac1d6d5759e935461f319d74adfa3aa5d70c889ecfc8dd0c833cb17a5b3 MISC metadata.xml 479 BLAKE2B 8bc63ea5aaacf718ff53ee6ff554a9037ab7344b4bca7bbe3348ac4206a1d76352bcc534c009232c7323ffe53fb65d68b09b9ed773320d59c01456e29c705865 SHA512 8907f69489f48488198a92960b262769c6f85f40bb6acf11860835544fff644346778c2da17a374e1ff43028a2913e76ac133e1ed9816b5f68bee0acb4693055 diff --git a/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild b/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild index a510a13c4fbf..9def2d6c57f4 100644 --- a/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild +++ b/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild @@ -19,7 +19,7 @@ S="${WORKDIR}/${PN}-${COMMIT}" LICENSE="BSD-2" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" IUSE="python" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -- cgit v1.2.3