[package] name = "psg-launcher" version = "0.1.0" description = "PSG Launcher — all-in-one app launcher with signed OTA updates" authors = ["Bailey Taylor"] edition = "2021" rust-version = "1.77" [lib] name = "psg_launcher_lib" crate-type = ["staticlib", "cdylib", "rlib"] [build-dependencies] tauri-build = { version = "2", features = [] } [dependencies] # Tauri core + plugins tauri = { version = "2", features = ["tray-icon"] } tauri-plugin-updater = "2" tauri-plugin-dialog = "2" tauri-plugin-shell = "2" tauri-plugin-process = "2" tauri-plugin-http = "2" tauri-plugin-fs = "2" # Serialisation serde = { version = "1", features = ["derive"] } serde_json = "1" # Async runtime tokio = { version = "1", features = ["full"] } # Cryptography — manifest + package verification ed25519-dalek = "2" sha2 = "0.10" hex = "0.4" base64 = "0.22" # HTTP client (rustls so we get TLS without OpenSSL system lib dep) reqwest = { version = "0.12", features = ["json", "rustls-tls"], default-features = false } # ZIP extraction for zip-type app installs zip = "2" # Error handling thiserror = "1" # Utilities chrono = { version = "0.4", features = ["serde"] } semver = { version = "1", features = ["serde"] } dirs = "5" log = "0.4" env_logger = "0.11" [profile.release] opt-level = "s" # optimise for binary size lto = true codegen-units = 1 strip = true panic = "abort"