ports/127012: Update devel/ptmalloc to version 3
Pedro Giffuni
giffunip at tutopia.com
Sun Aug 31 20:10:07 UTC 2008
>Number: 127012
>Category: ports
>Synopsis: Update devel/ptmalloc to version 3
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Sun Aug 31 20:10:06 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Pedro Giffuni
>Release: 7.0-Release
>Organization:
>Environment:
FreeBSD kakumen.cable.net.co 7.0-RELEASE-p3 FreeBSD 7.0-RELEASE-p3 #0: Fri Aug 8 16:42:27 COT 2008 root at kakumen.cable.net.co:/usr/src/sys/amd64/compile/GENERIC amd64
>Description:
- Update to the new version 3: this version is newer than the one in glibc and apparently performs much better in the cases where we are likely to use it.
- Move the copyright/license to pkg-message, pkg-descr is not really meant for this.
>How-To-Repeat:
NOTE: This port is only used by graphics/xaralx, and only when jemalloc is not available so the dependency must be updated in that port: I did test xaralx with ptmalloc3 in my platform to avoid any possible incompatibility.
>Fix:
diff -ruN ptmalloc.orig/Makefile ptmalloc/Makefile
--- ptmalloc.orig/Makefile 2008-08-30 16:42:15.000000000 -0500
+++ ptmalloc/Makefile 2008-08-30 23:00:28.000000000 -0500
@@ -6,17 +6,18 @@
# $FreeBSD: ports/devel/ptmalloc/Makefile,v 1.7 2008/08/21 07:08:31 vd Exp $
PORTNAME= ptmalloc
-PORTVERSION= 2.0
-PORTREVISION= 1
+PORTVERSION= 3.0
CATEGORIES= devel
MASTER_SITES= http://www.malloc.de/malloc/
-DISTNAME= ${PORTNAME}2-current
+DISTNAME= ${PORTNAME}3-current
MAINTAINER= giffunip at tutopia.com
COMMENT= Alternative threads-aware malloc
USE_LD_CONFIG= yes
-WRKSRC= ${WRKDIR}/${PORTNAME}2
+WRKSRC= ${WRKDIR}/${PORTNAME}3
+
+USE_GMAKE= yes
ALL_TARGET= posix
INCDIR= include/${PORTNAME}
@@ -28,10 +29,10 @@
do-install: all
${MKDIR} ${PREFIX}/${INCDIR}
- ${INSTALL_DATA} ${WRKSRC}/malloc.h ${PREFIX}/${INCDIR}/
- ${INSTALL_DATA} ${WRKSRC}/malloc.so ${PREFIX}/lib/libptmalloc.so.2
- ${LN} -s ${PREFIX}/lib/ptmalloc.so.2 ${PREFIX}/lib/libptmalloc.so
- ${INSTALL_DATA} ${WRKSRC}/libmalloc.a ${PREFIX}/lib/libptmalloc.a
+ ${INSTALL_DATA} ${WRKSRC}/malloc-2.8.3.h ${PREFIX}/${INCDIR}/
+ ${INSTALL_DATA} ${WRKSRC}/libptmalloc3.a ${PREFIX}/lib/libptmalloc.a
+ ${INSTALL_DATA} ${WRKSRC}/ptmalloc3.so ${PREFIX}/lib/libptmalloc.so.3
+ ${LN} -s ${PREFIX}/lib/ptmalloc.so.3 ${PREFIX}/lib/libptmalloc.so
regression-test: build
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} check
diff -ruN ptmalloc.orig/distinfo ptmalloc/distinfo
--- ptmalloc.orig/distinfo 2008-08-30 16:42:15.000000000 -0500
+++ ptmalloc/distinfo 2008-08-15 01:39:12.000000000 -0500
@@ -1,3 +1,3 @@
-MD5 (ptmalloc2-current.tar.gz) = 3db9e72c01ce55da006cdc56b966d7fa
-SHA256 (ptmalloc2-current.tar.gz) = 46a5691b19557fde3c3b97c3d86649a40cf5a2a1f4129c37b360907dd1fbdd5a
-SIZE (ptmalloc2-current.tar.gz) = 78594
+MD5 (ptmalloc3-current.tar.gz) = c0b9dd5f16f8eae979166dc74b60015c
+SHA256 (ptmalloc3-current.tar.gz) = f353606f24a579597a1ff5b51009a45d75da047b3975d82c3f613f85bcf312db
+SIZE (ptmalloc3-current.tar.gz) = 82712
diff -ruN ptmalloc.orig/files/patch-Makefile ptmalloc/files/patch-Makefile
--- ptmalloc.orig/files/patch-Makefile 2008-08-30 16:42:15.000000000 -0500
+++ ptmalloc/files/patch-Makefile 2008-08-30 17:40:45.000000000 -0500
@@ -1,34 +1,32 @@
---- Makefile.orig 2006-06-05 06:13:57.000000000 -0500
-+++ Makefile 2008-06-17 20:56:10.000000000 -0500
-@@ -15,12 +15,12 @@
+--- Makefile.orig 2006-03-31 11:25:23.000000000 -0500
++++ Makefile 2008-08-30 17:37:37.000000000 -0500
+@@ -17,12 +17,12 @@
TAR_FLAGS = --numeric-owner --exclude "*~" --exclude "debian/tmp*"
#CC = /pkg/gcc-2.95.2-wg/bin/gcc
--CC = cc
+-CC = gcc
+CC ?= cc
SYS_FLAGS =
--OPT_FLAGS = -g -O # -O2
-+OPT_FLAGS = -O2 # -O2
- WARN_FLAGS = #-Wall -Wstrict-prototypes
+-OPT_FLAGS = -g -O2 #-O # -O2
++OPT_FLAGS = -O2 #-O # -O2
+ WARN_FLAGS = -Wall -Wstrict-prototypes
-SH_FLAGS = -shared -fpic
+SH_FLAGS = -shared -fPIC
INC_FLAGS = -Isysdeps/generic
-@@ -35,6 +35,9 @@
- THR_FLAGS = -DUSE_TSD_DATA_HACK -D_REENTRANT
- THR_LIBS = -lpthread
+@@ -44,17 +44,20 @@
+ MALLOC_OBJ = ptmalloc3.o malloc.o
+ LIB_MALLOC = libptmalloc3.a
+# Target libraries
-+LIBS= libmalloc.a malloc.so
++LIBS = libptmalloc3.a ptmalloc3.so
+
- RM = rm -f
- AR = ar
- RANLIB = ranlib
-@@ -46,12 +49,12 @@
+ T_SUF =
TESTS = t-test1$(T_SUF) t-test2$(T_SUF) \
- tst-mallocstate$(T_SUF) tst-mstats$(T_SUF)
+ tst-independent-alloc$(T_SUF)
+ #m-test1$(T_SUF) tst-mallocstate$(T_SUF) tst-mstats$(T_SUF)
-CFLAGS = $(SYS_FLAGS) $(OPT_FLAGS) $(WARN_FLAGS) $(THR_FLAGS) $(INC_FLAGS)
+CFLAGS += $(SYS_FLAGS) $(OPT_FLAGS) $(WARN_FLAGS) $(THR_FLAGS) $(INC_FLAGS)
@@ -39,14 +37,15 @@
-all: $(LIB_MALLOC) $(TESTS)
+all: $(LIBS) $(TESTS)
- malloc.o: malloc.c malloc.h
- $(CC) -c $(CFLAGS) $(M_FLAGS) $<
-@@ -102,7 +105,7 @@
- posix:
- $(MAKE) THR_FLAGS='-DUSE_TSD_DATA_HACK -D_REENTRANT' \
- OPT_FLAGS='$(OPT_FLAGS)' SYS_FLAGS='$(SYS_FLAGS)' CC='$(CC)' \
-- INC_FLAGS='-Isysdeps/pthread -Isysdeps/generic -I.'
-+ INC_FLAGS='-Isysdeps/pthread -Isysdeps/generic -I.' \
- THR_LIBS=-lpthread
+ ptmalloc3.o: ptmalloc3.c malloc-2.8.3.h
+ $(CC) -c $(CFLAGS) $(M_FLAGS) -DMSPACES=1 $<
+@@ -72,6 +75,9 @@
+ libptmalloc3.so: $(MALLOC_OBJ)
+ $(CC) $(SH_FLAGS) $(CFLAGS) $(M_FLAGS) $(MALLOC_OBJ) -o $@
- # posix threads with explicit initialization. Known to be needed on HPUX.
++ptmalloc3.so: ptmalloc3.c malloc-2.8.3.h
++ $(CC) $(SH_FLAGS) $(CFLAGS) $(M_FLAGS) ptmalloc3.c -o $@
++
+ again:
+ $(RM) $(TESTS)
+ $(MAKE) $(TESTS)
diff -ruN ptmalloc.orig/pkg-descr ptmalloc/pkg-descr
--- ptmalloc.orig/pkg-descr 2008-08-30 16:42:15.000000000 -0500
+++ ptmalloc/pkg-descr 2008-08-30 20:24:26.000000000 -0500
@@ -1,28 +1,14 @@
-ptmalloc is the original version of the malloc that was later included
-in GNU libc. This version is also but *not* exclusively LGPL:
+This package is a modified version of Doug Lea's malloc-2.8.3
+implementation adapted for multiple threads, while trying to
+avoid lock contention as much as possible.
- Copyright (c) 2001-2006 Wolfram Gloger
-
- Permission to use, copy, modify, distribute, and sell this software
- and its documentation for any purpose is hereby granted without fee,
- provided that (i) the above copyright notices and this permission
- notice appear in all copies of the software and related
- documentation, and (ii) the name of Wolfram Gloger may not be used
- in any advertising or publicity relating to the software.
-
- THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
- EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-
- IN NO EVENT SHALL WOLFRAM GLOGER BE LIABLE FOR ANY SPECIAL,
- INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY
- DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY
- THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
+As part of the GNU C library, the source files may be available under
+the GNU Library General Public License (see the comments in the
+files). But as part of this stand-alone package, the code is also
+available under the (probably less restrictive) conditions described
+in the file 'COPYRIGHT'. In any case, there is no warranty whatsoever
+for this package.
-This package comes with no documentation beyond a README, which isn't
-worth installing. It appears that the GNU libc man page malloc(3)
-applies, but it's not included here for copyright reasons.
+This release was partly funded by Pixar Animation Studios.
WWW: http://www.malloc.de/en/
diff -ruN ptmalloc.orig/pkg-message ptmalloc/pkg-message
--- ptmalloc.orig/pkg-message 1969-12-31 19:00:00.000000000 -0500
+++ ptmalloc/pkg-message 2008-08-30 18:39:56.000000000 -0500
@@ -0,0 +1,19 @@
+Copyright (c) 2001-2006 Wolfram Gloger
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that (i) the above copyright notices and this permission
+notice appear in all copies of the software and related documentation,
+and (ii) the name of Wolfram Gloger may not be used in any advertising
+or publicity relating to the software.
+
+THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
+EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+IN NO EVENT SHALL WOLFRAM GLOGER BE LIABLE FOR ANY SPECIAL,
+INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY
+DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY
+OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list