[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_auth.workspace = true oneclient_cluster.workspace = true oneclient_common.workspace = true oneclient_content.workspace = true oneclient_events.workspace = true oneclient_java.workspace = true oneclient_mc.workspace = true oneclient_polyplus.workspace = true oneclient_net.workspace = true oneclient_core.workspace = true oneclient_db.workspace = true chrono.workspace = true oneclient_macro = { workspace = true, features = ["freya"] } polyio.workspace = true rust-embed.workspace = true tracing.workspace = true tracing-subscriber.workspace = true futures-util.workspace = true tokio.workspace = true uuid.workspace = true bytes.workspace = true sysinfo.workspace = true notify.workspace = true anyhow.workspace = true regex.workspace = true directories.workspace = true dunce.workspace = true percent-encoding.workspace = true cargo-packager-updater = "=0.2.3" # rfd = "=0.17.2" # open = "=5.4.0" rfd.workspace = true open.workspace = true # clipboard image copy + decode for it arboard.workspace = true image.workspace = true freya-skia-safe.workspace = true freya.workspace = true freya-core.workspace = true pulldown-cmark.workspace = true # inlines svg logos embedded in markdown badges as data urls base64.workspace = true [dev-dependencies] freya-testing.workspace = true [target.'cfg(target_os = "macos")'.dependencies] mimalloc = "=0.1.52" [target.'cfg(target_os = "linux")'.dependencies] libloading = "=0.8.9" gtk-sys = "=0.18.2" [target.'cfg(windows)'.dependencies] windows = { version = "=0.62.2", features = [ "Win32_Foundation", "Win32_System_Registry", ] } [target.'cfg(windows)'.build-dependencies] winresource = "=0.1.31" [package.metadata.packager] product-name = "OneClient" identifier = "org.polyfrost.OneClient" category = "Game" publisher = "Polyfrost Inc." 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/64x64.png", "icons/128x128.png", "icons/128x128@2x.png", "icons/icon.icns", "icons/icon.ico", ] resources = [ { src = "icons/generated/Assets.car", target = "Assets.car" }, # >>> CRT_RESOURCES >>> # <<< CRT_RESOURCES <<< ] [package.metadata.packager.macos] minimum-system-version = "10.14" 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 ; >>> VC_REDIST_SECTION >>> 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} ${If} $PassiveMode != 1 MessageBox MB_OK|MB_ICONEXCLAMATION "This build of OneClient needs the Microsoft Visual C++ Redistributable (x64) 14.40 or newer. Install it from https://aka.ms/vs/17/release/vc_redist.x64.exe, then run this installer again." ${EndIf} vcredist_done: SectionEnd ; <<< VC_REDIST_SECTION <<< """ [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 libs = ["libayatana-appindicator3.so.1"] excluded-libraries = ["libwayland-*"] [package.metadata.generate-rpm] auto-req = "builtin" assets = [ { source = "target/release/oneclient_app", dest = "/usr/bin/oneclient_app", mode = "755" }, { source = "target/release/oneclient_app.desktop", dest = "/usr/share/applications/oneclient_app.desktop", mode = "644" }, { source = "icons/32x32.png", dest = "/usr/share/icons/hicolor/32x32/apps/oneclient_app.png", mode = "644" }, { source = "icons/64x64.png", dest = "/usr/share/icons/hicolor/64x64/apps/oneclient_app.png", mode = "644" }, { source = "icons/128x128.png", dest = "/usr/share/icons/hicolor/128x128/apps/oneclient_app.png", mode = "644" }, { source = "icons/512x512.png", dest = "/usr/share/icons/hicolor/512x512/apps/oneclient_app.png", mode = "644" }, ]