summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-libs/jemalloc/Manifest1
-rw-r--r--dev-libs/jemalloc/files/jemalloc-5.3.0-gentoo-fixups.patch43
-rw-r--r--dev-libs/jemalloc/jemalloc-5.3.0_pre20220405.ebuild53
3 files changed, 97 insertions, 0 deletions
diff --git a/dev-libs/jemalloc/Manifest b/dev-libs/jemalloc/Manifest
index e9979c395b76..0ba9cde236bf 100644
--- a/dev-libs/jemalloc/Manifest
+++ b/dev-libs/jemalloc/Manifest
@@ -1 +1,2 @@
DIST jemalloc-5.2.1.tar.bz2 554279 BLAKE2B 52cb8cd5e5807a750a7e5e9ee005afd61144d821d7f7029a5eca998fd61787a7271338dee3de586ddf93f5fdbddc2c2ca03ba64375a70096f273a6aa173da431 SHA512 0bbb77564d767cef0c6fe1b97b705d368ddb360d55596945aea8c3ba5889fbce10479d85ad492c91d987caacdbbdccc706aa3688e321460069f00c05814fae02
+DIST jemalloc-5.3.0_pre20220405.tar.xz 671240 BLAKE2B 75cc8b58f9ce10ad1ae61b6b0146727796585d2edfd88c100661181409591bce3ed8499bfc5ffbbfac217c9baf33f955934aac9a62190874bc070c22b7e8f18f SHA512 aeacb637c0a5bd653ad584700fd3a91717b49dba60174871047e0e72ac805c9931940b0faf2e1846e09b975799d9545e32e71e0ff5951c0dcb23cfc8680a2ce9
diff --git a/dev-libs/jemalloc/files/jemalloc-5.3.0-gentoo-fixups.patch b/dev-libs/jemalloc/files/jemalloc-5.3.0-gentoo-fixups.patch
new file mode 100644
index 000000000000..e500a63225f0
--- /dev/null
+++ b/dev-libs/jemalloc/files/jemalloc-5.3.0-gentoo-fixups.patch
@@ -0,0 +1,43 @@
+This is jemalloc-5.2.0-gentoo-fixups.patch, rebased on top of upstream commit
+https://github.com/jemalloc/jemalloc/commit/ed5fc14b28ca62a6.
+From: Jory Pratt <anarchy@gentoo.org>
+Date: Tue, 23 Apr 2019 10:04:19 -0500
+Subject: [PATCH] Don't override user cflags, disable html_doc from being
+ installed
+
+Signed-off-by: Jory Pratt <anarchy@gentoo.org>
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -603,7 +603,7 @@ install_doc_man: build_doc_man
+ $(INSTALL) -v -m 644 $$d $(MANDIR)/man3; \
+ done
+
+-install_doc: install_doc_html install_doc_man
++install_doc: install_doc_man
+
+ install: install_bin install_include install_lib
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -1220,21 +1220,6 @@ if test "x$enable_debug" = "x1" ; then
+ fi
+ AC_SUBST([enable_debug])
+
+-dnl Only optimize if not debugging.
+-if test "x$enable_debug" = "x0" ; then
+- if test "x$GCC" = "xyes" ; then
+- JE_CFLAGS_ADD([-O3])
+- JE_CXXFLAGS_ADD([-O3])
+- JE_CFLAGS_ADD([-funroll-loops])
+- elif test "x$je_cv_msvc" = "xyes" ; then
+- JE_CFLAGS_ADD([-O2])
+- JE_CXXFLAGS_ADD([-O2])
+- else
+- JE_CFLAGS_ADD([-O])
+- JE_CXXFLAGS_ADD([-O])
+- fi
+-fi
+-
+ dnl Enable statistics calculation by default.
+ AC_ARG_ENABLE([stats],
+ [AS_HELP_STRING([--disable-stats],
diff --git a/dev-libs/jemalloc/jemalloc-5.3.0_pre20220405.ebuild b/dev-libs/jemalloc/jemalloc-5.3.0_pre20220405.ebuild
new file mode 100644
index 000000000000..bb8d838144a4
--- /dev/null
+++ b/dev-libs/jemalloc/jemalloc-5.3.0_pre20220405.ebuild
@@ -0,0 +1,53 @@
+# 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"
+SRC_URI="https://dev.gentoo.org/~xen0n/distfiles/${P}.tar.xz"
+
+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"
+IUSE="debug lazy-lock prof stats xmalloc"
+HTML_DOCS=( doc/jemalloc.html )
+PATCHES=( "${FILESDIR}/${PN}-5.3.0-gentoo-fixups.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
+}