Skip to content

Link libsodium through session-deps - #54

Draft
mpretty-cyro wants to merge 2 commits into
session-foundation:mainfrom
mpretty-cyro:session-deps-sodium-target
Draft

mpretty-cyro wants to merge 2 commits into
session-foundation:mainfrom
mpretty-cyro:session-deps-sodium-target

Conversation

@mpretty-cyro

@mpretty-cyro mpretty-cyro commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

libsession-util now takes its dependencies from cmake/session-deps (replacing the libsodium-internal, zstd and simdutf submodules), so the libsodium::sodium-internal target no longer exists. This changes the one place the wrapper links it, to sessiondep::libsodium, and re-pins libsession-util to dev (1d565e31 -> d8d540bb), where the session-deps backport landed. dev already contains 1.9.1, so the re-pin only moves forward.

The two have to land together: the new target only exists from the re-pinned libsession-util on, which is why the previous CI run failed at CMake configure.

Tested: ./gradlew check (what CI runs) passes on this branch: all four ABIs build and link, NDK 28.2. Not run on a device here.

macOS hosts: session-deps' autoconf builds use the host ar, which writes an unusable libsodium.a for Android targets on a mac (undefined crypto_* at link). Linux CI is unaffected. Until that is fixed in session-deps, a local mac build needs AR and RANLIB pointed at the NDK's llvm-ar and llvm-ranlib. The fix is session-deps-side and separate from this PR.

libsession-util is moving from the libsodium-internal fork to session-deps' stock libsodium, so the
libsodium::sodium-internal target goes away. Merge together with the libsession-util re-pin.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant