Windows build / build (push) Canceled after 0s
- Bump the version to 1.0.0 in package.json, Cargo.toml, tauri.conf.json and the Void template. Fingerprint goldens are unchanged. - Rewrite the README: features, data paths on Linux and Windows, backup and restore (backups contain the ERPNext API secret), bundled fonts and licences, font overrides, the ERPNext recipe, build and packaging commands, gates and known limitations. - Add docs/RELEASE.md with the release steps and a manual first-run checklist. - Void template: use a plain npm ci (the optional-dependency omit breaks vite and tsc), and note vendoring and that no OpenSSL is needed. Verified: build-xbps.sh builds voiced-1.0.0_1; it installs and removes cleanly in a clean void-glibc container with fonts, licences and fc-cache handling in place. The cross-compiled NSIS installer is 11.45 MiB and has not been run on Windows.
61 lines
2.1 KiB
TOML
61 lines
2.1 KiB
TOML
[package]
|
|
name = "voiced"
|
|
version = "1.0.0"
|
|
description = "Voiced — offline invoicing desktop app by Bongbetic"
|
|
authors = ["Bongbetic"]
|
|
edition = "2021"
|
|
rust-version = "1.95"
|
|
|
|
# The `_lib` suffix keeps the library name distinct from the binary name on Windows.
|
|
[lib]
|
|
name = "voiced_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[dependencies]
|
|
tauri = { version = "2", features = [] }
|
|
tauri-plugin-dialog = "2"
|
|
tauri-plugin-opener = "2"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
rusqlite = { version = "0.40", features = ["bundled"] }
|
|
rusqlite_migration = "2.6"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
uuid = { version = "1", features = ["v4"] }
|
|
thiserror = "2"
|
|
base64 = "0.22"
|
|
sha2 = "0.10"
|
|
flate2 = "1"
|
|
zip = { version = "8", default-features = false, features = ["deflate-flate2"] }
|
|
percent-encoding = "2"
|
|
image = { version = "0.25.10", default-features = false, features = ["png", "jpeg", "webp"] }
|
|
# ERPNext integration: all HTTP runs in Rust. TLS is rustls with the `ring` provider only (no aws-lc,
|
|
# which does not cross-compile cleanly under cargo-xwin); roots come from the OS via rustls-platform-verifier.
|
|
reqwest = { version = "0.13.5", default-features = false, features = ["rustls-no-provider", "http2", "charset", "system-proxy", "json", "multipart", "query"] }
|
|
rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] }
|
|
tokio = { version = "1", features = ["time"] }
|
|
|
|
# Desktop-only plugins (not available on mobile targets).
|
|
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
|
|
tauri-plugin-single-instance = "2"
|
|
tauri-plugin-window-state = "2"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|
|
tokio = { version = "1", features = ["rt", "macros", "net", "io-util", "time"] }
|
|
|
|
[features]
|
|
# Production builds embed the frontend and serve it over the custom asset
|
|
# protocol. Without this, the app expects a dev server on localhost:1420.
|
|
# DO NOT REMOVE.
|
|
custom-protocol = ["tauri/custom-protocol"]
|
|
|
|
[profile.release]
|
|
codegen-units = 1
|
|
lto = true
|
|
opt-level = "s"
|
|
panic = "abort"
|
|
strip = true
|