aboutsummaryrefslogtreecommitdiff
path: root/filesystems
diff options
context:
space:
mode:
Diffstat (limited to 'filesystems')
-rw-r--r--filesystems/Makefile1
-rw-r--r--filesystems/nbd-client-kmod/Makefile33
-rw-r--r--filesystems/nbd-client-kmod/distinfo3
-rw-r--r--filesystems/nbd-client-kmod/files/gnbd.in3
-rw-r--r--filesystems/nbd-client-kmod/files/patch-lib_Makefile12
-rw-r--r--filesystems/nbd-client-kmod/pkg-descr5
-rw-r--r--filesystems/nbd-client-kmod/pkg-plist5
7 files changed, 62 insertions, 0 deletions
diff --git a/filesystems/Makefile b/filesystems/Makefile
index 4f7065513f9a..67ebb926d71f 100644
--- a/filesystems/Makefile
+++ b/filesystems/Makefile
@@ -76,6 +76,7 @@
SUBDIR += mp3fs
SUBDIR += mtools
SUBDIR += mtpfs
+ SUBDIR += nbd-client-kmod
SUBDIR += nbt
SUBDIR += ntfs
SUBDIR += ntfs-compression
diff --git a/filesystems/nbd-client-kmod/Makefile b/filesystems/nbd-client-kmod/Makefile
new file mode 100644
index 000000000000..ab4d62f09d4c
--- /dev/null
+++ b/filesystems/nbd-client-kmod/Makefile
@@ -0,0 +1,33 @@
+PORTNAME= nbd-client
+DISTVERSION= g20250928
+CATEGORIES= filesystems
+PKGNAMESUFFIX= -kmod
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Kernel NBD client for FreeBSD GEOM framework
+WWW= https://github.com/ryan-moeller/kernel-nbd-client
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BROKEN_i386= format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long')
+
+USES= kmod ssl uidfix
+USE_GITHUB= yes
+GH_ACCOUNT= ryan-moeller
+GH_PROJECT= kernel-nbd-client
+GH_TAGNAME= df0528162deffaabaae4365394b4b6e75ff3fcaf
+
+MAKE_ENV= GEOM_CLASS_DIR="${PREFIX}/lib/geom" \
+ MANDIR="${PREFIX}/share/man/man"
+
+SUB_FILES= gnbd
+
+pre-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/lib/geom
+
+post-install:
+ ${INSTALL_SCRIPT} ${WRKDIR}/gnbd ${STAGEDIR}${PREFIX}/sbin/gnbd
+ ${INSTALL_DATA} ${WRKSRC}/devd.conf.sample ${STAGEDIR}${PREFIX}/etc/devd/${PORTNAME}.conf.sample
+
+.include <bsd.port.mk>
diff --git a/filesystems/nbd-client-kmod/distinfo b/filesystems/nbd-client-kmod/distinfo
new file mode 100644
index 000000000000..8d781e318f51
--- /dev/null
+++ b/filesystems/nbd-client-kmod/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760457302
+SHA256 (ryan-moeller-kernel-nbd-client-g20250928-df0528162deffaabaae4365394b4b6e75ff3fcaf_GH0.tar.gz) = 9e6b66d41ae86c5eb52f9cb835b7517775d2a58a0523d7617ff55d91384f792f
+SIZE (ryan-moeller-kernel-nbd-client-g20250928-df0528162deffaabaae4365394b4b6e75ff3fcaf_GH0.tar.gz) = 39296
diff --git a/filesystems/nbd-client-kmod/files/gnbd.in b/filesystems/nbd-client-kmod/files/gnbd.in
new file mode 100644
index 000000000000..94d021b26b05
--- /dev/null
+++ b/filesystems/nbd-client-kmod/files/gnbd.in
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec env GEOM_LIBRARY_PATH="%%LOCALBASE%%/lib/geom" /sbin/geom nbd "$@"
diff --git a/filesystems/nbd-client-kmod/files/patch-lib_Makefile b/filesystems/nbd-client-kmod/files/patch-lib_Makefile
new file mode 100644
index 000000000000..72ec380c46c4
--- /dev/null
+++ b/filesystems/nbd-client-kmod/files/patch-lib_Makefile
@@ -0,0 +1,12 @@
+--- lib/Makefile.orig 2025-10-14 17:24:26 UTC
++++ lib/Makefile
+@@ -21,9 +21,6 @@ LDADD+= -lssl -lcrypto
+ LDADD+= -lssl -lcrypto
+ #.endif
+
+-# Not needed when in tree
+-LINKS= /sbin/geom /sbin/gnbd
+-
+ .PATH: ${SRCTOP}/sbin/geom/misc
+
+ .include <bsd.lib.mk>
diff --git a/filesystems/nbd-client-kmod/pkg-descr b/filesystems/nbd-client-kmod/pkg-descr
new file mode 100644
index 000000000000..199e3750eea1
--- /dev/null
+++ b/filesystems/nbd-client-kmod/pkg-descr
@@ -0,0 +1,5 @@
+FreeBSD Geom NBD Client is a Network Block Device (NBD) client for
+the FreeBSD kernel GEOM framework.
+
+The project consists of a kernel driver for the NBD GEOM class in
+mod/ and a user library for the geom(8) control utility in lib/.
diff --git a/filesystems/nbd-client-kmod/pkg-plist b/filesystems/nbd-client-kmod/pkg-plist
new file mode 100644
index 000000000000..6467c9b1e620
--- /dev/null
+++ b/filesystems/nbd-client-kmod/pkg-plist
@@ -0,0 +1,5 @@
+/%%KMODDIR%%/geom_nbd.ko
+lib/geom/geom_nbd.so
+share/man/man8/gnbd.8.gz
+sbin/gnbd
+@sample etc/devd/nbd-client.conf.sample