0
0
mirror of https://github.com/signalapp/libsignal.git synced 2024-09-19 19:42:19 +02:00
Commit Graph

34 Commits

Author SHA1 Message Date
Jordan Rose
4384f664f0 Update boring to require a newer version of bindgen
Necessary for certain targets on newer Rust.
2023-04-24 13:42:36 -07:00
Jordan Rose
5fef0c3c6e Update linkme for more reliable Node builds
libsignal-bridge uses linkme to make a big list of all functions
it's going to expose to Node. More recent linkme versions fix
issues where that list wasn't being preserved by linkers.
This manifested as a CI failure on Windows.
2023-04-18 17:24:03 -07:00
Ravi Khadiwala
1f8c279622 pin: Add pin hashing and an svr2 client
- Add a new SGX client that can be used for testing svr2
- Add pin hashing that can be used with svr1 and svr2
2023-03-29 13:59:28 -05:00
Jordan Rose
9c02d7a8cd Pods: Change the podspec to download prebuilds
Rather than building the Rust parts of libsignal as part of `pod
install`, fetch them from build-artifacts.signal.org. This requires
adding

    ENV['LIBSIGNAL_FFI_PREBUILD_CHECKSUM'] = '...'

to the consuming Podfile. The referenced archives are downloaded to
~/Library/Caches/org.signal.libsignal, and are unarchived as part of
the build. (The archives are outside the build directory so that a
clean build does not require a new download.)

Building with LibSignalClient as a local pod is still supported; in
that case everything will refer to the local target/ directory
instead. Use swift/build_ffi.sh to build as usual.
2023-01-12 16:47:28 -08:00
Jordan Rose
366b030841 Re-apply "device transfer: replace picky with boring"
This reverts commit 09c043c54a.
2022-06-22 16:33:21 -07:00
Jordan Rose
09c043c54a Revert "device transfer: replace picky with boring"
We need to work out more kinks cross-compiling boring-sys, so revert
this for now. (But keep the fix to use the correct Android NDK.)
2022-06-22 15:56:21 -07:00
Chris Eager
2b0b5119f2
device transfer: replace picky with boring
Upcoming work in `attest` requires additional X509 support, and swapping these libraries 
is a negligible impact on binary size. This uses a fork of `cloudflare/boring`, as
we have some additions that haven’t yet been contributed upstream.
2022-06-16 13:14:17 -07:00
Jordan Rose
ce3226b4e3 verify_duplicate_crates should exit 1 on failure 2022-06-02 12:18:14 -07:00
Jordan Rose
459938a3bc update_versions.py: accept both '0.1.2' and 'v0.1.2' 2022-04-04 12:25:33 -07:00
Jordan Rose
0542686e70 Update artifact/package/module names across all three app languages
- Java: org.whispersystems:signal-client-java ->
    org.signal:libsignal-client
- Java: org.whispersystems:signal-client-android ->
    org.signal:libsignal-android
- Java: org.whispersystems:libsignal-server ->
    org.signal:libsignal-server
- Swift: SignalClient -> LibSignalClient
- NPM: @signalapp/signal-client -> @signalapp/libsignal-client
- Repository: github.com/signalapp/libsignal-client ->
    github.com/signalapp/libsignal
2022-03-23 10:49:09 -07:00
Jordan Rose
a2182ca348 Update other Rust dependencies
This was done by `cargo update`, followed by reverting to earlier
versions of specific crates that have trouble on our current pinned
nightly.
2022-03-21 11:32:56 -07:00
Jordan Rose
43054913ed Java: Always include Mac and Windows support when publishing
Rather than have a separate "testable" artifact, always include Mac
and Windows versions of libsignal_jni.so when publishing
signal-client-java *and* libsignal_server (though not when just
building locally).

Also, finally attach these tasks to the correct step (processResources
rather than compileJava).
2022-03-10 13:36:26 -08:00
Jordan Rose
3fd42d7a60 Move package.json inside the node/ directory
Previously all APIs were available through the top-level index.ts, but
now the zkgroup APIs are in their own module. To access that in the
old packaging required writing

    import * from '@signalapp/signal-client/node/dist/zkgroup'

This commit moves the package root into the node/ directory to
eliminate the 'node/' component, then adds a top-level, precompiled
zkgroup.js/.d.ts so that clients can use

    import * from '@signalapp/signal-client/zkgroup'
2021-11-08 16:40:50 -08:00
Jordan Rose
48edcb2305 crates_code_size: Omit versions for better comparisons
Also account for cross-compilation build directories.
2021-10-06 11:24:18 -07:00
Jordan Rose
d6fc73b27a Update dependencies
- cargo update
- But stay on our fork of curve25519-dalek (pinned at 3.0.0)
- Update x25519-dalek from 1.0 to 1.1 (instead of 1.2) to stay
  compatible with curve25519-dalek
- Update cpufeatures to 2.1 to match our dependencies
- Note that updating picky* resulted in more duplicate crates (rand*)
- Pin num-bigint-dig to a build that supports Cargo's -Zbuild-std,
  because xargo + autocfg has stopped working with the new toolchain
- Remove xargo in favor of -Zbuild-std
2021-10-06 10:58:44 -07:00
Jordan Rose
a1f45b0af2 Add bin/update_versions.py to make it easier to do a release
We were already *reading* all these files (to check that the versions
were in sync); might as well *write* all the files as well.
2021-10-01 16:55:33 -07:00
Jordan Rose
093d82115c GitHub: Make sure lockfiles don't get rewritten during testing
Otherwise, we're not testing what we think we're testing.
2021-09-27 14:44:12 -07:00
Graeme Connell
9aa79c0c59 Client-side rust-only HSM enclave library. 2021-09-21 12:07:27 -06:00
Nora Trapp
720d796f76 Add support for M1 and Catalyst architectures via cocoapods 2021-06-10 11:34:10 -07:00
Jordan Rose
cdc935d658 Add a bloaty source that estimates code size contributions of crates
Only works on ELF, unfortunately. See https://github.com/google/bloaty.
2021-03-16 15:38:44 -07:00
Jordan Rose
dac294acdb Use command -v instead of which, as recommended by Shellcheck 2021-03-11 16:08:30 -08:00
Jack Lloyd
98d2f5b027 Whitespace for the linter gods 2021-02-10 13:11:35 -05:00
Jack Lloyd
4689606d63 Add a script to verify the crate and package versions match 2021-02-10 13:10:13 -05:00
Jordan Rose
d05089e6e8 Java: get local tests working on Mac as well 2020-12-08 17:24:03 -08:00
Jordan Rose
1f5767bdcb Tweak error message to account for Rust without rustup 2020-12-03 11:06:06 -08:00
Jordan Rose
5379f9b0a8 Change rustup fallback search to just look in ~/.cargo
This is the default per-user install location. Trying using the user's
default shell isn't good enough without it being a login shell.
2020-11-19 10:26:15 -08:00
Jordan Rose
2e42d72ef8 build_helpers.sh: fix error message if Rust isn't installed 2020-11-18 11:48:50 -08:00
Jordan Rose
84bb14072f Enforce that our scripts are Shellcheck-clean 2020-11-16 18:24:02 -08:00
Jordan Rose
7b37cf0547 Fix CocoaPod build to respect rust-toolchain
Also stop checking out libsignal-ffi.git for no reason during PR
testing.
2020-11-11 11:47:30 -08:00
Jordan Rose
932d4a3438 Move wrapper-specific shell scripts into subfolders
And use bash instead of plain sh for stricter checking.
2020-11-11 11:15:25 -08:00
Jordan Rose
b4a34f48ad node: Support for electron-rebuild
This allows the Desktop client to add this module as a dependency and
have its existing build process take care of building it against the
correct version of Electron. (Within the repo, `yarn build` calling
`electron-build-env` is still necessary; a plain `electron-rebuild`
seems to get confused.)
2020-11-11 11:06:05 -08:00
Jordan Rose
be56945a70 Add a Yarn-based Node package for signal-client
There's very little here yet, just enough to test something.
2020-11-10 11:00:54 -08:00
Jordan Rose
45fba051d7 Pull some helpers out of bin/build-ffi 2020-11-10 11:00:54 -08:00
Jordan Rose
7923b3ae29 Add a Podspec for use as a CocoaPod
And test that the CocoaPod works just like the package works.
2020-11-02 15:06:19 -08:00