# Template file for 'libunwind' pkgname=libunwind version=1.5.0 revision=2 build_style=gnu-configure hostmakedepends="libtool automake" makedepends="liblzma-devel" short_desc="Library to determine the call-chain of a program" maintainer="Orphaned " license="MIT" homepage="https://www.nongnu.org/libunwind/" distfiles="${NONGNU_SITE}/${pkgname}/${pkgname}-${version/rc/-rc}.tar.gz" checksum=90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017 CFLAGS="-fcommon" # LDFLAGS is necessary because libunwind.so itself uses getcontext/setcontext case "$XBPS_TARGET_MACHINE" in i686-musl) LDFLAGS=" -lssp_nonshared" ;; ppc64*-musl) makedepends+=" libucontext-devel"; LDFLAGS=" -lucontext" ;; ppc*-musl) makedepends+=" libucontext-devel"; LDFLAGS=" -lucontext -lssp_nonshared" ;; mips*-musl) CLAGS="-D_MIPS_SIM=_ABI32" ;; *) ;; esac pre_configure() { vsed -i '/SUBDIRS/s/tests//' Makefile.am # libunwind explicitly sets lib64 for ppc64 by default 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) vsed -i src/unwind/libunwind.pc.in -e \ 's/\-lunwind/\-lunwind \-lucontext/' ;; 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 } }