summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO22
-rw-r--r--.gitignore5
-rw-r--r--PKGBUILD46
-rw-r--r--mautrix-gmessages.service37
-rw-r--r--mautrix-gmessages.tmpfiles5
-rw-r--r--sysusers-mautrix-gmessages.conf1
6 files changed, 116 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..7c4ad82a254f
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,22 @@
+pkgbase = mautrix-gmessages
+ pkgdesc = A Matrix-gmessages puppeting bridge
+ pkgver = 0.6.1
+ pkgrel = 1
+ url = https://github.com/mautrix/gmessages
+ arch = x86_64
+ arch = aarch64
+ license = AGPL-3.0-or-later
+ makedepends = go
+ makedepends = git
+ depends = libolm
+ backup = etc/mautrix-gmessages/mautrix-gmessages.yaml
+ source = mautrix-gmessages-0.6.1.tar.gz::https://github.com/mautrix/gmessages/archive/v0.6.1.tar.gz
+ source = sysusers-mautrix-gmessages.conf
+ source = mautrix-gmessages.tmpfiles
+ source = mautrix-gmessages.service
+ sha256sums = 028fd4e89b51de8f1b61bee03a4110eb5f8b921a063b07bd6e4ca9953ed4b4c4
+ sha256sums = 409e8fb3e35de1bd1ceebefa0ac275ad62ec66680117648058bcc177ddd2f9a1
+ sha256sums = 2e5ecb77aa175c1ebce40a5ff560bb5ee26ed39b3d1f4cf6d62db2ad604050b4
+ sha256sums = 0f909a1b9170a72efc8cca5f51334b73d0e04e5346ae23b75169eaccca7574a2
+
+pkgname = mautrix-gmessages
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..a838220de9e6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+mautrix-gmessages/
+pkg/
+src/
+*.gz
+*.zst
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..3f890191ea11
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,46 @@
+pkgname=mautrix-gmessages
+pkgver=0.6.1
+pkgrel=1
+pkgdesc="A Matrix-gmessages puppeting bridge"
+arch=('x86_64' 'aarch64')
+license=('AGPL-3.0-or-later')
+makedepends=(go git)
+depends=('libolm')
+#optdepends=('ffmpeg: If you want to send gifs from Matrix')
+url="https://github.com/mautrix/gmessages"
+source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz"
+ sysusers-mautrix-gmessages.conf
+ mautrix-gmessages.tmpfiles
+ mautrix-gmessages.service
+)
+backup=("etc/${pkgname}/mautrix-gmessages.yaml")
+sha256sums=('028fd4e89b51de8f1b61bee03a4110eb5f8b921a063b07bd6e4ca9953ed4b4c4'
+ '1aa66286775fc52505626b875849dadbb690102bf4e55e5845528552943bb8d4'
+ '7774eac143695fa0e69f580c82b8299212ff69d3a0122f7127d1d593bd159ab7'
+ 'b13396e0ce5509cb2a9c071e93eddcf5f61182251a39884aaaa2917ee76efd3e')
+
+build() {
+ cd "$srcdir/gmessages-$pkgver"
+
+ export CGO_CPPFLAGS="${CPPFLAGS}"
+ export CGO_CFLAGS="${CFLAGS}"
+ export CGO_CXXFLAGS="${CXXFLAGS}"
+ export CGO_LDFLAGS="${LDFLAGS}"
+ export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
+ ./build.sh
+ ./mautrix-gmessages -e
+}
+
+package() {
+ cd "$srcdir/gmessages-$pkgver"
+ install -Dm755 "$pkgname" "$pkgdir/usr/bin/$pkgname"
+
+ install -Dm644 "$srcdir/sysusers-mautrix-gmessages.conf" "$pkgdir/usr/lib/sysusers.d/mautrix-gmessages.conf"
+ install -Dm644 "$srcdir/mautrix-gmessages.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/mautrix-gmessages.conf"
+
+ install -Dm640 "config.yaml" "$pkgdir/etc/$pkgname/mautrix-gmessages.yaml"
+ install -Dm644 "$srcdir/mautrix-gmessages.service" "$pkgdir/usr/lib/systemd/system/mautrix-gmessages.service"
+ install -Dm644 LICENSE{,.exceptions} -t "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/mautrix-gmessages.service b/mautrix-gmessages.service
new file mode 100644
index 000000000000..99bd29fe83e3
--- /dev/null
+++ b/mautrix-gmessages.service
@@ -0,0 +1,37 @@
+[Unit]
+Description=Matrix-gmessages puppeting bridge
+After=network-online.target
+Requires=network-online.target
+
+[Service]
+Type=exec
+User=mautrix-gmessages
+Group=mautrix-gmessages
+WorkingDirectory=/var/lib/mautrix-gmessages
+ExecStart=/usr/bin/mautrix-gmessages -n -c /etc/mautrix-gmessages/mautrix-gmessages.yaml
+Restart=on-failure
+
+ReadWritePaths=/var/lib/mautrix-gmessages
+ReadWritePaths=/var/log/mautrix-gmessages
+NoNewPrivileges=yes
+MemoryDenyWriteExecute=true
+PrivateDevices=yes
+PrivateTmp=yes
+ProtectHome=yes
+ProtectSystem=strict
+ProtectControlGroups=true
+RestrictSUIDSGID=true
+RestrictRealtime=true
+LockPersonality=true
+ProtectKernelLogs=true
+ProtectKernelTunables=true
+ProtectHostname=true
+ProtectKernelModules=true
+PrivateUsers=true
+ProtectClock=true
+SystemCallArchitectures=native
+SystemCallErrorNumber=EPERM
+SystemCallFilter=@system-service
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mautrix-gmessages.tmpfiles b/mautrix-gmessages.tmpfiles
new file mode 100644
index 000000000000..ea9640865829
--- /dev/null
+++ b/mautrix-gmessages.tmpfiles
@@ -0,0 +1,5 @@
+# Override this file with a modified version in /etc/tmpfiles.d/
+d /etc/mautrix-gmessages 0750 root mautrix-gmessages
+z /etc/mautrix-gmessages/* 0640 mautrix-gmessages mautrix-gmessages -
+d /var/log/mautrix-gmessages 0700 mautrix-gmessages mautrix-gmessages
+d /var/lib/mautrix-gmessages 0700 mautrix-gmessages mautrix-gmessages
diff --git a/sysusers-mautrix-gmessages.conf b/sysusers-mautrix-gmessages.conf
new file mode 100644
index 000000000000..b53ba4a943d4
--- /dev/null
+++ b/sysusers-mautrix-gmessages.conf
@@ -0,0 +1 @@
+u mautrix-gmessages - "Mautrix Google messages user" /var/lib/mautrix-gmessages