diff options
author | Frédéric Tobias Christ | 2021-05-31 14:19:50 +0200 |
---|---|---|
committer | Frédéric Tobias Christ | 2021-05-31 17:11:54 +0200 |
commit | be4d2a790f85fc6158c983f71c8925ac19398630 (patch) | |
tree | b308756b0e3892989b8855f6a60d5915ede45341 | |
download | aur-be4d2a790f85fc6158c983f71c8925ac19398630.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 37 | ||||
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | PKGBUILD | 49 | ||||
-rw-r--r-- | mautrix-signal.install | 8 | ||||
-rw-r--r-- | mautrix-signal.service | 19 | ||||
-rw-r--r-- | mautrix-signal.sysusers | 2 | ||||
-rw-r--r-- | mautrix-signal.tmpfiles | 3 |
7 files changed, 122 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..e67d819ce91a --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,37 @@ +pkgbase = mautrix-signal + pkgdesc = A Matrix-Signal puppeting bridge + pkgver = 0.1.1 + pkgrel = 1 + url = https://github.com/tulir/mautrix-signal + install = mautrix-signal.install + arch = any + license = AGPLv3 + makedepends = python-setuptools + depends = python-aiohttp>=3 + depends = python-asyncpg>=0.20 + depends = python-attrs>=19.1 + depends = python-commonmark>=0.8 + depends = python-mautrix + depends = python-magic>=0.4 + depends = python-ruamel-yaml>=0.15.35 + depends = signald>=0.13.1 + depends = python-yarl>=1 + optdepends = python-phonenumbers>=8 + optdepends = python-pillow>=4: webp conversion and qr code login + optdepends = python-prometheus_client>=0.6: metrics upload + optdepends = pycryptodome>=3 + optdepends = python-olm>=3: end-to-bridge encryption support + optdepends = python-qrcode>=6: qr code login + optdepends = python-unpaddedbase64: end-to-bridge encryption support + backup = etc/mautrix-signal/config.yaml + source = https://github.com/tulir/mautrix-signal/archive/refs/tags/v0.1.1.tar.gz + source = mautrix-signal.service + source = mautrix-signal.sysusers + source = mautrix-signal.tmpfiles + sha256sums = 92b85eab45d9d2d165298b114a5ee47bb89f93a2c6bfa7a30a3d6a1bac4870b3 + sha256sums = d916d5fbe521416bd5a52e1f27da87e45a0f4206801173f2b86e6d63f62c3b34 + sha256sums = 807da72f363ce3850e1bf98b3d3a7a00bf174a1035c91a853861fcc6b5f499fc + sha256sums = b515feb2b6fd37f2b0e9e3a16d64c73b22fa12b4a8af8b13f212f1da02817f81 + +pkgname = mautrix-signal + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..ff37422b6fc7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +pkg/ +src/ +*.gz +*.zst diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..261005ef991e --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Frédéric Tobias Christ <develop+mautrix-signal@ntr.li> <ftchrist:matrix.org> +pkgname='mautrix-signal' +pkgver=0.1.1 +pkgrel=1 +pkgdesc="A Matrix-Signal puppeting bridge" +arch=('any') +url="https://github.com/tulir/mautrix-signal" +license=('AGPLv3') +depends=('python-aiohttp>=3' 'python-asyncpg>=0.20' 'python-attrs>=19.1' 'python-commonmark>=0.8' 'python-mautrix' 'python-magic>=0.4' 'python-ruamel-yaml>=0.15.35' 'signald>=0.13.1' 'python-yarl>=1' ) +makedepends=('python-setuptools') +#checkdepends +optdepends=( +'python-phonenumbers>=8' +'python-pillow>=4: webp conversion and qr code login' +'python-prometheus_client>=0.6: metrics upload' +'pycryptodome>=3' +'python-olm>=3: end-to-bridge encryption support' +'python-qrcode>=6: qr code login' +#'signalstickers-client>=3' does not exist yet +'python-unpaddedbase64: end-to-bridge encryption support') +backup=("etc/${pkgname}/config.yaml") +install="${pkgname}.install" +source=( "${url}/archive/refs/tags/v${pkgver}.tar.gz" "${pkgname}.service" "${pkgname}.sysusers" "${pkgname}.tmpfiles") +sha256sums=('92b85eab45d9d2d165298b114a5ee47bb89f93a2c6bfa7a30a3d6a1bac4870b3' + 'd916d5fbe521416bd5a52e1f27da87e45a0f4206801173f2b86e6d63f62c3b34' + '807da72f363ce3850e1bf98b3d3a7a00bf174a1035c91a853861fcc6b5f499fc' + 'b515feb2b6fd37f2b0e9e3a16d64c73b22fa12b4a8af8b13f212f1da02817f81') +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + touch registration.yaml +} +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + python setup.py build +} +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + _shared_dir="/usr/share/${pkgname}" + + python setup.py install --optimize=1 --skip-build --root="${pkgdir}/" --prefix="/usr" --install-data="${_shared_dir}" + + 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}${_shared_dir}/example-config.yaml" "${pkgdir}/etc/${pkgname}/config.yaml" + install -Dvm 640 registration.yaml "${pkgdir}/etc/${pkgname}/registration.yaml" +} diff --git a/mautrix-signal.install b/mautrix-signal.install new file mode 100644 index 000000000000..7cf7561ad0ff --- /dev/null +++ b/mautrix-signal.install @@ -0,0 +1,8 @@ +post_install() { + cat <<- 'EOF' + See: https://docs.mau.fi/bridges/python/setup/index.html?bridge=signal + after editing /etc/mautrix-signal/config.yaml, generate a registration file using: + # python -m mautrix_signal -b /usr/share/mautrix-signal/example-config.yaml -c /etc/mautrix-signal/config.yaml -r /etc/mautrix-signal/registration.yaml -g + Add the path to the registration file (registration.yaml by default) to your Synapse's homeserver.yaml under app_service_config_files. Restart Synapse to apply changes. + EOF +} diff --git a/mautrix-signal.service b/mautrix-signal.service new file mode 100644 index 000000000000..d01094e09f40 --- /dev/null +++ b/mautrix-signal.service @@ -0,0 +1,19 @@ +[Unit] +Description=A Matrix-Signal puppeting bridge +After=network-online.target +Requires=network-online.target + +[Service] +User=mautrix-signal +WorkingDirectory=~ +ExecStart=python -m mautrix_signal -b /usr/share/mautrix-signal/example-config.yaml -c /etc/mautrix-signal/config.yaml -r /etc/mautrix-signal/registration.yaml + + +Restart=on-failure +RestartSec=30s + +# ProtectSystem=on +# ProtectHome=on + +[Install] +WantedBy=multi-user.target diff --git a/mautrix-signal.sysusers b/mautrix-signal.sysusers new file mode 100644 index 000000000000..1a5e544543b2 --- /dev/null +++ b/mautrix-signal.sysusers @@ -0,0 +1,2 @@ +# Type Name ID GECOS Home Shell +u mautrix-signal - "A Matrix-Signal puppeting bridge" /var/lib/mautrix-signal - diff --git a/mautrix-signal.tmpfiles b/mautrix-signal.tmpfiles new file mode 100644 index 000000000000..907774638698 --- /dev/null +++ b/mautrix-signal.tmpfiles @@ -0,0 +1,3 @@ +# Type Path Mode User Group Age Argument... +z /etc/mautrix-signal/* 640 mautrix-signal mautrix-signal - +d /var/lib/mautrix-signal 700 mautrix-signal mautrix-signal - |