summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 787e22388d26a9be725a3ca7f2814376bfd29bf1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# Maintainer: Mark Collins < tera_1225 hat hotmail dote com>
# Contributor: Frédéric Tobias Christ <dev+mautrix-signal@ntr.li> <ftchrist:matrix.org>
pkgname='mautrix-signal'
pkgver=0.4.2
pkgrel=1
pkgdesc="A Matrix-Signal puppeting bridge"
arch=('any')
url="https://github.com/mautrix/signal"
license=('AGPLv3')
depends=(
'python-aiohttp'
'python-asyncpg'
'python-attrs'
'python-commonmark'
'python-mautrix'
'python-magic'
'python-ruamel-yaml'
'python-yarl' 
'signald' )
makedepends=('python-setuptools')
#checkdepends
optdepends=(
'python-aiosqlite: Support for SQLite-Database '
'python-olm: end-to-bridge encryption support'
'python-phonenumbers: Formatted phone numbers'
'python-pillow: webp conversion and qr code login'
'python-prometheus_client: metrics upload'
'python-pycryptodome'
'python-qrcode: qr code login'
'python-signalstickers-client'
'python-unpaddedbase64: end-to-bridge encryption support')
backup=(
    "etc/${pkgname}/config.yaml"
    "etc/${pkgname}/registration.yaml"
    )
install="${pkgname}.install"
source=( "${url}/archive/refs/tags/v${pkgver}.tar.gz" "${pkgname}.service" "${pkgname}.sysusers" "${pkgname}.tmpfiles")
sha256sums=('bd6c537b2dae759b13ad2acdc49e76f6b9b14ce6c7f234aa6f8f7966293a1a87'
            '87a479c5216fa79dbe20ff776f67f5ab70ad0f9705da4b274cc662003545c4be'
            '3203dcff48579a2420eff4289a03ea1b3a9f47031c39f514e8c9a2d119625725'
            '5badc8727dfbf4531f93e86ae475c64753952ee60090a043be22b9dd9a124ca5')

prepare() {
    mv "${srcdir}/signal-${pkgver}" "${srcdir}/${pkgname}-${pkgver}"
    cd "${srcdir}/${pkgname}-${pkgver}"
    touch registration.yaml
    
    # Adapt signald paths for convenience
    sed -i "s|~/.config/signald/avatars|/var/lib/signald/avatars|g" mautrix_signal/example-config.yaml
    sed -i "s|~/.config/signald/data|/var/lib/signald/data|g" mautrix_signal/example-config.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"
}