summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrainDamage2020-11-09 16:48:01 +0100
committerBrainDamage2020-11-09 16:48:01 +0100
commit11ddb1817c1e4fba9877c164691c762074724f85 (patch)
tree8cc6b04e69a3fa094790cc9295ff0ffe05e05248
downloadaur-11ddb1817c1e4fba9877c164691c762074724f85.tar.gz
initial version
-rw-r--r--.SRCINFO40
-rw-r--r--PKGBUILD66
-rw-r--r--mautrix-telegram.service13
-rw-r--r--mautrix-telegram.sysusers1
-rw-r--r--mautrix-telegram.tmpfiles1
5 files changed, 121 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..c2825d729185
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,40 @@
+pkgbase = mautrix-telegram
+ pkgdesc = A Matrix-Telegram hybrid puppeting/relaybot bridge.
+ pkgver = 0.8.2
+ pkgrel = 1
+ url = https://github.com/tulir/mautrix-telegram
+ arch = any
+ license = AGPLv3
+ makedepends = python-setuptools
+ depends = python
+ depends = python-sqlalchemy
+ depends = python-alembic
+ depends = python-ruamel-yaml
+ depends = python-magic-ahupp
+ depends = python-commonmark
+ depends = python-aiohttp
+ depends = python-yarl
+ depends = python-mautrix<0.6
+ depends = python-telethon
+ depends = python-telethon-session-sqlalchemy
+ optdepends = python-cryptg: Faster encryption
+ optdepends = python-cchardet: faster encoding detection
+ optdepends = python-aiodns: asyncronous dns requests
+ optdepends = python-pillow: webp conversion and qr code login
+ optdepends = python-qrcode: qr code login
+ optdepends = python-moviepy: high quality thumbnails
+ optdepends = python-prometheus_client: metrics upload
+ optdepends = python-psychopg2: postgresql database support
+ optdepends = python-matrix-nio: end-to-bridge encryption support
+ backup = etc/mautrix-telegram/config.yaml
+ source = https://github.com/tulir/mautrix-telegram/archive/v0.8.2.tar.gz
+ source = mautrix-telegram.service
+ source = mautrix-telegram.sysusers
+ source = mautrix-telegram.tmpfiles
+ sha256sums = 1f227f50e84f643fc7633f1a8f336aa1e51db6c12628e983783c2995a41d497f
+ sha256sums = 7d947a08bff4bf172346682d68af6071e5df556d16065b439aa312edc57e5e84
+ sha256sums = fce0a4f792e62d9440fe431fb6ab6c458139bcc801bc2b02bc1b3d8f2ff9fcbf
+ sha256sums = e6d4565350477d180c639cc1e0805d475ef036e870db671b22374e9c91f95c7c
+
+pkgname = mautrix-telegram
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..cf91aef8dc8b
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,66 @@
+# Maintainer: BrainDamage
+pkgname=mautrix-telegram
+pkgver=0.8.2
+pkgrel=1
+pkgdesc="A Matrix-Telegram hybrid puppeting/relaybot bridge."
+url="https://github.com/tulir/mautrix-telegram"
+depends=('python' 'python-sqlalchemy' 'python-alembic' 'python-ruamel-yaml'
+ 'python-magic-ahupp' 'python-commonmark' 'python-aiohttp' 'python-yarl'
+ 'python-mautrix<0.6' 'python-telethon' 'python-telethon-session-sqlalchemy')
+makedepends=('python-setuptools')
+optdepends=('python-cryptg: Faster encryption'
+ 'python-cchardet: faster encoding detection'
+ 'python-aiodns: asyncronous dns requests'
+ 'python-pillow: webp conversion and qr code login'
+ 'python-qrcode: qr code login'
+ 'python-moviepy: high quality thumbnails'
+ 'python-prometheus_client: metrics upload'
+ 'python-psychopg2: postgresql database support'
+ 'python-matrix-nio: end-to-bridge encryption support')
+license=('AGPLv3')
+arch=('any')
+source=("${url}/archive/v${pkgver}.tar.gz" "${pkgname}.service" "${pkgname}.sysusers" "${pkgname}.tmpfiles")
+sha256sums=('1f227f50e84f643fc7633f1a8f336aa1e51db6c12628e983783c2995a41d497f'
+ '7d947a08bff4bf172346682d68af6071e5df556d16065b439aa312edc57e5e84'
+ 'fce0a4f792e62d9440fe431fb6ab6c458139bcc801bc2b02bc1b3d8f2ff9fcbf'
+ 'e6d4565350477d180c639cc1e0805d475ef036e870db671b22374e9c91f95c7c')
+backup=("etc/${pkgname}/config.yaml")
+
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ # the author makes liberal usage of max version for requirements without a real need
+ # we'll strip them and re-introduce in the deps/optdeps array if truly necessary
+ # to prevent a nightmare during updates while tracking stable releases
+ sed -i -E 's/,?<[[:digit:]]*\.?[[:digit:]]+,?//g' requirements.txt
+ sed -i -E 's/,?<[[:digit:]]*\.?[[:digit:]]+,?//g' optional-requirements.txt
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ python setup.py build
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ python setup.py install --optimize=1 --skip-build --root="${pkgdir}/" --prefix="/usr"
+
+ # 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"
+
+ # TODO: remove this junk when ver 9 gets out of rc since it has a param data_files to chose the path
+ _shared_dir="/usr/share/${pkgname}"
+ mkdir -p "${pkgdir}${_shared_dir}"
+ mv "${pkgdir}/usr/"{alembic,alembic.ini} "${pkgdir}/${_shared_dir}"
+ mv "${pkgdir}$(python -c 'import site; print(site.getsitepackages()[0])')/${pkgname//-/_}/example-config.yaml" "${pkgdir}${_shared_dir}"
+
+ # adjust alembic script dir location so that by using an abs path it can be used in CWD
+ sed -i -e "s|script_location = alembic|script_location = /usr/share/${pkgname}/alembic/|" "${pkgdir}/usr/share/${pkgname}/alembic.ini"
+
+ 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 "${pkgdir}/usr/share/${pkgname}/example-config.yaml" "${pkgdir}/etc/${pkgname}/config.yaml"
+}
diff --git a/mautrix-telegram.service b/mautrix-telegram.service
new file mode 100644
index 000000000000..fadeac380e9e
--- /dev/null
+++ b/mautrix-telegram.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Matrix-Telegram hybrid puppeting/relaybot bridge
+
+[Service]
+ExecStartPre=alembic -c /usr/share/mautrix-telegram/alembic.ini -x config=/etc/mautrix-telegram/config.yaml upgrade head
+ExecStart=mautrix-telegram -b /usr/share/mautrix-telegram/example-config.yaml -c /etc/mautrix-telegram/config.yaml -r /etc/mautrix-telegram/registration.yaml
+Restart=on-failure
+User=mautrix-telegram
+WorkingDirectory=~
+
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mautrix-telegram.sysusers b/mautrix-telegram.sysusers
new file mode 100644
index 000000000000..e93525d15c6c
--- /dev/null
+++ b/mautrix-telegram.sysusers
@@ -0,0 +1 @@
+u mautrix-telegram - "Matrix Telegram puppeting bridge"
diff --git a/mautrix-telegram.tmpfiles b/mautrix-telegram.tmpfiles
new file mode 100644
index 000000000000..b479faee6852
--- /dev/null
+++ b/mautrix-telegram.tmpfiles
@@ -0,0 +1 @@
+z /etc/mautrix-telegram/* 640 mautrix-telegram mautrix-telegram