mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-19 14:20:19 +00:00
pkgs-lib: fix JSON, YAML and TOML cross-compilation
Splicing of nativeBuildInputs doesn't work unless callPackage is used, so
the generators were attempting to use host platform tools at build time.
(cherry picked from commit 14b01120c1)
This commit is contained in:
@@ -50,25 +50,25 @@ rec {
|
||||
};
|
||||
in valueType;
|
||||
|
||||
generate = name: value: pkgs.runCommand name {
|
||||
nativeBuildInputs = [ pkgs.jq ];
|
||||
generate = name: value: pkgs.callPackage ({ runCommand, jq }: runCommand name {
|
||||
nativeBuildInputs = [ jq ];
|
||||
value = builtins.toJSON value;
|
||||
passAsFile = [ "value" ];
|
||||
} ''
|
||||
jq . "$valuePath"> $out
|
||||
'';
|
||||
'') {};
|
||||
|
||||
};
|
||||
|
||||
yaml = {}: {
|
||||
|
||||
generate = name: value: pkgs.runCommand name {
|
||||
nativeBuildInputs = [ pkgs.remarshal ];
|
||||
value = builtins.toJSON value;
|
||||
passAsFile = [ "value" ];
|
||||
} ''
|
||||
json2yaml "$valuePath" "$out"
|
||||
'';
|
||||
generate = name: value: pkgs.callPackage ({ runCommand, remarshal }: runCommand name {
|
||||
nativeBuildInputs = [ remarshal ];
|
||||
value = builtins.toJSON value;
|
||||
passAsFile = [ "value" ];
|
||||
} ''
|
||||
json2yaml "$valuePath" "$out"
|
||||
'') {};
|
||||
|
||||
type = with lib.types; let
|
||||
valueType = nullOr (oneOf [
|
||||
@@ -210,13 +210,13 @@ rec {
|
||||
};
|
||||
in valueType;
|
||||
|
||||
generate = name: value: pkgs.runCommand name {
|
||||
nativeBuildInputs = [ pkgs.remarshal ];
|
||||
generate = name: value: pkgs.callPackage ({ runCommand, remarshal }: runCommand name {
|
||||
nativeBuildInputs = [ remarshal ];
|
||||
value = builtins.toJSON value;
|
||||
passAsFile = [ "value" ];
|
||||
} ''
|
||||
json2toml "$valuePath" "$out"
|
||||
'';
|
||||
'') {};
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user