[package] name = "oneclient_app" description = "OneClient Freya App" version = { workspace = true } license = { workspace = true } edition = { workspace = true } repository = { workspace = true } documentation = { workspace = true } readme = { workspace = true } homepage = { workspace = true } authors = { workspace = true } [features] default = [] [dependencies] oneclient_core.workspace = true oneclient_db.workspace = true chrono.workspace = true oneclient_macro = { workspace = true, features = ["freya"] } polyio.workspace = true rust-embed = { version = "=8.11.0", features = ["include-exclude", "compression", "debug-embed"] } tracing.workspace = true tracing-subscriber.workspace = true tokio.workspace = true uuid.workspace = true bytes.workspace = true sysinfo.workspace = true anyhow.workspace = true regex.workspace = true cargo-packager-updater = "=0.2.3" rfd = "=0.17.2" open = "=5.4.0" # clipboard image copy + decode for it arboard.workspace = true image.workspace = true freya-skia-safe.workspace = true freya.workspace = true [target.'cfg(target_os = "macos")'.dependencies] mimalloc = "=0.1.52" # Build then package (per OS): # cargo build --release -p oneclient_app # cargo packager --release -p oneclient_app --formats [package.metadata.packager] product-name = "OneClient" identifier = "org.polyfrost.OneClient" category = "Game" publisher = "Polyfrost" copyright = "© 2026 Polyfrost Inc." homepage = "https://polyfrost.org/projects/oneclient" long-description = "Next-generation open source Minecraft launcher" formats = ["nsis", "app", "dmg", "deb", "appimage"] binaries = [{ path = "oneclient_app", main = true }] icons = [ "icons/32x32.png", "icons/128x128.png", "icons/128x128@2x.png", "icons/icon.icns", "icons/icon.ico", ] [package.metadata.packager.macos] minimum-system-version = "10.15" entitlements = "distribution/App.entitlements" info-plist-path = "distribution/Info.plist" [package.metadata.packager.dmg] background = "distribution/dmg-background.tiff" window-size = { width = 600, height = 400 } app-position = { x = 160, y = 190 } application-folder-position = { x = 440, y = 190 } [package.metadata.packager.windows] digest-algorithm = "sha256" timestamp-url = "https://timestamp.digicert.com" [package.metadata.packager.nsis] preinstall-section = """ Section "-OneClientTauriMigration" ; Stale Tauri root start-menu shortcut (this build only writes the sub-folder one). Delete "$SMPROGRAMS\\${PRODUCTNAME}.lnk" ; Old Tauri main binary (renamed OneClient.exe -> oneclient_app.exe). Locked while ; the outdated app is running during an auto-update, so fall back to reboot removal. Delete /REBOOTOK "$INSTDIR\\OneClient.exe" SectionEnd """ [package.metadata.packager.deb] desktop-template = "distribution/linux/org.polyfrost.oneclient.template" [package.metadata.packager.appimage] # desktop entry generated from the deb template above via the linux config