diff options
Diffstat (limited to 'heisenbridge')
-rw-r--r-- | heisenbridge/.SRCINFO | 26 | ||||
-rw-r--r-- | heisenbridge/PKGBUILD | 52 | ||||
-rw-r--r-- | heisenbridge/heisenbridge.install | 7 | ||||
-rw-r--r-- | heisenbridge/heisenbridge.service | 12 | ||||
-rw-r--r-- | heisenbridge/heisenbridge.sysusers | 1 | ||||
-rw-r--r-- | heisenbridge/heisenbridge.tmpfiles | 2 |
6 files changed, 100 insertions, 0 deletions
diff --git a/heisenbridge/.SRCINFO b/heisenbridge/.SRCINFO new file mode 100644 index 0000000..56fbd0c --- /dev/null +++ b/heisenbridge/.SRCINFO | |||
@@ -0,0 +1,26 @@ | |||
1 | pkgbase = heisenbridge | ||
2 | pkgdesc = a bouncer-style Matrix IRC bridge | ||
3 | pkgver = 1.14.2 | ||
4 | pkgrel = 1 | ||
5 | url = https://github.com/hifi/heisenbridge | ||
6 | install = heisenbridge.install | ||
7 | arch = any | ||
8 | license = MIT | ||
9 | makedepends = python-setuptools | ||
10 | makedepends = python-pytest-runner | ||
11 | depends = python | ||
12 | depends = python-irc | ||
13 | depends = python-ruamel-yaml | ||
14 | depends = python-aiohttp-socks | ||
15 | depends = python-mautrix | ||
16 | backup = etc/heisenbridge/registration.yaml | ||
17 | source = heisenbridge-1.14.2.tar.gz::https://github.com/hifi/heisenbridge/archive/v1.14.2.tar.gz | ||
18 | source = heisenbridge.service | ||
19 | source = heisenbridge.sysusers | ||
20 | source = heisenbridge.tmpfiles | ||
21 | sha256sums = 363d33fe1cb8794e0181174b7aa8a59e03cba6703f1b7a9a96e2384ce5248ad9 | ||
22 | sha256sums = 67487b221bff329952f5c95186c4ea794c7e7a3e25e6d213075fd306c68cfa95 | ||
23 | sha256sums = b3bc4328ead7afd186d5a191fabc347543c0fad17dc01047a4cf0532d999f255 | ||
24 | sha256sums = 24bd23e4427aaf635a91b170c07abe8a6b1c62cbad47e50a161c12807641d351 | ||
25 | |||
26 | pkgname = heisenbridge | ||
diff --git a/heisenbridge/PKGBUILD b/heisenbridge/PKGBUILD new file mode 100644 index 0000000..15ed733 --- /dev/null +++ b/heisenbridge/PKGBUILD | |||
@@ -0,0 +1,52 @@ | |||
1 | # Maintainer: Yigit Sever <yigit at yigitsever dot com> | ||
2 | # Contributor: Bjoern Franke <bjo+aur@schafweide.org> | ||
3 | |||
4 | pkgname=heisenbridge | ||
5 | pkgver=1.14.2 | ||
6 | pkgrel=1 | ||
7 | pkgdesc="a bouncer-style Matrix IRC bridge" | ||
8 | url="https://github.com/hifi/heisenbridge" | ||
9 | depends=('python' 'python-irc' 'python-ruamel-yaml' 'python-aiohttp-socks' | ||
10 | 'python-mautrix') | ||
11 | makedepends=('python-setuptools' 'python-pytest-runner') | ||
12 | license=('MIT') | ||
13 | arch=('any') | ||
14 | source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz" "${pkgname}.service" "${pkgname}.sysusers" "${pkgname}.tmpfiles") | ||
15 | sha256sums=('363d33fe1cb8794e0181174b7aa8a59e03cba6703f1b7a9a96e2384ce5248ad9' | ||
16 | '67487b221bff329952f5c95186c4ea794c7e7a3e25e6d213075fd306c68cfa95' | ||
17 | 'b3bc4328ead7afd186d5a191fabc347543c0fad17dc01047a4cf0532d999f255' | ||
18 | '24bd23e4427aaf635a91b170c07abe8a6b1c62cbad47e50a161c12807641d351') | ||
19 | backup=("etc/${pkgname}/registration.yaml") | ||
20 | install="${pkgname}.install" | ||
21 | _dirname="${pkgname}-${pkgver}" | ||
22 | |||
23 | prepare() { | ||
24 | cd "${srcdir}/${_dirname}" | ||
25 | # create an empty registration file so that permissions get written | ||
26 | # properly from the get go this way secret keys are never world | ||
27 | # readable | ||
28 | touch registration.yaml | ||
29 | } | ||
30 | |||
31 | build() { | ||
32 | cd "${srcdir}/${_dirname}" | ||
33 | python setup.py build | ||
34 | } | ||
35 | |||
36 | package() { | ||
37 | cd "${srcdir}/${_dirname}" | ||
38 | |||
39 | _shared_dir="/usr/share/${pkgname}" | ||
40 | |||
41 | python setup.py install --optimize=1 --skip-build --root="${pkgdir}/" --prefix="/usr" --install-data="${_shared_dir}" | ||
42 | |||
43 | # it's a semi-common failure for python packages to install tests in | ||
44 | # the main dir which would make them conflict eachother | ||
45 | rm -rf "${pkgdir}$(python -c 'import site; print(site.getsitepackages()[0])')/tests" | ||
46 | |||
47 | install -Dvm 644 "${srcdir}/${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service" | ||
48 | install -Dvm 644 "${srcdir}/${pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf" | ||
49 | install -Dvm 644 "${srcdir}/${pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf" | ||
50 | |||
51 | install -Dvm 640 registration.yaml "${pkgdir}/etc/${pkgname}/registration.yaml" | ||
52 | } | ||
diff --git a/heisenbridge/heisenbridge.install b/heisenbridge/heisenbridge.install new file mode 100644 index 0000000..10184df --- /dev/null +++ b/heisenbridge/heisenbridge.install | |||
@@ -0,0 +1,7 @@ | |||
1 | post_install() { | ||
2 | cat <<- 'EOF' | ||
3 | You may adjust the homeserver via | ||
4 | # systemctl edit heisenbridge.service | ||
5 | if you don't use localhost:8008 as your homeserver URL | ||
6 | EOF | ||
7 | } | ||
diff --git a/heisenbridge/heisenbridge.service b/heisenbridge/heisenbridge.service new file mode 100644 index 0000000..e40dcf9 --- /dev/null +++ b/heisenbridge/heisenbridge.service | |||
@@ -0,0 +1,12 @@ | |||
1 | [Unit] | ||
2 | Description=a bouncer-style Matrix IRC bridge | ||
3 | |||
4 | [Service] | ||
5 | ExecStart=python -m heisenbridge -c /etc/heisenbridge/registration.yaml | ||
6 | Restart=on-failure | ||
7 | User=heisenbridge | ||
8 | WorkingDirectory=~ | ||
9 | |||
10 | |||
11 | [Install] | ||
12 | WantedBy=multi-user.target | ||
diff --git a/heisenbridge/heisenbridge.sysusers b/heisenbridge/heisenbridge.sysusers new file mode 100644 index 0000000..47fc57c --- /dev/null +++ b/heisenbridge/heisenbridge.sysusers | |||
@@ -0,0 +1 @@ | |||
u heisenbridge - "Matrix IRC bridge" /var/lib/heisenbridge | |||
diff --git a/heisenbridge/heisenbridge.tmpfiles b/heisenbridge/heisenbridge.tmpfiles new file mode 100644 index 0000000..94db647 --- /dev/null +++ b/heisenbridge/heisenbridge.tmpfiles | |||
@@ -0,0 +1,2 @@ | |||
1 | z /etc/heisenbridge/* 640 heisenbridge heisenbridge | ||
2 | d /var/lib/heisenbridge/ 700 heisenbridge heisenbridge | ||