Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
55 lines (47 loc) · 1.71 KB
/
Copy pathCargo.toml
File metadata and controls
55 lines (47 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
[package]
name = "libsignal-python"
version = "0.1.0"
edition = "2024"
rust-version = "1.88"
license = "AGPL-3.0-only"
description = "Python bindings for the Signal Protocol library"
publish = false
[lib]
name = "_native"
crate-type = ["cdylib"]
[dependencies]
# PyO3 bindings
pyo3 = { version = "0.23", features = ["extension-module"] }
# Tokio runtime
tokio = { version = "1.45", features = ["rt", "macros"] }
# Signal libraries - path deps via submodule
# Phase 1: Core protocol
libsignal-protocol = { path = "deps/libsignal/rust/protocol" }
libsignal-core = { path = "deps/libsignal/rust/core" }
signal-crypto = { path = "deps/libsignal/rust/crypto" }
# Phase 3: Additional features
usernames = { path = "deps/libsignal/rust/usernames" }
libsignal-account-keys = { path = "deps/libsignal/rust/account-keys" }
# Phase 4: ZKGroup
zkgroup = { path = "deps/libsignal/rust/zkgroup" }
# Phase 5: Network, backup, media
# Requires system packages: clang-devel (or libclang-dev) and gcc headers
# Uncomment when system dependencies are available:
# libsignal-net = { path = "deps/libsignal/rust/net" }
# libsignal-message-backup = { path = "deps/libsignal/rust/message-backup" }
signal-media = { path = "deps/libsignal/rust/media" }
# Supporting crates
async-trait = "0.1"
uuid = { version = "1", features = ["v4"] }
rand = "0.9"
log = "0.4"
[patch.crates-io]
boring = { git = "https://github.com/signalapp/boring", tag = "signal-v5.0.2" }
boring-sys = { git = "https://github.com/signalapp/boring", tag = "signal-v5.0.2" }
curve25519-dalek = { git = "https://github.com/signalapp/curve25519-dalek", tag = "signal-curve25519-4.1.3" }
[profile.release]
opt-level = 3
lto = "thin"
overflow-checks = true
[profile.dev.package.argon2]
opt-level = 2