void-packages/srcpkgs/libunwind/template
Jürgen Buchmüller f8c40f6151
libunwind: i686-musl needs libucontext also
Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
2019-06-15 18:56:12 +02:00

58 lines
1.5 KiB
Bash

# Template file for 'libunwind'
pkgname=libunwind
version=1.3.1
revision=1
build_style=gnu-configure
hostmakedepends="libtool automake"
makedepends="liblzma-devel"
short_desc="Library to determine the call-chain of a program"
maintainer="Juan RP <xtraeme@voidlinux.org>"
license="MIT"
homepage="https://www.nongnu.org/libunwind/"
distfiles="${NONGNU_SITE}/${pkgname}/${pkgname}-${version/rc/-rc}.tar.gz"
checksum=43997a3939b6ccdf2f669b50fdb8a4d3205374728c2923ddc2354c65260214f8
# LDFLAGS is necessary because libunwind.so itself uses getcontext/setcontext
case "$XBPS_TARGET_MACHINE" in
i686-musl|ppc*-musl) makedepends+=" libucontext-devel"; LDFLAGS=" -lucontext" ;;
*) ;;
esac
pre_configure() {
sed -i /SUBDIRS/s/tests// Makefile.am
# libunwind explicitly sets lib64 for ppc64 by default
sed -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
;;
esac
autoreconf -fi
}
post_install() {
vlicense COPYING LICENSE
}
libunwind-devel_package() {
depends="${sourcepkg}>=${version}"
case "$XBPS_TARGET_MACHINE" in
i686-musl|ppc*-musl) depends+=" libucontext-devel" ;;
*) ;;
esac
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
vmove usr/share
}
}