commit:     4748ed3ebd1451e4a04ca236e1acd4ba34e0be13
Author:     Julien Roy <julien <AT> jroy <DOT> ca>
AuthorDate: Sun Jan 22 03:00:58 2023 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Sun Jan 22 03:00:58 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=4748ed3e

net-im/heisenbridge: new package, add 1.14.1

Signed-off-by: Julien Roy <julien <AT> jroy.ca>

 net-im/heisenbridge/Manifest                       |  1 +
 .../files/heisenbridge-1.14.1-qanotice.patch       | 13 +++++
 net-im/heisenbridge/files/heisenbridge.confd       | 21 ++++++++
 net-im/heisenbridge/files/heisenbridge.initd       | 24 +++++++++
 net-im/heisenbridge/files/heisenbridge.service     | 12 +++++
 net-im/heisenbridge/heisenbridge-1.14.1.ebuild     | 60 ++++++++++++++++++++++
 net-im/heisenbridge/metadata.xml                   | 18 +++++++
 7 files changed, 149 insertions(+)

diff --git a/net-im/heisenbridge/Manifest b/net-im/heisenbridge/Manifest
new file mode 100644
index 000000000..16459fcc0
--- /dev/null
+++ b/net-im/heisenbridge/Manifest
@@ -0,0 +1 @@
+DIST heisenbridge-1.14.1.gh.tar.gz 66220 BLAKE2B 
79e63dcdc7e29a581b3a19b3c72775ced659092888e73f2a4322470bd1f2dd59ea2991ad054dd2c1a8b2e261a7988793e16d29744fb34a9fc2664bfe93f0f42a
 SHA512 
f952261000ad6fd1b5793d1c18b952d13faea5afa2ac7798a22768e5ef31b620d9cc4cb73617c3e124dc1087a98785ba274747e9f85718533d5ba20dd7af5de2

diff --git a/net-im/heisenbridge/files/heisenbridge-1.14.1-qanotice.patch 
b/net-im/heisenbridge/files/heisenbridge-1.14.1-qanotice.patch
new file mode 100644
index 000000000..41e90360c
--- /dev/null
+++ b/net-im/heisenbridge/files/heisenbridge-1.14.1-qanotice.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.cfg b/setup.cfg
+index cf5b701..7911ec6 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -7,7 +7,7 @@ url = https://github.com/hifi/heisenbridge
+ author = Toni Spets (hifi)
+ author_email = toni.sp...@iki.fi
+ license = MIT license
+-license_file = LICENSE
++license_files = LICENSE
+ 
+ [options]
+ packages =

diff --git a/net-im/heisenbridge/files/heisenbridge.confd 
b/net-im/heisenbridge/files/heisenbridge.confd
new file mode 100644
index 000000000..cb4d34e0f
--- /dev/null
+++ b/net-im/heisenbridge/files/heisenbridge.confd
@@ -0,0 +1,21 @@
+# Path to the registration file
+# Default: /var/lib/heisenbridge/registration.yaml
+REGISTRATION=/var/lib/heisenbridge/registration.yaml
+
+# Listen address
+# Default: 127.0.0.1
+LISTEN_ADDRESS=127.0.0.1
+
+# Listen port
+# Default: 9898
+LISTEN_PORT=9898
+
+# Owner
+# Generally should be the admin of the home server
+# For example: @user:home.server
+# Default: not set
+# OWNER=@user:example.com
+
+# Homeserver
+# Must be set
+HOMESERVER=https://example.com
\ No newline at end of file

diff --git a/net-im/heisenbridge/files/heisenbridge.initd 
b/net-im/heisenbridge/files/heisenbridge.initd
new file mode 100644
index 000000000..b5af35091
--- /dev/null
+++ b/net-im/heisenbridge/files/heisenbridge.initd
@@ -0,0 +1,24 @@
+#!/sbin/openrc-run
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+name="heisenbridge daemon"
+description="a bouncer-style Matrix IRC bridge"
+
+pidfile="/run/${RC_SVCNAME}.pid"
+command="/usr/bin/python"
+command_args="-m heisenbridge -c ${REGISTRATION} -l ${LISTEN_ADDRESS} -p 
${LISTEN_PORT}  ${HOMESERVER}"
+command_background=true
+command_user="heisenbridge:heisenbridge"
+
+output_log="/var/log/heisenbridge.log"
+error_log="/var/log/heisenbridge.log"
+
+depend() {
+       need net
+}
+
+start_pre() {
+       checkpath -d -m 0755 -o "$command_user" /var/lib/heisenbridge
+       checkpath -f -m 0644 -o "$command_user" "$output_log"
+}

diff --git a/net-im/heisenbridge/files/heisenbridge.service 
b/net-im/heisenbridge/files/heisenbridge.service
new file mode 100644
index 000000000..b140c3d3a
--- /dev/null
+++ b/net-im/heisenbridge/files/heisenbridge.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=a bouncer-style Matrix IRC bridge
+After=network.target
+
+[Service]
+User=heisenbridge
+Group=heisenbridge
+Restart=always
+ExecStart=/usr/bin/python -m heisenbridge -c ${REGISTRATION} -r -l 
${LISTEN_ADDRESS} -p ${LISTEN_PORT} ${HOMESERVER}
+
+[Install]
+WantedBy=multi-user.target
\ No newline at end of file

diff --git a/net-im/heisenbridge/heisenbridge-1.14.1.ebuild 
b/net-im/heisenbridge/heisenbridge-1.14.1.ebuild
new file mode 100644
index 000000000..cc4a9a2a0
--- /dev/null
+++ b/net-im/heisenbridge/heisenbridge-1.14.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..10} )
+
+inherit distutils-r1 systemd
+
+DESCRIPTION="A bouncer-style Matrix IRC bridge"
+HOMEPAGE="https://github.com/hifi/heisenbridge/";
+SRC_URI="https://github.com/hifi/heisenbridge/archive/v${PV}.tar.gz -> 
${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       acct-user/${PN}
+       dev-python/irc[${PYTHON_USEDEP}]
+       dev-python/mautrix[${PYTHON_USEDEP}]
+       dev-python/python-socks[${PYTHON_USEDEP}]
+       dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+       "${FILESDIR}/heisenbridge-1.14.1-qanotice.patch"
+)
+
+distutils_enable_tests pytest
+
+src_install() {
+       distutils-r1_src_install
+
+       newinitd "${FILESDIR}/heisenbridge.initd" "${PN}"
+       newconfd "${FILESDIR}/heisenbridge.confd" "${PN}"
+       systemd_dounit "${FILESDIR}/${PN}.service"
+}
+
+pkg_postinst() {
+       einfo
+       elog "Before you can use ${PN}, you must configure it correctly"
+       elog "The configuration file is located at /etc/conf.d/${PN}"
+       elog "Then, you must generate the registration file using the following 
command"
+       elog "If you are using synapse:"
+       elog "/usr/bin/python -m ${PN} -c /var/lib/${PN}/registration.yaml 
--generate https://example.com";
+       elog "If you are using Dendrite, Conduit or others:"
+       elog "/usr/bin/python -m ${PN} -c /var/lib/${PN}/registration.yaml 
--generate-compat https://example.com";
+       elog "Notice the URL at the end, replace it with your homeserver's URL"
+       elog "Then, you must register the bridge with your homeserver"
+       elog "Refer to your homeserver's documentation for instructions"
+       elog "The registration file is located at 
/var/lib/${PN}/registration.yaml"
+       elog "Finally, you may start the ${PN} daemon"
+       einfo
+
+}

diff --git a/net-im/heisenbridge/metadata.xml b/net-im/heisenbridge/metadata.xml
new file mode 100644
index 000000000..ca25c6042
--- /dev/null
+++ b/net-im/heisenbridge/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>jul...@jroy.ca</email>
+               <description>Julien Roy</description>
+       </maintainer>
+       <upstream>
+               <maintainer>
+                       <name>Toni Spets</name>
+                       <email>toni.sp...@iki.fi</email>
+               </maintainer>
+               
<changelog>https://github.com/hifi/heisenbridge/releases</changelog>
+               <bugs-to>https://github.com/hifi/heisenbridge/issues</bugs-to>
+               <remote-id type="github">hifi/heisenbridge</remote-id>
+               <remote-id type="pypi">heisenbridge</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to