# Template file for 'zfs'
pkgname=zfs
version=2.0.2
revision=1
build_style=gnu-configure
configure_args="--with-config=user --with-mounthelperdir=/usr/bin
 --with-udevdir=/usr/lib/udev --with-udevruledir=/usr/lib/udev/rules.d
 --with-dracutdir=/usr/lib/dracut --with-tirpc"
hostmakedepends="dracut libtool pkg-config python3 automake"
makedepends="pam-devel zlib-devel libuuid-devel libblkid-devel libtirpc-devel attr-devel"
depends="dkms>=2.2.0.3_9 perl python3"
conf_files="/etc/zfs/zed.d/zed.rc"
short_desc="Z File System -- userland, pyzfs, and kernel modules (using DKMS)"
maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
license="CDDL-1.0"
homepage="https://openzfs.github.io/openzfs-docs/"
distfiles="https://github.com/openzfs/zfs/releases/download/zfs-${version}/zfs-${version}.tar.gz"
checksum=bde5067ce4577d26cc0f0313a09173ad40d590d01539b92c93f33f06ee150b24

replaces="spl<=0.7.13_1" # Because SPL was merged into zfs in 0.8.0

dkms_modules="zfs ${version}"

post_patch() {
	# When collecting a "clean" tree for DKMS, don't leave patches in place
	local _f
	for _f in "${XBPS_SRCPKGDIR}/${pkgname}"/patches/*.patch; do
		rm -f "${_f##*/}"
	done
}

pre_configure() {
	export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/tirpc/"
	autoreconf -fi

	tar czf ../clean.tar.gz .
}

post_install() {
	vlicense COPYRIGHT
	vlicense LICENSE
	vlicense NOTICE

	vsv zed

	vmkdir usr/src/${pkgname}-${version}
	tar xf ../clean.tar.gz -C ${DESTDIR}/usr/src/${pkgname}-${version}
	scripts/dkms.mkconf -v ${version} -f ${DESTDIR}/usr/src/${pkgname}-${version}/dkms.conf -n zfs

	# Remove init and service control pieces not used in Void
	rm -rf ${DESTDIR}/usr/lib/systemd
	rm -rf ${DESTDIR}/usr/share/initramfs-tools
	rm -rf ${DESTDIR}/etc/init.d
	rm -rf ${DESTDIR}/etc/default
	rm -f ${DESTDIR}/etc/zfs/zfs-functions

	# Remove pam config framework file not used in Void
	rm -f ${DESTDIR}/usr/share/pam-configs/zfs_key

	# zfs-mount-generator is a systemd helper, no need for its man page
	rm -f ${DESTDIR}/usr/share/man/man8/zfs-mount-generator.8

	# Contains ELF binaries. Remove it until upstream has a way to move this
	# into /usr/libexec or similiar.
	rm -rf ${DESTDIR}/usr/share/zfs/zfs-tests
}

zfs-devel_package() {
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc="Z File System -- development files"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib/*.a"
		vmove "usr/lib/*.so"
		vmove usr/lib/pkgconfig
	}
}

zfs-pam_package() {
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc="Z File System -- PAM integration"
	pkg_install() {
		vmove usr/lib/security/pam_zfs_key.so
	}
}


do_clean() {
	rm -f ../clean.tar.gz
}

# REMARKS:
# Did not split out pyzfs, because it's distributed with zfs, and no reason to
# send separately.
