svn commit: r339812 - in head/devel/google-perftools: . files
Matthias Andree
mandree at FreeBSD.org
Wed Jan 15 19:52:56 UTC 2014
Author: mandree
Date: Wed Jan 15 19:52:54 2014
New Revision: 339812
URL: http://svnweb.freebsd.org/changeset/ports/339812
QAT: https://qat.redports.org/buildarchive/r339812/
Log:
Maintainer upgrade to a new version. Also fixes FreeBSD 10+ build
failures.
Note I have revised the Makefile, and I have also added USE_GCC=any
because we get considerably more "make check" failures with clang.
PR: ports/185261
PR: ports/185797
Submitted by: Yuri <yuri at rawbw.com> (maintainer)
Added:
head/devel/google-perftools/files/patch-malloc_hook_mmap_freebsd.h (contents, props changed)
head/devel/google-perftools/files/patch-static_vars.cc (contents, props changed)
Modified:
head/devel/google-perftools/Makefile (contents, props changed)
head/devel/google-perftools/distinfo (contents, props changed)
head/devel/google-perftools/files/patch-pprof (contents, props changed)
head/devel/google-perftools/pkg-plist (contents, props changed)
Modified: head/devel/google-perftools/Makefile
==============================================================================
--- head/devel/google-perftools/Makefile Wed Jan 15 19:50:34 2014 (r339811)
+++ head/devel/google-perftools/Makefile Wed Jan 15 19:52:54 2014 (r339812)
@@ -2,27 +2,37 @@
# $FreeBSD$
PORTNAME= google-perftools
-PORTVERSION= 1.8.3
+PORTVERSION= 2.1
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GOOGLE_CODE} \
${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= vd/${PORTNAME}
+DISTNAME= gperftools-${PORTVERSION}
MAINTAINER= yuri at tsoft.com
COMMENT= Fast, multi-threaded malloc() and nifty performance analysis tools
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+PROJECTHOST= gperftools
+
+WRKSRC= ${WRKDIR}/gperftools-${PORTVERSION}
+DOCSDIR= ${PREFIX}/share/doc/gperftools
+
+BUILD_DEPENDS+= ${LOCALBASE}/include/execinfo.h:${PORTSDIR}/devel/libexecinfo
+LIB_DEPENDS+= libexecinfo.so:${PORTSDIR}/devel/libexecinfo
+
GNU_CONFIGURE= yes
+USE_GCC= any # clang causes 7 more test case failures in "make check"
USE_LDCONFIG= yes
-MAN1= pprof.1
-LICENSE= BSD
-LICENSE_FILE= ${WRKSRC}/COPYING
+CONFIGURE_ARGS+=CPPFLAGS=-I${LOCALBASE}/include LIBS=-lexecinfo LDFLAGS=-L${LOCALBASE}/lib
-USES= pathfix
+.include <bsd.port.options.mk>
-NO_STAGE= yes
post-patch:
-.if defined(NOPORTDOCS)
+.if empty(PORT_OPTIONS:MDOCS)
${REINPLACE_CMD} -e \
'/^install-data-am:/ s|install-dist_docDATA||' \
${WRKSRC}/Makefile.in
@@ -30,10 +40,14 @@ post-patch:
post-build:
@${ECHO}
- @${ECHO} "Please run 'make check' and verify there are no failing testcases on your system."
+ @${ECHO} "Please run 'make check'. Two testcases are known to fail."
@${ECHO} "Report any testcase failures to http://code.google.com/p/google-perftools/issues/list"
@${ECHO}
+post-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/libdata
+ ${MV} ${STAGEDIR}${PREFIX}/lib/pkgconfig ${STAGEDIR}${PREFIX}/libdata
+
# four of the tests are known to fail on 7.0, uncomment this as soon as this is fixed
#regression-test: check
Modified: head/devel/google-perftools/distinfo
==============================================================================
--- head/devel/google-perftools/distinfo Wed Jan 15 19:50:34 2014 (r339811)
+++ head/devel/google-perftools/distinfo Wed Jan 15 19:52:54 2014 (r339812)
@@ -1,2 +1,2 @@
-SHA256 (google-perftools-1.8.3.tar.gz) = 6ad744b34abb24312631740d9912f4667993b02e5f59b91246c31a2a911a9d59
-SIZE (google-perftools-1.8.3.tar.gz) = 1265062
+SHA256 (gperftools-2.1.tar.gz) = f3ade29924f89409d8279ab39e00af7420593baa4941c318db42e70ead7e494f
+SIZE (gperftools-2.1.tar.gz) = 1319896
Added: head/devel/google-perftools/files/patch-malloc_hook_mmap_freebsd.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/google-perftools/files/patch-malloc_hook_mmap_freebsd.h Wed Jan 15 19:52:54 2014 (r339812)
@@ -0,0 +1,58 @@
+--- src/malloc_hook_mmap_freebsd.h 2014-01-15 00:52:17.000000000 -0800
++++ src/malloc_hook_mmap_freebsd.h 2014-01-15 01:12:48.000000000 -0800
+@@ -39,6 +39,7 @@
+ #include <sys/syscall.h>
+ #include <sys/mman.h>
+ #include <errno.h>
++#include <dlfcn.h>
+
+ // Make sure mmap doesn't get #define'd away by <sys/mman.h>
+ #undef mmap
+@@ -73,43 +74,11 @@
+ }
+
+ static inline void* do_sbrk(intptr_t increment) {
+- void* curbrk = 0;
++ static void *(*libc_sbrk)(intptr_t);
++ if (libc_sbrk == NULL)
++ libc_sbrk = (void *(*)(intptr_t))dlsym(RTLD_NEXT, "sbrk");
+
+-#if defined(__x86_64__) || defined(__amd64__)
+-# ifdef PIC
+- __asm__ __volatile__(
+- "movq .curbrk at GOTPCREL(%%rip), %%rdx;"
+- "movq (%%rdx), %%rax;"
+- "movq %%rax, %0;"
+- : "=r" (curbrk)
+- :: "%rdx", "%rax");
+-# else
+- __asm__ __volatile__(
+- "movq .curbrk(%%rip), %%rax;"
+- "movq %%rax, %0;"
+- : "=r" (curbrk)
+- :: "%rax");
+-# endif
+-#else
+- __asm__ __volatile__(
+- "movl .curbrk, %%eax;"
+- "movl %%eax, %0;"
+- : "=r" (curbrk)
+- :: "%eax");
+-#endif
+-
+- if (increment == 0) {
+- return curbrk;
+- }
+-
+- char* prevbrk = static_cast<char*>(curbrk);
+- void* newbrk = prevbrk + increment;
+-
+- if (brk(newbrk) == -1) {
+- return reinterpret_cast<void*>(static_cast<intptr_t>(-1));
+- }
+-
+- return prevbrk;
++ return libc_sbrk(increment);
+ }
+
+
Modified: head/devel/google-perftools/files/patch-pprof
==============================================================================
--- head/devel/google-perftools/files/patch-pprof Wed Jan 15 19:50:34 2014 (r339811)
+++ head/devel/google-perftools/files/patch-pprof Wed Jan 15 19:52:54 2014 (r339812)
@@ -1,6 +1,19 @@
---- src/pprof.orig 2010-06-16 19:42:24.000000000 -0700
-+++ src/pprof 2010-06-16 19:43:19.000000000 -0700
-@@ -3369,7 +3369,7 @@
+--- src/pprof.orig 2012-02-03 15:39:48.000000000 -0800
++++ src/pprof 2013-05-03 10:29:08.000000000 -0700
+@@ -752,10 +752,9 @@
+ # (Stop once we find one.)
+ # Works best if the browser is already running.
+ my @alt = (
+- "/etc/alternatives/gnome-www-browser",
+- "/etc/alternatives/x-www-browser",
+- "google-chrome",
++ "chrome",
+ "firefox",
++ "opera"
+ );
+ foreach my $b (@alt) {
+ if (system($b, $fname) == 0) {
+@@ -4345,7 +4344,7 @@
my $finish;
my $offset;
my $lib;
@@ -9,4 +22,3 @@
# Full line from /proc/self/maps. Example:
# 40000000-40015000 r-xp 00000000 03:01 12845071 /lib/ld-2.3.2.so
$start = HexExtend($1);
-
Added: head/devel/google-perftools/files/patch-static_vars.cc
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/google-perftools/files/patch-static_vars.cc Wed Jan 15 19:52:54 2014 (r339812)
@@ -0,0 +1,10 @@
+--- src/static_vars.cc 2014-01-14 17:23:28.000000000 -0800
++++ src/static_vars.cc 2014-01-14 17:28:39.000000000 -0800
+@@ -37,6 +37,7 @@
+ #include "common.h"
+ #include "sampler.h" // for Sampler
+ #include "base/googleinit.h"
++#include <pthread.h>
+
+ namespace tcmalloc {
+
Modified: head/devel/google-perftools/pkg-plist
==============================================================================
--- head/devel/google-perftools/pkg-plist Wed Jan 15 19:50:34 2014 (r339811)
+++ head/devel/google-perftools/pkg-plist Wed Jan 15 19:52:54 2014 (r339812)
@@ -8,35 +8,45 @@ include/google/malloc_hook_c.h
include/google/profiler.h
include/google/stacktrace.h
include/google/tcmalloc.h
+include/gperftools/heap-checker.h
+include/gperftools/heap-profiler.h
+include/gperftools/malloc_extension.h
+include/gperftools/malloc_extension_c.h
+include/gperftools/malloc_hook.h
+include/gperftools/malloc_hook_c.h
+include/gperftools/profiler.h
+include/gperftools/stacktrace.h
+include/gperftools/tcmalloc.h
lib/libprofiler.a
lib/libprofiler.la
lib/libprofiler.so
-lib/libprofiler.so.1
+lib/libprofiler.so.3
lib/libtcmalloc.a
lib/libtcmalloc.la
lib/libtcmalloc.so
-lib/libtcmalloc.so.2
+lib/libtcmalloc.so.5
lib/libtcmalloc_and_profiler.a
lib/libtcmalloc_and_profiler.la
lib/libtcmalloc_and_profiler.so
-lib/libtcmalloc_and_profiler.so.2
+lib/libtcmalloc_and_profiler.so.5
lib/libtcmalloc_debug.a
lib/libtcmalloc_debug.la
lib/libtcmalloc_debug.so
-lib/libtcmalloc_debug.so.2
+lib/libtcmalloc_debug.so.5
lib/libtcmalloc_minimal.a
lib/libtcmalloc_minimal.la
lib/libtcmalloc_minimal.so
-lib/libtcmalloc_minimal.so.2
+lib/libtcmalloc_minimal.so.5
lib/libtcmalloc_minimal_debug.a
lib/libtcmalloc_minimal_debug.la
lib/libtcmalloc_minimal_debug.so
-lib/libtcmalloc_minimal_debug.so.2
+lib/libtcmalloc_minimal_debug.so.5
libdata/pkgconfig/libprofiler.pc
libdata/pkgconfig/libtcmalloc.pc
libdata/pkgconfig/libtcmalloc_debug.pc
libdata/pkgconfig/libtcmalloc_minimal.pc
libdata/pkgconfig/libtcmalloc_minimal_debug.pc
+man/man1/pprof.1.gz
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
%%PORTDOCS%%%%DOCSDIR%%/INSTALL
@@ -86,5 +96,6 @@ libdata/pkgconfig/libtcmalloc_minimal_de
%%PORTDOCS%%%%DOCSDIR%%/tcmalloc.html
%%PORTDOCS%%%%DOCSDIR%%/threadheap.dot
%%PORTDOCS%%%%DOCSDIR%%/threadheap.gif
+ at dirrmtry include/gperftools
@dirrmtry include/google
%%PORTDOCS%%@dirrm %%DOCSDIR%%
More information about the svn-ports-head
mailing list