diff --git a/src/components/loader.rs b/src/components/loader.rs index 0605851..91b98db 100644 --- a/src/components/loader.rs +++ b/src/components/loader.rs @@ -5,13 +5,18 @@ use crate::anime_game_core::traits::git_sync::RemoteGitSyncExt; use super::wine; use super::dxvk; +#[cfg(target_env = "musl")] +const PATH: &str = "components-musl.json"; +#[cfg(net(target_env = "musl"))] +const PATH: &str = "components.json"; + /// Try to get wine versions from components index #[tracing::instrument(level = "debug")] #[cached::proc_macro::cached(key = "PathBuf", convert = r##"{ index.to_path_buf() }"##, result)] pub fn get_wine_versions(index: &Path) -> anyhow::Result> { tracing::debug!("Getting wine versions"); - let components = serde_json::from_str::(&std::fs::read_to_string(index.join("components.json"))?)?; + let components = serde_json::from_str::(&std::fs::read_to_string(index.join(PATH))?)?; match components.get("wine") { Some(wine) => match wine.as_array() { @@ -82,7 +87,7 @@ pub fn get_wine_versions(index: &Path) -> anyhow::Result> { pub fn get_dxvk_versions(index: &Path) -> anyhow::Result> { tracing::debug!("Getting dxvk versions"); - let components = serde_json::from_str::(&std::fs::read_to_string(index.join("components.json"))?)?; + let components = serde_json::from_str::(&std::fs::read_to_string(index.join(PATH))?)?; match components.get("dxvk") { Some(dxvk) => match dxvk.as_array() {