Cargo.toml 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  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. crypto_box = { version = "0", optional = true }
  21. darkfi = {path = "../../", features = ["async-daemonize", "event-graph", "net", "util", "system", "tx", "zk"]}
  22. darkfi-sdk = {path = "../../src/sdk", features = ["async"]}
  23. darkfi-serial = {path = "../../src/serial", features = ["async"]}
  24. darkfi_money_contract = { path = "../../src/contract/money/", features = ["client"]}
  25. fud = { path = "../fud/fud/", optional = true }
  26. drk = { path = "../drk/", optional = true }
  27. bs58 = "0.5.1"
  28. thiserror = "2.0.18"
  29. smol = "2.0.2"
  30. atomic_float = "1.1.0"
  31. async-channel = "2.5.0"
  32. easy-parallel = "3.3.1"
  33. rand = "0.8.6"
  34. async-lock = "3.4.2"
  35. async-broadcast = "0.7.2"
  36. futures = "0.3.32"
  37. async-recursion = "1.1.1"
  38. colored = "3.1.1"
  39. #rustpython-vm = "0.3.1"
  40. sled-overlay = "0.1.20"
  41. url = "2.5.8"
  42. semver = "1.0.28"
  43. chrono = "0.4.44"
  44. async-gen = "0.2.3"
  45. async-trait = "0.1.89"
  46. blake3 = "1.8.5"
  47. clap = { version = "4.6.1", features = ["derive"] }
  48. tracing-subscriber = { version = "0.3.23", default-features = false, features = ["fmt"] }
  49. tracing-appender = "0.2.5"
  50. # For log files
  51. file-rotate = "0.8.0"
  52. parking_lot = { version = "0.12.5", features = ["nightly"] }
  53. regex = "1.12.3"
  54. parley = { git = "https://github.com/linebender/parley.git" }
  55. swash = "0.2.7"
  56. zeno = "0.3.3"
  57. peniko = "0.6.1"
  58. fluent = "0.17.0"
  59. unic-langid = { version = "0.9.6", features = ["unic-langid-macros"] }
  60. indoc = "2.0.7"
  61. # Sound playback for UI events.
  62. # Git master: uses cpal 0.18 which has native pulseaudio/pipewire backends
  63. # (cpal 0.17 is ALSA-only and fails when pipewire owns the default device).
  64. rodio = { git = "https://github.com/RustAudio/rodio", default-features = false, features = ["playback", "vorbis", "pulseaudio"] }
  65. # This makes a HUGE difference to decoding speed.
  66. # Over 160s to like 2s.
  67. [profile.dev.package.rav1d]
  68. opt-level = 3
  69. [features]
  70. default = ["enable-plugins", "schema-app"]
  71. emulate-android = []
  72. enable-filelog = []
  73. # Network debugging. Should be disabled in release.
  74. enable-netdebug = []
  75. enable-plugin-darkirc = ["dep:darkirc", "dep:crypto_box"]
  76. enable-plugin-fud = ["dep:fud"]
  77. enable-plugin-drk = ["dep:drk"]
  78. enable-plugins = ["enable-plugin-darkirc", "enable-plugin-fud", "enable-plugin-drk"]
  79. # Main app schema layout
  80. schema-app = []
  81. # Dev schema for testing
  82. schema-test = []
  83. schema-test-edit = []
  84. schema-test-scroll-layer = []
  85. [patch.crates-io]
  86. halo2_proofs = { git="https://github.com/parazyd/halo2", branch="v050" }
  87. halo2_gadgets = { git="https://github.com/parazyd/halo2", branch="v050" }
  88. # This patch didn't work for me
  89. #dirs-sys = {git="https://github.com/sbechet/dirs-sys-rs.git"}
  90. [target.'cfg(not(target_os = "android"))'.dependencies]
  91. dirs = "5.0.1"
  92. # Open URLs in the system's default handler on click (Android uses a JNI intent instead).
  93. open = "5"
  94. # AV1 video decoding - rav1d with Rust API from leo030303 fork
  95. # Enable ASM routines for non-Android platforms.
  96. rav1d = { git = "https://github.com/leo030303/rav1d", branch = "add-rust-api", features = ["bitdepth_8"] }
  97. [target.'cfg(target_os = "linux")'.dependencies]
  98. x11-clipboard = "0.9.3"
  99. [target.'cfg(target_os = "android")'.dependencies]
  100. tracing-android = "0.2.0"
  101. # Required by Arti: tor-dirmgr
  102. tor-dirmgr = { version="0.42.0", features=["static"] }
  103. # Required by cpal (rodio) AAudio backend to access the JavaVM/Activity
  104. ndk-context = "0.1.1"
  105. # Android uses MediaCodec for hardware-accelerated H.264 decoding instead of rav1d
  106. [target.'cfg(target_os = "windows")'.dependencies]
  107. # Used by tor-dirmgr
  108. #rusqlite = {version = "0.37.0", features = ["bundled"]}
  109. tor-dirmgr = { version="0.42.0", features=["static"] }
  110. [package.metadata.android.activity_attributes]
  111. "android:exported" = "true"
  112. "android:windowSoftInputMode" = "adjustResize"
  113. [lints]
  114. workspace = true
  115. [workspace.lints.clippy]
  116. [package.metadata.android]
  117. package_name = "darkfi.darkfi-app"
  118. label = "DarkFi"
  119. res = "data/res"
  120. icon = "@mipmap/ic_launcher"
  121. assets = "assets"
  122. build_targets = ["aarch64-linux-android", "x86_64-linux-android"]
  123. min_sdk_version = 26
  124. [[package.metadata.android.permission]]
  125. name = "android.permission.INTERNET"
  126. [[package.metadata.android.permission]]
  127. name = "android.permission.ACCESS_NETWORK_STATE"
  128. [[package.metadata.android.permission]]
  129. name = "android.permission.FOREGROUND_SERVICE"
  130. [[package.metadata.android.permission]]
  131. name = "android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING"
  132. [[package.metadata.android.service]]
  133. name = ".ForegroundService"
  134. foreground_service_type = "remoteMessaging"
  135. exported = false