aports/community/mautrix-signal/APKBUILD

86 lines
2.8 KiB
Text

# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
# Contributor: fossdd <fossdd@pwned.life>
# Maintainer: fossdd <fossdd@pwned.life>
pkgname=mautrix-signal
pkgver=0.8.3
_libsignalver=0.72.1
pkgrel=0
pkgdesc="A Matrix-Signal puppeting bridge"
url="https://go.mau.fi/mautrix-signal/"
arch="all !armhf !armv7 !x86 !ppc64le !s390x !loongarch64" # boring ssl only supports 64 bit, and doesn't set OPENSSL_64_BIT for ppc64le, s390x, loongarch64
license="AGPL-3.0-or-later"
# clang18 because of https://github.com/signalapp/boring/issues/28, should be fixed once libsignal updates the boring crate
makedepends="
cargo
cargo-auditable
clang18-libclang
cmake
go
olm-dev
protoc
sqlite-dev
"
install="$pkgname.pre-install $pkgname.post-upgrade"
subpackages="$pkgname-openrc $pkgname-doc"
source="
signal-$pkgver.tar.gz::https://github.com/mautrix/signal/archive/refs/tags/v$pkgver.tar.gz
libsignal-$_libsignalver.tar.gz::https://github.com/signalapp/libsignal/archive/refs/tags/v$_libsignalver.tar.gz
mautrix-signal.initd
mautrix-signal.confd
"
builddir="$srcdir/signal-$pkgver"
options="net"
_rust_dir=pkg/libsignalgo/libsignal
export GOFLAGS="$GOFLAGS -tags=libsqlite3"
export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
prepare() {
default_prepare
mv -T "$srcdir/libsignal-$_libsignalver" "$_rust_dir"
cd "$_rust_dir"
cargo fetch --target="$CTARGET" --locked
}
build() {
export CGO_CFLAGS="$CFLAGS"
export CGO_LDFLAGS="$LDFLAGS"
cd "$_rust_dir"
cargo auditable build -p libsignal-ffi --release --frozen
mv target/release/libsignal_ffi.a "$builddir"
cd "$builddir"
LIBRARY_PATH=. go build \
-ldflags "-X main.Tag=$pkgver -X 'main.BuildTime=$(date -d @"$SOURCE_DATE_EPOCH" '+%b %_d %Y, %H:%M:%S')'" \
./cmd/mautrix-signal
./mautrix-signal -e
}
check() {
LIBRARY_PATH=. go test ./...
}
package() {
install -Dm755 mautrix-signal \
-t "$pkgdir"/usr/bin/
install -Dm644 config.yaml \
-t "$pkgdir"/etc/mautrix-signal/
install -Dm755 "$srcdir"/mautrix-signal.initd \
"$pkgdir"/etc/init.d/mautrix-signal
install -Dm644 "$srcdir"/mautrix-signal.confd \
"$pkgdir"/etc/conf.d/mautrix-signal
install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
}
sha512sums="
ca8ce9965722ae4624fe03a421294c12ca0e97f1e8c38ffcbdb018e82f9a221fdb0d9f6013722cdd9c71d221d4972648a65035f352e72eacec14b0ae61a8f364 signal-0.8.3.tar.gz
e7e08e2909080f34a6c9e65065cfd107e922415727dcdaf9b61aa0e9fb91c7906326c233b3bb7e26eb665e6b4a1b771e2af13e58d8f6ea0f79c39306c9a071cf libsignal-0.72.1.tar.gz
6a4878bd732db4442418b1cedbecd901cb9633846943cf98ebfe09aafa9da341168be7bafdb0a88015f0bbcafd665295364797efcd2d88855301341b996415b0 mautrix-signal.initd
ffcfed000e4ca779a055ddf4374753e23e424501a70a148e9785a4c4f6f2d32e94e2275a766ac9435b2509a1d621821a2baad8c5e4964ef08cbd13045cb430df mautrix-signal.confd
"