Files
quixos-protocol/source-qualification-metadata.nix
T

35 lines
820 B
Nix
Raw Permalink Normal View History

# Read actual constructor attributes as comparison data. Their values AND
# dependency contexts remain visible; none is substituted for a build input.
derivation:
let
fields = [
"name"
"system"
"src"
"stdenv"
"nativeBuildInputs"
"buildInputs"
"propagatedBuildInputs"
"propagatedNativeBuildInputs"
"configurePhase"
"buildPhase"
"checkPhase"
"installPhase"
"doCheck"
"strictDeps"
"outputs"
"__structuredAttrs"
];
selected = builtins.intersectAttrs (builtins.listToAttrs (
map (name: {
inherit name;
value = null;
}) fields
)) derivation;
in
builtins.mapAttrs (_: value: {
type = builtins.typeOf value;
value = builtins.unsafeDiscardStringContext (toString value);
context = builtins.getContext (toString value);
}) selected