# Template file for 'libarchive'
pkgname=libarchive
version=3.6.2
revision=2
bootstrap=yes
build_style=gnu-configure
configure_args="$(vopt_enable acl) $(vopt_enable acl xattr)
 $(vopt_with expat) $(vopt_with lzo lzo2) $(vopt_with lz4)
 $(vopt_with ssl openssl) $(vopt_with zstd) --without-xml2
 --without-nettle --disable-rpath"
hostmakedepends="pkgconf"
makedepends="zlib-devel bzip2-devel liblzma-devel
 $(vopt_if acl acl-devel) $(vopt_if expat expat-devel) $(vopt_if zstd libzstd-devel)
 $(vopt_if lzo lzo-devel) $(vopt_if lz4 liblz4-devel) $(vopt_if ssl openssl-devel)"
short_desc="Library to read/write several different streaming archive formats"
maintainer="Juan RP <xtraeme@gmail.com>"
license="BSD-2-Clause"
homepage="http://www.libarchive.org/"
changelog="https://raw.githubusercontent.com/wiki/libarchive/libarchive/ReleaseNotes.md"
distfiles="https://github.com/libarchive/libarchive/releases/download/v${version}/libarchive-${version}.tar.gz"
checksum=ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3

build_options="acl expat lzo lz4 ssl zstd"
build_options_default="acl ssl lz4 zstd"

post_extract() {
	# remove iconv from libarchive.pc requirements.
	vsed -e '/LIBSREQUIRED.*iconv/d' -i configure
}

pre_configure() {
	export LIBS=-pthread
}

do_check() {
	case "$XBPS_TARGET_LIBC" in
		*musl)
			make check ||
				msg_warn "Tests can fail due to encoding conversions\n"
			;;
		*)
			make check
			;;
	esac
}

post_install() {
	vlicense COPYING
}

bsdtar_package() {
	replaces="bsdcpio>=0"
	short_desc="BSD utilities using libarchive"
	pkg_install() {
		vmove usr/bin
		vmove usr/share/man/man1
		vmove usr/share/man/man5
		# Conflicts with mtree.
		mv ${PKGDESTDIR}/usr/share/man/man5/{mtree.5,libarchive-mtree.5}
	}
}
libarchive-devel_package() {
	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib/*.a"
		vmove "usr/lib/*.so"
		vmove usr/lib/pkgconfig
		vmove usr/share
	}
}
