diff --git a/pkgs/build-support/src-only/default.nix b/pkgs/build-support/src-only/default.nix index f8c3068d6c73..b732c6156041 100644 --- a/pkgs/build-support/src-only/default.nix +++ b/pkgs/build-support/src-only/default.nix @@ -69,12 +69,15 @@ if lib.isDerivation attrs && attrs ? overrideAttrs then attrs.overrideAttrs (_finalAttrs: prevAttrs: argsToOverride prevAttrs) else let - # TODO(@sternenseemann): remove drvAttrs special casing # If we don't have overrideAttrs, it is extremely unlikely that we are seeing # a derivation constructed by stdenv.mkDerivation. Since srcOnly assumes # that we are using stdenv's setup.sh, it therefore doesn't make sense to # have derivation specific logic in this branch. - args = attrs.drvAttrs or attrs; + # TODO(@sternenseemann): remove drvAttrs special casing in NixOS 26.05 + args = + lib.warnIf (lib.isDerivation attrs) + "srcOnly: derivations not created by a variant of stdenv.mkDerivation are not supported. Code relying on behaviour of srcOnly with non-stdenv derivations may break in the future." + attrs.drvAttrs or attrs; stdenv = args.stdenv or (lib.warn "srcOnly: stdenv not provided, using stdenvNoCC" stdenvNoCC); drv = stdenv.mkDerivation (args // argsToOverride args); in