Cargo.toml 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. [package]
  2. name = "libthreema"
  3. version = "0.1.0"
  4. description = "One library to bind them all"
  5. authors = ["Threema GmbH"]
  6. license = "AGPL-3.0-only"
  7. readme = "../README.md"
  8. edition = "2021"
  9. repository = "<Insert URL when publishing>"
  10. keywords = ["threema", "protocol", "messenger", "communication"]
  11. categories = ["api-bindings", "cryptography"]
  12. [lib]
  13. name = "libthreema"
  14. crate-type = ["lib", "cdylib"]
  15. [lints]
  16. workspace = true
  17. [dependencies]
  18. argon2 = { version = "0.5", default-features = false, features = ["alloc"] }
  19. aead = { version = "0.5", default-features = false }
  20. blake2 = { version = "0.10", default-features = false, features = [
  21. "std",
  22. # "zeroize",
  23. ] }
  24. chacha20poly1305 = { version = "0.10", default-features = false, features = [
  25. "alloc",
  26. ] }
  27. cipher = "0.4"
  28. crypto_secretbox = { version = "0.1", default-features = false, features = [
  29. "alloc",
  30. "salsa20",
  31. ] }
  32. data-encoding = "2.6"
  33. libthreema-macros = { path = "../macros" }
  34. once_cell = "1"
  35. pbkdf2 = "0.12"
  36. prost = "0.13"
  37. rand = "0.8"
  38. regex = "1"
  39. salsa20 = { version = "0.10", default-features = false, features = [
  40. "std",
  41. "zeroize",
  42. ] }
  43. sha2 = { version = "0.10", default-features = false, features = [
  44. "std",
  45. # "zeroize",
  46. ] }
  47. thiserror = "1"
  48. tracing = "0.1"
  49. x25519-dalek = { version = "2", features = [
  50. "reusable_secrets",
  51. "static_secrets",
  52. "zeroize",
  53. ] }
  54. zeroize = "1"
  55. # Bindings
  56. tracing-subscriber = { version = "0.3", optional = true }
  57. # Bindings: UniFFI
  58. uniffi = { version = "0.28", optional = true }
  59. # Bindings: WASM
  60. getrandom = { version = "0.2", features = ["js"], optional = true }
  61. js-sys = { version = "0.3", optional = true }
  62. serde = { version = "1", features = ["derive"], optional = true }
  63. serde_bytes = { version = "0.11", optional = true }
  64. strum = { version = "0.26", features = ["derive"] }
  65. tsify = { version = "0.4.5", features = ["js"], optional = true }
  66. wasm-bindgen = { version = "0.2", optional = true }
  67. web-time = { version = "1", optional = true }
  68. [dev-dependencies]
  69. anyhow = "1"
  70. tracing-subscriber = "0.3"
  71. [build-dependencies]
  72. prost-build = "0.13"
  73. # Bindings: UniFFI
  74. uniffi = { version = "0.28", features = ["build"], optional = true }
  75. [features]
  76. uniffi = ["dep:tracing-subscriber", "dep:uniffi"]
  77. wasm = [
  78. "dep:getrandom",
  79. "dep:js-sys",
  80. "dep:serde",
  81. "dep:serde_bytes",
  82. "dep:tracing-subscriber",
  83. "dep:tsify",
  84. "dep:wasm-bindgen",
  85. "dep:web-time",
  86. ]