Cargo.toml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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. miniquad = { git = "https://github.com/narodnik/miniquad" }
  13. # Currently latest version links to freetype-sys 0.19 but we use 0.21
  14. #harfbuzz-sys = "0.6.1"
  15. #harfbuzz-sys = { git = "https://github.com/servo/rust-harfbuzz", features = ["bundled"] }
  16. harfbuzz-sys = { git = "https://github.com/narodnik/rust-harfbuzz2", features = ["bundled"] }
  17. freetype-rs = { version = "0.37.0", features = ["bundled"] }
  18. image = "0.25.9"
  19. qoi = "0.4.1"
  20. tracing = "0.1.44"
  21. glam = "0.30.9"
  22. #zmq = "0.10.0"
  23. #async_zmq = "0.4.0"
  24. zeromq = { version = "0.4.1", default-features = false, features = ["async-std-runtime", "all-transport"] }
  25. darkfi = {path = "../../", features = ["async-daemonize", "event-graph", "net", "util", "system", "zk"]}
  26. #darkfi-sdk = {path = "../../src/sdk", features = ["async"]}
  27. darkfi-serial = {path = "../../src/serial", features = ["async"]}
  28. fud = { path = "../fud/fud/" }
  29. bs58 = "0.5.1"
  30. thiserror = "2.0.17"
  31. smol = "2.0.2"
  32. atomic_float = "1.1.0"
  33. async-channel = "2.5.0"
  34. easy-parallel = "3.3.1"
  35. rand = "0.8.5"
  36. async-lock = "3.4.2"
  37. async-broadcast = "0.7.2"
  38. futures = "0.3.31"
  39. async-recursion = "1.1.1"
  40. colored = "3.0.0"
  41. #rustpython-vm = "0.3.1"
  42. sled-overlay = "0.1.15"
  43. url = "2.5.7"
  44. semver = "1.0.27"
  45. chrono = "0.4.42"
  46. async-gen = "0.2.3"
  47. async-trait = "0.1.89"
  48. blake3 = "1.8.2"
  49. clap = { version = "4.5.53", features = ["derive"] }
  50. tracing-subscriber = { version = "0.3.22", default-features = false, features = ["fmt"] }
  51. tracing-appender = "0.2.4"
  52. # For log files
  53. file-rotate = "0.8.0"
  54. parking_lot = { version = "0.12.5", features = ["nightly"] }
  55. regex = "1.12.2"
  56. parley = { git = "https://github.com/linebender/parley.git" }
  57. swash = "0.2.6"
  58. zeno = "0.3.3"
  59. peniko = "0.5.0"
  60. fluent = "0.17.0"
  61. unic-langid = { version = "0.9.6", features = ["unic-langid-macros"] }
  62. indoc = "2.0.7"
  63. # This makes a HUGE difference to decoding speed.
  64. # Over 160s to like 2s.
  65. [profile.dev.package.rav1d]
  66. opt-level = 3
  67. [features]
  68. emulate-android = []
  69. enable-plugins = []
  70. enable-filelog = []
  71. # Network debugging. Should be disabled in release.
  72. enable-netdebug = []
  73. [patch.crates-io]
  74. # We can remove these patches. But unfortunately harfbuzz-sys is still linking
  75. # the old freetype libs so we need to fix that first.
  76. # Fucking servo rust-harfbuzz
  77. freetype-rs = { git = "https://github.com/narodnik/freetype-rs" }
  78. freetype-sys = { git = "https://github.com/narodnik/freetype-sys2" }
  79. halo2_proofs = { git="https://github.com/parazyd/halo2", branch="v032" }
  80. halo2_gadgets = { git="https://github.com/parazyd/halo2", branch="v032" }
  81. # This patch didn't work for me
  82. #dirs-sys = {git="https://github.com/sbechet/dirs-sys-rs.git"}
  83. [target.'cfg(not(target_os = "android"))'.dependencies]
  84. dirs = "5.0.1"
  85. # AV1 video decoding - rav1d with Rust API from leo030303 fork
  86. # Enable ASM routines for non-Android platforms.
  87. #rav1d = { git = "https://github.com/leo030303/rav1d", branch = "add-rust-api", features = ["bitdepth_8"] }
  88. rav1d = { git = "https://github.com/narodnik/rav1d", branch = "add-rust-api", features = ["bitdepth_8"] }
  89. [target.'cfg(target_os = "android")'.dependencies]
  90. tracing-android = "0.2.0"
  91. # Required by Arti: tor-dirmgr
  92. tor-dirmgr = { version="0.37.0", features=["static"] }
  93. # Android uses MediaCodec for hardware-accelerated H.264 decoding instead of rav1d
  94. [target.'cfg(target_os = "windows")'.dependencies]
  95. # Used by tor-dirmgr
  96. #rusqlite = {version = "0.37.0", features = ["bundled"]}
  97. tor-dirmgr = { version="0.37.0", features=["static"] }
  98. [package.metadata.android.activity_attributes]
  99. "android:exported" = "true"
  100. "android:windowSoftInputMode" = "adjustResize"
  101. [lints]
  102. workspace = true
  103. [workspace.lints.clippy]
  104. [package.metadata.android]
  105. package_name = "darkfi.darkfi-app"
  106. label = "DarkFi"
  107. res = "data/res"
  108. icon = "@mipmap/ic_launcher"
  109. assets = "assets"
  110. build_targets = ["aarch64-linux-android", "x86_64-linux-android"]
  111. [[package.metadata.android.permission]]
  112. name = "android.permission.INTERNET"
  113. [[package.metadata.android.permission]]
  114. name = "android.permission.ACCESS_NETWORK_STATE"
  115. [[package.metadata.android.permission]]
  116. name = "android.permission.FOREGROUND_SERVICE"
  117. [[package.metadata.android.permission]]
  118. name = "android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING"
  119. [[package.metadata.android.service]]
  120. name = ".ForegroundService"
  121. foreground_service_type = "remoteMessaging"
  122. exported = false