diff --git a/src/lib.rs b/src/lib.rs index 1e512e22ddfc4a7545aa256b136afb0949ebee47..1126a21633dd2b26e36650a1045b9536da8b953e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -31,7 +31,6 @@ use std::str::FromStr; pub(crate) type Result<T> = std::result::Result<T, Error>; const REMOTE: &'static str = "https://static.redox-os.org/pkg"; -const TARGET: &'static str = "x86_64-unknown-redox"; /// Converts a password to a serialized argon2rs hash, understandable /// by redox_users. If the password is blank, the hash is blank. @@ -87,7 +86,9 @@ fn prompt_password(prompt: &str, confirm_prompt: &str) -> Result<String> { } fn install_packages<S: AsRef<str>>(config: &Config, dest: &str, cookbook: Option<S>) { - let mut repo = Repo::new(TARGET); + let target = &env::var("TARGET").unwrap_or(env!("TARGET").to_string()); + + let mut repo = Repo::new(target); repo.add_remote(REMOTE); if let Some(cookbook) = cookbook { @@ -108,7 +109,7 @@ fn install_packages<S: AsRef<str>>(config: &Config, dest: &str, cookbook: Option println!("Installing package {}", packagename); let path = format!("{}/{}/repo/{}/{}.tar.gz", env::current_dir().unwrap().to_string_lossy(), - cookbook.as_ref(), TARGET, packagename); + cookbook.as_ref(), target, packagename); Package::from_path(&path).unwrap().install(dest).unwrap(); } } else {