#![deny(unsafe_code)]
#![warn(rustdoc::missing_crate_level_docs)]
#![doc(test(attr(deny(warnings))))]
pub mod commands;
mod lock;
pub mod metadata_spec;
pub mod subprocess;
pub mod summoning;
pub mod utils;
pub use subprocess::spack::SpackInvocation;
use displaydoc::Display;
use thiserror::Error;
pub mod versions {
use hex_literal::hex;
pub mod patches {
use super::hex;
pub const PATCHES_SPACK_URL: &str =
"https://github.com/cosmicexplorer/spack/archive/refs/tags/cargo-patches-v5.tar.gz";
pub const PATCHES_SHA256SUM: [u8; 32] =
hex!("f63f78227ef477ac3811d8e73aa69ad482aaee66a974fb04a0c43aab6b4119ab");
pub const PATCHES_TOPLEVEL_COMPONENT: &str = "spack-cargo-patches-v5";
}
pub mod develop {
use super::hex;
pub const MOST_RECENT_HARDCODED_SPACK_URL: &str =
"https://github.com/spack/spack/archive/refs/tags/v0.23.1.tar.gz";
pub const MOST_RECENT_HARDCODED_URL_SHA256SUM: [u8; 32] =
hex!("32ca622c49448a3b4e398eb1397d8ff9a6aa987a248de621261e24e65f287593");
pub const MOST_RECENT_HARDCODED_SPACK_ARCHIVE_TOPLEVEL_COMPONENT: &str = "spack-0.23.1";
}
pub mod emcc {
use super::hex;
pub const EMCC_CAPABLE_SPACK_URL: &str =
"https://github.com/cosmicexplorer/spack/archive/refs/tags/v0.20.0.dev0-emcc.tar.gz";
pub const EMCC_URL_SHA256SUM: [u8; 32] =
hex!("fc45a31f0f98f9a781eae8a58e38c13980addd20302c0a7f32dc084e55ba7f2f");
pub const EMCC_SPACK_ARCHIVE_TOPLEVEL_COMPONENT: &str = "spack-0.20.0.dev0-emcc";
}
}
#[derive(Debug, Display, Error)]
#[ignore_extra_doc_attributes]
pub enum Error {
Summoning(#[from] subprocess::spack::InvocationSummoningError),
SpackCommand(#[from] commands::CommandError),
}