blob: a307b9be31eedab2c320b3d7b05c50e3db4fb660 (
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
|
# Maintainer: <asamk@gmx.de>
pkgname=libsignal-client
_pkgname=libsignal
_libname=libsignal_jni
pkgver=0.58.2
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=('96c0a003e8bef4e54b479e0b928fe7f4ec5c99bd798d3798e665c220adf552aa2222b6797fef6337bd285d6e1a059f75d284f92ef12e934b20d0efa70de2da02')
prepare() {
tar xf "${_pkgname}-$pkgver.tar.gz"
cd "${_pkgname}-${pkgver}"
# Use the default system rust toolchain
# rm -f rust-toolchain
sed -i 's/exit 2/suffix=""/' java/build_jni.sh
sed -i 's/-Xmx4g//' java/gradle.properties
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 :client: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/${_libname}.so"
}
|