diff --git a/lix/libstore/derivations.cc b/lix/libstore/derivations.cc index c6bc53406..9acac1241 100644 --- a/lix/libstore/derivations.cc +++ b/lix/libstore/derivations.cc @@ -1166,8 +1166,6 @@ try { } -const Hash impureOutputHash = hashString(HashType::SHA256, "impure"); - JSON DerivationOutput::toJSON( const Store & store, std::string_view drvName, OutputNameView outputName) const { diff --git a/lix/libstore/derivations.hh b/lix/libstore/derivations.hh index 0af02a53f..9ab213e67 100644 --- a/lix/libstore/derivations.hh +++ b/lix/libstore/derivations.hh @@ -472,6 +472,4 @@ void writeDerivation(Sink & out, const Store & store, const BasicDerivation & dr */ std::string hashPlaceholder(const OutputNameView outputName); -extern const Hash impureOutputHash; - } diff --git a/lix/libutil/config.cc b/lix/libutil/config.cc index 8e5912081..f32700042 100644 --- a/lix/libutil/config.cc +++ b/lix/libutil/config.cc @@ -363,8 +363,6 @@ template<> ExperimentalFeatures BaseSetting::parse(const s } else if (*thisXpFeature == Xp::DynamicDerivations) { static std::once_flag warned; warnDeprecated294(warned, s); - } else if (*thisXpFeature == Xp::ImpureDerivations) { - throw Error("impure derivations are no longer supported"); } res = res | thisXpFeature.value(); } else diff --git a/lix/libutil/experimental-features/impure-derivations.md b/lix/libutil/experimental-features/impure-derivations.md deleted file mode 100644 index f2ab9f5f2..000000000 --- a/lix/libutil/experimental-features/impure-derivations.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -name: impure-derivations -internalName: ImpureDerivations ---- -Allow derivations to produce non-fixed outputs by setting the -`__impure` derivation attribute to `true`. An impure derivation can -have differing outputs each time it is built. - -Example: - -``` -derivation { - name = "impure"; - builder = /bin/sh; - __impure = true; # mark this derivation as impure - args = [ "-c" "read -n 10 random < /dev/random; echo $random > $out" ]; - system = builtins.currentSystem; -} -``` - -Each time this derivation is built, it can produce a different -output (as the builder outputs random bytes to `$out`). Impure -derivations also have access to the network, and only fixed-output -or other impure derivations can rely on impure derivations. Finally, -an impure derivation cannot also be -[content-addressed](#xp-feature-ca-derivations). - -This is a more explicit alternative to using [`builtins.currentTime`](@docroot@/language/builtin-constants.md#builtins-currentTime). diff --git a/lix/libutil/meson.build b/lix/libutil/meson.build index e09e471a5..dee473972 100644 --- a/lix/libutil/meson.build +++ b/lix/libutil/meson.build @@ -147,7 +147,6 @@ experimental_feature_definitions = files( 'experimental-features/dynamic-derivations.md', 'experimental-features/fetch-closure.md', 'experimental-features/flakes.md', - 'experimental-features/impure-derivations.md', 'experimental-features/lix-custom-sub-commands.md', 'experimental-features/nix-command.md', 'experimental-features/no-url-literals.md',