summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/fuse/fuse-3.10.4.ebuild')
-rw-r--r--sys-fs/fuse/fuse-3.10.4.ebuild69
1 files changed, 69 insertions, 0 deletions
diff --git a/sys-fs/fuse/fuse-3.10.4.ebuild b/sys-fs/fuse/fuse-3.10.4.ebuild
new file mode 100644
index 000000000000..e3f0349a01b3
--- /dev/null
+++ b/sys-fs/fuse/fuse-3.10.4.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+inherit 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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+suid test"
+RESTRICT="!test? ( test )"
+
+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() {
+ has_version -b "dev-python/pytest[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python_setup
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_use test examples)
+ -Duseroot=false
+ -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
+ )
+ meson_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} != 0 ]]; then
+ ewarn "Running as non-root user, skipping tests"
+ elif has sandbox ${FEATURES}; then
+ ewarn "Sandbox enabled, skipping tests"
+ else
+ multilib-minimal_src_test
+ fi
+}
+
+multilib_src_test() {
+ ${EPYTHON} -m pytest test || die
+}
+
+multilib_src_install_all() {
+ # installed via fuse-common
+ rm -r "${ED}"/{etc,$(get_udevdir)} || 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}
+}