libunwind: unbreak aarch64-musl

This commit is contained in:
Piraty 2020-04-22 18:43:50 +02:00
parent a2d62fe7d2
commit 1790b63c40
2 changed files with 17 additions and 6 deletions

View file

@ -0,0 +1,11 @@
--- include/libunwind-aarch64.h
+++ include/libunwind-aarch64.h
@@ -192,7 +192,7 @@
unsigned long uc_flags;
struct ucontext *uc_link;
stack_t uc_stack;
- __sigset_t uc_sigmask;
+ sigset_t uc_sigmask;
struct unw_sigcontext uc_mcontext;
} unw_tdep_context_t;

View file

@ -1,7 +1,7 @@
# Template file for 'libunwind'
pkgname=libunwind
version=1.4.0
revision=1
revision=2
build_style=gnu-configure
hostmakedepends="libtool automake"
makedepends="liblzma-devel"
@ -15,27 +15,27 @@ checksum=df59c931bd4d7ebfd83ee481c943edf015138089b8e50abed8d9c57ba9338435
# LDFLAGS is necessary because libunwind.so itself uses getcontext/setcontext
case "$XBPS_TARGET_MACHINE" in
i686-musl|ppc*-musl) makedepends+=" libucontext-devel"; LDFLAGS=" -lucontext" ;;
aarch64-musl) broken="https://build.voidlinux.org/builders/aarch64-musl_builder/builds/25858/steps/shell_3/logs/stdio" ;;
*) ;;
esac
pre_configure() {
sed -i /SUBDIRS/s/tests// Makefile.am
vsed -i '/SUBDIRS/s/tests//' Makefile.am
# libunwind explicitly sets lib64 for ppc64 by default
sed -i /libdir/s/lib64/lib/ configure.ac
vsed -i '/libdir/s/lib64/lib/' configure.ac
# unw_getcontext is just getcontext on ppc*, separate lib for musl
# it needs to be here because it's used directly in a macro in a
# public header, so things using libunwind need linkage against it
case "$XBPS_TARGET_MACHINE" in
i686-musl|ppc*-musl)
sed -i 's/\-lunwind/\-lunwind \-lucontext/' \
src/unwind/libunwind.pc.in
vsed -i src/unwind/libunwind.pc.in \
's/\-lunwind/\-lunwind \-lucontext/'
;;
esac
autoreconf -fi
}
post_install() {
vlicense COPYING LICENSE
}