void-packages/srcpkgs/zfs/template

88 lines
2.7 KiB
Bash

# Template file for 'zfs'
pkgname=zfs
version=0.8.4
revision=6
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="zlib-devel libuuid-devel libblkid-devel libtirpc-devel attr-devel"
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://zfsonlinux.org/"
distfiles="https://github.com/zfsonlinux/zfs/releases/download/zfs-${version}/zfs-${version}.tar.gz"
checksum=2b988f5777976f09d08083f6bebf6e67219c4c4c183c1f33033fb7e5e5eacafb
patch_args="-Np1"
replaces="spl<=0.7.13_1" # Because SPL was merged into zfs in 0.8.0
dkms_modules="zfs ${version}"
depends="dkms>=2.2.0.3_9 perl python3 bash"
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
# configure relies on bashism to redirect stdout/stderr when building tests
vsed -e '1 s@^#!\s*/bin/sh$@#!/bin/bash@' -i configure
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
sed -i -e 's/test "${PYTHON_VERSION:0:2}" = "3."/test "${PYTHON_VERSION##3.*}" = ""/' \
-e 's/test "${PYTHON_VERSION:0:2}" = "2."/test "${PYTHON_VERSION##2.*}" = ""/' \
${DESTDIR}/usr/src/${pkgname}-${version}/configure # This is necessary because of https://github.com/zfsonlinux/zfs/issues/8827
# 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
# 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/share/pkgconfig
}
}
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.