git: e510f45d474d - main - sysutils/hammer2: New port: HAMMER2 file system for FreeBSD

From: Koichiro Iwao <meta_at_FreeBSD.org>
Date: Mon, 28 Nov 2022 00:55:06 UTC
The branch main has been updated by meta:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e510f45d474dc7bcd7d097a69ebfe30cee4fce68

commit e510f45d474dc7bcd7d097a69ebfe30cee4fce68
Author:     Tomohiro Kusumi <tkusumi@netbsd.org>
AuthorDate: 2022-11-25 06:48:22 +0000
Commit:     Koichiro Iwao <meta@FreeBSD.org>
CommitDate: 2022-11-28 00:52:35 +0000

    sysutils/hammer2: New port: HAMMER2 file system for FreeBSD
    
    HAMMER2 file system for FreeBSD (read-only support).
    https://gitweb.dragonflybsd.org/dragonfly.git/blob/HEAD:/sys/vfs/hammer2/DESIGN
    
    Consists of hammer2.ko kernel module and sbin/* binaries.
    
    WWW: https://github.com/kusumi/freebsd_hammer2
    
    PR:             267982
    Tested by:      meta
---
 sysutils/Makefile          |  1 +
 sysutils/hammer2/Makefile  | 38 ++++++++++++++++++++++++++++++++++++++
 sysutils/hammer2/distinfo  |  3 +++
 sysutils/hammer2/pkg-descr |  2 ++
 sysutils/hammer2/pkg-plist |  9 +++++++++
 5 files changed, 53 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index f205b67384ca..21824f164767 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -514,6 +514,7 @@
     SUBDIR += gstopd
     SUBDIR += gstreamer1-plugins-cdio
     SUBDIR += gtk-imonc
+    SUBDIR += hammer2
     SUBDIR += handlr
     SUBDIR += hardlink
     SUBDIR += hare
diff --git a/sysutils/hammer2/Makefile b/sysutils/hammer2/Makefile
new file mode 100644
index 000000000000..91cbd82a7a09
--- /dev/null
+++ b/sysutils/hammer2/Makefile
@@ -0,0 +1,38 @@
+PORTNAME=	hammer2
+PORTVERSION=	1.0.1
+DISTVERSIONPREFIX=	v
+CATEGORIES=	sysutils
+
+MAINTAINER=	tkusumi@netbsd.org
+COMMENT=	HAMMER2 file system for FreeBSD (read-only support)
+WWW=		https://github.com/kusumi/freebsd_hammer2
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/COPYRIGHT
+
+IGNORE_FreeBSD_12=	Not supported on FreeBSD 12
+
+USES=		kmod uidfix
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	kusumi
+GH_PROJECT=	freebsd_hammer2
+
+do-install:
+	${INSTALL_KLD} ${WRKSRC}/src/sys/fs/hammer2/hammer2.ko ${STAGEDIR}${KMODDIR}
+	${INSTALL_PROGRAM} ${WRKSRC}/src/sbin/hammer2/hammer2 ${STAGEDIR}${PREFIX}/sbin
+	${INSTALL_PROGRAM} ${WRKSRC}/src/sbin/newfs_hammer2/newfs_hammer2 ${STAGEDIR}${PREFIX}/sbin
+	${INSTALL_PROGRAM} ${WRKSRC}/src/sbin/mount_hammer2/mount_hammer2 ${STAGEDIR}${PREFIX}/sbin
+	${INSTALL_PROGRAM} ${WRKSRC}/src/sbin/fsck_hammer2/fsck_hammer2 ${STAGEDIR}${PREFIX}/sbin
+	${INSTALL_MAN} ${WRKSRC}/src/sbin/hammer2/hammer2.8 ${STAGEDIR}${PREFIX}/man/man8
+	${INSTALL_MAN} ${WRKSRC}/src/sbin/newfs_hammer2/newfs_hammer2.8 ${STAGEDIR}${PREFIX}/man/man8
+	${INSTALL_MAN} ${WRKSRC}/src/sbin/mount_hammer2/mount_hammer2.8 ${STAGEDIR}${PREFIX}/man/man8
+	${INSTALL_MAN} ${WRKSRC}/src/sbin/fsck_hammer2/fsck_hammer2.8 ${STAGEDIR}${PREFIX}/man/man8
+
+post-install:
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/hammer2
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/newfs_hammer2
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/mount_hammer2
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/fsck_hammer2
+
+.include <bsd.port.mk>
diff --git a/sysutils/hammer2/distinfo b/sysutils/hammer2/distinfo
new file mode 100644
index 000000000000..e0890382318a
--- /dev/null
+++ b/sysutils/hammer2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1669414324
+SHA256 (kusumi-freebsd_hammer2-v1.0.1_GH0.tar.gz) = f6ed25314c71dc27bbc93a9041d3decf0f9faccee998c402d0d1d025f5375424
+SIZE (kusumi-freebsd_hammer2-v1.0.1_GH0.tar.gz) = 211818
diff --git a/sysutils/hammer2/pkg-descr b/sysutils/hammer2/pkg-descr
new file mode 100644
index 000000000000..a79c375779f2
--- /dev/null
+++ b/sysutils/hammer2/pkg-descr
@@ -0,0 +1,2 @@
+HAMMER2 file system for FreeBSD (read-only support).
+Write support for FreeBSD is not planned at the moment.
diff --git a/sysutils/hammer2/pkg-plist b/sysutils/hammer2/pkg-plist
new file mode 100644
index 000000000000..551868c0167b
--- /dev/null
+++ b/sysutils/hammer2/pkg-plist
@@ -0,0 +1,9 @@
+/%%KMODDIR%%/hammer2.ko
+sbin/hammer2
+sbin/newfs_hammer2
+sbin/mount_hammer2
+sbin/fsck_hammer2
+man/man8/hammer2.8.gz
+man/man8/newfs_hammer2.8.gz
+man/man8/mount_hammer2.8.gz
+man/man8/fsck_hammer2.8.gz