feat: linux package builds
This commit is contained in:
@@ -13,7 +13,7 @@ rustflags = [
|
|||||||
[target.'cfg(target_os = "linux")']
|
[target.'cfg(target_os = "linux")']
|
||||||
rustflags = [
|
rustflags = [
|
||||||
"-C", "prefer-dynamic",
|
"-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")']
|
[target.'cfg(target_os = "windows")']
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ members = [
|
|||||||
edition = "2024"
|
edition = "2024"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
authors = ["Georg Bauer <gb@rfc1437.de>"]
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
# Foundation
|
# Foundation
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ name = "bds-ui"
|
|||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
version.workspace = true
|
version.workspace = true
|
||||||
license.workspace = true
|
license.workspace = true
|
||||||
|
authors.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bds-core = { workspace = true }
|
bds-core = { workspace = true }
|
||||||
@@ -58,6 +59,16 @@ icons = [
|
|||||||
[package.metadata.packager.macos]
|
[package.metadata.packager.macos]
|
||||||
minimum-system-version = "26.0"
|
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]
|
[package.metadata.packager.nsis]
|
||||||
installer-icon = "assets/app-icons/bds.ico"
|
installer-icon = "assets/app-icons/bds.ico"
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,10 @@ fn desktop_packages_have_native_icons_and_cargo_commands() {
|
|||||||
"identifier = \"de.rfc1437.ruds\"",
|
"identifier = \"de.rfc1437.ruds\"",
|
||||||
"deep-link-protocols = [{ schemes = [\"ruds\"] }]",
|
"deep-link-protocols = [{ schemes = [\"ruds\"] }]",
|
||||||
"minimum-system-version = \"26.0\"",
|
"minimum-system-version = \"26.0\"",
|
||||||
|
"[package.metadata.packager.deb]",
|
||||||
|
"libgtk-3-0t64 | libgtk-3-0",
|
||||||
|
"libwebkit2gtk-4.1-0",
|
||||||
|
"libxdo3",
|
||||||
"../../target/release/bds-runtime/*",
|
"../../target/release/bds-runtime/*",
|
||||||
"cargo run --quiet -p bds-package-runtime",
|
"cargo run --quiet -p bds-package-runtime",
|
||||||
"cargo run --quiet -p bds-package-runtime -- sign-app-for-dmg",
|
"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(required), "missing {required}");
|
||||||
}
|
}
|
||||||
assert!(!manifest.contains("signing-identity"));
|
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"))
|
let cargo_config = fs::read_to_string(Path::new(CRATE_DIR).join("../../.cargo/config.toml"))
|
||||||
.expect("Cargo packaging aliases");
|
.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("prefer-dynamic"));
|
||||||
assert!(cargo_config.contains("-mmacosx-version-min=26.0"));
|
assert!(cargo_config.contains("-mmacosx-version-min=26.0"));
|
||||||
assert!(cargo_config.contains("@executable_path/../Resources"));
|
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();
|
let main = fs::read_to_string(Path::new(CRATE_DIR).join("src/main.rs")).unwrap();
|
||||||
assert!(main.contains("assets/app-icons/bds.png"));
|
assert!(main.contains("assets/app-icons/bds.png"));
|
||||||
@@ -52,6 +57,7 @@ fn desktop_packages_have_native_icons_and_cargo_commands() {
|
|||||||
|
|
||||||
let workspace_manifest =
|
let workspace_manifest =
|
||||||
fs::read_to_string(Path::new(CRATE_DIR).join("../../Cargo.toml")).unwrap();
|
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("strip = \"symbols\""));
|
||||||
assert!(workspace_manifest.contains("ort-download-binaries-rustls-tls"));
|
assert!(workspace_manifest.contains("ort-download-binaries-rustls-tls"));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user