net-im/heisenbridge: new package, add 1.14.1

Signed-off-by: Julien Roy <julien@jroy.ca>
This commit is contained in:
Julien Roy
2023-01-21 22:00:58 -05:00
parent 0c40730f8f
commit 4748ed3ebd
7 changed files with 149 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST heisenbridge-1.14.1.gh.tar.gz 66220 BLAKE2B 79e63dcdc7e29a581b3a19b3c72775ced659092888e73f2a4322470bd1f2dd59ea2991ad054dd2c1a8b2e261a7988793e16d29744fb34a9fc2664bfe93f0f42a SHA512 f952261000ad6fd1b5793d1c18b952d13faea5afa2ac7798a22768e5ef31b620d9cc4cb73617c3e124dc1087a98785ba274747e9f85718533d5ba20dd7af5de2

View File

@@ -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.spets@iki.fi
license = MIT license
-license_file = LICENSE
+license_files = LICENSE
[options]
packages =

View File

@@ -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

View File

@@ -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"
}

View File

@@ -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

View File

@@ -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
}

View File

@@ -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>julien@jroy.ca</email>
<description>Julien Roy</description>
</maintainer>
<upstream>
<maintainer>
<name>Toni Spets</name>
<email>toni.spets@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>