summaryrefslogtreecommitdiffstats
path: root/linhes/libsignal-client/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'linhes/libsignal-client/PKGBUILD')
-rw-r--r--linhes/libsignal-client/PKGBUILD58
1 files changed, 58 insertions, 0 deletions
diff --git a/linhes/libsignal-client/PKGBUILD b/linhes/libsignal-client/PKGBUILD
new file mode 100644
index 0000000..702e7fd
--- /dev/null
+++ b/linhes/libsignal-client/PKGBUILD
@@ -0,0 +1,58 @@
+# Maintainer: <asamk@gmx.de>
+
+pkgname=libsignal-client
+_pkgname=libsignal
+_libname=libsignal_jni
+pkgver=0.40.1
+pkgrel=1
+pkgdesc='Library for the Signal Protocol.'
+url="https://github.com/signalapp/${_pkgname}"
+depends=('gcc-libs')
+checkdepends=('cargo')
+makedepends=('cargo' 'gradle' 'git' 'zip' 'protobuf' 'cmake' 'clang' 'jdk21-openjdk')
+options=(!lto)
+arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
+license=('AGPL-3.0-only')
+source=(
+ "${_pkgname}-${pkgver}.tar.gz::https://github.com/signalapp/${_pkgname}/archive/refs/tags/v$pkgver.tar.gz"
+)
+
+sha512sums=('2d41b5d321b3a6326525c53039746e3ce1bcf05c0c4d9580beb882b151cd59dda4974f59b0976bba579db25e10a1ca61647de1a1f4311e319ea2aefc9153bc18')
+
+prepare() {
+ tar xf "${_pkgname}-$pkgver.tar.gz"
+ cd "${_pkgname}-${pkgver}"
+
+ # Use the default system rust toolchain
+ # rm -f rust-toolchain
+
+ sed -i "s/cargo build/cargo build --frozen/" java/build_jni.sh
+
+ cargo fetch --locked --target "$(rustc -vV | awk '/^host: / {print $2}')"
+}
+
+build() {
+ cd "${_pkgname}-${pkgver}/java"
+
+ export RUSTUP_TOOLCHAIN=stable
+ export CARGO_TARGET_DIR=target
+ ./build_jni.sh desktop
+ GRADLE_USER_HOME="${srcdir}/.gradle" gradle --no-daemon assemble -PskipAndroid=true
+
+ zip -d "client/build/libs/libsignal-client-${pkgver}.jar" "${_libname}.so"
+}
+
+check() {
+ cd "${_pkgname}-${pkgver}"
+ export RUSTUP_TOOLCHAIN=stable
+ cargo test --frozen
+}
+
+package() {
+ cd "${_pkgname}-${pkgver}"
+
+ install -m755 -d "${pkgdir}/usr/share/java/${pkgname}" "${pkgdir}/usr/lib"
+
+ install -Dm644 "java/client/build/libs/libsignal-client-${pkgver}.jar" "$pkgdir/usr/share/java/$pkgname/$pkgname.jar"
+ install -Dm644 "target/release/${_libname}.so" "$pkgdir/usr/lib/"
+}