summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrédéric Tobias Christ2021-05-31 14:19:50 +0200
committerFrédéric Tobias Christ2021-05-31 17:11:54 +0200
commitbe4d2a790f85fc6158c983f71c8925ac19398630 (patch)
treeb308756b0e3892989b8855f6a60d5915ede45341
downloadaur-be4d2a790f85fc6158c983f71c8925ac19398630.tar.gz
Initial commit
-rw-r--r--.SRCINFO37
-rw-r--r--.gitignore4
-rw-r--r--PKGBUILD49
-rw-r--r--mautrix-signal.install8
-rw-r--r--mautrix-signal.service19
-rw-r--r--mautrix-signal.sysusers2
-rw-r--r--mautrix-signal.tmpfiles3
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 -