# Template file for 'strace'
pkgname=strace
version=5.12
revision=1
build_style=gnu-configure
configure_args="--enable-silent-rules --with-libunwind"
makedepends="libunwind-devel"
short_desc="System Call Tracer"
maintainer="Anthony Iliopoulos <ailiop@altatus.com>"
license="LGPL-2.1-or-later"
homepage="https://strace.io/"
changelog="https://raw.githubusercontent.com/strace/strace/master/NEWS"
distfiles="https://github.com/strace/strace/releases/download/v${version}/strace-${version}.tar.xz"
checksum=29171edf9d252f89c988a4c340dfdec662f458cb8c63d85431d64bab5911e7c4

case "$XBPS_TARGET_MACHINE" in
	aarch64*|ppc64*) configure_args+=" --enable-mpers=no" ;;
	# work around https://github.com/strace/strace/issues/133
	i686-musl) configure_args+=" --enable-mpers=no"; makedepends+=" libucontext-devel" ;;
	x86_64-musl) configure_args+=" --enable-mpers=no" ;;
esac

pre_configure() {
	if [ "$XBPS_TARGET_MACHINE" = "i686-musl" ]; then
		vsed -i configure -e "s;libunwind_LIBS=$;&-lucontext;"
	fi
}

do_check() {
	if [ "$XBPS_CHECK_PKGS" = full ]; then
		# XXX: Some tests may fail inside of containers or if they are missing
		# sufficient capabilities
		make check
	else
		make check \
			TESTS="bpf.gen epoll_pwait.gen getcpu.gen open.gen read-write.gen readlink.gen seccomp-filter.gen mmap ioctl caps readv"
	fi
}
