Cargo.toml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. [package]
  2. name = "darkfi-app"
  3. description = "DarkFi UI App"
  4. version = "0.1.0"
  5. edition = "2021"
  6. authors = ["Dyne.org foundation <foundation@dyne.org>"]
  7. license = "AGPL-3.0-only"
  8. homepage = "https://dark.fi"
  9. repository = "https://codeberg.org/darkrenaissance/darkfi"
  10. [dependencies]
  11. miniquad = { git = "https://github.com/not-fl3/miniquad" }
  12. image = "0.25.9"
  13. qoi = "0.4.1"
  14. tracing = "0.1.44"
  15. glam = "0.30.9"
  16. #zmq = "0.10.0"
  17. #async_zmq = "0.4.0"
  18. zeromq = { version = "0.4.1", default-features = false, features = ["async-std-runtime", "all-transport"] }
  19. darkirc = { path = "../darkirc", optional = true }
  20. darkfi = {path = "../../", features = ["async-daemonize", "event-graph", "net", "util", "system", "tx", "zk"]}
  21. darkfi-sdk = {path = "../../src/sdk", features = ["async"]}
  22. darkfi-serial = {path = "../../src/serial", features = ["async"]}
  23. darkfi_money_contract = { path = "../../src/contract/money/", features = ["client"]}
  24. fud = { path = "../fud/fud/", optional = true }
  25. drk = { path = "../drk/", optional = true }
  26. bs58 = "0.5.1"
  27. thiserror = "2.0.18"
  28. smol = "2.0.2"
  29. atomic_float = "1.1.0"
  30. async-channel = "2.5.0"
  31. easy-parallel = "3.3.1"
  32. rand = "0.8.6"
  33. async-lock = "3.4.2"
  34. async-broadcast = "0.7.2"
  35. futures = "0.3.32"
  36. async-recursion = "1.1.1"
  37. colored = "3.1.1"
  38. #rustpython-vm = "0.3.1"
  39. sled-overlay = "0.1.20"
  40. url = "2.5.8"
  41. semver = "1.0.28"
  42. chrono = "0.4.44"
  43. async-gen = "0.2.3"
  44. async-trait = "0.1.89"
  45. blake3 = "1.8.5"
  46. clap = { version = "4.6.1", features = ["derive"] }
  47. tracing-subscriber = { version = "0.3.23", default-features = false, features = ["fmt"] }
  48. tracing-appender = "0.2.5"
  49. # For log files
  50. file-rotate = "0.8.0"
  51. parking_lot = { version = "0.12.5", features = ["nightly"] }
  52. regex = "1.12.3"
  53. parley = { git = "https://github.com/linebender/parley.git" }
  54. swash = "0.2.7"
  55. zeno = "0.3.3"
  56. peniko = "0.6.1"
  57. fluent = "0.17.0"
  58. unic-langid = { version = "0.9.6", features = ["unic-langid-macros"] }
  59. indoc = "2.0.7"
  60. # This makes a HUGE difference to decoding speed.
  61. # Over 160s to like 2s.
  62. [profile.dev.package.rav1d]
  63. opt-level = 3
  64. [features]
  65. default = ["enable-plugins", "schema-app"]
  66. emulate-android = []
  67. enable-filelog = []
  68. # Network debugging. Should be disabled in release.
  69. enable-netdebug = []
  70. enable-plugin-darkirc = ["dep:darkirc"]
  71. enable-plugin-fud = ["dep:fud"]
  72. enable-plugin-drk = ["dep:drk"]
  73. enable-plugins = ["enable-plugin-darkirc", "enable-plugin-fud", "enable-plugin-drk"]
  74. # Main app schema layout
  75. schema-app = []
  76. # Dev schema for testing
  77. schema-test = []
  78. schema-test-scroll-layer = []
  79. [patch.crates-io]
  80. halo2_proofs = { git="https://github.com/parazyd/halo2", branch="v050" }
  81. halo2_gadgets = { git="https://github.com/parazyd/halo2", branch="v050" }
  82. # This patch didn't work for me
  83. #dirs-sys = {git="https://github.com/sbechet/dirs-sys-rs.git"}
  84. [target.'cfg(not(target_os = "android"))'.dependencies]
  85. dirs = "5.0.1"
  86. # AV1 video decoding - rav1d with Rust API from leo030303 fork
  87. # Enable ASM routines for non-Android platforms.
  88. rav1d = { git = "https://github.com/leo030303/rav1d", branch = "add-rust-api", features = ["bitdepth_8"] }
  89. [target.'cfg(target_os = "linux")'.dependencies]
  90. x11-clipboard = "0.9.3"
  91. [target.'cfg(target_os = "android")'.dependencies]
  92. tracing-android = "0.2.0"
  93. # Required by Arti: tor-dirmgr
  94. tor-dirmgr = { version="0.42.0", features=["static"] }
  95. # Android uses MediaCodec for hardware-accelerated H.264 decoding instead of rav1d
  96. [target.'cfg(target_os = "windows")'.dependencies]
  97. # Used by tor-dirmgr
  98. #rusqlite = {version = "0.37.0", features = ["bundled"]}
  99. tor-dirmgr = { version="0.42.0", features=["static"] }
  100. [package.metadata.android.activity_attributes]
  101. "android:exported" = "true"
  102. "android:windowSoftInputMode" = "adjustResize"
  103. [lints]
  104. workspace = true
  105. [workspace.lints.clippy]
  106. [package.metadata.android]
  107. package_name = "darkfi.darkfi-app"
  108. label = "DarkFi"
  109. res = "data/res"
  110. icon = "@mipmap/ic_launcher"
  111. assets = "assets"
  112. build_targets = ["aarch64-linux-android", "x86_64-linux-android"]
  113. min_sdk_version = 26
  114. [[package.metadata.android.permission]]
  115. name = "android.permission.INTERNET"
  116. [[package.metadata.android.permission]]
  117. name = "android.permission.ACCESS_NETWORK_STATE"
  118. [[package.metadata.android.permission]]
  119. name = "android.permission.FOREGROUND_SERVICE"
  120. [[package.metadata.android.permission]]
  121. name = "android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING"
  122. [[package.metadata.android.service]]
  123. name = ".ForegroundService"
  124. foreground_service_type = "remoteMessaging"
  125. exported = false