Package Details: libsignal-client 0.68.1-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: 8
Popularity: 0.000050
First Submitted: 2021-01-09 18:17 (UTC)
Last Updated: 2025-04-06 18:36 (UTC)

Dependencies (10)

Sources (1)

Latest Comments

1 2 3 4 Next › Last »

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

ybon commented on 2024-12-07 10:55 (UTC)

Hi,

When installing this package (with yay), I get this error:

cargo build --frozen -p libsignal-jni -p libsignal-jni-testing --release --features log/release_max_level_info --target x86_64-unknown-linux-gnu 
error: failed to load manifest for workspace member `/home/ybon/.cache/yay/libsignal-client/src/libsignal-0.62.0/rust/attest`

Caused by:
  failed to parse manifest at `/home/ybon/.cache/yay/libsignal-client/src/libsignal-0.62.0/rust/attest/Cargo.toml`

Caused by:
  feature `edition2021` is required

  this Cargo does not support nightly features, but if you
  switch to nightly channel you can add
  `cargo-features = ["edition2021"]` to enable this feature
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: libsignal-client-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
libsignal-client - exit status 4

Any clue ?

Thanks!

AsamK commented on 2024-11-02 12:26 (UTC)

Those repositories aren't git submodules. They're cargo git dependencies defined in Cargo.toml. cargo clones them to a custom directory in ~/.cargo/git

dreieck commented on 2024-11-02 12:17 (UTC) (edited on 2024-11-02 12:18 (UTC) by dreieck)

Please, follow the Arch Linux guidelines on Git submodules and download the submodules via the source array and reference them in prepare(), instead of downloading them in the prepare() function:

==> Starting prepare()...
    Updating git repository `https://github.com/signalapp/boring`
    Updating git submodule `https://github.com/google/boringssl.git`
       Fetch [==>                      ]  14.02%, 257.38KiB/s             
[...]

Regards!

dreieck commented on 2024-08-29 11:53 (UTC)

Ahoj,

Yes, this is just the java part (jar and jni so file)

I think then you should rename this package to reflect that it only provides part of the whole upstream, e.g. rename it to libsignal-client-java, and maybe if there are common files which also would be present in other parts of libsignal installation than make a separate package libsignal-client-common and depend on it, so that the other packages can also be installed without conflict.

Regards!

MrQubo commented on 2024-04-05 20:40 (UTC) (edited on 2024-04-05 20:41 (UTC) by MrQubo)

For me, it fails with java-21-openjdk as well. But with a slightly different error:

> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 65

(notice 65 instead of 66)

For me, it compiles correctly with java-17-openjdk. Also, I don't think you need to uninstall other version, once you switch with archlinux-java set.