git: 0c790035b4e4 - main - archivers/unhare: new port

From: Michael Osipov <michaelo_at_FreeBSD.org>
Date: Sun, 13 Sep 2026 09:55:44 UTC
The branch main has been updated by michaelo:

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

commit 0c790035b4e42878ae34f1495134906cb7fa017a
Author:     Mikhail Teterin <mi@FreeBSD.org>
AuthorDate: 2026-09-01 00:52:54 +0000
Commit:     Michael Osipov <michaelo@FreeBSD.org>
CommitDate: 2026-09-13 09:55:00 +0000

    archivers/unhare: new port
    
    unhare extracts the filesystem that Bun embeds in a standalone
    executable. It finds the bundle through the ELF section holding it, or
    by scanning the whole file where there is no such section -- which is
    what the Mach-O and PE executables Bun builds on other systems need --
    and writes the bundled modules out as ordinary files.
    
    PR:             298005
---
 archivers/Makefile         |  1 +
 archivers/unhare/Makefile  | 22 ++++++++++++++++++++++
 archivers/unhare/distinfo  |  3 +++
 archivers/unhare/pkg-descr |  5 +++++
 4 files changed, 31 insertions(+)

diff --git a/archivers/Makefile b/archivers/Makefile
index cae2a8203ac3..69265e8849a0 100644
--- a/archivers/Makefile
+++ b/archivers/Makefile
@@ -282,6 +282,7 @@
     SUBDIR += unarr
     SUBDIR += undms
     SUBDIR += unfoo
+    SUBDIR += unhare
     SUBDIR += unlzx
     SUBDIR += unmakeself
     SUBDIR += unmass
diff --git a/archivers/unhare/Makefile b/archivers/unhare/Makefile
new file mode 100644
index 000000000000..5169cb49a13b
--- /dev/null
+++ b/archivers/unhare/Makefile
@@ -0,0 +1,22 @@
+PORTNAME=	unhare
+DISTVERSION=	1.1.1
+CATEGORIES=	archivers
+MASTER_SITES=	https://github.com/UnitedMarsupials/unhare/releases/download/v${DISTVERSION}/
+
+MAINTAINER=	ports@virtual-estates.net
+COMMENT=	Extract the filesystem bundled into a Bun standalone binary
+WWW=		https://github.com/UnitedMarsupials/unhare
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		tar:xz uidfix
+
+MAKEFILE=	BSDmakefile
+
+TEST_TARGET=	test
+
+PLIST_FILES=	bin/${PORTNAME} \
+		share/man/man1/${PORTNAME}.1.gz
+
+.include <bsd.port.mk>
diff --git a/archivers/unhare/distinfo b/archivers/unhare/distinfo
new file mode 100644
index 000000000000..14a51fe948c9
--- /dev/null
+++ b/archivers/unhare/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1788223786
+SHA256 (unhare-1.1.1.tar.xz) = a18af074cfaa535ddc94e8de56b01c8930863ab4bf37598662d85de68b91f097
+SIZE (unhare-1.1.1.tar.xz) = 35224
diff --git a/archivers/unhare/pkg-descr b/archivers/unhare/pkg-descr
new file mode 100644
index 000000000000..6237ae94e470
--- /dev/null
+++ b/archivers/unhare/pkg-descr
@@ -0,0 +1,5 @@
+unhare extracts the filesystem that Bun embeds in a standalone
+executable. It finds the bundle through the ELF section holding it, or
+by scanning the whole file where there is no such section -- which is
+what the Mach-O and PE executables Bun builds on other systems need --
+and writes the bundled modules out as ordinary files.