Package Details: libsignal-client 0.87.4-1

Git Clone URL: https://aur.archlinux.org/libsignal-client.git (read-only, click to copy)
Package Base: libsignal-client
Description: Library for the Signal Protocol.
Upstream URL: https://github.com/signalapp/libsignal
Licenses: AGPL-3.0-only
Submitter: AsamK
Maintainer: AsamK
Last Packager: AsamK
Votes: 9
Popularity: 0.011335
First Submitted: 2021-01-09 18:17 (UTC)
Last Updated: 2026-03-07 10:02 (UTC)

Dependencies (12)

Sources (4)

Latest Comments

1 2 3 4 5 Next › Last »

djugei commented on 2026-03-07 10:08 (UTC)

thank you so much :)

AsamK commented on 2026-03-07 10:04 (UTC)

I've moved the cargo git dependencies to the source array, so they will be fetched before. One of those git repos has a submodule and I didn't find a way to force cargo to use a local version of that submodule. So the build still fetches this submodule, but I've enabled shallow cloning so it should still use less bandwidth.

djugei commented on 2026-03-06 08:44 (UTC) (edited on 2026-03-06 08:44 (UTC) by djugei)

the rust build currently clones multiple repos, which is hard to cache, would it be possible to add those repos as depends to the pkgbuild, and rewrite the cargo.toml files to point at the local directories? that would be much easier to cache.

i am sadly quite bandwidth-constrained.

Sara commented on 2025-10-18 03:32 (UTC)

Can confirm the diff from the 04-23-25 comment still needs to be merged into this PKGBUILD; libsignal will not compile without manually forcing the java version.

dreieck commented on 2025-09-29 10:57 (UTC)

java-runtime needs to be added to depends array:

libsignal-client E: Dependency java-runtime detected and not included (found class files usr/share/java/libsignal-client/libsignal-client.jar)

Regards!

dreieck commented on 2025-04-23 11:09 (UTC) (edited on 2025-04-23 11:09 (UTC) by dreieck)

Need to force java 17 version to build, otherwise build fails with BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 68 (with Java OpenJDK 24).

Add the following to the build() function in order to achieve this on systems where also other java versions are installed:

export JAVA_HOME="/usr/lib/jvm/java-17-openjdk"

diff to the PKGBUILD:

--- PKGBUILD.orig   2025-04-23 13:03:44.889669404 +0200
+++ PKGBUILD    2025-04-23 13:09:40.152993896 +0200
@@ -5,2 +5,3 @@
 _libname=libsignal_jni
+_java_version=17
 pkgver=0.68.1
@@ -11,3 +12,3 @@
 checkdepends=('cargo')
-makedepends=('cargo' 'gradle' 'git' 'zip' 'protobuf' 'cmake' 'clang' 'java-environment=17')
+makedepends=('cargo' 'gradle' 'git' 'zip' 'protobuf' 'cmake' 'clang' "jdk${_java_version}-openjdk")
 options=(!lto)
@@ -40,2 +41,3 @@
   export CARGO_TARGET_DIR=target
+  export JAVA_HOME="/usr/lib/jvm/java-${_java_version}-openjdk"
   ./build_jni.sh desktop

Error which this should solve:

FAILURE: Build failed with an exception.

* What went wrong:
BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 68
> Unsupported class file major version 68

Regards and thanks for the package!

AsamK commented on 2025-04-07 15:52 (UTC)

Try setting the following env variable before building, that tells cargo to use the git cli instead of its included git implementation: export CARGO_NET_GIT_FETCH_WITH_CLI=true

LunarN0v4 commented on 2025-04-06 22:32 (UTC)

When building with makepkg, I get this:

==> Starting build()...
cargo build --frozen -p libsignal-jni -p libsignal-jni-testing --release --features log/release_max_level_info --target x86_64-unknown-linux-gnu 
    Updating git repository `https://github.com/signalapp/boring`
error: failed to load source for dependency `boring`

Caused by:
  Unable to update https://github.com/signalapp/boring?tag=signal-v4.15.0#bb42da53

Caused by:
  failed to fetch into: /home/nova/.cargo/git/db/boring-b37daebd62069023

Caused by:
  attempting to update a git repository, but --frozen was specified
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: libsignal-client-exit status 4

matthias.lisin commented on 2025-01-19 08:49 (UTC)

Set java-environment=17 in makedepends. The clean chroot build will fail otherwise.

AsamK commented on 2024-12-07 23:04 (UTC)

You need a newer rust version, probably using rustup update