diff options
Diffstat (limited to 'dev-libs/jemalloc')
-rw-r--r-- | dev-libs/jemalloc/Manifest | 15 | ||||
-rw-r--r-- | dev-libs/jemalloc/files/jemalloc-3.5.1-no-pprof.patch | 25 | ||||
-rw-r--r-- | dev-libs/jemalloc/files/jemalloc-3.5.1-strip-optimization.patch | 27 | ||||
-rw-r--r-- | dev-libs/jemalloc/files/jemalloc-3.5.1_fix_html_install.patch | 12 | ||||
-rw-r--r-- | dev-libs/jemalloc/files/jemalloc-4.5.0-fix_html_install.patch | 25 | ||||
-rw-r--r-- | dev-libs/jemalloc/files/jemalloc-4.5.0-strip-optimization.patch | 35 | ||||
-rw-r--r-- | dev-libs/jemalloc/files/jemalloc-5.0.1-strip-optimization.patch | 26 | ||||
-rw-r--r-- | dev-libs/jemalloc/jemalloc-3.6.0.ebuild | 53 | ||||
-rw-r--r-- | dev-libs/jemalloc/jemalloc-4.4.0.ebuild | 54 | ||||
-rw-r--r-- | dev-libs/jemalloc/jemalloc-4.5.0.ebuild | 59 | ||||
-rw-r--r-- | dev-libs/jemalloc/jemalloc-5.0.1.ebuild | 62 | ||||
-rw-r--r-- | dev-libs/jemalloc/metadata.xml | 20 |
12 files changed, 413 insertions, 0 deletions
diff --git a/dev-libs/jemalloc/Manifest b/dev-libs/jemalloc/Manifest new file mode 100644 index 000000000000..4fea51eac28d --- /dev/null +++ b/dev-libs/jemalloc/Manifest @@ -0,0 +1,15 @@ +AUX jemalloc-3.5.1-no-pprof.patch 822 BLAKE2B 3794e3a7ad8d351673fc90a3f085a202c4e9e4937ffe5cfb78980a0d11fdb9992f30cfd9fd0e350450fb3647369e54097569ed7e54e5f23f83ee332b9f45deb8 SHA512 1560154337302c7a56d79af21822d27b5d5bfd64afa4af3753306ca0d0a307b5abb9b240be168c7591d858a9c4be15e8d6571fd52da2d6732c472755dffa545f +AUX jemalloc-3.5.1-strip-optimization.patch 886 BLAKE2B 5311ae00c3ed4471d3022048ca0e82fb62b12345f602a6fce8b60ce0ba4e4291ca76df1a17c4fbed203d5209db9bd60a27a4cac9f92eaab49297c1045c344de6 SHA512 5835c534ccb04b47216d3678b08d663a09a93e60fb651e9c0b489fb747ca5f32060c89da3dc0f44b45964ffbffbd8da32b75a842198c180a79179266565b204a +AUX jemalloc-3.5.1_fix_html_install.patch 356 BLAKE2B 8b8926248930acbeb5bf9cf4bc51b2ba30fbe7148670601c8870b504b007f7b008f811f5d9aa142c82aeb1928941456f41cf7b601be54bb6ab6c10e5868d5e08 SHA512 d5ad9e7c9b93f2b0311a43bdd963cea6f32f2e5a53a916ce52b89918d3d76e0306158239cf2a7b508f102607fa550374a9ec8463f2b3a064015cf7bb2ce852cd +AUX jemalloc-4.5.0-fix_html_install.patch 581 BLAKE2B 97ced7415f9d7dc9d29252ef73888e1e9685d4cfe82e08b35e3b01f1d50aefdabd463c362bc14ca29097c5ff3b24ae53f3f225305b7c5a8770562e03c92c950a SHA512 ce210e9c9394a9ba5a16b5524322f1e477a140e55c076543a1f4dcfb1c8491f7839cb49fba433088773b24d2656b821c3072e729c0c7e41cb90dc131ad6828ff +AUX jemalloc-4.5.0-strip-optimization.patch 880 BLAKE2B 251919ff0ceedb815963e8dc151b0a9da684c22d6b053e40be36e31ace751c9fb3718c02759532ef4aea7710eaa9631d94780f3e85d6c7dcb1084e0353ae0e09 SHA512 6c6dd0a99fe58ad0f6cb6306e14e2724dcd39d372e91c01540aebb31e8228b33d17ba0819e6a5c9cb7a3009eedb8f3a58319f0cde322cdf31c2c1cb47f98ff41 +AUX jemalloc-5.0.1-strip-optimization.patch 685 BLAKE2B f67c89bb123861cfe3c5b4616d78478693e083476f9e83648d976e613743e6367c9bce9f0b86a1e2fe514d3a3689a596ef94e4a53e26edfa95bdf0336ec0a9ef SHA512 dd4452feea0004b3f61d664a63da0751179a4be8095e76d94938034045114a68b32e0fe9872cb4810c2f3fc927963ef1b1886d210dc558b3c5a3f5eb9ef4240e +DIST jemalloc-3.6.0.tar.bz2 338964 BLAKE2B a5edacc85c5bebf3b373e7fc8bafd9449273ff58c2e44e94eb9900f54b11f2d8b837a3a8ee76cce46777ccc40dea23905b7ff81eef5af39ea1d3f98017b27111 SHA512 ebe7c64558a87a735b5906d5cb7527c241664eeae7328538675a12eabe7a1004be0f8766a3bd2a78e61334b196ca7ffc0ee8b8ff59167922a35f126cd1e76e43 +DIST jemalloc-4.4.0.tar.bz2 440144 BLAKE2B 6acb91c5be6c5b17c209341dd08e6973e3ad5ecdfe7ebe5d8c78181cddca1fccba3c11628e736d66acd7698f7813f38077033d39093bf2e4bd704c8b4de60e7b SHA512 2f88fb17ede3bf87e334e9c80949870e0dd85b5adcdd89a1750ccf6df5240f35293159ac0a360d3a29cf0b1d17edf86dcc7997c6bf3190ae7da7442d3a3cc14e +DIST jemalloc-4.5.0.tar.bz2 449992 BLAKE2B 6141c71f7f5f9cee91a59eeed9c69b0a69b3cc39666aa608445073c11ee3ca9b4777a851c5cb5adac80d42bfbf10a6726e5dc1340ffe85ea1ee884d87c7865da SHA512 76953363fe1007952232220afa1a91da4c1c33c02369b5ad239d8dd1d0792141197c15e8489a8f4cd301b08494e65cadd8ecd34d025cb0285700dd78d7248821 +DIST jemalloc-5.0.1.tar.bz2 499300 BLAKE2B 551933fcd93315968cbf89bfadc40313717ff216141af8a131f2333d10090438ddf36fbfdc0ee831cbec6f930ae15aa9cfaafae72ed4f38dd97b00712ca918e8 SHA512 8cb5957a5724eb2bbad120cf0028ea8b2b14b4a416c1751b7c967351a7fd51135058ea0d3c4dc1d127c86f3aa7e9fd5ef101857110aabfdb7789427791c432c3 +EBUILD jemalloc-3.6.0.ebuild 1907 BLAKE2B 798433f1866bc808756d99cc69e34081671ef537e1c428f6d03dbe9266bdebab79e7d5852ae5b73fa7b3127eb5805ff197a623aba5515f20376de7f19d2fd048 SHA512 f13a892b9457ab2e13e13654dda6ec372bc8e3d30e0c625a5f67546c56608beb1d16ba1a1d17c10ca8f4145e2536100406d2afb45767e87fe3a99b4c873506bd +EBUILD jemalloc-4.4.0.ebuild 1751 BLAKE2B e39f6707e796afe8ea28e055d994f17e5f683e1bf1ab4ac67d492740cca2490553bf88685e8458dfaeb197a5b98ee6b58f242afee337d9cf73e9435c84f8931e SHA512 5d3a5d490de405548f193e29178cb41c876e093fb56af071bef0a8fd330c740b826127ea314e844583652380d02364729e3f8a0ab6ed76a97058ee93103e2712 +EBUILD jemalloc-4.5.0.ebuild 1787 BLAKE2B 06f3036d060df40707bb79c6520b62c13c55c3753d6f40fad5d82509baf76446de952b418c5fed71160a29331398167ceb7c199a872e553555ad6611506e5a4a SHA512 2fbf17ce207095a1948d0180b0769294fb90e5500297152629dc8c666fae1f8c6d182d1d823a2efeaf8b36cd9f9016cc036c9ed3f4be52bc371ab858f9dbcd2e +EBUILD jemalloc-5.0.1.ebuild 1915 BLAKE2B 7ece59bb02fb7a809814e4925bdc3934660aeddd5ce9f28f51e545b79d0794e3861114cf48bfdf35f56a5e23453655cded7858a1f634f662b6a328273129b2db SHA512 fff3e8afea78b30f2ec4a4675c218779426d93c1437521c9532acf1f1cc3c417758a49765616a30d9b54c5dc8c51f7a8f66bb7fd5db4362c8a3c6bcfcf5496b5 +MISC metadata.xml 762 BLAKE2B db6f1712f7b716c824f199ec10e566fa543aa594a6bc75f60adca55e249163a96adbdff109a49327799bee090b3abadd9961c74878c0b0a9c54aa0cb4118f2a1 SHA512 4fdae623c6f76fad566807e7a48c3cf11b5818bf2f93e32f6c0a53558732642f0011dabb7bd4d7f637c8df141cccdb1075c48177a83caac78f9f375b3e57278a diff --git a/dev-libs/jemalloc/files/jemalloc-3.5.1-no-pprof.patch b/dev-libs/jemalloc/files/jemalloc-3.5.1-no-pprof.patch new file mode 100644 index 000000000000..30cbd501ec5d --- /dev/null +++ b/dev-libs/jemalloc/files/jemalloc-3.5.1-no-pprof.patch @@ -0,0 +1,25 @@ +diff -urN a/Makefile.in b/Makefile.in +--- a/Makefile.in 2014-02-25 18:49:15.000000000 -0600 ++++ b/Makefile.in 2014-03-07 18:24:10.978141932 -0600 +@@ -73,7 +73,6 @@ + LIBJEMALLOC := $(LIBPREFIX)jemalloc$(install_suffix) + + # Lists of files. +-BINS := $(srcroot)bin/pprof $(objroot)bin/jemalloc.sh + C_HDRS := $(objroot)include/jemalloc/jemalloc$(install_suffix).h + C_SRCS := $(srcroot)src/jemalloc.c $(srcroot)src/arena.c \ + $(srcroot)src/atomic.c $(srcroot)src/base.c $(srcroot)src/bitmap.c \ +@@ -273,13 +272,6 @@ + build_lib_static: $(STATIC_LIBS) + build_lib: build_lib_shared build_lib_static + +-install_bin: +- install -d $(BINDIR) +- @for b in $(BINS); do \ +- echo "install -m 755 $$b $(BINDIR)"; \ +- install -m 755 $$b $(BINDIR); \ +-done +- + install_include: + install -d $(INCLUDEDIR)/jemalloc + @for h in $(C_HDRS); do \ diff --git a/dev-libs/jemalloc/files/jemalloc-3.5.1-strip-optimization.patch b/dev-libs/jemalloc/files/jemalloc-3.5.1-strip-optimization.patch new file mode 100644 index 000000000000..cc8736b84123 --- /dev/null +++ b/dev-libs/jemalloc/files/jemalloc-3.5.1-strip-optimization.patch @@ -0,0 +1,27 @@ +diff -urN a/configure.ac b/configure.ac +--- a/configure.ac 2014-02-25 18:49:15.000000000 -0600 ++++ b/configure.ac 2014-03-07 18:19:53.718147847 -0600 +@@ -639,23 +639,6 @@ + AC_DEFINE([JEMALLOC_IVSALLOC], [ ]) + fi + +-dnl Only optimize if not debugging. +-if test "x$enable_debug" = "x0" -a "x$no_CFLAGS" = "xyes" ; then +- dnl Make sure that an optimization flag was not specified in EXTRA_CFLAGS. +- optimize="no" +- echo "$CFLAGS $EXTRA_CFLAGS" | grep '\-O' >/dev/null || optimize="yes" +- if test "x${optimize}" = "xyes" ; then +- if test "x$GCC" = "xyes" ; then +- JE_CFLAGS_APPEND([-O3]) +- JE_CFLAGS_APPEND([-funroll-loops]) +- elif test "x$je_cv_msvc" = "xyes" ; then +- JE_CFLAGS_APPEND([-O2]) +- else +- JE_CFLAGS_APPEND([-O]) +- fi +- fi +-fi +- + dnl Enable statistics calculation by default. + AC_ARG_ENABLE([stats], + [AS_HELP_STRING([--disable-stats], diff --git a/dev-libs/jemalloc/files/jemalloc-3.5.1_fix_html_install.patch b/dev-libs/jemalloc/files/jemalloc-3.5.1_fix_html_install.patch new file mode 100644 index 000000000000..1ce5ad2ede95 --- /dev/null +++ b/dev-libs/jemalloc/files/jemalloc-3.5.1_fix_html_install.patch @@ -0,0 +1,12 @@ +diff -urN a/Makefile.in b/Makefile.in +--- a/Makefile.in 2014-02-25 18:49:15.000000000 -0600 ++++ b/Makefile.in 2014-03-07 18:26:23.074138895 -0600 +@@ -317,7 +317,7 @@ + install -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 install_doc + diff --git a/dev-libs/jemalloc/files/jemalloc-4.5.0-fix_html_install.patch b/dev-libs/jemalloc/files/jemalloc-4.5.0-fix_html_install.patch new file mode 100644 index 000000000000..159702e6230c --- /dev/null +++ b/dev-libs/jemalloc/files/jemalloc-4.5.0-fix_html_install.patch @@ -0,0 +1,25 @@ +From c04d0b954adef2d3f1a30d91dc687f6a03b108eb Mon Sep 17 00:00:00 2001 +From: +Date: Mon, 29 May 2017 00:58:32 -0500 +Subject: [PATCH 2/2] Do not install html doc + +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index e49a871..733932a 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -381,7 +381,7 @@ install_doc_man: + $(INSTALL) -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 install_doc + +-- +2.13.0 + diff --git a/dev-libs/jemalloc/files/jemalloc-4.5.0-strip-optimization.patch b/dev-libs/jemalloc/files/jemalloc-4.5.0-strip-optimization.patch new file mode 100644 index 000000000000..8b346be86c06 --- /dev/null +++ b/dev-libs/jemalloc/files/jemalloc-4.5.0-strip-optimization.patch @@ -0,0 +1,35 @@ +From c568271163445e380679788388f1cb1edbdeaf88 Mon Sep 17 00:00:00 2001 +From: +Date: Mon, 29 May 2017 00:57:15 -0500 +Subject: [PATCH 1/2] Strip all optimization, let portage handle. + +--- + configure.ac | 12 ------------ + 1 file changed, 12 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 20a8a64..d8af618 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -851,18 +851,6 @@ if test "x$enable_ivsalloc" = "x1" ; then + AC_DEFINE([JEMALLOC_IVSALLOC], [ ]) + fi + +-dnl Only optimize if not debugging. +-if test "x$enable_debug" = "x0" ; then +- if test "x$GCC" = "xyes" ; then +- JE_CFLAGS_ADD([-O3]) +- JE_CFLAGS_ADD([-funroll-loops]) +- elif test "x$je_cv_msvc" = "xyes" ; then +- JE_CFLAGS_ADD([-O2]) +- else +- JE_CFLAGS_ADD([-O]) +- fi +-fi +- + dnl Enable statistics calculation by default. + AC_ARG_ENABLE([stats], + [AS_HELP_STRING([--disable-stats], +-- +2.13.0 + diff --git a/dev-libs/jemalloc/files/jemalloc-5.0.1-strip-optimization.patch b/dev-libs/jemalloc/files/jemalloc-5.0.1-strip-optimization.patch new file mode 100644 index 000000000000..523badf5775b --- /dev/null +++ b/dev-libs/jemalloc/files/jemalloc-5.0.1-strip-optimization.patch @@ -0,0 +1,26 @@ +diff --git a/configure.ac b/configure.ac +index 1551ded8..2f470672 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -976,21 +976,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-3.6.0.ebuild b/dev-libs/jemalloc/jemalloc-3.6.0.ebuild new file mode 100644 index 000000000000..2940dc6db76a --- /dev/null +++ b/dev-libs/jemalloc/jemalloc-3.6.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools-multilib eutils flag-o-matic toolchain-funcs + +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" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="debug static-libs stats" + +HTML_DOCS=( doc/jemalloc.html ) + +PATCHES=( "${FILESDIR}/${PN}-3.5.1-strip-optimization.patch" + "${FILESDIR}/${PN}-3.5.1-no-pprof.patch" + "${FILESDIR}/${PN}-3.5.1_fix_html_install.patch" +) + +MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h ) + +# autotools-utils.eclass auto-adds configure options when static-libs is in IUSE +# but jemalloc doesn't implement them in its configure; need this here to +# supress the warnings until automagic is removed from the eclass +QA_CONFIGURE_OPTIONS="--enable-static --disable-static --enable-shared --disable-shared" +src_configure() { + myeconfargs=( + $(use_enable debug) + $(use_enable stats) + ) + use sparc && append-cppflags -DLG_QUANTUM=4 -mcpu=ultrasparc + # The configure test for page shift requires running code which fails + # when cross-compiling. Since it uses _SC_PAGESIZE, and the majority + # of systems use 4096 as the base page size, just hardcode 12 here. + tc-is-cross-compiler && export je_cv_static_page_shift=12 + autotools-multilib_src_configure +} + +src_install() { + autotools-multilib_src_install + + if [[ ${CHOST} == *-darwin* ]] ; then + # fixup install_name, #437362 + install_name_tool \ + -id "${EPREFIX}"/usr/$(get_libdir)/libjemalloc.1.dylib \ + "${ED}"/usr/$(get_libdir)/libjemalloc.1.dylib || die + fi + use static-libs || find "${ED}" -name '*.a' -delete +} diff --git a/dev-libs/jemalloc/jemalloc-4.4.0.ebuild b/dev-libs/jemalloc/jemalloc-4.4.0.ebuild new file mode 100644 index 000000000000..399d51c93202 --- /dev/null +++ b/dev-libs/jemalloc/jemalloc-4.4.0.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit toolchain-funcs multilib-build 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 ~ppc ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="debug hardened static-libs stats" +HTML_DOCS=( doc/jemalloc.html ) +PATCHES=( "${FILESDIR}/${PN}-3.5.1-strip-optimization.patch" + "${FILESDIR}/${PN}-3.5.1_fix_html_install.patch" +) +MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h ) +# autotools-utils.eclass auto-adds configure options when static-libs is in IUSE +# but jemalloc doesn't implement them in its configure; need this here to +# supress the warnings until automagic is removed from the eclass +QA_CONFIGURE_OPTIONS="--enable-static --disable-static --enable-shared --disable-shared" + +multilib_src_configure() { + local myconf=() + + if use hardened ; then + myconf+=( --disable-syscall ) + fi + + ECONF_SOURCE="${S}" \ + econf \ + $(use_enable debug) \ + $(use_enable stats) \ + "${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.1.dylib \ + "${ED}"/usr/$(get_libdir)/libjemalloc.2.dylib || die + fi + use static-libs || find "${ED}" -name '*.a' -delete +} diff --git a/dev-libs/jemalloc/jemalloc-4.5.0.ebuild b/dev-libs/jemalloc/jemalloc-4.5.0.ebuild new file mode 100644 index 000000000000..5938140f4ee8 --- /dev/null +++ b/dev-libs/jemalloc/jemalloc-4.5.0.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools toolchain-funcs 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 ~ppc ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="debug hardened static-libs stats" +HTML_DOCS=( doc/jemalloc.html ) +PATCHES=( "${FILESDIR}/${PN}-4.5.0-strip-optimization.patch" + "${FILESDIR}/${PN}-4.5.0-fix_html_install.patch" +) +MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h ) +# autotools-utils.eclass auto-adds configure options when static-libs is in IUSE +# but jemalloc doesn't implement them in its configure; need this here to +# supress the warnings until automagic is removed from the eclass +QA_CONFIGURE_OPTIONS="--enable-static --disable-static --enable-shared --disable-shared" + +src_prepare() { + default + eautoreconf +} + +multilib_src_configure() { + local myconf=() + + if use hardened ; then + myconf+=( --disable-syscall ) + fi + + ECONF_SOURCE="${S}" \ + econf \ + $(use_enable debug) \ + $(use_enable stats) \ + "${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.1.dylib \ + "${ED}"/usr/$(get_libdir)/libjemalloc.2.dylib || die + fi + use static-libs || find "${ED}" -name '*.a' -delete +} diff --git a/dev-libs/jemalloc/jemalloc-5.0.1.ebuild b/dev-libs/jemalloc/jemalloc-5.0.1.ebuild new file mode 100644 index 000000000000..f5ad09f06a68 --- /dev/null +++ b/dev-libs/jemalloc/jemalloc-5.0.1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools toolchain-funcs 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 ~ppc ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +IUSE="debug hardened +hugepages lazy-lock static-libs stats xmalloc" +HTML_DOCS=( doc/jemalloc.html ) +PATCHES=( "${FILESDIR}/${PN}-5.0.1-strip-optimization.patch" + "${FILESDIR}/${PN}-4.5.0-fix_html_install.patch" +) +MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h ) +# autotools-utils.eclass auto-adds configure options when static-libs is in IUSE +# but jemalloc doesn't implement them in its configure; need this here to +# supress the warnings until automagic is removed from the eclass +QA_CONFIGURE_OPTIONS="--enable-static --disable-static --enable-shared --disable-shared" + +src_prepare() { + default + eautoreconf +} + +multilib_src_configure() { + local myconf=() + + if use hardened ; then + myconf+=( --disable-syscall ) + fi + + ECONF_SOURCE="${S}" \ + econf \ + $(use_enable debug) \ + $(use_enable lazy-lock) \ + $(use_enable hugepages thp) \ + $(use_enable stats) \ + $(use_enable xmalloc) \ + "${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 + use static-libs || find "${ED}" -name '*.a' -delete +} diff --git a/dev-libs/jemalloc/metadata.xml b/dev-libs/jemalloc/metadata.xml new file mode 100644 index 000000000000..848a0a7987dd --- /dev/null +++ b/dev-libs/jemalloc/metadata.xml @@ -0,0 +1,20 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>mozilla@gentoo.org</email> + <name>Gentoo Mozilla Team</name> + </maintainer> + <longdescription lang="en"> + Jemalloc is a general-purpose scalable concurrent allocator + </longdescription> + <use> + <flag name="hugepages">Enable transparent huge page support</flag> + <flag name="lazy-lock">Enable lazy locking (only lock when multi-threaded)</flag> + <flag name="stats">Enable statistics calculation/reporting</flag> + <flag name="xmalloc">Add support for xmalloc (abort-on-out-of-memory)</flag> + </use> + <upstream> + <remote-id type="github">jemalloc/jemalloc</remote-id> + </upstream> +</pkgmetadata> |