mirror of
https://github.com/logos-messaging/nim-sds.git
synced 2026-07-02 13:59:41 +00:00
The cwire-only nim-ffi (7362bfd, the re-pointed v0.2.0-rc.1 tag) crashed with a foreign-thread GC null-avltree fault inside sds_unwrap_received_message: that line branched off before the foreign-host-concurrency fix and was missing the cycle-collector rooting (GC_ref(myLib[])), so the SDS manager ref could be collected mid-use and fault on a later alloc. a66c53a is nim-ffi release/v0.2 = cwire + the full fix cherry-picked (a6b22fc event-listener GC setup + c3d135f context-recycling / GC_ref rooting). Pinned by immutable SHA (lock + deps.nix + sds.nimble) to avoid the mutable-tag drift that caused this. Validated: libsds builds, nimble test green (106/0), and the previously crashing status-go TestAcceptCRRemoveAndRepeat passes 5/5. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Usage
Shell
A development shell can be started using:
nix develop
Building
To simply build you can use:
nix build '.#libsds'
It can be also done without even cloning the repo:
nix build github:waku-org/nim-sds
nix build github:waku-org/nim-sds#libsds-ios
nix build github:waku-org/nim-sds#libsds-android-arm64"
Or as a flake input.