diff --git a/GIDs b/GIDs index f1359bc682d4..9b2e5b0c69fb 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 815a01dad862..50e6760b2ef5 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::0:0: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..66ecbcabac10 --- /dev/null +++ b/net-im/biboumi/Makefile @@ -0,0 +1,90 @@ +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} + +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 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/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-message b/net-im/biboumi/pkg-message new file mode 100644 index 000000000000..17cd62508abf --- /dev/null +++ b/net-im/biboumi/pkg-message @@ -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-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