[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" [target.'cfg(windows)'.build-dependencies] winresource = "=0.1.31" [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", "rpm", "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 Section "-VCRedist" SetRegView 64 ReadRegDWORD $R0 HKLM "SOFTWARE\\Microsoft\\VisualStudio\\14.0\\VC\\Runtimes\\X64" "Installed" ReadRegDWORD $R1 HKLM "SOFTWARE\\Microsoft\\VisualStudio\\14.0\\VC\\Runtimes\\X64" "Minor" SetRegView lastused ${If} $R0 == 1 ${AndIf} $R1 >= 40 Goto vcredist_done ${EndIf} DetailPrint "Installing Microsoft Visual C++ Redistributable (x64)..." nsis_tauri_utils::Download "https://aka.ms/vs/17/release/vc_redist.x64.exe" "$PLUGINSDIR\\vc_redist.x64.exe" Pop $R2 ${If} $R2 == 0 ExecWait '"$PLUGINSDIR\\vc_redist.x64.exe" /quiet /norestart' $R3 ${If} $R3 == 3010 SetRebootFlag true ${EndIf} ${ElseIf} $PassiveMode != 1 MessageBox MB_OK|MB_ICONEXCLAMATION "Could not download the Microsoft Visual C++ Redistributable. OneClient may fail to start until you install it manually from https://aka.ms/vs/17/release/vc_redist.x64.exe" ${EndIf} vcredist_done: SectionEnd """ [package.metadata.packager.deb] desktop-template = "distribution/linux/org.polyfrost.oneclient.template" [package.metadata.packager.rpm] desktop-template = "distribution/linux/org.polyfrost.oneclient.template" [package.metadata.packager.appimage] # desktop entry generated from the deb template above via the linux config