Thu Feb 18 15:51:59 2016 UTC ()
Import jemalloc-4.04, packaged for wip by Jonathan Buschmann
<jonthn+pkgsrc@pinacea.com>.

jemalloc is a general purpose malloc(3) implementation that emphasizes
fragmentation avoidance and scalable concurrency support.

jemalloc first came into use as the FreeBSD libc allocator in 2005.
In 2010 jemalloc development efforts broadened to include developer
support features such as heap profiling, Valgrind integration, and
extensive monitoring/tuning hooks.  Ongoing development efforts trend
toward making jemalloc among the best allocators for a broad range of
demanding applications, and eliminating/mitigating weaknesses that
have practical repercussions for real world applications.

This is a newer version of jemalloc than the one in NetBSD's libc.


(gson)
diff -r0 -r1.1 pkgsrc/devel/jemalloc/DESCR
diff -r0 -r1.1 pkgsrc/devel/jemalloc/Makefile
diff -r0 -r1.1 pkgsrc/devel/jemalloc/PLIST
diff -r0 -r1.1 pkgsrc/devel/jemalloc/buildlink3.mk
diff -r0 -r1.1 pkgsrc/devel/jemalloc/distinfo
diff -r0 -r1.1 pkgsrc/devel/jemalloc/patches/patch-Makefile.in
diff -r0 -r1.1 pkgsrc/devel/jemalloc/patches/patch-configure

File Added: pkgsrc/devel/jemalloc/DESCR
jemalloc is a general purpose malloc(3) implementation that emphasizes
fragmentation avoidance and scalable concurrency support.

jemalloc first came into use as the FreeBSD libc allocator in 2005.
In 2010 jemalloc development efforts broadened to include developer
support features such as heap profiling, Valgrind integration, and
extensive monitoring/tuning hooks.  Ongoing development efforts trend
toward making jemalloc among the best allocators for a broad range of
demanding applications, and eliminating/mitigating weaknesses that
have practical repercussions for real world applications.

File Added: pkgsrc/devel/jemalloc/Makefile
# $NetBSD: Makefile,v 1.1 2016/02/18 15:51:59 gson Exp $

DISTNAME=	jemalloc-4.0.4
CATEGORIES=	devel
MASTER_SITES=	${MASTER_SITE_GITHUB:=jemalloc/}
GITHUB_PROJECT=	jemalloc
GITHUB_RELEASE=	${DISTNAME:S/jemalloc-//}
EXTRACT_SUFX=	.tar.bz2

MAINTAINER=	gson@NetBSD.org
HOMEPAGE=	http://www.canonware.com/jemalloc/
COMMENT=	General purpose malloc(3) implementation
LICENSE=	2-clause-bsd

BUILD_DEPENDS+=		libxslt-[0-9]*:../../textproc/libxslt
BUILD_DEPENDS+=		docbook-xsl-[0-9]*:../../textproc/docbook-xsl

USE_TOOLS+=		autoconf automake aclocal gmake
USE_LANGUAGES=		c
GNU_CONFIGURE=		yes
CONFIGURE_ARGS+=	--enable-cc-silence
CONFIGURE_ARGS+=	--enable-xmalloc
CONFIGURE_ARGS+=        --with-xslroot=${PREFIX}/share/xsl/docbook/

USE_TOOLS+=		perl:run
REPLACE_PERL=		bin/jeprof.in

BUILD_TARGET=		all dist

.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/devel/jemalloc/PLIST
@comment $NetBSD: PLIST,v 1.1 2016/02/18 15:51:59 gson Exp $
bin/jemalloc-config
bin/jemalloc.sh
bin/jeprof
include/jemalloc/jemalloc.h
lib/libjemalloc.a
lib/libjemalloc.so
lib/libjemalloc.so.2
lib/libjemalloc_pic.a
lib/pkgconfig/jemalloc.pc
man/man3/jemalloc.3
share/doc/jemalloc/jemalloc.html

File Added: pkgsrc/devel/jemalloc/buildlink3.mk
# $NetBSD: buildlink3.mk,v 1.1 2016/02/18 15:51:59 gson Exp $

BUILDLINK_TREE+=	jemalloc

.if !defined(JEMALLOC_BUILDLINK3_MK)
JEMALLOC_BUILDLINK3_MK:=

BUILDLINK_API_DEPENDS.jemalloc+=	jemalloc>=4.0.0
BUILDLINK_PKGSRCDIR.jemalloc?=	../../devel/jemalloc
.endif	# JEMALLOC_BUILDLINK3_MK

BUILDLINK_TREE+=	-jemalloc

File Added: pkgsrc/devel/jemalloc/distinfo
$NetBSD: distinfo,v 1.1 2016/02/18 15:51:59 gson Exp $

SHA1 (jemalloc-4.0.4.tar.bz2) = 665050e09ed2270899c2421248f21e6d52dfd9dd
RMD160 (jemalloc-4.0.4.tar.bz2) = 9d3572a41c5c5ed0ed15bd3cb82c1098767b11e7
SHA512 (jemalloc-4.0.4.tar.bz2) = 93be0551a80d5f5dc3a1044ef3d5f06c5ce65f3c1fd753743ee64340b841fc2d7902178774ab71eaa633f68abad44109870eb84159679fdc8ce6d93db3a53112
Size (jemalloc-4.0.4.tar.bz2) = 391483 bytes
SHA1 (patch-Makefile.in) = 44329c739b691f977bd672acc337a07e4fa7f4c5
SHA1 (patch-configure) = ade66a0b8fee1ed3a8e74f9e0e29a30f88802e0a

File Added: pkgsrc/devel/jemalloc/patches/patch-Makefile.in
$NetBSD: patch-Makefile.in,v 1.1 2016/02/18 15:51:59 gson Exp $

Fix permissions of installed static libraries.

--- Makefile.in.orig	2015-10-24 14:56:52.000000000 +0000
+++ Makefile.in
@@ -304,8 +304,8 @@ endif
 install_lib_static: $(STATIC_LIBS)
 	install -d $(LIBDIR)
 	@for l in $(STATIC_LIBS); do \
-	echo "install -m 755 $$l $(LIBDIR)"; \
-	install -m 755 $$l $(LIBDIR); \
+	echo "install -m 644 $$l $(LIBDIR)"; \
+	install -m 644 $$l $(LIBDIR); \
 done
 
 install_lib_pc: $(PC)

File Added: pkgsrc/devel/jemalloc/patches/patch-configure
$NetBSD: patch-configure,v 1.1 2016/02/18 15:51:59 gson Exp $

Remove configure code using git to set version, could be problematic if inside
a git tree (i.e. pkgsrc-wip)

--- configure.orig	2015-10-24 14:57:19.000000000 +0000
+++ configure
@@ -6966,23 +6966,6 @@ fi
 
 
 
-if test "x`test ! \"${srcroot}\" && cd \"${srcroot}\"; git rev-parse --is-inside-work-tree 2>/dev/null`" = "xtrue" ; then
-        rm -f "${objroot}VERSION"
-  for pattern in '[0-9].[0-9].[0-9]' '[0-9].[0-9].[0-9][0-9]' \
-                 '[0-9].[0-9][0-9].[0-9]' '[0-9].[0-9][0-9].[0-9][0-9]' \
-                 '[0-9][0-9].[0-9].[0-9]' '[0-9][0-9].[0-9].[0-9][0-9]' \
-                 '[0-9][0-9].[0-9][0-9].[0-9]' \
-                 '[0-9][0-9].[0-9][0-9].[0-9][0-9]'; do
-    if test ! -e "${objroot}VERSION" ; then
-      (test ! "${srcroot}" && cd "${srcroot}"; git describe --long --abbrev=40 --match="${pattern}") > "${objroot}VERSION.tmp" 2>/dev/null
-      if test $? -eq 0 ; then
-        mv "${objroot}VERSION.tmp" "${objroot}VERSION"
-        break
-      fi
-    fi
-  done
-fi
-rm -f "${objroot}VERSION.tmp"
 if test ! -e "${objroot}VERSION" ; then
   if test ! -e "${srcroot}VERSION" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: Missing VERSION file, and unable to generate it; creating bogus VERSION" >&5