From 0212d2ed092321e194eb3ddd6e59ae6be0268afb Mon Sep 17 00:00:00 2001 From: Iain Laird Date: Mon, 7 Oct 2024 20:30:38 +0100 Subject: [PATCH] Fix cfgs --- Cargo.lock | 1 - moss-sys/Cargo.toml | 5 +--- moss-sys/build.rs | 8 ------ moss-sys/examples/macos.rs | 4 +-- moss-sys/src/app/app_delegate.rs | 12 ++++---- moss-sys/src/app/browser/mod.rs | 12 ++++---- .../src/app/controllers/app_controller.rs | 2 +- moss-sys/src/app/launch.rs | 8 +++--- moss-sys/src/app/overlays/select_install.rs | 4 +-- moss-sys/src/app/tools/jre.rs | 28 +++++++++---------- moss-sys/src/app/tools/mod.rs | 4 +-- moss-sys/src/app/tools/vmparams.rs | 6 ++-- moss-sys/src/app/updater.rs | 8 +++--- moss-sys/src/util.rs | 4 +-- 14 files changed, 47 insertions(+), 59 deletions(-) delete mode 100644 moss-sys/build.rs diff --git a/Cargo.lock b/Cargo.lock index 1b73e0b4..736fe7c7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2974,7 +2974,6 @@ dependencies = [ "async-trait", "base64", "cargo-packager-updater", - "cfg_aliases 0.2.1", "chrono", "classfile-parser", "comemo", diff --git a/moss-sys/Cargo.toml b/moss-sys/Cargo.toml index 100a2f1b..9eddd911 100644 --- a/moss-sys/Cargo.toml +++ b/moss-sys/Cargo.toml @@ -108,12 +108,9 @@ gtk = { version = "0.18.1" } [target.'cfg(not(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd")))'.dependencies] rfd = "0.15" -[target.'cfg(mac)'.dependencies] +[target.'cfg(target_os = "macos")'.dependencies] metal = "0.29" -[build-dependencies] -cfg_aliases = "0.2.1" - [[example]] name = "dim_constraints" required-features = ["leaky-api"] diff --git a/moss-sys/build.rs b/moss-sys/build.rs deleted file mode 100644 index 879c2efa..00000000 --- a/moss-sys/build.rs +++ /dev/null @@ -1,8 +0,0 @@ -use cfg_aliases::cfg_aliases; - -fn main() { - cfg_aliases! { - linux: { any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd") }, - mac: { target_os = "macos" } - } -} diff --git a/moss-sys/examples/macos.rs b/moss-sys/examples/macos.rs index 969d0e75..756b9fe3 100644 --- a/moss-sys/examples/macos.rs +++ b/moss-sys/examples/macos.rs @@ -1,4 +1,4 @@ -#[cfg(mac)] +#[cfg(target_os = "macos")] fn main() { use std::ops::Div; @@ -16,7 +16,7 @@ fn main() { ); } -#[cfg(not(mac))] +#[cfg(not(target_os = "macos"))] fn main() { println!("This example does nothing outside macOS") } diff --git a/moss-sys/src/app/app_delegate.rs b/moss-sys/src/app/app_delegate.rs index 007dad3a..2d142b34 100644 --- a/moss-sys/src/app/app_delegate.rs +++ b/moss-sys/src/app/app_delegate.rs @@ -66,13 +66,13 @@ impl Delegate for AppDelegate { let sink = ctx.get_external_handle(); if *is_file { data.runtime.spawn_blocking(move || { - #[cfg(not(linux))] + #[cfg(not(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd")))] let res = rfd::FileDialog::new() .add_filter("Archives", &[ "zip", "7z", "7zip", "rar", "rar4", "rar5", "tar", ]) .pick_files(); - #[cfg(linux)] + #[cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd"))] let res = native_dialog::FileDialog::new() .add_filter("Archives", &[ "zip", "7z", "7zip", "rar", "rar4", "rar5", "tar", @@ -84,9 +84,9 @@ impl Delegate for AppDelegate { }); } else { data.runtime.spawn_blocking(move || { - #[cfg(not(linux))] + #[cfg(not(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd")))] let res = rfd::FileDialog::new().pick_folder(); - #[cfg(linux)] + #[cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd"))] let res = native_dialog::FileDialog::new() .show_open_single_dir() .ok() @@ -311,9 +311,9 @@ impl Delegate for AppDelegate { data.browser.inner = None; } let _ = std::fs::remove_dir_all(PROJECT.cache_dir()); - #[cfg(not(mac))] + #[cfg(not(target_os = "macos"))] ctx.submit_command(druid::commands::QUIT_APP); - #[cfg(mac)] + #[cfg(target_os = "macos")] std::process::exit(0); } _ => {} diff --git a/moss-sys/src/app/browser/mod.rs b/moss-sys/src/app/browser/mod.rs index 053763e4..a3cda5a5 100644 --- a/moss-sys/src/app/browser/mod.rs +++ b/moss-sys/src/app/browser/mod.rs @@ -351,7 +351,7 @@ impl Browser { } fn init_webview(ctx: &mut druid::EventCtx, data: &mut Browser) -> Result, wry::Error> { - #[cfg(linux)] + #[cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd"))] let res = { use gtk::{ glib::translate::{FromGlibPtrFull, ToGlibPtr}, @@ -393,7 +393,7 @@ fn init_webview(ctx: &mut druid::EventCtx, data: &mut Browser) -> Result> Controller for AppController { let ext_ctx = ctx.get_external_handle(); ctx.set_disabled(true); data.runtime.spawn_blocking(move || { - #[cfg(mac)] + #[cfg(target_os = "macos")] let res = rfd::FileDialog::new() .add_filter("*.app", &["app"]) .pick_file(); diff --git a/moss-sys/src/app/launch.rs b/moss-sys/src/app/launch.rs index aba38256..ed2a01a2 100644 --- a/moss-sys/src/app/launch.rs +++ b/moss-sys/src/app/launch.rs @@ -581,7 +581,7 @@ fn managed_starsector_launch(app: &mut App, ctx: &mut druid::EventCtx) { } } -#[cfg(not(mac))] +#[cfg(not(target_os = "macos"))] async fn launch( install_dir: &Path, direct_launch: bool, @@ -602,7 +602,7 @@ async fn launch( true => "Miko_R3.txt", #[cfg(target_os = "windows")] false => "vmparams", - #[cfg(linux)] + #[cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd"))] false => "starsector.sh", }); @@ -650,7 +650,7 @@ async fn launch( (miko || direct_launch).then(|| install_dir.join("starsector-core")), ); - #[cfg(linux)] + #[cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd"))] let (exe, working_dir) = ( install_dir.join(match direct_launch { true if miko => "jdk-23+9/bin/java", @@ -780,7 +780,7 @@ fn format_command( commands.collect() } -#[cfg(mac)] +#[cfg(target_os = "macos")] async fn launch( install_dir: &Path, experimental_launch: bool, diff --git a/moss-sys/src/app/overlays/select_install.rs b/moss-sys/src/app/overlays/select_install.rs index 25c8b46c..d6bb08c1 100644 --- a/moss-sys/src/app/overlays/select_install.rs +++ b/moss-sys/src/app/overlays/select_install.rs @@ -19,9 +19,9 @@ use crate::{ pub struct SelectInstall; impl SelectInstall { - #[cfg(mac)] + #[cfg(target_os = "macos")] const HEADING: &'static str = "Please select the Starsector app."; - #[cfg(not(mac))] + #[cfg(not(target_os = "macos"))] const HEADING: &'static str = "Please select your Starsector installation directory."; pub fn view() -> impl Widget { diff --git a/moss-sys/src/app/tools/jre.rs b/moss-sys/src/app/tools/jre.rs index 0a532a1a..fb19a628 100644 --- a/moss-sys/src/app/tools/jre.rs +++ b/moss-sys/src/app/tools/jre.rs @@ -117,7 +117,7 @@ impl Swapper { let table = FlexTable::new() .with_row(Self::swapper_row(Flavour::Original, "Original (Java 7)")); - #[cfg(not(mac))] + #[cfg(not(target_os = "macos"))] let table = table.with_row(Self::swapper_row( Flavour::Miko, "Java 23 by Mikohime (New!)", @@ -346,7 +346,7 @@ impl Swapper { }) .collect(); - #[cfg(not(mac))] + #[cfg(not(target_os = "macos"))] if install_dir.join("Miko_R3.txt").exists() && install_dir.join(consts::MIKO_JDK_VER).exists() { available.push(Flavour::Miko); } @@ -406,7 +406,7 @@ impl Swapper { strum_macros::FromRepr, )] pub enum Flavour { - #[cfg(not(mac))] + #[cfg(not(target_os = "macos"))] Miko, Coretto, Hotspot, @@ -421,7 +421,7 @@ const JRE_BACKUP: &str = "jre.bak"; impl Flavour { async fn download(self, install_dir: PathBuf) -> Result<(), anyhow::Error> { let cached_jre = install_dir.join(match self { - #[cfg(not(mac))] + #[cfg(not(target_os = "macos"))] Flavour::Miko => consts::MIKO_JDK_VER.to_owned(), _ => format!("jre_{self}"), }); @@ -444,7 +444,7 @@ impl Flavour { std::fs::rename(jre_8, &cached_jre)?; } - #[cfg(not(mac))] + #[cfg(not(target_os = "macos"))] if self.is_miko() && !install_dir.join("mikohime").exists() { let miko_dir = Flavour::get_miko_kit(&install_dir).await?; @@ -502,7 +502,7 @@ impl Flavour { Flavour::Hotspot => consts::HOTSPOT, Flavour::Wisp => consts::WISP, Flavour::Azul => consts::AZUL, - #[cfg(not(mac))] + #[cfg(not(target_os = "macos"))] Flavour::Miko => consts::MIKO_JDK, Flavour::Original => unimplemented!(), } @@ -579,7 +579,7 @@ impl Flavour { .with_context(|| "Could not find JRE in given folder") } - #[cfg(not(mac))] + #[cfg(not(target_os = "macos"))] async fn get_miko_kit(root: &Path) -> anyhow::Result { let url = consts::MIKO_KIT; @@ -602,7 +602,7 @@ impl Flavour { Ok(tempdir) } - #[cfg(not(mac))] + #[cfg(not(target_os = "macos"))] async fn move_miko_kit(miko_download: &Path) -> anyhow::Result<()> { let root_dir = miko_download .parent() @@ -642,9 +642,9 @@ impl Flavour { } fn is_miko(self) -> bool { - #[cfg(not(mac))] + #[cfg(not(target_os = "macos"))] return matches!(self, Flavour::Miko); - #[cfg(mac)] + #[cfg(target_os = "macos")] return false; } } @@ -732,7 +732,7 @@ mod consts { pub const JRE_PATH: &str = "jre"; } -#[cfg(linux)] +#[cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd"))] mod consts { use super::FindBy; @@ -753,7 +753,7 @@ mod consts { pub const JRE_PATH: &str = "jre_linux"; } -#[cfg(mac)] +#[cfg(target_os = "macos")] mod consts { use super::FindBy; @@ -806,7 +806,7 @@ mod test { std::fs::write(target_path.join("release"), r#"JAVA_VERSION="1.7.0""#) .expect("Write test release"); } - } else if cfg!(mac) { + } else if cfg!(target_os = "macos") { let parent = target_path.parent().expect("Get path parent"); std::fs::create_dir_all(parent).expect("Create parent folder"); } @@ -943,7 +943,7 @@ mod test { let test_dir = TempDir::new().expect("Create tempdir"); let target_path = test_dir.path().join(consts::JRE_PATH); - #[cfg(mac)] + #[cfg(target_os = "macos")] std::fs::create_dir_all(target_path.parent().expect("Get path parent")) .expect("Create parent dir"); diff --git a/moss-sys/src/app/tools/mod.rs b/moss-sys/src/app/tools/mod.rs index d296574b..9e16c141 100644 --- a/moss-sys/src/app/tools/mod.rs +++ b/moss-sys/src/app/tools/mod.rs @@ -66,10 +66,10 @@ impl Tools { |data: &InstallDirInverseTools, _| Swapper::get_cached_jres(data.install_dir.clone()), SizedBox::empty(), |res, _data, _| { - #[cfg_attr(mac, allow(unused_mut))] + #[cfg_attr(target_os = "macos", allow(unused_mut))] let (mut current_flavour, cached_flavours) = *res; let cached_flavours: druid::im::Vector<_> = cached_flavours.into(); - #[cfg(not(mac))] + #[cfg(not(target_os = "macos"))] if _data.jre_23 && cached_flavours.contains(&jre::Flavour::Miko) { current_flavour = jre::Flavour::Miko; } diff --git a/moss-sys/src/app/tools/vmparams.rs b/moss-sys/src/app/tools/vmparams.rs index 0d420492..75777e89 100644 --- a/moss-sys/src/app/tools/vmparams.rs +++ b/moss-sys/src/app/tools/vmparams.rs @@ -365,7 +365,7 @@ impl VMParamsPath for VMParamsPathDefault { fn path() -> &'static str { #[cfg(target_os = "windows")] return "vmparams"; - #[cfg(mac)] + #[cfg(target_os = "macos")] return "Contents/MacOS/starsector_mac.sh"; #[cfg(any( target_os = "linux", @@ -497,9 +497,9 @@ impl VMParams { .next_chunk::<3>() .map_or_else(std::iter::Iterator::collect, |arr| arr.iter().collect()); if rem.eq_ignore_ascii_case("ver") { - #[cfg(mac)] + #[cfg(target_os = "macos")] output.push_str(r"Xverify:none \\n\t-"); - #[cfg(not(mac))] + #[cfg(not(target_os = "macos"))] output.push_str("Xverify:none -"); } diff --git a/moss-sys/src/app/updater.rs b/moss-sys/src/app/updater.rs index 8b8d9251..1097d0df 100644 --- a/moss-sys/src/app/updater.rs +++ b/moss-sys/src/app/updater.rs @@ -34,10 +34,10 @@ impl Deref for Release { } } -// const SUPPORT_SELF_UPDATE: bool = cfg!(not(mac)); +// const SUPPORT_SELF_UPDATE: bool = cfg!(not(target_os = "macos")); const TARGET: &str = if cfg!(target_os = "windows") { "MOSS.exe" -} else if cfg!(linux) { +} else if cfg!(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd")) { "MOSS.AppImage" } else { "MOSS.app" @@ -137,9 +137,9 @@ fn update(_: Box, release: Release) -> anyhow::Result<()> { use cargo_packager_updater::{Config, Update, UpdateFormat}; use self_update::Download; - const FORMAT: UpdateFormat = if cfg!(mac) { + const FORMAT: UpdateFormat = if cfg!(target_os = "macos") { UpdateFormat::App - } else if cfg!(linux) { + } else if cfg!(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd")) { UpdateFormat::AppImage } else { UpdateFormat::Wix diff --git a/moss-sys/src/util.rs b/moss-sys/src/util.rs index ccbb1ac7..bbad8a3b 100644 --- a/moss-sys/src/util.rs +++ b/moss-sys/src/util.rs @@ -349,11 +349,11 @@ pub async fn get_starsector_version(ext_ctx: ExtEventSink, install_dir: PathBuf) use regex::bytes::Regex; use tokio::{fs, task}; - #[cfg(linux)] + #[cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd"))] let obf_jar = install_dir.join("starfarer_obf.jar"); #[cfg(target_os = "windows")] let obf_jar = install_dir.join("starsector-core/starfarer_obf.jar"); - #[cfg(mac)] + #[cfg(target_os = "macos")] let obf_jar = install_dir.join("Contents/Resources/Java/starfarer_obf.jar"); let mut res = task::spawn_blocking(move || {