diff --git a/sys-fs/fuse/Manifest b/sys-fs/fuse/Manifest index ddf833b0b3595..353ce3551412b 100644 --- a/sys-fs/fuse/Manifest +++ b/sys-fs/fuse/Manifest @@ -1,3 +1,4 @@ DIST fuse-2.9.9.tar.gz 1813177 BLAKE2B 9e9141380bda46eb0bcce325c6fd293fe3844fe884a4952bb38d4b89dc48b728ffcc891038b3a7a861f05acfacce9dd7bb0e11d600609f3ad0ab278ccbe98847 SHA512 3d82fafd04f2924299bb09d2bb144935fa004a43fb9a6568e2e1cc5a60fded2efa1711029a0d7f12b3e6e4501f7217f2ee3545646d89da8dece083cb390f23e2 DIST fuse-3.18.2.tar.gz 4933779 BLAKE2B 852ac7e268cb290bcd0efec5e08f5ab09a2c1b87c168fc51e7f5a6da7d820a914106ec2cc4ec02e27b6e2adce60762f06ad299c9dea7f0295ef6331d7ecf9a85 SHA512 b2ca702b74788230981d05dc85458ee3582970dcb1526e7eda8f46e23d0373b361ef1438874a7caa46aaf02a5b84f7e5341fbe61e856cfbce849d1209b4aabbe +DIST fuse-3.18.3.tar.gz 2579900 BLAKE2B d6d1312484bce853b8ad3df2be9ddc4fb9be237948cac48f4d76c1a303d2cc7dcc2c98faf1ca51093d663512040f12cd73376ec92e3f6974eaf0206f853abea3 SHA512 dba76ea2e12ab02c7cc58363e085929177ed17f525b41e194b06149ec16ed7d76f7686f695226e399289751af6e36572b60c1d8c512fd78f4070f005b162bb64 DIST iconv.m4.bz2 3057 BLAKE2B 9d8f7637d87bfcea1b60f3ea11e162aecf391b3f4579a3b85afb01735f56bfbae363a7e781279f3b2bed0d1dd3336f7d0678d3b1d59004824d7d0ca848dceb6e SHA512 9899368b8acc06e216a7a548b83a894f780e152a02612cd52af02b5c3f2ff38e2c36e77bda300587f81c3d74c90addec8066885216fa0e74f3f3280a383d2b55 diff --git a/sys-fs/fuse/fuse-3.18.3.ebuild b/sys-fs/fuse/fuse-3.18.3.ebuild new file mode 100644 index 0000000000000..821e63ddb88ce --- /dev/null +++ b/sys-fs/fuse/fuse-3.18.3.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..15} ) +inherit flag-o-matic meson-multilib toolchain-funcs 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.gz" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="3/4" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="io-uring +suid systemtap test" +RESTRICT="!test? ( test )" + +DEPEND=" + io-uring? ( + sys-libs/liburing:=[${MULTILIB_USEDEP}] + sys-process/numactl + ) +" +RDEPEND=" + ${DEPEND} + >=sys-fs/fuse-common-3.3.0-r1 +" +BDEPEND=" + virtual/pkgconfig + test? ( + ${PYTHON_DEPS} + ) +" + +DOCS=( AUTHORS ChangeLog.rst README.md doc/README.NFS doc/kernel.txt ) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +multilib_src_configure() { + # bug #853058 + tc-is-clang && filter-lto + + local emesonargs=( + $(meson_use test examples) + $(meson_use test tests) + $(meson_use systemtap enable-usdt) + $(meson_use io-uring enable-io-uring) + -Duseroot=false + -Dinitscriptdir= + -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" + ) + meson_src_configure +} + +src_test() { + # Need short unix socket paths + local -x TMPDIR=/tmp + # mount/mountpoint-validation fails + local -x SANDBOX_ON=0 + # Don't try to use systemd-run + local -x FUSE_TESTS_UNDER_SCOPE=1 + + multilib-minimal_src_test +} + +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} +}