Cargo.toml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  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. # This makes a HUGE difference to decoding speed.
  62. # Over 160s to like 2s.
  63. [profile.dev.package.rav1d]
  64. opt-level = 3
  65. [features]
  66. default = ["enable-plugins", "schema-app"]
  67. emulate-android = []
  68. enable-filelog = []
  69. # Network debugging. Should be disabled in release.
  70. enable-netdebug = []
  71. enable-plugin-darkirc = ["dep:darkirc", "dep:crypto_box"]
  72. enable-plugin-fud = ["dep:fud"]
  73. enable-plugin-drk = ["dep:drk"]
  74. enable-plugins = ["enable-plugin-darkirc", "enable-plugin-fud", "enable-plugin-drk"]
  75. # Main app schema layout
  76. schema-app = []
  77. # Dev schema for testing
  78. schema-test = []
  79. schema-test-edit = []
  80. schema-test-scroll-layer = []
  81. [patch.crates-io]
  82. halo2_proofs = { git="https://github.com/parazyd/halo2", branch="v050" }
  83. halo2_gadgets = { git="https://github.com/parazyd/halo2", branch="v050" }
  84. # This patch didn't work for me
  85. #dirs-sys = {git="https://github.com/sbechet/dirs-sys-rs.git"}
  86. [target.'cfg(not(target_os = "android"))'.dependencies]
  87. dirs = "5.0.1"
  88. # Open URLs in the system's default handler on click (Android uses a JNI intent instead).
  89. open = "5"
  90. # AV1 video decoding - rav1d with Rust API from leo030303 fork
  91. # Enable ASM routines for non-Android platforms.
  92. rav1d = { git = "https://github.com/leo030303/rav1d", branch = "add-rust-api", features = ["bitdepth_8"] }
  93. [target.'cfg(target_os = "linux")'.dependencies]
  94. x11-clipboard = "0.9.3"
  95. [target.'cfg(target_os = "android")'.dependencies]
  96. tracing-android = "0.2.0"
  97. # Required by Arti: tor-dirmgr
  98. tor-dirmgr = { version="0.42.0", features=["static"] }
  99. # Android uses MediaCodec for hardware-accelerated H.264 decoding instead of rav1d
  100. [target.'cfg(target_os = "windows")'.dependencies]
  101. # Used by tor-dirmgr
  102. #rusqlite = {version = "0.37.0", features = ["bundled"]}
  103. tor-dirmgr = { version="0.42.0", features=["static"] }
  104. [package.metadata.android.activity_attributes]
  105. "android:exported" = "true"
  106. "android:windowSoftInputMode" = "adjustResize"
  107. [lints]
  108. workspace = true
  109. [workspace.lints.clippy]
  110. [package.metadata.android]
  111. package_name = "darkfi.darkfi-app"
  112. label = "DarkFi"
  113. res = "data/res"
  114. icon = "@mipmap/ic_launcher"
  115. assets = "assets"
  116. build_targets = ["aarch64-linux-android", "x86_64-linux-android"]
  117. min_sdk_version = 26
  118. [[package.metadata.android.permission]]
  119. name = "android.permission.INTERNET"
  120. [[package.metadata.android.permission]]
  121. name = "android.permission.ACCESS_NETWORK_STATE"
  122. [[package.metadata.android.permission]]
  123. name = "android.permission.FOREGROUND_SERVICE"
  124. [[package.metadata.android.permission]]
  125. name = "android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING"
  126. [[package.metadata.android.service]]
  127. name = ".ForegroundService"
  128. foreground_service_type = "remoteMessaging"
  129. exported = false