diff options
author | William Pitcock <nenolod@dereferenced.org> | 2012-01-04 19:30:43 -0600 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2012-01-04 19:30:43 -0600 |
commit | 6198b857ec8a0cfded02d1ee7250de2d62bfb91e (patch) | |
tree | a511fe1df2427a6533f453b3bbc353aa14d3b47c /main/libunwind | |
parent | 3610b9c6ad1b379a3bfe22e1ade82d2d592c01c9 (diff) | |
download | aports-6198b857ec8a0cfded02d1ee7250de2d62bfb91e.tar.bz2 aports-6198b857ec8a0cfded02d1ee7250de2d62bfb91e.tar.xz |
main/libunwind: build system libunwind (instead of building it into libgcc)
Diffstat (limited to 'main/libunwind')
-rw-r--r-- | main/libunwind/APKBUILD | 51 | ||||
-rw-r--r-- | main/libunwind/disable-setjmp.patch | 37 |
2 files changed, 88 insertions, 0 deletions
diff --git a/main/libunwind/APKBUILD b/main/libunwind/APKBUILD new file mode 100644 index 0000000000..85d60776ce --- /dev/null +++ b/main/libunwind/APKBUILD @@ -0,0 +1,51 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=libunwind +pkgver=1.0.1 +pkgrel=0 +pkgdesc="portable and efficient API to determine the call-chain of a program" +url="http://www.nongnu.org/libunwind/" +arch="all" +license="MIT" +depends="" +depends_dev="" +makedepends="$depends_dev autoconf automake libtool" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="http://download.savannah.gnu.org/releases/libunwind/libunwind-$pkgver.tar.gz + disable-setjmp.patch" + +_builddir="$srcdir"/libunwind-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + + libtoolize --force + autoreconf +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --libdir=/lib \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + rm -f "$pkgdir"/lib/*.la +} + +md5sums="993e47cca7315e22239c3e0d987e94e0 libunwind-1.0.1.tar.gz +43058a07e7648b0dcbb84890ccc8c760 disable-setjmp.patch" diff --git a/main/libunwind/disable-setjmp.patch b/main/libunwind/disable-setjmp.patch new file mode 100644 index 0000000000..442a5dfd7a --- /dev/null +++ b/main/libunwind/disable-setjmp.patch @@ -0,0 +1,37 @@ +http://cvs.fedoraproject.org/viewvc/rpms/libunwind/devel/libunwind-disable-setjmp.patch?revision=1.1&view=markup +http://bugs.gentoo.org/299344 + +At least x86_64 version cannot work, src/setjmp/setjmp.c and +src/setjmp/sigsetjmp.c are not even compiled, src/x86_64/longjmp.S does not +match src/setjmp/setjmp.c + include/tdep-x86_64/jmpbuf.h . + +--- libunwind-1.0.1/src/Makefile.am ++++ libunwind-1.0.1/src/Makefile.am +@@ -9,6 +9,3 @@ + # libunwind-setjmp depends on libunwind-$(arch). Therefore must be added + # at the end. +-if !REMOTE_ONLY +-lib_LTLIBRARIES += libunwind-setjmp.la +-endif + + # +--- libunwind-1.0.1/tests/Makefile.am ++++ libunwind-1.0.1/tests/Makefile.am +@@ -27,7 +27,7 @@ + Gia64-test-nat Lia64-test-nat \ + Gia64-test-rbs Lia64-test-rbs \ + Gia64-test-readonly Lia64-test-readonly \ +- ia64-test-setjmp ia64-test-sig ++ ia64-test-sig + else + if ARCH_PPC64 + if USE_ALTIVEC +@@ -44,7 +44,7 @@ + Gtest-dyn1 Ltest-dyn1 \ + Gtest-trace Ltest-trace \ + test-async-sig test-flush-cache test-init-remote \ +- test-mem test-setjmp test-ptrace \ ++ test-mem test-ptrace \ + Ltest-nomalloc Ltest-nocalloc rs-race + noinst_PROGRAMS_cdep = forker mapper test-ptrace-misc \ + Gperf-simple Lperf-simple |