Files

54 lines
2.0 KiB
TOML

[package]
name = "artcraft-launcher-native"
description = "ArtCraft Launcher desktop backend: release lookups, detecting installed Craft Apps, installing and updating them"
version.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
publish = false
[lints]
workspace = true
[features]
# Lets ARTCRAFT_LAUNCHER_DOWNLOAD_BASE point the launcher at a developer's own loopback mirror
# (`cargo xtask local serve`). Development only: release builds never enable it, so a shipped
# launcher can't be steered away from GitHub's releases by an environment variable.
local-mirror = []
[dependencies]
artcraft-launcher-core = { workspace = true }
craft-update = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
log = { workspace = true }
dirs = "6"
getrandom = "0.3"
tempfile = "3"
sha2 = "0.10"
# HTTPS over rustls, with the OS verifying certificates (rustls-platform-verifier). No bundled
# root list: webpki-roots and webpki-root-certs are CDLA-licensed.
ureq = { version = "3.5", default-features = false, features = ["rustls-no-provider", "_ring", "gzip", "platform-verifier"] }
[dev-dependencies]
# The tests' fake server answers with real gzip streams (Reply::Gzipped), on every platform.
flate2 = "1"
[target.'cfg(unix)'.dependencies]
flate2 = "1"
tar = { version = "0.4", default-features = false }
[target.'cfg(target_os = "macos")'.dependencies]
plist = "1"
[target.'cfg(target_os = "windows")'.dependencies]
winreg = "0.55"
# Resolves junctions/symlinks without forcing short MSI paths into the verbatim namespace.
dunce = "1"
zip = { version = "9", default-features = false, features = ["deflate"] }
# Safe wrappers for waiting for another process, reading a file's VERSIONINFO, this account's
# SID and the one elevation prompt a batch of installs shares (ShellExecuteEx).
winsafe = { version = "0.0.29", features = ["kernel", "version", "advapi", "shell"] }
# Authenticode checks through WinTrust: the update helper installs only files from the launcher's publisher.
verifysign = "1"