NetBSD Problem Report #49625

From www@NetBSD.org  Sun Feb  1 21:13:14 2015
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 7C5EFA582D
	for <gnats-bugs@gnats.NetBSD.org>; Sun,  1 Feb 2015 21:13:14 +0000 (UTC)
Message-Id: <20150201211312.C6F94A65B0@mollari.NetBSD.org>
Date: Sun,  1 Feb 2015 21:13:12 +0000 (UTC)
From: jonthn+pkgsrc@pinacea.com
Reply-To: jonthn+pkgsrc@pinacea.com
To: gnats-bugs@NetBSD.org
Subject: Update pkgsrc package 'gperftools' to 2.4
X-Send-Pr-Version: www-1.0

>Number:         49625
>Category:       pkg
>Synopsis:       Update pkgsrc package 'gperftools' to 2.4
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    hiramatsu
>State:          closed
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Sun Feb 01 21:15:00 +0000 2015
>Closed-Date:    Fri Apr 03 14:13:59 +0000 2015
>Last-Modified:  Fri Apr 03 14:13:59 +0000 2015
>Originator:     Jonathan Buschmann
>Release:        
>Organization:
>Environment:
>Description:
I saw in a bulk build report that this package didn't built on OSX so I took a look.
I've quickly checked on NetBSD and I had to remove the -lexecinfo, not quite sure why but it seems to work on NetBSD 6.
It's still commented (in the patch below) in the Makefile but I adapted as there is an option in the configure script that links to libexecinfo
Also instead of adding a specific PLIST for Darwin I just copied the missing heap_checker.html I didn't look in detail why it wasn't installed.

Also the URL for the sources is a Google drive folder (https://drive.google.com/folderview?id=0B6NtGsLhIcf7MWxMMF9JdTN3UVk#list)
The fetch link may seem a bit strange :(

An approximate Changelog :

== 2.4 ==

+ enabled aggressive decommit option by default, significantly improve memory fragmentation
+ new ./configure flags for tcmalloc pagesize and tcmalloc allocation alignment.
+ Faster malloc/free, 5% on static library and about 10% on shared library. Mainly due to more efficient checking of malloc hooks. 
+ Improved accuracy of stacktrace capturing in cpu profiler

== 2.3 ==

+ New experimental method for CPU profiling (only for Linux)
+ Most are fixes to pprof
+ Few other fixes, notably libunwind integration (selectable in configure step) and disabled on OSX & ppc64

== 2.2 ==

+ Support for mips/mips64/aarch64/ppc64-le
+ New method for capturing backtrace
+ More fixes
+ Fixes for Windows
+ Sources served by Google drive

>How-To-Repeat:

>Fix:
diff --git a/devel/gperftools/Makefile b/devel/gperftools/Makefile
index 6f81150..e7afcc4 100644
--- a/devel/gperftools/Makefile
+++ b/devel/gperftools/Makefile
@@ -1,9 +1,8 @@
 # $NetBSD: Makefile,v 1.2 2014/05/29 23:35:35 wiz Exp $

-DISTNAME=	gperftools-2.1
-PKGREVISION=	1
+DISTNAME=	gperftools-2.4
 CATEGORIES=	devel
-MASTER_SITES=	https://gperftools.googlecode.com/files/
+MASTER_SITES=	https://googledrive.com/host/0B6NtGsLhIcf7MWxMMF9JdTN3UVk/

 MAINTAINER=	cheusov@NetBSD.org
 HOMEPAGE=	https://code.google.com/p/gperftools/
@@ -19,6 +18,18 @@ USE_LANGUAGES=		c c++

 CONFIGURE_ARGS+=	--enable-frame-pointers # per README

+.include "../../mk/bsd.prefs.mk"
+
+#.if ${OPSYS} == "NetBSD"
+#CONFIGURE_ENV+=		ac_cv_lib_execinfo_backtrace=yes
+#.endif
+
+.if ${OPSYS} == "Darwin"
+post-install:
+	${INSTALL_DATA} ${WRKSRC}/doc/heap_checker.html ${DESTDIR}${PREFIX}/share/doc/${PKGNAME}/heap_checker.html
+.endif
+
+
 # http://code.google.com/p/gperftools/issues/detail?id=609

 PKGCONFIG_OVERRIDE=	libprofiler.pc
diff --git a/devel/gperftools/distinfo b/devel/gperftools/distinfo
index fcead28..2671614 100644
--- a/devel/gperftools/distinfo
+++ b/devel/gperftools/distinfo
@@ -1,6 +1,5 @@
 $NetBSD: distinfo,v 1.1 2014/04/16 14:56:07 wiz Exp $

-SHA1 (gperftools-2.1.tar.gz) = b799b99d9f021988bbc931db1c21b2f94826d4f0
-RMD160 (gperftools-2.1.tar.gz) = 0cf9af2502e661d3771976e943ef2afb8b749983
-Size (gperftools-2.1.tar.gz) = 1319896 bytes
-SHA1 (patch-Makefile.in) = 61dcee2b8aa4cddc9e31b4728e28aea7fd958e41
+SHA1 (gperftools-2.4.tar.gz) = 13b904d0d1f220e43e4495f3403ee280c6da26ea
+RMD160 (gperftools-2.4.tar.gz) = 19ce825850b8a3bc50db54fa022390878dd753bb
+Size (gperftools-2.4.tar.gz) = 1346075 bytes
diff --git a/devel/gperftools/patches/patch-Makefile.in b/devel/gperftools/patches/patch-Makefile.in
deleted file mode 100644
index 5e839ac..0000000
--- a/devel/gperftools/patches/patch-Makefile.in
+++ /dev/null
@@ -1,42 +0,0 @@
-$NetBSD: patch-Makefile.in,v 1.1 2014/04/16 14:56:07 wiz Exp $
-
-Add missing -lexecinfo for NetBSD.
-
---- Makefile.in.orig	2013-07-30 09:12:29.000000000 +0000
-+++ Makefile.in
-@@ -1032,7 +1032,7 @@ heap_checker_debug_unittest_OBJECTS =  \
- heap_checker_debug_unittest_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
- 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
- 	$(heap_checker_debug_unittest_CXXFLAGS) $(CXXFLAGS) \
--	$(heap_checker_debug_unittest_LDFLAGS) $(LDFLAGS) -o $@
-+	$(heap_checker_debug_unittest_LDFLAGS) $(LDFLAGS) -o $@ -lexecinfo
- am__heap_checker_debug_unittest_sh_SOURCES_DIST =  \
- 	src/tests/heap-checker_unittest.sh
- am_heap_checker_debug_unittest_sh_OBJECTS =
-@@ -2529,7 +2529,7 @@ atomicops_unittest_LDADD = $(LIBSPINLOCK
- @WITH_STACK_TRACE_TRUE@stacktrace_unittest_SOURCES = src/tests/stacktrace_unittest.cc \
- @WITH_STACK_TRACE_TRUE@                              $(STACKTRACE_UNITTEST_INCLUDES)
- 
--@WITH_STACK_TRACE_TRUE@stacktrace_unittest_LDADD = libstacktrace.la liblogging.la
-+@WITH_STACK_TRACE_TRUE@stacktrace_unittest_LDADD = libstacktrace.la liblogging.la -lexecinfo
- 
- ### ------- pprof
- 
-@@ -2962,7 +2962,8 @@ thread_dealloc_unittest_LDADD = $(LIBTCM
- # We also put pthreads after tcmalloc, because some pthread
- # implementations define their own malloc, and we need to go on the
- # first linkline to make sure our malloc 'wins'.
--@WITH_HEAP_CHECKER_TRUE@heap_checker_unittest_LDADD = $(LIBTCMALLOC) liblogging.la $(PTHREAD_LIBS)
-+@WITH_HEAP_CHECKER_TRUE@heap_checker_unittest_LDADD = $(LIBTCMALLOC) liblogging.la $(PTHREAD_LIBS) -lexecinfo
-+@WITH_HEAP_CHECKER_TRUE@heap-checker_debug_unittest_LDADD = -lexecinfo
- @WITH_DEBUGALLOC_TRUE@@WITH_HEAP_PROFILER_OR_CHECKER_TRUE@libtcmalloc_debug_la_SOURCES = src/debugallocation.cc $(HEAP_CHECKER_SOURCES) \
- @WITH_DEBUGALLOC_TRUE@@WITH_HEAP_PROFILER_OR_CHECKER_TRUE@                               $(TCMALLOC_INCLUDES)
- 
-@@ -2997,6 +2998,7 @@ thread_dealloc_unittest_LDADD = $(LIBTCM
- @WITH_DEBUGALLOC_TRUE@@WITH_HEAP_CHECKER_TRUE@heap_checker_debug_unittest_SOURCES = $(heap_checker_unittest_SOURCES)
- @WITH_DEBUGALLOC_TRUE@@WITH_HEAP_CHECKER_TRUE@heap_checker_debug_unittest_CXXFLAGS = $(heap_checker_unittest_CXXFLAGS)
- @WITH_DEBUGALLOC_TRUE@@WITH_HEAP_CHECKER_TRUE@heap_checker_debug_unittest_LDFLAGS = $(heap_checker_unittest_LDFLAGS)
-+@WITH_DEBUGALLOC_TRUE@@WITH_HEAP_CHECKER_TRUE@heap_checker_debug_unittest_LDADD = -lexecinfo
- # We want libtcmalloc last on the link line, but due to a bug in
- # libtool involving convenience libs, they need to come last on the
- # link line in order to get dependency ordering right.  This is ok:

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->hiramatsu
Responsible-Changed-By: hiramatsu@NetBSD.org
Responsible-Changed-When: Fri, 03 Apr 2015 10:34:01 +0000
Responsible-Changed-Why:
I will look into this.


From: "Hiramatsu Yoshifumi" <hiramatsu@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/49625 CVS commit: pkgsrc/devel/gperftools
Date: Fri, 3 Apr 2015 14:05:38 +0000

 Module Name:	pkgsrc
 Committed By:	hiramatsu
 Date:		Fri Apr  3 14:05:38 UTC 2015

 Modified Files:
 	pkgsrc/devel/gperftools: Makefile distinfo
 Removed Files:
 	pkgsrc/devel/gperftools/patches: patch-Makefile.in

 Log Message:
 Update devel/gperftools to 2.4, patch provided by Jonathan Buschmann in PR 49625.

 Changes from previous:

 == 2.4 ==

 + enabled aggressive decommit option by default, significantly improve memory fragmentation
 + new ./configure flags for tcmalloc pagesize and tcmalloc allocation alignment.
 + Faster malloc/free, 5% on static library and about 10% on shared library. Mainly due to more efficient checking of malloc hooks.
 + Improved accuracy of stacktrace capturing in cpu profiler

 == 2.3 ==

 + New experimental method for CPU profiling (only for Linux)
 + Most are fixes to pprof
 + Few other fixes, notably libunwind integration (selectable in configure step) and disabled on OSX & ppc64

 == 2.2 ==

 + Support for mips/mips64/aarch64/ppc64-le
 + New method for capturing backtrace
 + More fixes
 + Fixes for Windows
 + Sources served by Google drive


 To generate a diff of this commit:
 cvs rdiff -u -r1.2 -r1.3 pkgsrc/devel/gperftools/Makefile
 cvs rdiff -u -r1.1 -r1.2 pkgsrc/devel/gperftools/distinfo
 cvs rdiff -u -r1.1 -r0 pkgsrc/devel/gperftools/patches/patch-Makefile.in

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed
State-Changed-By: hiramatsu@NetBSD.org
State-Changed-When: Fri, 03 Apr 2015 14:13:59 +0000
State-Changed-Why:
Update committed.
Thanks for the PR.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.