diff options
author | hacker1024 <hacker1024@users.sourceforge.net> | 2023-04-16 23:16:17 +1000 |
---|---|---|
committer | hacker1024 <hacker1024@users.sourceforge.net> | 2023-04-16 23:16:17 +1000 |
commit | 87f809e0c6556126489d5340d8b3d71c4f85f0f1 (patch) | |
tree | 78533e7ff726c13373ef413eefb2878dfece9038 /pkgs/build-support/dart | |
parent | 4f5dd08fe8a8bf81f636074a99dd4264faf017bb (diff) |
dart.list-dart-deps: Add list-dart-deps function
This uses `dart pub deps` (https://dart.dev/tools/pub/cmd/pub-deps) to retrieve information about project dependencies. It requires a fetch-dart-deps derivation as input.
Diffstat (limited to 'pkgs/build-support/dart')
-rw-r--r-- | pkgs/build-support/dart/list-dart-deps/default.nix | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/pkgs/build-support/dart/list-dart-deps/default.nix b/pkgs/build-support/dart/list-dart-deps/default.nix new file mode 100644 index 0000000000000..5cafd7773d452 --- /dev/null +++ b/pkgs/build-support/dart/list-dart-deps/default.nix @@ -0,0 +1,28 @@ +{ stdenv +, dart +, jq +}: +deps: + +builtins.fromJSON (builtins.readFile (stdenv.mkDerivation { + name = "${deps.name}-list.json"; + nativeBuildInputs = [ deps dart jq ]; + + unpackPhase = '' + runHook preUnpack + ln -s "${deps.files}"/pubspec/* . + runHook postUnpack + ''; + + configurePhase = '' + runHook preConfigure + dart pub get --offline + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + dart pub deps --json | jq .packages > $out + runHook postBuild + ''; +})) |