summaryrefslogtreecommitdiff
path: root/sys-fs/fuse/fuse-3.14.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/fuse/fuse-3.14.0.ebuild')
-rw-r--r--sys-fs/fuse/fuse-3.14.0.ebuild72
1 files changed, 72 insertions, 0 deletions
diff --git a/sys-fs/fuse/fuse-3.14.0.ebuild b/sys-fs/fuse/fuse-3.14.0.ebuild
new file mode 100644
index 000000000000..548762c989b8
--- /dev/null
+++ b/sys-fs/fuse/fuse-3.14.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+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}
+}