```sh git grep -l '^patch_args=-Np0' "srcpkgs/$1*/template" | while read template; do for p in ${template%/template}/patches/*; do sed -i ' \,^[+-][+-][+-] /dev/null,b /^[*-]\+ [0-9]\+\(,[0-9]\+\)\? [*-]\+$/b s,^[*][*][*] ,&a/, /^--- /{ s,\(^--- \)\(./\)*,\1a/, s,[.][Oo][Rr][Ii][Gg]\([ /]\),\1, s/[.][Oo][Rr][Ii][Gg]$// s/[.]patched[.]\([^.]\)/.\1/ h } /^+++ -/{ g s/^--- a/+++ b/ b } s,\(^+++ \)\(./\)*,\1b/, ' "$p" done sed -i '/^patch_args=/d' $template done ```
70 lines
1.9 KiB
Bash
70 lines
1.9 KiB
Bash
# Template file for 'libunwind'
|
|
pkgname=libunwind
|
|
version=1.5.0
|
|
revision=3
|
|
build_style=gnu-configure
|
|
hostmakedepends="libtool automake"
|
|
makedepends="liblzma-devel"
|
|
short_desc="Library to determine the call-chain of a program"
|
|
maintainer="Orphaned <orphan@voidlinux.org>"
|
|
license="MIT"
|
|
homepage="https://www.nongnu.org/libunwind/"
|
|
distfiles="${NONGNU_SITE}/${pkgname}/${pkgname}-${version/rc/-rc}.tar.gz"
|
|
checksum=90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017
|
|
|
|
CFLAGS="-fcommon"
|
|
|
|
# Enable C++ exception handling (doesn't work too well on x86)
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
x86_64*|i686*) ;;
|
|
*) configure_args+=" --enable-cxx-exceptions" ;;
|
|
esac
|
|
|
|
# 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
|
|
}
|
|
}
|