summaryrefslogtreecommitdiff
path: root/filesystems/fusefs-libs3
diff options
context:
space:
mode:
authorRobert Clausecker <fuz@FreeBSD.org>2024-09-27 12:48:46 +0200
committerRobert Clausecker <fuz@FreeBSD.org>2024-11-06 16:17:35 +0100
commit6e2da9672f79f44048d597f0f61e4646cdeade9d (patch)
treec92e4b3158e3419e8cec38e00227d08dcdaab3e9 /filesystems/fusefs-libs3
parentmath/sdpa: speed up build (diff)
filesystems: add new category for file systems and related utilities
The filesystems category houses file systems and file system utilities. It is added mainly to turn the sysutils/fusefs-* pseudo-category into a proper one, but is also useful for the sundry of other file systems related ports found in the tree. Ports that seem like they belong there are moved to the new category. Two ports, sysutils/fusefs-funionfs and sysutils/fusefs-fusepak are not moved as they currently don't fetch and don't have TIMESTAMP set in their distinfo, but that is required to be able to push a rename of the port by the pre-receive hook. Approved by: portmgr (rene) Reviewed by: mat Pull Request: https://github.com/freebsd/freebsd-ports/pull/302 PR: 281988
Diffstat (limited to 'filesystems/fusefs-libs3')
-rw-r--r--filesystems/fusefs-libs3/Makefile31
-rw-r--r--filesystems/fusefs-libs3/distinfo3
-rw-r--r--filesystems/fusefs-libs3/files/extra-patch-test_meson.build15
-rw-r--r--filesystems/fusefs-libs3/files/patch-example_meson.build9
-rw-r--r--filesystems/fusefs-libs3/files/patch-lib_mount__bsd.c10
-rw-r--r--filesystems/fusefs-libs3/pkg-descr7
-rw-r--r--filesystems/fusefs-libs3/pkg-message7
-rw-r--r--filesystems/fusefs-libs3/pkg-plist11
8 files changed, 93 insertions, 0 deletions
diff --git a/filesystems/fusefs-libs3/Makefile b/filesystems/fusefs-libs3/Makefile
new file mode 100644
index 000000000000..28bd5ec39c86
--- /dev/null
+++ b/filesystems/fusefs-libs3/Makefile
@@ -0,0 +1,31 @@
+PORTNAME= fusefs-libs3
+DISTVERSION= 3.16.2
+CATEGORIES= filesystems sysutils
+MASTER_SITES= https://github.com/libfuse/libfuse/releases/download/fuse-${DISTVERSION}/
+DISTNAME= fuse-${DISTVERSION}
+
+MAINTAINER= se@FreeBSD.org
+COMMENT= FUSE library version 3 for filesystems implemented in userspace
+WWW= https://github.com/libfuse/libfuse/wiki/Filesystems
+
+LICENSE= GPLv2 LGPL21
+LICENSE_COMB= multi
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= compiler iconv meson ninja
+USE_LDCONFIG= yes
+
+LDFLAGS+= -L${LOCALBASE}/lib ${ICONV_LIB}
+
+PLIST_SUB= VERSION=${PORTVERSION}
+
+.include <bsd.port.pre.mk>
+
+.if ${OPSYS} == "FreeBSD" && ${OSVERSION} < 1400014
+EXTRA_PATCHES= ${FILESDIR}/extra-patch-test_meson.build
+.endif
+.if ${OPSYS} == DragonFly
+IGNORE= fusefs has not been implemented on DragonFly
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/filesystems/fusefs-libs3/distinfo b/filesystems/fusefs-libs3/distinfo
new file mode 100644
index 000000000000..363a678a4cce
--- /dev/null
+++ b/filesystems/fusefs-libs3/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1697025258
+SHA256 (fuse-3.16.2.tar.gz) = f797055d9296b275e981f5f62d4e32e089614fc253d1ef2985851025b8a0ce87
+SIZE (fuse-3.16.2.tar.gz) = 14165836
diff --git a/filesystems/fusefs-libs3/files/extra-patch-test_meson.build b/filesystems/fusefs-libs3/files/extra-patch-test_meson.build
new file mode 100644
index 000000000000..f7a17a17e4e7
--- /dev/null
+++ b/filesystems/fusefs-libs3/files/extra-patch-test_meson.build
@@ -0,0 +1,15 @@
+--- test/meson.build.orig 2021-09-06 12:45:29 UTC
++++ test/meson.build
+@@ -7,9 +7,9 @@ foreach prog: [ 'test_write_cache', 'test_setattr' ]
+ dependencies: thread_dep,
+ install: false)
+ endforeach
+-td += executable('test_syscalls', 'test_syscalls.c',
+- include_directories: include_dirs,
+- install: false)
++#td += executable('test_syscalls', 'test_syscalls.c',
++# include_directories: include_dirs,
++# install: false)
+ td += executable('readdir_inode', 'readdir_inode.c',
+ include_directories: include_dirs,
+ install: false)
diff --git a/filesystems/fusefs-libs3/files/patch-example_meson.build b/filesystems/fusefs-libs3/files/patch-example_meson.build
new file mode 100644
index 000000000000..88340523ed75
--- /dev/null
+++ b/filesystems/fusefs-libs3/files/patch-example_meson.build
@@ -0,0 +1,9 @@
+--- example/meson.build.orig 2023-02-17 09:31:14 UTC
++++ example/meson.build
+@@ -1,5 +1,5 @@ examples = [ 'passthrough', 'passthrough_fh',
+ examples = [ 'passthrough', 'passthrough_fh',
+- 'hello', 'hello_ll', 'hello_ll_uds',
++ 'hello', 'hello_ll',
+ 'printcap', 'ioctl_client', 'poll_client',
+ 'ioctl', 'cuse', 'cuse_client' ]
+
diff --git a/filesystems/fusefs-libs3/files/patch-lib_mount__bsd.c b/filesystems/fusefs-libs3/files/patch-lib_mount__bsd.c
new file mode 100644
index 000000000000..7a757d511cf9
--- /dev/null
+++ b/filesystems/fusefs-libs3/files/patch-lib_mount__bsd.c
@@ -0,0 +1,10 @@
+--- lib/mount_bsd.c.orig 2023-02-17 09:31:14 UTC
++++ lib/mount_bsd.c
+@@ -8,7 +8,6 @@
+ See the file COPYING.LIB.
+ */
+
+-#include "config.h"
+ #include "fuse_i.h"
+ #include "fuse_misc.h"
+ #include "fuse_opt.h"
diff --git a/filesystems/fusefs-libs3/pkg-descr b/filesystems/fusefs-libs3/pkg-descr
new file mode 100644
index 000000000000..8897132a5e08
--- /dev/null
+++ b/filesystems/fusefs-libs3/pkg-descr
@@ -0,0 +1,7 @@
+FUSE makes it possible to implement a filesystem in a userspace program.
+
+This version 3 of the fuse library is not compatible with file-systems
+developed for version 2.
+
+A list of filesystems supported by this version of the library is
+maintained in the WiKi on GitHub.
diff --git a/filesystems/fusefs-libs3/pkg-message b/filesystems/fusefs-libs3/pkg-message
new file mode 100644
index 000000000000..3e54fcf60f9c
--- /dev/null
+++ b/filesystems/fusefs-libs3/pkg-message
@@ -0,0 +1,7 @@
+[
+{ type: install
+ message: <<EOM
+Install the FUSE kernel module (kldload fusefs) to use this port.
+EOM
+}
+]
diff --git a/filesystems/fusefs-libs3/pkg-plist b/filesystems/fusefs-libs3/pkg-plist
new file mode 100644
index 000000000000..e82082ae92f8
--- /dev/null
+++ b/filesystems/fusefs-libs3/pkg-plist
@@ -0,0 +1,11 @@
+include/fuse3/cuse_lowlevel.h
+include/fuse3/fuse.h
+include/fuse3/fuse_common.h
+include/fuse3/fuse_log.h
+include/fuse3/fuse_lowlevel.h
+include/fuse3/fuse_opt.h
+include/fuse3/libfuse_config.h
+lib/libfuse3.so
+lib/libfuse3.so.3
+lib/libfuse3.so.%%VERSION%%
+libdata/pkgconfig/fuse3.pc