Files
Linus 31c50d9ceb Replace winres with winresource to get deterministic resource ordering
winres is an abandoned crate. It also stores the version info string
properties in a HashMap and writes the StringFileInfo block by
iterating it directly. This results in every unique build having
these resources embedded in the resulting binary in a random order.

winresource is the maintained fork of winres. It stores the properties
in a BTreeMap, so the block is emitted in sorted key order.
2026-07-22 13:24:11 +02:00

63 lines
1.9 KiB
TOML

[package]
name = "installer-downloader"
version = "1.2.1"
edition.workspace = true
rust-version.workspace = true
description = "A secure minimal web installer for the Mullvad app"
repository.workspace = true
license.workspace = true
publish = false
[package.metadata.winresource]
LegalCopyright = "(c) 2026 Mullvad VPN AB"
[build-dependencies]
anyhow = { workspace = true }
windows-sys = { workspace = true, features = [
"Win32_System",
"Win32_System_LibraryLoader",
"Win32_System_SystemServices"
] }
winresource.workspace = true
[target.'cfg(any(target_os = "windows", target_os = "macos"))'.dependencies]
anyhow = { workspace = true }
async-trait = { workspace = true }
log = { workspace = true }
mullvad-paths = { path = "../mullvad-paths" }
mullvad-update = { path = "../mullvad-update", features = ["client"] }
mullvad-version = { path = "../mullvad-version" }
rand = { workspace = true }
safelog = { workspace = true }
serde = { workspace = true, features = ["derive"] }
talpid-platform-metadata = { path = "../talpid-platform-metadata" }
tokio = { workspace = true, features = ["fs", "rt-multi-thread"] }
tracing-appender = { workspace = true }
tracing-subscriber = { workspace = true, features = ["chrono"] }
[target.'cfg(any(target_os = "windows", target_os = "macos"))'.dev-dependencies]
insta = { workspace = true, features = ["yaml"] }
serde = { workspace = true, features = ["derive"] }
tokio = { workspace = true, features = ["macros", "test-util"] }
[target.'cfg(target_os = "macos")'.dependencies]
cacao = "0.3.2"
objc_id = "0.1"
[target.'cfg(target_os = "windows")'.dependencies]
native-windows-gui = { version = "1.0.12", default-features = false, features = [
"embed-resource",
"frame",
"image-decoder",
"progress-bar"
] }
windows-sys = { workspace = true, features = [
"Win32_Graphics",
"Win32_Graphics_Gdi",
"Win32_UI",
"Win32_UI_WindowsAndMessaging"
] }
[lints]
workspace = true