# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{9..10} ) inherit flag-o-matic meson-multilib udev python-any-r1 DESCRIPTION="An interface for filesystems implemented in userspace" HOMEPAGE="https://github.com/libfuse/libfuse" SRC_URI="https://github.com/libfuse/libfuse/releases/download/${P}/${P}.tar.xz" LICENSE="GPL-2 LGPL-2.1" SLOT="3" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="+suid test" RESTRICT="!test? ( test ) test? ( userpriv )" BDEPEND="virtual/pkgconfig test? ( ${PYTHON_DEPS} $(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]') )" RDEPEND=">=sys-fs/fuse-common-3.3.0-r1" DOCS=( AUTHORS ChangeLog.rst README.md doc/README.NFS doc/kernel.txt ) python_check_deps() { python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" } pkg_setup() { use test && python-any-r1_pkg_setup } multilib_src_configure() { # bug #853058 filter-lto local emesonargs=( $(meson_use test examples) $(meson_use test tests) -Duseroot=false -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" ) meson_src_configure } src_test() { if has sandbox ${FEATURES}; then ewarn "Sandbox enabled, skipping tests" else multilib-minimal_src_test fi } multilib_src_test() { epytest } multilib_src_install_all() { # Installed via fuse-common rm -r "${ED}"{/etc,$(get_udevdir)} || die rm -rf "${ED}"/etc || die # useroot=false prevents the build system from doing this. use suid && fperms u+s /usr/bin/fusermount3 # manually install man pages to respect compression rm -r "${ED}"/usr/share/man || die doman doc/{fusermount3.1,mount.fuse3.8} }