# Template file for 'btrfs-progs'
pkgname=btrfs-progs
version=4.16
revision=2
wrksrc=${pkgname}-v${version}
build_style=gnu-configure
configure_args="--disable-backtrace --disable-python"
hostmakedepends="asciidoc automake libtool pkg-config xmlto"
makedepends="acl-devel e2fsprogs-devel libzstd-devel lzo-devel"
checkdepends="acl-progs e2fsprogs util-linux"
short_desc="Btrfs filesystem utilities"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
license="GPL-2.0-only, LGPL-3.0-or-later"
homepage="http://btrfs.wiki.kernel.org/"
distfiles="${KERNEL_SITE}/kernel/people/kdave/${pkgname}/${pkgname}-v${version}.tar.xz"
checksum=f3e0ec4864b7b89db1a6a36fa48bf8a9217117714a04b13c84d0fea1eac154b2
make_check_target="test"

pre_configure() {
	NOCONFIGURE=1 ./autogen.sh
}

pre_build() {
	if [ $CROSS_BUILD ]; then
		${BUILD_CC} ${BUILD_CFLAGS} kernel-lib/mktables.c -o mktables
	fi
}

pre_check() {
	# This test requires fallocate but the testsuite detection methods still can't
	# detect it properly so it keeps failing even when util-linux is added to checkdepends
	mv tests/fsck-tests/025-file-extents/test.sh{,.broken}

	# This one requires perl regex on grep binary which is disabled it fails with
	# grep: support for the -P option is not compiled into this --disable-perl-regexp binary
	mv tests/mkfs-tests/013-reserved-1M-for-single/test.sh{,.broken}
}

post_install() {
	vinstall btrfs-completion 644 /usr/share/bash-completion/completions btrfs
}

libbtrfs_package() {
	short_desc+=" - btrfs library"
	pkg_install() {
		vmove "usr/lib/libbtrfs.so.*"
	}
}

libbtrfs-devel_package() {
	short_desc+=" - libbtrfs development files"
	depends="libbtrfs>=${version}_${revision}"
	pkg_install() {
		vmove usr/include/btrfs
		vmove usr/lib/libbtrfs.a
		vmove usr/lib/libbtrfs.so
	}
}

libbtrfsutil_package() {
	short_desc+=" - btrfsutil library"
	pkg_install() {
		vmove "usr/lib/libbtrfsutil.so.*"
	}
}

libbtrfsutil-devel_package() {
	depends="libbtrfsutil-${version}_${revision}"
	short_desc+=" - libbtrfsutil development files"
	pkg_install() {
		vmove usr/include/btrfsutil.h
		vmove usr/lib/libbtrfsutil.a
		vmove usr/lib/libbtrfsutil.so
	}
}
