# $Id$ PNAME="fuse3" PVER="3.2.2" PBUILD="r1" SPLIT_PACKAGES="fuse-common fuse3" PCAT="sys-fs" HOMEPAGE="https://github.com/libfuse/libfuse/releases/" COMMON_DEPEND=">= virtual/glibc" SDEPEND=">= dev-util/pkgconfig-0.26 ${COMMON_DEPEND}" if mqueryfeature "check" then # make check needs libcheck SDEPEND+=" >= dev-lang/python3-3.6" fi SRCFILE="fuse-${PVER}.tar.xz" SRCDIR="${BUILDDIR}/fuse-${PVER}" # disable src_check atm msetfeature "!check" sminclude meson udev mtools SRC_URI=( https://github.com/libfuse/libfuse/releases/download/fuse-${PVER}/${SRCFILE} mirror://fuse/${SRCFILE} ) # only fuse-3 releases UP2DATE="updatecmd https://github.com/libfuse/libfuse/releases/ | grep download | grep fuse-3 | highesttarball xz" split_info_fuse-common() { DESCRIPTION="Common files for fuse2/3 userland utilities." DEPEND="${COMMON_DEPEND}" } split_info_fuse3() { DESCRIPTION="Fuse3 userland utilities." DEPEND="== sys-fs/fuse-common-${PVER}" } src_prepare() { munpack ${SRCFILE} || die cd ${SRCDIR} # do not fail on device node creation as nspawn prohibits this action and the build will fail sed -i 's:mknod .*:& || true:' util/install_helper.sh || die } src_check() { # requires utf-8 export LC_ALL=en_US.UTF-8 meson_src_check || die } src_install_fuse-common() { # requires utf-8 export LC_ALL=en_US.UTF-8 meson_src_install || die # remove initscript mdelete -r /etc/init.d || die # udev handles dev nodes mdelete -r /dev || die # remove files provided by fuse3 mdelete /usr/bin/fusermount3 || die mdelete -r /usr/include || die mdelete -r /usr/$(mlibdir)/pkgconfig || die mdelete /usr/$(mlibdir)/libfuse3.so* || die mdelete /usr/share/man/man1/fusermount3.1.gz || die # rename mount.fuse3 for use with fuse2 and fuse3 mv ${BINDIR}/usr/sbin/mount.fuse{3,} || die minstalldocs AUTHORS COPYING* FAQ NEWS README* || die } src_install_fuse3() { # requires utf-8 export LC_ALL=en_US.UTF-8 meson_src_install || die # remove initscript mdelete -r /etc/init.d || die # udev handles dev nodes mdelete -r /dev || die # remove files provided by fuse-common mdelete -r $(mget-udev-rules-dir) || die mdelete /usr/sbin/mount.fuse3 || die mdelete /usr/share/man/man8/mount.fuse.8.gz || die minstalldocs AUTHORS COPYING* FAQ NEWS README* || die } preinstall_fuse-common() { if [[ ! -z $(magequery -n fuse) ]] then echo -e ${COLRED} echo -e "Error: sys-fs/fuse is installed!!" echo -e "fuse is now provided by fuse-common and the corresponding fuse2 package." echo -e "Please uninstall sys-fs/fuse first!" echo -e ${COLDEFAULT} die "sys-fs/fuse found!" fi }