git: 7cba85912f1e - main - archivers/unpackerr: New port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 30 Sep 2025 20:33:07 UTC
The branch main has been updated by bofh:
URL: https://cgit.FreeBSD.org/ports/commit/?id=7cba85912f1e62a0c37d6a9bab56df4f43ba7e60
commit 7cba85912f1e62a0c37d6a9bab56df4f43ba7e60
Author: Manuel Wiesinger <mdw@freebsd.org>
AuthorDate: 2025-09-30 14:24:44 +0000
Commit: Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2025-09-30 20:33:00 +0000
archivers/unpackerr: New port
Unpackerr is an application that runs on Windows, macOS, Linux, FreeBSD
and in Docker. You can use it to watch a download folder and extract new
items. The more common use is to watch starr apps (radarr, sonarr,
readarr, lidarr, whisparr) and extract items they download. It can do
both, at the same time even.
WWW: https://unpackerr.zip
---
GIDs | 2 +-
UIDs | 2 +-
archivers/Makefile | 1 +
archivers/unpackerr/Makefile | 43 +++++++++++++++++++++++++++++
archivers/unpackerr/distinfo | 5 ++++
archivers/unpackerr/files/unpackerr.in | 49 ++++++++++++++++++++++++++++++++++
archivers/unpackerr/pkg-descr | 5 ++++
7 files changed, 105 insertions(+), 2 deletions(-)
diff --git a/GIDs b/GIDs
index d3ed7124e989..baf5d560773a 100644
--- a/GIDs
+++ b/GIDs
@@ -315,7 +315,7 @@ reposilite:*:371:
beam:*:372:
mautrix-whatsapp:*:373:
traccar:*:374:
-# free: 375
+unpackerr:*:375:
# free: 376
hostd:*:377:
walletd:*:378:
diff --git a/UIDs b/UIDs
index 899042c0c23a..db734a200d8a 100644
--- a/UIDs
+++ b/UIDs
@@ -321,7 +321,7 @@ reposilite:*:371:371::0:0:Reposilite user:/nonexistent:/usr/sbin/nologin
beam:*:372:372::0:0:Erlang BEAM VM user:/nonexistent:/usr/sbin/nologin
mautrix-whatsapp:*:373:373::0:0:Mautrix-Whatsapp Daemon:/nonexistent:/usr/sbin/nologin
traccar:*:374:374::0:0:Traccar GPS Tracking Platform:/nonexistent:/usr/sbin/nologin
-# free: 375
+unpackerr:*:375:375::0:0:Unpackerr Daemon:/nonexistent:/usr/sbin/nologin
# free: 376
hostd:*:377:377::0:0:hostd Daemon:/nonexistent:/usr/sbin/nologin
walletd:*:378:378::0:0:walletd Daemon:/nonexistent:/usr/sbin/nologin
diff --git a/archivers/Makefile b/archivers/Makefile
index 759464313a16..9a4af30b138f 100644
--- a/archivers/Makefile
+++ b/archivers/Makefile
@@ -277,6 +277,7 @@
SUBDIR += undms
SUBDIR += unfoo
SUBDIR += unlzx
+ SUBDIR += unpackerr
SUBDIR += unmakeself
SUBDIR += unmass
SUBDIR += unrar
diff --git a/archivers/unpackerr/Makefile b/archivers/unpackerr/Makefile
new file mode 100644
index 000000000000..489b0bf67f48
--- /dev/null
+++ b/archivers/unpackerr/Makefile
@@ -0,0 +1,43 @@
+PORTNAME= unpackerr
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.14.5
+CATEGORIES= archivers
+
+MAINTAINER= mdw@FreeBSD.org
+COMMENT= Extracts downloads for Radarr, Sonarr, Lidarr or Readarr
+WWW= https://unpackerr.zip
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= go-md2man:textproc/go-md2man
+
+USES= go:modules
+USE_RC_SUBR= unpackerr
+
+GO_MODULE= github.com/Unpackerr/unpackerr
+
+USERS= unpackerr
+GROUPS= unpackerr
+
+PLIST_FILES= bin/${PORTNAME} \
+ share/man/man1/unpackerr.1.gz \
+ "@sample ${ETCDIR_REL}/unpackerr.conf.sample"
+PORTDOCS= README.md
+
+OPTIONS_DEFINE= DOCS
+
+post-build:
+ go-md2man -in ${WRKSRC}/examples/MANUAL.md -out ${WRKSRC}/examples/unpackerr.1
+ ${GZIP_CMD} ${WRKSRC}/examples/unpackerr.1
+
+post-install:
+ ${MKDIR} ${STAGEDIR}${ETCDIR}
+ ${INSTALL_DATA} ${WRKSRC}/examples/unpackerr.conf.example ${STAGEDIR}${ETCDIR}/unpackerr.conf.sample
+ ${INSTALL_MAN} ${WRKSRC}/examples/unpackerr.1.gz ${STAGEDIR}${PREFIX}/share/man/man1/
+
+post-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}/
+
+.include <bsd.port.mk>
diff --git a/archivers/unpackerr/distinfo b/archivers/unpackerr/distinfo
new file mode 100644
index 000000000000..f859e97acd3c
--- /dev/null
+++ b/archivers/unpackerr/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1759263836
+SHA256 (go/archivers_unpackerr/unpackerr-v0.14.5/v0.14.5.mod) = 398c880324fd0261e639105a31d5149a8e92457454aac443e511a321a5b24cf8
+SIZE (go/archivers_unpackerr/unpackerr-v0.14.5/v0.14.5.mod) = 3148
+SHA256 (go/archivers_unpackerr/unpackerr-v0.14.5/v0.14.5.zip) = 25c7d38d3a70f3171076bef30980b8da783dc8cf049f0ddd2830f3045516f7d2
+SIZE (go/archivers_unpackerr/unpackerr-v0.14.5/v0.14.5.zip) = 655980
diff --git a/archivers/unpackerr/files/unpackerr.in b/archivers/unpackerr/files/unpackerr.in
new file mode 100644
index 000000000000..af63a6d0cf09
--- /dev/null
+++ b/archivers/unpackerr/files/unpackerr.in
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+# PROVIDE: unpackerr
+# REQUIRE: LOGIN NETWORKING
+# KEYWORD: shutdown
+
+# Add the following lines to /etc/rc.conf to enable unpackerr:
+# unpackerr_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable unpackerr
+# unpackerr_configfile (str): Set to "%%PREFIX%%/etc/unpackerr.conf" by default.
+# Configuration file for unpackerr
+# unpackerr_user (str): Set to "unpackerr" by default.
+# User to run unpackerr
+
+. /etc/rc.subr
+
+name=unpackerr
+rcvar=unpackerr_enable
+
+start_precmd="${name}_precmd"
+stop_postcmd="${name}_postcmd"
+configtest_cmd="${name}_configtest"
+
+load_rc_config ${name}
+
+: ${unpackerr_enable:="no"}
+: ${unpackerr_configfile:="%%PREFIX%%/etc/unpackerr/unpackerr.conf"}
+: ${unpackerr_user:="unpackerr"}
+
+procname="%%PREFIX%%/bin/unpackerr"
+pidfile="/var/run/${name}.pid"
+daemonpidfile="/var/run/daemon_${name}.pid"
+required_files="${unpackerr_configfile}"
+command="/usr/sbin/daemon"
+
+unpackerr_precmd()
+{
+ rc_flags="-p ${pidfile} -P ${daemonpidfile} -f ${procname} -c ${unpackerr_configfile} ${rc_flags}"
+
+ /usr/bin/install -m 600 -o ${unpackerr_user} /dev/null $pidfile
+ /usr/bin/install -m 600 -o ${unpackerr_user} /dev/null $daemonpidfile
+}
+
+unpackerr_postcmd()
+{
+ rm -f $pidfile $daemonpidfile
+}
+
+run_rc_command "$1"
diff --git a/archivers/unpackerr/pkg-descr b/archivers/unpackerr/pkg-descr
new file mode 100644
index 000000000000..6cd65d9f8ab1
--- /dev/null
+++ b/archivers/unpackerr/pkg-descr
@@ -0,0 +1,5 @@
+Unpackerr is an application that runs on Windows, macOS, Linux, FreeBSD and in
+Docker. You can use it to watch a download folder and extract new items. The
+more common use is to watch starr apps (radarr, sonarr, readarr, lidarr,
+whisparr) and extract items they download. It can do both, at the same time
+even.