Date: Wed, 15 Jan 2014 19:52:55 +0000 (UTC) From: Matthias Andree <mandree@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r339812 - in head/devel/google-perftools: . files Message-ID: <201401151952.s0FJqtAc097387@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@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@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@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 +@dirrmtry include/gperftools @dirrmtry include/google %%PORTDOCS%%@dirrm %%DOCSDIR%%
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201401151952.s0FJqtAc097387>