pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

libunwind: replace with LLVM libunwind



Module Name:	pkgsrc-wip
Committed By:	Tobias Nygren <tnn%NetBSD.org@localhost>
Pushed By:	tnn
Date:		Wed Feb 24 21:30:30 2016 +0100
Changeset:	7c04de9415ae23af5144a60ec8543e8660a1bd3a

Modified Files:
	libunwind-git/Makefile
	libunwind/DESCR
	libunwind/Makefile
	libunwind/PLIST
	libunwind/distinfo
Added Files:
	libunwind/buildlink3.mk
	libunwind/patches/patch-src_AddressSpace.hpp

Log Message:
libunwind: replace with LLVM libunwind

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=7c04de9415ae23af5144a60ec8543e8660a1bd3a

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

diffstat:
 libunwind-git/Makefile                       |  3 +-
 libunwind/DESCR                              |  6 +---
 libunwind/Makefile                           | 46 ++++++++++++++++++----------
 libunwind/PLIST                              |  9 +++++-
 libunwind/buildlink3.mk                      | 14 +++++++++
 libunwind/distinfo                           | 10 +++---
 libunwind/patches/patch-src_AddressSpace.hpp | 25 +++++++++++++++
 7 files changed, 86 insertions(+), 27 deletions(-)

diffs:
diff --git a/libunwind-git/Makefile b/libunwind-git/Makefile
index 01a8067..7255e98 100644
--- a/libunwind-git/Makefile
+++ b/libunwind-git/Makefile
@@ -16,7 +16,7 @@ CONFIGURE_DIRS=		${WRKDIR}/build
 
 USE_TOOLS+=		pax
 USE_LANGUAGES=		c c++
-USE_CMAKE+=		yes
+USE_CMAKE=		yes
 GCC_REQD+=		4.8
 
 CMAKE_ARGS+=	-DCMAKE_BUILD_TYPE=Release
@@ -34,5 +34,6 @@ post-install:
 	cd ${WRKSRC}/include && ${PAX} -rw . ${DESTDIR}${PREFIX}/include
 
 .include "../../wip/mk/git-package.mk"
+BUILDLINK_DEPMETHOD.llvm=	build
 .include "../../wip/llvm-git/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff --git a/libunwind/DESCR b/libunwind/DESCR
index 4f3a2d1..93d20de 100644
--- a/libunwind/DESCR
+++ b/libunwind/DESCR
@@ -1,5 +1 @@
-Libunwind defines a portable and efficient C programming interface (API) to
-determine the call-chain of a program. The API additionally provides the means
-to manipulate the preserved (callee-saved) state of each call-frame and to
-resume execution at any point in the call-chain (non-local goto). The API
-supports both local (same-process) and remote (across-process) operation. 
+LLVM libunwind
diff --git a/libunwind/Makefile b/libunwind/Makefile
index dbe9b15..56c017f 100644
--- a/libunwind/Makefile
+++ b/libunwind/Makefile
@@ -1,24 +1,38 @@
-# $NetBSD: Makefile,v 1.1 2015/04/25 20:52:55 krytarowski Exp $
+# $NetBSD: Makefile.common,v 1.7 2015/07/20 05:49:53 adam Exp $
 
-DISTNAME=	libunwind-1.1
-CATEGORIES=	devel
-MASTER_SITES=	http://download.savannah.gnu.org/releases/libunwind/
+DISTNAME=	libunwind-3.8.0rc2.src
+PKGNAME=	${DISTNAME:S/.src//}
+CATEGORIES=	lang devel
+MASTER_SITES=	http://llvm.org/pre-releases/3.8.0/rc2/
+#MASTER_SITES=	http://llvm.org/releases/${PKGVERSION_NOREV}/
+EXTRACT_SUFX=	.tar.xz
 
 MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE=	http://download.savannah.gnu.org/releases/libunwind/
-COMMENT=	Generic stack unwinding library
-LICENSE=	mit
+HOMEPAGE=	http://libunwind.llvm.org/
+COMMENT=	LLVM libunwind
+LICENSE=	modified-bsd
 
-GNU_CONFIGURE=	yes
-USE_TOOLS+=	pkg-config
-USE_LANGUAGES=	c c++
+CONFIGURE_DIRS=		${WRKDIR}/build
 
-PKGCONFIG_OVERRIDE+=	src/libunwind-generic.pc.in
-PKGCONFIG_OVERRIDE+=	src/ptrace/libunwind-ptrace.pc.in
-PKGCONFIG_OVERRIDE+=	src/setjmp/libunwind-setjmp.pc.in
-PKGCONFIG_OVERRIDE+=	src/coredump/libunwind-coredump.pc.in
-PKGCONFIG_OVERRIDE+=	src/unwind/libunwind.pc.in
+USE_TOOLS+=		pax
+USE_LANGUAGES=		c c++
+USE_CMAKE=		yes
+GCC_REQD+=		4.8
 
-ONLY_FOR_PLATFORM=	*-*-i386 *-*-x86_64
+CMAKE_ARGS+=	-DCMAKE_BUILD_TYPE=Release
+CMAKE_ARGS+=	-DCMAKE_C_COMPILER=gcc
+CMAKE_ARGS+=	-DCMAKE_CXX_COMPILER=g++
 
+CMAKE_ARG_PATH=	${WRKSRC}
+
+INSTALLATION_DIRS=	include
+
+post-extract:
+	${RUN} mkdir -p ${WRKDIR}/build
+
+post-install:
+	cd ${WRKSRC}/include && ${PAX} -rw . ${DESTDIR}${PREFIX}/include
+
+BUILDLINK_DEPMETHOD.llvm=	build
+.include "../../wip/llvm/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff --git a/libunwind/PLIST b/libunwind/PLIST
index 4a99dcb..ba1c939 100644
--- a/libunwind/PLIST
+++ b/libunwind/PLIST
@@ -1 +1,8 @@
-@comment $NetBSD: PLIST,v 1.1 2015/04/25 20:52:55 krytarowski Exp $
+@comment $NetBSD$
+include/__libunwind_config.h
+include/libunwind.h
+include/mach-o/compact_unwind_encoding.h
+include/unwind.h
+lib/libunwind.so
+lib/libunwind.so.1
+lib/libunwind.so.1.0
diff --git a/libunwind/buildlink3.mk b/libunwind/buildlink3.mk
new file mode 100644
index 0000000..be314dc
--- /dev/null
+++ b/libunwind/buildlink3.mk
@@ -0,0 +1,14 @@
+# $NetBSD$
+
+BUILDLINK_TREE+=	libunwind
+
+.if !defined(LIBUNWIND_BUILDLINK3_MK)
+LIBUNWIND_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.libunwind+=	libunwind>=3.8.0rc2
+BUILDLINK_PKGSRCDIR.libunwind?=	../../wip/libunwind
+
+.include "../../wip/llvm/buildlink3.mk"
+.endif	# LIBUNWIND_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-libunwind
diff --git a/libunwind/distinfo b/libunwind/distinfo
index c3b2caa..b14707b 100644
--- a/libunwind/distinfo
+++ b/libunwind/distinfo
@@ -1,5 +1,7 @@
-$NetBSD: distinfo,v 1.1 2015/04/25 20:52:55 krytarowski Exp $
+$NetBSD: distinfo,v 1.35 2015/09/11 01:21:57 tnn Exp $
 
-SHA1 (libunwind-1.1.tar.gz) = aa04e6a7164aef754415b3b5e9453985741dd99e
-RMD160 (libunwind-1.1.tar.gz) = 915c3fc514cf296d55d802d2eacba3284e1351d9
-Size (libunwind-1.1.tar.gz) = 1098603 bytes
+SHA1 (libunwind-3.8.0rc2.src.tar.xz) = 929597736d08a2605d5835bdb3aef6ba10c03923
+RMD160 (libunwind-3.8.0rc2.src.tar.xz) = 28df9968adc97128d5152feff6f121e8ba8f055a
+SHA512 (libunwind-3.8.0rc2.src.tar.xz) = ff70736502b605ee166011dff8954659fb0b6c9671188b8d59e8f2190c5c485c155d71f69a5921b7a1e31c1142eadbc26656d15f9de3140803d49ccdc7b136ab
+Size (libunwind-3.8.0rc2.src.tar.xz) = 60600 bytes
+SHA1 (patch-src_AddressSpace.hpp) = 129ae52d46a2787ebc37a594040d29926a4eff03
diff --git a/libunwind/patches/patch-src_AddressSpace.hpp b/libunwind/patches/patch-src_AddressSpace.hpp
new file mode 100644
index 0000000..adb1339
--- /dev/null
+++ b/libunwind/patches/patch-src_AddressSpace.hpp
@@ -0,0 +1,25 @@
+$NetBSD$
+
+Fixed in 3.9.
+
+--- src/AddressSpace.hpp.orig	2015-10-16 19:40:09.000000000 +0000
++++ src/AddressSpace.hpp
+@@ -35,7 +35,7 @@ namespace libunwind {
+ #include "Registers.hpp"
+ 
+ #if _LIBUNWIND_ARM_EHABI
+-#if defined(__FreeBSD__)
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+ 
+ typedef void *_Unwind_Ptr;
+ 
+@@ -61,7 +61,8 @@ extern EHTEntry __exidx_end;
+ #endif // !defined(_LIBUNWIND_IS_BAREMETAL)
+ #endif // _LIBUNWIND_ARM_EHABI
+ 
+-#if defined(__CloudABI__) || defined(__FreeBSD__) || defined(__linux__)
++#if defined(__CloudABI__) || defined(__FreeBSD__) || defined(__linux__) ||    \
++    defined(__NetBSD__)
+ #if _LIBUNWIND_SUPPORT_DWARF_UNWIND && _LIBUNWIND_SUPPORT_DWARF_INDEX
+ #include <link.h>
+ // Macro for machine-independent access to the ELF program headers. This


Home | Main Index | Thread Index | Old Index