summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern Franke2022-02-09 15:01:54 +0100
committerBjoern Franke2022-02-09 15:01:54 +0100
commit6e62cd07e12fdeaea9a9cf1f608cc8c613a5ff2e (patch)
tree8d0cc7af5e80d86aa1a4c9bd2170e7092d3832c3
downloadaur-6e62cd07e12fdeaea9a9cf1f608cc8c613a5ff2e.tar.gz
initial commit
-rw-r--r--.SRCINFO27
-rw-r--r--PKGBUILD50
-rw-r--r--heisenbridge.install7
-rw-r--r--heisenbridge.service12
-rw-r--r--heisenbridge.sysusers1
-rw-r--r--heisenbridge.tmpfiles2
6 files changed, 99 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..9096de5cd290
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,27 @@
+pkgbase = heisenbridge
+ pkgdesc = a bouncer-style Matrix IRC bridge
+ pkgver = 1.10.1
+ pkgrel = 1
+ url = https://github.com/hifi/heisenbridge
+ install = heisenbridge.install
+ arch = any
+ license = MIT
+ makedepends = python-setuptools
+ makedepends = python-pytest-runner
+ depends = python
+ depends = python-irc
+ depends = python-ruamel-yaml
+ depends = python-aiohttp-socks
+ depends = python-mautrix>=0.14.0
+ depends = python-mautrix<0.15
+ backup = etc/heisenbridge/registration.yaml
+ source = heisenbridge-1.10.1.tar.gz::https://github.com/hifi/heisenbridge/archive/v1.10.1.tar.gz
+ source = heisenbridge.service
+ source = heisenbridge.sysusers
+ source = heisenbridge.tmpfiles
+ sha256sums = 94e262001ec71626c0bc0e3d711be4bc7ef024dc9fe4451012296ab1033e3b1c
+ sha256sums = 67487b221bff329952f5c95186c4ea794c7e7a3e25e6d213075fd306c68cfa95
+ sha256sums = b3bc4328ead7afd186d5a191fabc347543c0fad17dc01047a4cf0532d999f255
+ sha256sums = 24bd23e4427aaf635a91b170c07abe8a6b1c62cbad47e50a161c12807641d351
+
+pkgname = heisenbridge
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..ff789e540dce
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,50 @@
+# Maintainer: Bjoern Franke <bjo+aur@schafweide.org>
+pkgname=heisenbridge
+pkgver=1.10.1
+pkgrel=1
+pkgdesc="a bouncer-style Matrix IRC bridge"
+url="https://github.com/hifi/heisenbridge"
+depends=('python' 'python-irc' 'python-ruamel-yaml' 'python-aiohttp-socks'
+ 'python-mautrix>=0.14.0' 'python-mautrix<0.15')
+makedepends=('python-setuptools' 'python-pytest-runner')
+license=('MIT')
+arch=('any')
+source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz" "${pkgname}.service" "${pkgname}.sysusers" "${pkgname}.tmpfiles")
+sha256sums=('94e262001ec71626c0bc0e3d711be4bc7ef024dc9fe4451012296ab1033e3b1c'
+ '67487b221bff329952f5c95186c4ea794c7e7a3e25e6d213075fd306c68cfa95'
+ 'b3bc4328ead7afd186d5a191fabc347543c0fad17dc01047a4cf0532d999f255'
+ '24bd23e4427aaf635a91b170c07abe8a6b1c62cbad47e50a161c12807641d351')
+backup=("etc/${pkgname}/registration.yaml")
+install="${pkgname}.install"
+_dirname="${pkgname}-${pkgver}"
+
+
+prepare() {
+ cd "${srcdir}/${_dirname}"
+ # create an empty registration file so that permissions get written properly from the get go
+ # this way secret keys are never world readable
+# touch registration.yaml
+}
+
+build() {
+ cd "${srcdir}/${_dirname}"
+ python setup.py build
+}
+
+package() {
+ cd "${srcdir}/${_dirname}"
+
+ _shared_dir="/usr/share/${pkgname}"
+
+ python setup.py install --optimize=1 --skip-build --root="${pkgdir}/" --prefix="/usr" --install-data="${_shared_dir}"
+
+ # it's a semi-common failure for python packages to install tests in the main dir
+ # which would make them conflict eachother
+ rm -rf "${pkgdir}$(python -c 'import site; print(site.getsitepackages()[0])')/tests"
+
+ install -Dvm 644 "${srcdir}/${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
+ install -Dvm 644 "${srcdir}/${pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+ install -Dvm 644 "${srcdir}/${pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
+
+ install -Dvm 640 registration.yaml "${pkgdir}/etc/${pkgname}/registration.yaml"
+}
diff --git a/heisenbridge.install b/heisenbridge.install
new file mode 100644
index 000000000000..10184dfc9419
--- /dev/null
+++ b/heisenbridge.install
@@ -0,0 +1,7 @@
+post_install() {
+ cat <<- 'EOF'
+ You may adjust the homeserver via
+ # systemctl edit heisenbridge.service
+ if you don't use localhost:8008 as your homeserver URL
+ EOF
+}
diff --git a/heisenbridge.service b/heisenbridge.service
new file mode 100644
index 000000000000..e40dcf972509
--- /dev/null
+++ b/heisenbridge.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=a bouncer-style Matrix IRC bridge
+
+[Service]
+ExecStart=python -m heisenbridge -c /etc/heisenbridge/registration.yaml
+Restart=on-failure
+User=heisenbridge
+WorkingDirectory=~
+
+
+[Install]
+WantedBy=multi-user.target
diff --git a/heisenbridge.sysusers b/heisenbridge.sysusers
new file mode 100644
index 000000000000..47fc57ca434c
--- /dev/null
+++ b/heisenbridge.sysusers
@@ -0,0 +1 @@
+u heisenbridge - "Matrix IRC bridge" /var/lib/heisenbridge
diff --git a/heisenbridge.tmpfiles b/heisenbridge.tmpfiles
new file mode 100644
index 000000000000..94db64733d82
--- /dev/null
+++ b/heisenbridge.tmpfiles
@@ -0,0 +1,2 @@
+z /etc/heisenbridge/* 640 heisenbridge heisenbridge
+d /var/lib/heisenbridge/ 700 heisenbridge heisenbridge