feat: linux package builds

This commit is contained in:
Georg Bauer
2026-08-02 20:25:02 +02:00
parent 3b1d239863
commit c96fd9c041
4 changed files with 20 additions and 2 deletions

View File

@@ -13,7 +13,7 @@ rustflags = [
[target.'cfg(target_os = "linux")']
rustflags = [
"-C", "prefer-dynamic",
"-C", "link-arg=-Wl,-rpath,$ORIGIN/../lib/bds-ui",
"-C", "link-arg=-Wl,-rpath,$ORIGIN:$ORIGIN/../lib/bds-ui",
]
[target.'cfg(target_os = "windows")']

View File

@@ -14,6 +14,7 @@ members = [
edition = "2024"
version = "0.1.0"
license = "MIT"
authors = ["Georg Bauer <gb@rfc1437.de>"]
[workspace.dependencies]
# Foundation

View File

@@ -3,6 +3,7 @@ name = "bds-ui"
edition.workspace = true
version.workspace = true
license.workspace = true
authors.workspace = true
[dependencies]
bds-core = { workspace = true }
@@ -58,6 +59,16 @@ icons = [
[package.metadata.packager.macos]
minimum-system-version = "26.0"
[package.metadata.packager.deb]
depends = [
"libc6",
"libdbus-1-3",
"libgtk-3-0t64 | libgtk-3-0",
"libstdc++6",
"libwebkit2gtk-4.1-0",
"libxdo3",
]
[package.metadata.packager.nsis]
installer-icon = "assets/app-icons/bds.ico"

View File

@@ -25,6 +25,10 @@ fn desktop_packages_have_native_icons_and_cargo_commands() {
"identifier = \"de.rfc1437.ruds\"",
"deep-link-protocols = [{ schemes = [\"ruds\"] }]",
"minimum-system-version = \"26.0\"",
"[package.metadata.packager.deb]",
"libgtk-3-0t64 | libgtk-3-0",
"libwebkit2gtk-4.1-0",
"libxdo3",
"../../target/release/bds-runtime/*",
"cargo run --quiet -p bds-package-runtime",
"cargo run --quiet -p bds-package-runtime -- sign-app-for-dmg",
@@ -33,6 +37,7 @@ fn desktop_packages_have_native_icons_and_cargo_commands() {
assert!(manifest.contains(required), "missing {required}");
}
assert!(!manifest.contains("signing-identity"));
assert!(manifest.contains("authors.workspace = true"));
let cargo_config = fs::read_to_string(Path::new(CRATE_DIR).join("../../.cargo/config.toml"))
.expect("Cargo packaging aliases");
@@ -42,7 +47,7 @@ fn desktop_packages_have_native_icons_and_cargo_commands() {
assert!(cargo_config.contains("prefer-dynamic"));
assert!(cargo_config.contains("-mmacosx-version-min=26.0"));
assert!(cargo_config.contains("@executable_path/../Resources"));
assert!(cargo_config.contains("$ORIGIN/../lib/bds-ui"));
assert!(cargo_config.contains("$ORIGIN:$ORIGIN/../lib/bds-ui"));
let main = fs::read_to_string(Path::new(CRATE_DIR).join("src/main.rs")).unwrap();
assert!(main.contains("assets/app-icons/bds.png"));
@@ -52,6 +57,7 @@ fn desktop_packages_have_native_icons_and_cargo_commands() {
let workspace_manifest =
fs::read_to_string(Path::new(CRATE_DIR).join("../../Cargo.toml")).unwrap();
assert!(workspace_manifest.contains("Georg Bauer <gb@rfc1437.de>"));
assert!(workspace_manifest.contains("strip = \"symbols\""));
assert!(workspace_manifest.contains("ort-download-binaries-rustls-tls"));