From 87f809e0c6556126489d5340d8b3d71c4f85f0f1 Mon Sep 17 00:00:00 2001 From: hacker1024 Date: Sun, 16 Apr 2023 23:16:17 +1000 Subject: [PATCH] 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. --- .../dart/list-dart-deps/default.nix | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 pkgs/build-support/dart/list-dart-deps/default.nix 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 000000000000..5cafd7773d45 --- /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 + ''; +}))