Add alternative path for musl

This commit is contained in:
Ethan O'Brien 2024-08-16 10:06:46 -05:00
parent aec4d98f97
commit b02f9d8072

View file

@ -5,13 +5,18 @@ use crate::anime_game_core::traits::git_sync::RemoteGitSyncExt;
use super::wine; use super::wine;
use super::dxvk; 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 /// Try to get wine versions from components index
#[tracing::instrument(level = "debug")] #[tracing::instrument(level = "debug")]
#[cached::proc_macro::cached(key = "PathBuf", convert = r##"{ index.to_path_buf() }"##, result)] #[cached::proc_macro::cached(key = "PathBuf", convert = r##"{ index.to_path_buf() }"##, result)]
pub fn get_wine_versions(index: &Path) -> anyhow::Result<Vec<wine::Group>> { pub fn get_wine_versions(index: &Path) -> anyhow::Result<Vec<wine::Group>> {
tracing::debug!("Getting wine versions"); tracing::debug!("Getting wine versions");
let components = serde_json::from_str::<serde_json::Value>(&std::fs::read_to_string(index.join("components.json"))?)?; let components = serde_json::from_str::<serde_json::Value>(&std::fs::read_to_string(index.join(PATH))?)?;
match components.get("wine") { match components.get("wine") {
Some(wine) => match wine.as_array() { Some(wine) => match wine.as_array() {
@ -82,7 +87,7 @@ pub fn get_wine_versions(index: &Path) -> anyhow::Result<Vec<wine::Group>> {
pub fn get_dxvk_versions(index: &Path) -> anyhow::Result<Vec<dxvk::Group>> { pub fn get_dxvk_versions(index: &Path) -> anyhow::Result<Vec<dxvk::Group>> {
tracing::debug!("Getting dxvk versions"); tracing::debug!("Getting dxvk versions");
let components = serde_json::from_str::<serde_json::Value>(&std::fs::read_to_string(index.join("components.json"))?)?; let components = serde_json::from_str::<serde_json::Value>(&std::fs::read_to_string(index.join(PATH))?)?;
match components.get("dxvk") { match components.get("dxvk") {
Some(dxvk) => match dxvk.as_array() { Some(dxvk) => match dxvk.as_array() {