The Xara Xtreme port under development currently uses dlmalloc. In order to use ptmalloc, we need the header file. The patch that follows installs the header file using the same convention as the dlmalloc port. How-To-Repeat: As a side comment, this port could benefit from using posix_memalign(), recently introduced in 7.0-current
Responsible Changed From-To: freebsd-ports-bugs->grog Over to maintainer
While reviewing this port I ended up updating it to version 2 (version 3 is under development). I tried to portlint it a bit so I moved the COPYRIGHT to pkg-message. This package is, fortunately, not GPL'd so updating it is a good idea compared to providing another port. ____________ diff -ruN ptmalloc.orig/Makefile ptmalloc/Makefile --- ptmalloc.orig/Makefile Sun Jun 4 00:12:33 2006 +++ ptmalloc/Makefile Sun Jun 4 01:17:04 2006 @@ -5,19 +5,27 @@ # # $FreeBSD: ports/devel/ptmalloc/Makefile,v 1.1 2004/12/14 02:18:24 grog Exp $ -PORTNAME= ptmalloc -PORTVERSION= 1.0 +PORTNAME= ptmalloc2 +PORTVERSION= 2.0 CATEGORIES= devel MASTER_SITES= http://www.malloc.de/malloc/ -DISTNAME= ptmalloc +DISTNAME= ${PORTNAME}-current MAINTAINER= grog@FreeBSD.org COMMENT= Alternative malloc, performs better with threaded applications +WRKSRC= ${WRKDIR}/${PORTNAME} +INSTALLS_SHLIB= yes + +post-patch: + @${REINPLACE_CMD} -e 's+-pthread+${PTHREAD_LIBS}+g ;' \ + ${WRKSRC}/Makefile do-install: all - ${INSTALL_PROGRAM} ${WRKSRC}/ptmalloc.so ${PREFIX}/lib/libptmalloc.so.1 - ${INSTALL_PROGRAM} ${WRKSRC}/ptmalloc.so ${PREFIX}/lib/libptmalloc.so - ${INSTALL_PROGRAM} ${WRKSRC}/libptmalloc.a ${PREFIX}/lib/libptmalloc.a + ${MKDIR} ${PREFIX}/include/ptmalloc + ${INSTALL_DATA} ${WRKSRC}/malloc.h ${PREFIX}/include/ptmalloc/malloc.h + ${INSTALL_PROGRAM} ${WRKSRC}/malloc.so ${PREFIX}/lib/libptmalloc.so.1 + ${INSTALL_PROGRAM} ${WRKSRC}/malloc.so ${PREFIX}/lib/libptmalloc.so + ${INSTALL_PROGRAM} ${WRKSRC}/libmalloc.a ${PREFIX}/lib/libptmalloc.a post-install: @${ECHO_CMD} diff -ruN ptmalloc.orig/distinfo ptmalloc/distinfo --- ptmalloc.orig/distinfo Sun Jun 4 00:12:33 2006 +++ ptmalloc/distinfo Sun Jun 4 00:14:49 2006 @@ -1,3 +1,3 @@ -MD5 (ptmalloc.tar.gz) = 10b3fce4711eeada16726fd5e218309b -SHA256 (ptmalloc.tar.gz) = 806761559619e37ee78477682dd4b38b861c173c4a7167c753ac6d1799a1af3d -SIZE (ptmalloc.tar.gz) = 55961 +MD5 (ptmalloc2-current.tar.gz) = 37a0b6d757d272bbb1f8bf1a38fe3cb5 +SHA256 (ptmalloc2-current.tar.gz) = 8b9242a36d523a34d0a54782f35bb040cca0be543e838fd838279d70833c7fa2 +SIZE (ptmalloc2-current.tar.gz) = 78506 diff -ruN ptmalloc.orig/files/patch-Makefile ptmalloc/files/patch-Makefile --- ptmalloc.orig/files/patch-Makefile Sun Jun 4 00:12:33 2006 +++ ptmalloc/files/patch-Makefile Sun Jun 4 00:52:40 2006 @@ -1,57 +1,45 @@ ---- Makefile.orig Mon Dec 20 21:58:38 1999 -+++ Makefile Tue Dec 14 13:22:01 2004 -@@ -10,7 +10,7 @@ - - OPT_FLAGS = -O #-g - WARN_FLAGS = # -Wall --SH_FLAGS = -shared -+SH_FLAGS = -shared -fpic - - # Flags for the test programs - T_FLAGS = -DUSE_MALLOC=1 -DMALLOC_HOOKS -DTEST=1 -@@ -27,6 +27,9 @@ - THR_FLAGS = -DUSE_PTHREADS=1 -DUSE_TSD_DATA_HACK -D_REENTRANT - THR_LIBS = -lpthread +--- Makefile.orig Sat Nov 6 07:32:00 2004 ++++ Makefile Sun Jun 4 00:47:43 2006 +@@ -15,12 +15,12 @@ + TAR_FLAGS = --numeric-owner --exclude "*~" --exclude "debian/tmp*" + + #CC = /pkg/gcc-2.95.2-wg/bin/gcc +-CC = cc ++CC ?= cc + + SYS_FLAGS = +-OPT_FLAGS = -g -O # -O2 ++OPT_FLAGS = -O # -O2 + WARN_FLAGS = #-Wall -Wstrict-prototypes +-SH_FLAGS = -shared -fpic ++SH_FLAGS = -shared -fPIC + + INC_FLAGS = -Isysdeps/generic + +@@ -40,13 +40,13 @@ + RANLIB = ranlib + + MALLOC_OBJ = malloc.o malloc-stats.o +-LIB_MALLOC = libmalloc.a ++LIB_MALLOC = libmalloc.a malloc.so + + T_SUF = + TESTS = t-test1$(T_SUF) t-test2$(T_SUF) \ + tst-mallocstate$(T_SUF) tst-mstats$(T_SUF) -+# Target libraries -+LIBS= libptmalloc.a ptmalloc.so -+ - RM = rm -f +-CFLAGS = $(SYS_FLAGS) $(OPT_FLAGS) $(WARN_FLAGS) $(THR_FLAGS) $(INC_FLAGS) ++CFLAGS += $(SYS_FLAGS) $(OPT_FLAGS) $(WARN_FLAGS) $(THR_FLAGS) $(INC_FLAGS) - # Don't need it for the Linux C library 6, see `glibc' target below. -@@ -40,7 +43,9 @@ .c.o: $(CC) -c $(CFLAGS) $< - --all: $(TESTS) -+all: ${LIBS} -+ -+tests: $(TESTS) - - shared: ptmalloc.so - -@@ -48,14 +53,14 @@ - $(CC) -c $(CFLAGS) $(M_FLAGS) $< - - ptmalloc.so: ptmalloc.c ptmalloc.h thread-m.h -- $(CC) $(SH_FLAGS) $(CFLAGS) $(M_FLAGS) $< -o $@ -+ $(CC) $(SH_FLAGS) $(CFLAGS) $(M_FLAGS) ptmalloc.c -o $@ - - again: - $(RM) $(TESTS) - $(MAKE) $(TESTS) - - clean: -- $(RM) ptmalloc.o ptmalloc.so $(TESTS) core -+ $(RM) ptmalloc.o ptmalloc.so $(TESTS) core lib* - - t-test1$(T_SUF): t-test1.c t-test.h thread-m.h $(MALLOC) - $(CC) $(CFLAGS) $(T_FLAGS) t-test1.c $(MALLOC) $(THR_LIBS) -o $@ -@@ -129,3 +134,7 @@ - dist: - cd ..; tar cf - $(DIST_FILES2:%=ptmalloc/%) | \ - gzip -9 >ptmalloc.tar.gz +@@ -137,6 +137,10 @@ + OPT_FLAGS='$(OPT_FLAGS)' THR_FLAGS='-DUSE_TSD_DATA_HACK' \ + INC_FLAGS='-Isysdeps/pthread -Isysdeps/generic -I.' M_FLAGS='$(M_FLAGS)' \ + malloc.so + +libptmalloc.a: ptmalloc.o + ar qcvf $@ ptmalloc.o + ranlib $@ + + sproc: + $(MAKE) THR_FLAGS='' THR_LIBS='' OPT_FLAGS='$(OPT_FLAGS)' CC='$(CC)' \ diff -ruN ptmalloc.orig/pkg-descr ptmalloc/pkg-descr --- ptmalloc.orig/pkg-descr Sun Jun 4 00:12:33 2006 +++ ptmalloc/pkg-descr Sun Jun 4 01:19:56 2006 @@ -1,39 +1,19 @@ ptmalloc is the original version of the malloc that was later included -in GNU libc. Under some circumsntaces, notably with pthreads and -excessive calls to realloc, it performs significantly better than -FreeBSD malloc. This version is *not* GPL or LGPL: +in GNU libc. Under some circumstances, notably with pthreads and +excessive calls to realloc, it can perform significantly better than +FreeBSD malloc. - Copyright (c) 1999 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 aprt of GNU glibc this package is *also* available under the GNU LGPL, +however when using the standalone package *only* the conditions +spelled out in COPYRIGHT apply. -This is not the latest version: it's older than the one in GNU libc. There is a newer version, but it's still marked as "current snapshot". -It's in /usr/ports/devel/ptmalloc-2/. See the web site for more details: WWW: http://www.malloc.de/en/ -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. There's -nothing unusual about it. In particular, the section TUNING in -FreeBSD malloc(3) does not apply. +It appears that the GNU libc man page malloc(3) applies, but it's not +included here for copyright reasons. There's nothing unusual about it. +The section TUNING, in particular, does not apply in FreeBSD malloc(3) This library uses the POSIX pthread_atfork() function which was not committed to -CURRENT until 10 December 2004. See PR bin/68841 for diff -ruN ptmalloc.orig/pkg-message ptmalloc/pkg-message --- ptmalloc.orig/pkg-message Wed Dec 31 19:00:00 1969 +++ ptmalloc/pkg-message Sun Jun 4 01:16:02 2006 @@ -0,0 +1,19 @@ +Copyright (c) 2001-2004 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. diff -ruN ptmalloc.orig/pkg-plist ptmalloc/pkg-plist --- ptmalloc.orig/pkg-plist Sun Jun 4 00:12:33 2006 +++ ptmalloc/pkg-plist Sun Jun 4 00:13:15 2006 @@ -1,3 +1,5 @@ +include/ptmalloc/malloc.h +@dirrm include/ptmalloc lib/libptmalloc.a lib/libptmalloc.so lib/libptmalloc.so.1 Chiacchiera con i tuoi amici in tempo reale! http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com
A minor cleanup over the previous patch: avoid changing the name of the port/package. _________ diff -ruN ptmalloc.orig/Makefile ptmalloc/Makefile --- ptmalloc.orig/Makefile Sun Jun 4 00:12:33 2006 +++ ptmalloc/Makefile Tue Jun 6 14:04:47 2006 @@ -6,18 +6,26 @@ # $FreeBSD: ports/devel/ptmalloc/Makefile,v 1.1 2004/12/14 02:18:24 grog Exp $ PORTNAME= ptmalloc -PORTVERSION= 1.0 +PORTVERSION= 2.0 CATEGORIES= devel MASTER_SITES= http://www.malloc.de/malloc/ -DISTNAME= ptmalloc +DISTNAME= ${PORTNAME}2-current MAINTAINER= grog@FreeBSD.org COMMENT= Alternative malloc, performs better with threaded applications +WRKSRC= ${WRKDIR}/${PORTNAME}2 +INSTALLS_SHLIB= yes + +post-patch: + @${REINPLACE_CMD} -e 's+-pthread+${PTHREAD_LIBS}+g ;' \ + ${WRKSRC}/Makefile do-install: all - ${INSTALL_PROGRAM} ${WRKSRC}/ptmalloc.so ${PREFIX}/lib/libptmalloc.so.1 - ${INSTALL_PROGRAM} ${WRKSRC}/ptmalloc.so ${PREFIX}/lib/libptmalloc.so - ${INSTALL_PROGRAM} ${WRKSRC}/libptmalloc.a ${PREFIX}/lib/libptmalloc.a + ${MKDIR} ${PREFIX}/include/ptmalloc + ${INSTALL_DATA} ${WRKSRC}/malloc.h ${PREFIX}/include/${PORTNAME}/malloc.h + ${INSTALL_PROGRAM} ${WRKSRC}/malloc.so ${PREFIX}/lib/libptmalloc.so.1 + ${INSTALL_PROGRAM} ${WRKSRC}/malloc.so ${PREFIX}/lib/libptmalloc.so + ${INSTALL_PROGRAM} ${WRKSRC}/libmalloc.a ${PREFIX}/lib/libptmalloc.a post-install: @${ECHO_CMD} diff -ruN ptmalloc.orig/distinfo ptmalloc/distinfo --- ptmalloc.orig/distinfo Sun Jun 4 00:12:33 2006 +++ ptmalloc/distinfo Sun Jun 4 00:14:49 2006 @@ -1,3 +1,3 @@ -MD5 (ptmalloc.tar.gz) = 10b3fce4711eeada16726fd5e218309b -SHA256 (ptmalloc.tar.gz) = 806761559619e37ee78477682dd4b38b861c173c4a7167c753ac6d1799a1af3d -SIZE (ptmalloc.tar.gz) = 55961 +MD5 (ptmalloc2-current.tar.gz) = 37a0b6d757d272bbb1f8bf1a38fe3cb5 +SHA256 (ptmalloc2-current.tar.gz) = 8b9242a36d523a34d0a54782f35bb040cca0be543e838fd838279d70833c7fa2 +SIZE (ptmalloc2-current.tar.gz) = 78506 diff -ruN ptmalloc.orig/files/patch-Makefile ptmalloc/files/patch-Makefile --- ptmalloc.orig/files/patch-Makefile Sun Jun 4 00:12:33 2006 +++ ptmalloc/files/patch-Makefile Sun Jun 4 00:52:40 2006 @@ -1,57 +1,45 @@ ---- Makefile.orig Mon Dec 20 21:58:38 1999 -+++ Makefile Tue Dec 14 13:22:01 2004 -@@ -10,7 +10,7 @@ - - OPT_FLAGS = -O #-g - WARN_FLAGS = # -Wall --SH_FLAGS = -shared -+SH_FLAGS = -shared -fpic - - # Flags for the test programs - T_FLAGS = -DUSE_MALLOC=1 -DMALLOC_HOOKS -DTEST=1 -@@ -27,6 +27,9 @@ - THR_FLAGS = -DUSE_PTHREADS=1 -DUSE_TSD_DATA_HACK -D_REENTRANT - THR_LIBS = -lpthread +--- Makefile.orig Sat Nov 6 07:32:00 2004 ++++ Makefile Sun Jun 4 00:47:43 2006 +@@ -15,12 +15,12 @@ + TAR_FLAGS = --numeric-owner --exclude "*~" --exclude "debian/tmp*" + + #CC = /pkg/gcc-2.95.2-wg/bin/gcc +-CC = cc ++CC ?= cc + + SYS_FLAGS = +-OPT_FLAGS = -g -O # -O2 ++OPT_FLAGS = -O # -O2 + WARN_FLAGS = #-Wall -Wstrict-prototypes +-SH_FLAGS = -shared -fpic ++SH_FLAGS = -shared -fPIC + + INC_FLAGS = -Isysdeps/generic + +@@ -40,13 +40,13 @@ + RANLIB = ranlib + + MALLOC_OBJ = malloc.o malloc-stats.o +-LIB_MALLOC = libmalloc.a ++LIB_MALLOC = libmalloc.a malloc.so + + T_SUF = + TESTS = t-test1$(T_SUF) t-test2$(T_SUF) \ + tst-mallocstate$(T_SUF) tst-mstats$(T_SUF) -+# Target libraries -+LIBS= libptmalloc.a ptmalloc.so -+ - RM = rm -f +-CFLAGS = $(SYS_FLAGS) $(OPT_FLAGS) $(WARN_FLAGS) $(THR_FLAGS) $(INC_FLAGS) ++CFLAGS += $(SYS_FLAGS) $(OPT_FLAGS) $(WARN_FLAGS) $(THR_FLAGS) $(INC_FLAGS) - # Don't need it for the Linux C library 6, see `glibc' target below. -@@ -40,7 +43,9 @@ .c.o: $(CC) -c $(CFLAGS) $< - --all: $(TESTS) -+all: ${LIBS} -+ -+tests: $(TESTS) - - shared: ptmalloc.so - -@@ -48,14 +53,14 @@ - $(CC) -c $(CFLAGS) $(M_FLAGS) $< - - ptmalloc.so: ptmalloc.c ptmalloc.h thread-m.h -- $(CC) $(SH_FLAGS) $(CFLAGS) $(M_FLAGS) $< -o $@ -+ $(CC) $(SH_FLAGS) $(CFLAGS) $(M_FLAGS) ptmalloc.c -o $@ - - again: - $(RM) $(TESTS) - $(MAKE) $(TESTS) - - clean: -- $(RM) ptmalloc.o ptmalloc.so $(TESTS) core -+ $(RM) ptmalloc.o ptmalloc.so $(TESTS) core lib* - - t-test1$(T_SUF): t-test1.c t-test.h thread-m.h $(MALLOC) - $(CC) $(CFLAGS) $(T_FLAGS) t-test1.c $(MALLOC) $(THR_LIBS) -o $@ -@@ -129,3 +134,7 @@ - dist: - cd ..; tar cf - $(DIST_FILES2:%=ptmalloc/%) | \ - gzip -9 >ptmalloc.tar.gz +@@ -137,6 +137,10 @@ + OPT_FLAGS='$(OPT_FLAGS)' THR_FLAGS='-DUSE_TSD_DATA_HACK' \ + INC_FLAGS='-Isysdeps/pthread -Isysdeps/generic -I.' M_FLAGS='$(M_FLAGS)' \ + malloc.so + +libptmalloc.a: ptmalloc.o + ar qcvf $@ ptmalloc.o + ranlib $@ + + sproc: + $(MAKE) THR_FLAGS='' THR_LIBS='' OPT_FLAGS='$(OPT_FLAGS)' CC='$(CC)' \ diff -ruN ptmalloc.orig/pkg-descr ptmalloc/pkg-descr --- ptmalloc.orig/pkg-descr Sun Jun 4 00:12:33 2006 +++ ptmalloc/pkg-descr Sun Jun 4 01:19:56 2006 @@ -1,39 +1,19 @@ ptmalloc is the original version of the malloc that was later included -in GNU libc. Under some circumsntaces, notably with pthreads and -excessive calls to realloc, it performs significantly better than -FreeBSD malloc. This version is *not* GPL or LGPL: +in GNU libc. Under some circumstances, notably with pthreads and +excessive calls to realloc, it can perform significantly better than +FreeBSD malloc. - Copyright (c) 1999 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 aprt of GNU glibc this package is *also* available under the GNU LGPL, +however when using the standalone package *only* the conditions +spelled out in COPYRIGHT apply. -This is not the latest version: it's older than the one in GNU libc. There is a newer version, but it's still marked as "current snapshot". -It's in /usr/ports/devel/ptmalloc-2/. See the web site for more details: WWW: http://www.malloc.de/en/ -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. There's -nothing unusual about it. In particular, the section TUNING in -FreeBSD malloc(3) does not apply. +It appears that the GNU libc man page malloc(3) applies, but it's not +included here for copyright reasons. There's nothing unusual about it. +The section TUNING, in particular, does not apply in FreeBSD malloc(3) This library uses the POSIX pthread_atfork() function which was not committed to -CURRENT until 10 December 2004. See PR bin/68841 for diff -ruN ptmalloc.orig/pkg-message ptmalloc/pkg-message --- ptmalloc.orig/pkg-message Wed Dec 31 19:00:00 1969 +++ ptmalloc/pkg-message Sun Jun 4 01:16:02 2006 @@ -0,0 +1,19 @@ +Copyright (c) 2001-2004 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. diff -ruN ptmalloc.orig/pkg-plist ptmalloc/pkg-plist --- ptmalloc.orig/pkg-plist Sun Jun 4 00:12:33 2006 +++ ptmalloc/pkg-plist Sun Jun 4 00:13:15 2006 @@ -1,3 +1,5 @@ +include/ptmalloc/malloc.h +@dirrm include/ptmalloc lib/libptmalloc.a lib/libptmalloc.so lib/libptmalloc.so.1 Chiacchiera con i tuoi amici in tempo reale! http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com
Oops... almost forgot; Since I updated it to version 2.0, it's better to bump the version number. I used a link instead of copying again the shared library though. diff -ruN ptmalloc.orig/Makefile ptmalloc/Makefile --- ptmalloc.orig/Makefile Sun Jun 4 00:12:33 2006 +++ ptmalloc/Makefile Tue Jun 13 12:38:30 2006 @@ -6,18 +6,26 @@ # $FreeBSD: ports/devel/ptmalloc/Makefile,v 1.1 2004/12/14 02:18:24 grog Exp $ PORTNAME= ptmalloc -PORTVERSION= 1.0 +PORTVERSION= 2.0 CATEGORIES= devel MASTER_SITES= http://www.malloc.de/malloc/ -DISTNAME= ptmalloc +DISTNAME= ${PORTNAME}2-current MAINTAINER= grog@FreeBSD.org COMMENT= Alternative malloc, performs better with threaded applications +WRKSRC= ${WRKDIR}/${PORTNAME}2 +INSTALLS_SHLIB= yes + +post-patch: + @${REINPLACE_CMD} -e 's+-pthread+${PTHREAD_LIBS}+g ;' \ + ${WRKSRC}/Makefile do-install: all - ${INSTALL_PROGRAM} ${WRKSRC}/ptmalloc.so ${PREFIX}/lib/libptmalloc.so.1 - ${INSTALL_PROGRAM} ${WRKSRC}/ptmalloc.so ${PREFIX}/lib/libptmalloc.so - ${INSTALL_PROGRAM} ${WRKSRC}/libptmalloc.a ${PREFIX}/lib/libptmalloc.a + ${MKDIR} ${PREFIX}/include/ptmalloc + ${INSTALL_DATA} ${WRKSRC}/malloc.h ${PREFIX}/include/${PORTNAME}/malloc.h + ${INSTALL_PROGRAM} ${WRKSRC}/malloc.so ${PREFIX}/lib/libptmalloc.so + ${LN} -s ${WRKSRC}/malloc.so ${PREFIX}/lib/libptmalloc.so.2 + ${INSTALL_PROGRAM} ${WRKSRC}/libmalloc.a ${PREFIX}/lib/libptmalloc.a post-install: @${ECHO_CMD} diff -ruN ptmalloc.orig/distinfo ptmalloc/distinfo --- ptmalloc.orig/distinfo Sun Jun 4 00:12:33 2006 +++ ptmalloc/distinfo Sun Jun 4 00:14:49 2006 @@ -1,3 +1,3 @@ -MD5 (ptmalloc.tar.gz) = 10b3fce4711eeada16726fd5e218309b -SHA256 (ptmalloc.tar.gz) = 806761559619e37ee78477682dd4b38b861c173c4a7167c753ac6d1799a1af3d -SIZE (ptmalloc.tar.gz) = 55961 +MD5 (ptmalloc2-current.tar.gz) = 37a0b6d757d272bbb1f8bf1a38fe3cb5 +SHA256 (ptmalloc2-current.tar.gz) = 8b9242a36d523a34d0a54782f35bb040cca0be543e838fd838279d70833c7fa2 +SIZE (ptmalloc2-current.tar.gz) = 78506 diff -ruN ptmalloc.orig/files/patch-Makefile ptmalloc/files/patch-Makefile --- ptmalloc.orig/files/patch-Makefile Sun Jun 4 00:12:33 2006 +++ ptmalloc/files/patch-Makefile Sun Jun 4 00:52:40 2006 @@ -1,57 +1,45 @@ ---- Makefile.orig Mon Dec 20 21:58:38 1999 -+++ Makefile Tue Dec 14 13:22:01 2004 -@@ -10,7 +10,7 @@ - - OPT_FLAGS = -O #-g - WARN_FLAGS = # -Wall --SH_FLAGS = -shared -+SH_FLAGS = -shared -fpic - - # Flags for the test programs - T_FLAGS = -DUSE_MALLOC=1 -DMALLOC_HOOKS -DTEST=1 -@@ -27,6 +27,9 @@ - THR_FLAGS = -DUSE_PTHREADS=1 -DUSE_TSD_DATA_HACK -D_REENTRANT - THR_LIBS = -lpthread +--- Makefile.orig Sat Nov 6 07:32:00 2004 ++++ Makefile Sun Jun 4 00:47:43 2006 +@@ -15,12 +15,12 @@ + TAR_FLAGS = --numeric-owner --exclude "*~" --exclude "debian/tmp*" + + #CC = /pkg/gcc-2.95.2-wg/bin/gcc +-CC = cc ++CC ?= cc + + SYS_FLAGS = +-OPT_FLAGS = -g -O # -O2 ++OPT_FLAGS = -O # -O2 + WARN_FLAGS = #-Wall -Wstrict-prototypes +-SH_FLAGS = -shared -fpic ++SH_FLAGS = -shared -fPIC + + INC_FLAGS = -Isysdeps/generic + +@@ -40,13 +40,13 @@ + RANLIB = ranlib + + MALLOC_OBJ = malloc.o malloc-stats.o +-LIB_MALLOC = libmalloc.a ++LIB_MALLOC = libmalloc.a malloc.so + + T_SUF = + TESTS = t-test1$(T_SUF) t-test2$(T_SUF) \ + tst-mallocstate$(T_SUF) tst-mstats$(T_SUF) -+# Target libraries -+LIBS= libptmalloc.a ptmalloc.so -+ - RM = rm -f +-CFLAGS = $(SYS_FLAGS) $(OPT_FLAGS) $(WARN_FLAGS) $(THR_FLAGS) $(INC_FLAGS) ++CFLAGS += $(SYS_FLAGS) $(OPT_FLAGS) $(WARN_FLAGS) $(THR_FLAGS) $(INC_FLAGS) - # Don't need it for the Linux C library 6, see `glibc' target below. -@@ -40,7 +43,9 @@ .c.o: $(CC) -c $(CFLAGS) $< - --all: $(TESTS) -+all: ${LIBS} -+ -+tests: $(TESTS) - - shared: ptmalloc.so - -@@ -48,14 +53,14 @@ - $(CC) -c $(CFLAGS) $(M_FLAGS) $< - - ptmalloc.so: ptmalloc.c ptmalloc.h thread-m.h -- $(CC) $(SH_FLAGS) $(CFLAGS) $(M_FLAGS) $< -o $@ -+ $(CC) $(SH_FLAGS) $(CFLAGS) $(M_FLAGS) ptmalloc.c -o $@ - - again: - $(RM) $(TESTS) - $(MAKE) $(TESTS) - - clean: -- $(RM) ptmalloc.o ptmalloc.so $(TESTS) core -+ $(RM) ptmalloc.o ptmalloc.so $(TESTS) core lib* - - t-test1$(T_SUF): t-test1.c t-test.h thread-m.h $(MALLOC) - $(CC) $(CFLAGS) $(T_FLAGS) t-test1.c $(MALLOC) $(THR_LIBS) -o $@ -@@ -129,3 +134,7 @@ - dist: - cd ..; tar cf - $(DIST_FILES2:%=ptmalloc/%) | \ - gzip -9 >ptmalloc.tar.gz +@@ -137,6 +137,10 @@ + OPT_FLAGS='$(OPT_FLAGS)' THR_FLAGS='-DUSE_TSD_DATA_HACK' \ + INC_FLAGS='-Isysdeps/pthread -Isysdeps/generic -I.' M_FLAGS='$(M_FLAGS)' \ + malloc.so + +libptmalloc.a: ptmalloc.o + ar qcvf $@ ptmalloc.o + ranlib $@ + + sproc: + $(MAKE) THR_FLAGS='' THR_LIBS='' OPT_FLAGS='$(OPT_FLAGS)' CC='$(CC)' \ diff -ruN ptmalloc.orig/pkg-descr ptmalloc/pkg-descr --- ptmalloc.orig/pkg-descr Sun Jun 4 00:12:33 2006 +++ ptmalloc/pkg-descr Sun Jun 4 01:19:56 2006 @@ -1,39 +1,19 @@ ptmalloc is the original version of the malloc that was later included -in GNU libc. Under some circumsntaces, notably with pthreads and -excessive calls to realloc, it performs significantly better than -FreeBSD malloc. This version is *not* GPL or LGPL: +in GNU libc. Under some circumstances, notably with pthreads and +excessive calls to realloc, it can perform significantly better than +FreeBSD malloc. - Copyright (c) 1999 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 aprt of GNU glibc this package is *also* available under the GNU LGPL, +however when using the standalone package *only* the conditions +spelled out in COPYRIGHT apply. -This is not the latest version: it's older than the one in GNU libc. There is a newer version, but it's still marked as "current snapshot". -It's in /usr/ports/devel/ptmalloc-2/. See the web site for more details: WWW: http://www.malloc.de/en/ -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. There's -nothing unusual about it. In particular, the section TUNING in -FreeBSD malloc(3) does not apply. +It appears that the GNU libc man page malloc(3) applies, but it's not +included here for copyright reasons. There's nothing unusual about it. +The section TUNING, in particular, does not apply in FreeBSD malloc(3) This library uses the POSIX pthread_atfork() function which was not committed to -CURRENT until 10 December 2004. See PR bin/68841 for diff -ruN ptmalloc.orig/pkg-message ptmalloc/pkg-message --- ptmalloc.orig/pkg-message Wed Dec 31 19:00:00 1969 +++ ptmalloc/pkg-message Sun Jun 4 01:16:02 2006 @@ -0,0 +1,19 @@ +Copyright (c) 2001-2004 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. diff -ruN ptmalloc.orig/pkg-plist ptmalloc/pkg-plist --- ptmalloc.orig/pkg-plist Sun Jun 4 00:12:33 2006 +++ ptmalloc/pkg-plist Tue Jun 13 12:37:46 2006 @@ -1,3 +1,5 @@ +include/ptmalloc/malloc.h +@dirrm include/ptmalloc lib/libptmalloc.a lib/libptmalloc.so -lib/libptmalloc.so.1 +lib/libptmalloc.so.2 Chiacchiera con i tuoi amici in tempo reale! http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com
I've waited for a while but I never heard back from the maintainer. The header were included in the distribution but the port was bever updated. Here is an updated patch for version 2. I also added a regression-test target which seems really nice to have. ___________________________________ Scopri il Blog di Yahoo! Mail: trucchi, novità , consigli... e la tua opinione! http://www.ymailblogit.com/blog/
Ugh.. cleanups: - Let's not change the name of the port. - a small typo I made in the installation. I suspect this won't be committed for another two years but at least I tried ;-). Vuoi incontrare Rihanna? Partecipa al concorso di Yahoo! http://it.launch.yahoo.com/concorso/rihanna.html
jasone 2008-08-14 18:46:25 UTC FreeBSD ports repository (src committer) Modified files: devel/ptmalloc Makefile distinfo pkg-descr pkg-plist devel/ptmalloc/files patch-Makefile Log: Update devel/ptmalloc to ptmalloc2. PR: ports/95179 Submitted by: Pedro Giffuni <giffunip@asme.org> Revision Changes Path 1.4 +14 -8 ports/devel/ptmalloc/Makefile 1.3 +3 -3 ports/devel/ptmalloc/distinfo 1.3 +40 -45 ports/devel/ptmalloc/files/patch-Makefile 1.5 +1 -15 ports/devel/ptmalloc/pkg-descr 1.3 +1 -1 ports/devel/ptmalloc/pkg-plist _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Patch committed (with minor changes). Thanks!