aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsamir <samir@noir.im>2021-07-20 22:06:41 +0000
committerAshish SHUKLA <ashish@FreeBSD.org>2021-07-20 22:11:30 +0000
commit5f49d1f3a82c393bb865e7ca43c06aa591e78b84 (patch)
tree92a2d7e7090d5df9d045aa4bbb21366ea7d3db41
parent8244be0b58ff2638f78fb1a3ae7ca551023354eb (diff)
downloadports-5f49d1f3a82c393bb865e7ca43c06aa591e78b84.tar.gz
ports-5f49d1f3a82c393bb865e7ca43c06aa591e78b84.zip
net-im/biboumi: new port: XMPP gateway to IRC
Biboumi is a Free, Libre and Open Source XMPP gateway that connects to IRC servers and translates between the two protocols. Its goal is to let XMPP users take part in IRC discussions, using their favourite XMPP client. WWW: https://biboumi.louiz.org/ PR: 250705
-rw-r--r--GIDs2
-rw-r--r--UIDs2
-rw-r--r--net-im/biboumi/Makefile91
-rw-r--r--net-im/biboumi/distinfo5
-rw-r--r--net-im/biboumi/files/biboumi.in37
-rw-r--r--net-im/biboumi/files/patch-doc_Makefile11
-rw-r--r--net-im/biboumi/files/pkg-message.in5
-rw-r--r--net-im/biboumi/pkg-descr5
-rw-r--r--net-im/biboumi/pkg-plist10
9 files changed, 166 insertions, 2 deletions
diff --git a/GIDs b/GIDs
index 154d42473f83..3742f900cb63 100644
--- a/GIDs
+++ b/GIDs
@@ -232,7 +232,7 @@ victoria-metrics:*:289:
_gmid:*:290:
pydio:*:291:
sftpgo:*:292:
-# free: 293
+biboumi:*:293:
# free: 294
# free: 295
# free: 296
diff --git a/UIDs b/UIDs
index 9a414c0df614..b59a2f8919fa 100644
--- a/UIDs
+++ b/UIDs
@@ -237,7 +237,7 @@ victoria-metrics:*:289:289::0:0:VictoriaMetrics user:/nonexistent:/usr/sbin/nolo
_gmid:*:290:290::0:0:gmid daemon user:/var/empty:/usr/sbin/nologin
pydio:*:291:291::0:0:pydio cells user:/var/pydio:/bin/sh
sftpgo:*:292:292::0:0:SFTPGo user:/nonexistent:/usr/sbin/nologin
-# free: 293
+biboumi:*:293:293:biboumi:/nonexistent:/usr/sbin/nologin
# free: 294
# free: 295
# free: 296
diff --git a/net-im/biboumi/Makefile b/net-im/biboumi/Makefile
new file mode 100644
index 000000000000..87c5313249c3
--- /dev/null
+++ b/net-im/biboumi/Makefile
@@ -0,0 +1,91 @@
+PORTNAME= biboumi
+DISTVERSION= 9.0
+CATEGORIES= net-im
+MASTER_SITES= https://git.louiz.org/biboumi/snapshot/
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER= samir@noir.im
+COMMENT= XMPP gateway to IRC
+
+LICENSE= ZLIB
+
+LIB_DEPENDS= libexpat.so:textproc/expat2 \
+ libuuid.so:misc/e2fsprogs-libuuid
+
+USES= cmake iconv localbase:ldflags pkgconfig python:build tar:xz
+
+USE_GITHUB= nodefault
+GH_TUPLE= catchorg:Catch2:v2.2.1:catch/external/src/catch
+
+CMAKE_ARGS= -DWITHOUT_SYSTEMD=1
+
+OPTIONS_DEFINE= DOCS LIBIDN PGSQL SQLITE3 TLS UDNS
+OPTIONS_DEFAULT= LIBIDN PGSQL SQLITE3 TLS UDNS
+
+LIBIDN_DESC= Stringprep functionality, to provide JIDs for IRC users
+PGSQL_DESC= Store users' options and messages in PostgreSQL
+SQLITE3_DESC= Store users' options and messages in SQLite
+TLS_DESC= Support TLS connections to IRC servers
+UDNS_DESC= Asynchronously resolve domain names, for better performances
+
+DOCS_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx \
+ ${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme
+DOCS_PORTDOCS= *
+
+LIBIDN_LIB_DEPENDS= libidn.so:dns/libidn
+LIBIDN_CMAKE_ON= -DWITH_LIBIDN=1
+LIBIDN_CMAKE_OFF= -DWITHOUT_LIBIDN=1
+
+PGSQL_USES= pgsql
+PGSQL_CMAKE_ON= -DWITH_POSTGRESQL=1
+PGSQL_CMAKE_OFF= -DWITHOUT_POSTGRESQL=1
+
+SQLITE3_USES= sqlite:3
+SQLITE3_CMAKE_ON= -DWITH_SQLITE3=1
+SQLITE3_CMAKE_OFF= -DWITHOUT_SQLITE3=1
+
+TLS_LIB_DEPENDS= libbotan-2.so:security/botan2
+TLS_LIB_DEPENDS_OFF= libgcrypt.so:security/libgcrypt
+TLS_RUN_DEPENDS_ON= ca_root_nss>0:security/ca_root_nss
+TLS_CMAKE_ON= -DWITH_BOTAN=1
+TLS_CMAKE_OFF= -DWITHOUT_BOTAN=1
+
+UDNS_LIB_DEPENDS= libudns.so:dns/udns
+UDNS_CMAKE_ON= -DWITH_UDNS=1
+UDNS_CMAKE_OFF= -DWITHOUT_UDNS=1
+
+USERS= biboumi
+GROUPS= ${USERS}
+
+USE_RC_SUBR= biboumi
+SUB_LIST= USER=${USERS} GROUP=${GROUPS}
+PLIST_SUB= ${SUB_LIST}
+SUB_FILES= pkg-message
+
+post-patch:
+ ${REINPLACE_CMD} -e 's,GIT_REPOSITORY.*Catch.git",SOURCE_DIR "${WRKSRC}/external/src/catch",' ${WRKSRC}/CMakeLists.txt
+
+post-build:
+ cd ${WRKSRC}/doc && ${MAKE} man
+
+post-build-DOCS-on:
+ cd ${WRKSRC}/doc && ${MAKE} html
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKDIR}/.build/biboumi ${STAGEDIR}${PREFIX}/bin
+ ${MKDIR} ${STAGEDIR}${PREFIX}/etc/biboumi
+ ${INSTALL_DATA} ${WRKSRC}/conf/biboumi.cfg ${STAGEDIR}${ETCDIR}/biboumi.cfg.sample
+
+post-install:
+ ${MKDIR} ${STAGEDIR}/var/db/biboumi
+ ${MKDIR} ${STAGEDIR}/var/run/biboumi
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_DATA} ${WRKSRC}/conf/*policy.txt ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_MAN} ${WRKSRC}/doc/_build/man/*.1 ${STAGEDIR}${PREFIX}/man/man1
+
+post-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ (cd ${WRKSRC}/doc/_build/html && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} \
+ "! -name .buildinfo")
+
+.include <bsd.port.mk>
diff --git a/net-im/biboumi/distinfo b/net-im/biboumi/distinfo
new file mode 100644
index 000000000000..e4bf22cc7e40
--- /dev/null
+++ b/net-im/biboumi/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1625177638
+SHA256 (biboumi-9.0.tar.xz) = 1eff9a9110830e056e434e4edf3a33de52c6d092a3db4877b5531513627e7ecb
+SIZE (biboumi-9.0.tar.xz) = 161192
+SHA256 (catchorg-Catch2-v2.2.1_GH0.tar.gz) = 3938bc896f8de570bc56d25606fc128437ee53590a95cf3e005710176a1a1ce4
+SIZE (catchorg-Catch2-v2.2.1_GH0.tar.gz) = 487804
diff --git a/net-im/biboumi/files/biboumi.in b/net-im/biboumi/files/biboumi.in
new file mode 100644
index 000000000000..48f12e15a72b
--- /dev/null
+++ b/net-im/biboumi/files/biboumi.in
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+#
+# PROVIDE: biboumi
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add these lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# biboumi_enable (bool): Set to NO by default.
+# Set it to YES to enable biboumi.
+# biboumi_config (path): Set to %%PREFIX%%/etc/biboumi/biboumi.cfg
+# by default.
+
+. /etc/rc.subr
+
+name=biboumi
+rcvar=biboumi_enable
+pidfile="/var/run/biboumi/biboumi.pid"
+procname="%%PREFIX%%/bin/biboumi"
+
+load_rc_config $name
+
+: ${biboumi_enable:="NO"}
+: ${biboumi_config="%%PREFIX%%/etc/biboumi/biboumi.cfg"}
+
+command="/usr/sbin/daemon"
+command_args="-p ${pidfile} -f ${procname} ${biboumi_config}"
+extra_commands="reload"
+required_files="$biboumi_config"
+sig_reload="USR1"
+
+biboumi_user="%%USER%%"
+biboumi_group="%%GROUP%%"
+
+run_rc_command "$1"
diff --git a/net-im/biboumi/files/patch-doc_Makefile b/net-im/biboumi/files/patch-doc_Makefile
new file mode 100644
index 000000000000..480b604c095e
--- /dev/null
+++ b/net-im/biboumi/files/patch-doc_Makefile
@@ -0,0 +1,11 @@
+--- doc/Makefile.orig 2020-10-24 17:19:42 UTC
++++ doc/Makefile
+@@ -16,5 +16,5 @@ help:
+
+ # Catch-all target: route all unknown targets to Sphinx using the new
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
+-%: Makefile
+- @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+\ No newline at end of file
++.DEFAULT: Makefile
++ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/net-im/biboumi/files/pkg-message.in b/net-im/biboumi/files/pkg-message.in
new file mode 100644
index 000000000000..17cd62508abf
--- /dev/null
+++ b/net-im/biboumi/files/pkg-message.in
@@ -0,0 +1,5 @@
+Regarding TLS connections to IRC servers, settings can be customized globally or
+per server. This is done using policy txt files, examples can be found in
+%%PREFIX%%/share/examples/biboumi/.
+
+ca_file (in biboumi.cfg) should be set to %%PREFIX%%/share/certs/ca-root-nss.crt
diff --git a/net-im/biboumi/pkg-descr b/net-im/biboumi/pkg-descr
new file mode 100644
index 000000000000..e4d9ccfd939e
--- /dev/null
+++ b/net-im/biboumi/pkg-descr
@@ -0,0 +1,5 @@
+Biboumi is a Free, Libre and Open Source XMPP gateway that connects to IRC
+servers and translates between the two protocols. Its goal is to let XMPP users
+take part in IRC discussions, using their favourite XMPP client.
+
+WWW: https://biboumi.louiz.org/
diff --git a/net-im/biboumi/pkg-plist b/net-im/biboumi/pkg-plist
new file mode 100644
index 000000000000..5dff1d8f521d
--- /dev/null
+++ b/net-im/biboumi/pkg-plist
@@ -0,0 +1,10 @@
+bin/biboumi
+man/man1/biboumi.1.gz
+@sample %%ETCDIR%%/biboumi.cfg.sample %%ETCDIR%%/biboumi.cfg
+@dir(%%USER%%,%%GROUP%%) /var/db/biboumi
+@dir(%%USER%%,%%GROUP%%) /var/run/biboumi
+%%EXAMPLESDIR%%/policy.txt
+%%EXAMPLESDIR%%/irc.gimp.org.policy.txt
+%%EXAMPLESDIR%%/irc.gnome.org.policy.txt
+%%EXAMPLESDIR%%/irc.mozilla.org.policy.txt
+%%EXAMPLESDIR%%/irc.ppirc.net.policy.txt