Change-Id: I25b7197458dbfbde8623545dc0a0286eb2744f10 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9911 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: raitobezarius <tvl@lahfa.xyz>
27 lines
990 B
Rust
27 lines
990 B
Rust
//! Contains [crate::builtins::DerivationError].
|
|
use nix_compat::{derivation::DerivationError, nixhash};
|
|
use std::rc::Rc;
|
|
use thiserror::Error;
|
|
|
|
/// Errors related to derivation construction
|
|
#[derive(Debug, Error)]
|
|
pub enum Error {
|
|
#[error("an output with the name '{0}' is already defined")]
|
|
DuplicateOutput(String),
|
|
#[error("fixed-output derivations can only have the default `out`-output")]
|
|
ConflictingOutputTypes,
|
|
#[error("the environment variable '{0}' has already been set in this derivation")]
|
|
DuplicateEnvVar(String),
|
|
#[error("invalid derivation parameters: {0}")]
|
|
InvalidDerivation(DerivationError),
|
|
#[error("invalid output hash: {0}")]
|
|
InvalidOutputHash(nixhash::Error),
|
|
#[error("invalid output hash mode: '{0}', only 'recursive' and 'flat` are supported")]
|
|
InvalidOutputHashMode(String),
|
|
}
|
|
|
|
impl From<Error> for tvix_eval::ErrorKind {
|
|
fn from(err: Error) -> Self {
|
|
tvix_eval::ErrorKind::TvixError(Rc::new(err))
|
|
}
|
|
}
|