about summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorhacker1024 <hacker1024@users.sourceforge.net>2023-10-26 16:28:54 +1100
committerFlafyDev <flafyarazi@gmail.com>2023-12-26 17:08:50 +0200
commitbea71b1fe3d1dce1ebb5f772bc2e8736478aa27c (patch)
tree2d1325516b0775837a0b0bff0b28626b7ee02493 /pkgs/build-support
parentdbc05b2c8097ab94af390d3e475a3caf44e4149f (diff)
downloadnixlib-bea71b1fe3d1dce1ebb5f772bc2e8736478aa27c.tar
nixlib-bea71b1fe3d1dce1ebb5f772bc2e8736478aa27c.tar.gz
nixlib-bea71b1fe3d1dce1ebb5f772bc2e8736478aa27c.tar.bz2
nixlib-bea71b1fe3d1dce1ebb5f772bc2e8736478aa27c.tar.lz
nixlib-bea71b1fe3d1dce1ebb5f772bc2e8736478aa27c.tar.xz
nixlib-bea71b1fe3d1dce1ebb5f772bc2e8736478aa27c.tar.zst
nixlib-bea71b1fe3d1dce1ebb5f772bc2e8736478aa27c.zip
pub2nix.readPubspecLock: Add `packagePath` convenience attribute
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/dart/pub2nix/pubspec-lock.nix10
1 files changed, 8 insertions, 2 deletions
diff --git a/pkgs/build-support/dart/pub2nix/pubspec-lock.nix b/pkgs/build-support/dart/pub2nix/pubspec-lock.nix
index 78d35fd27134..0f80fa8f857f 100644
--- a/pkgs/build-support/dart/pub2nix/pubspec-lock.nix
+++ b/pkgs/build-support/dart/pub2nix/pubspec-lock.nix
@@ -74,13 +74,19 @@ let
   mkSdkDependencySource = name: details:
     (sdkSourceBuilders.${details.description} or (throw "No SDK source builder has been given for ${details.description}!")) name;
 
+  addDependencySourceUtils = dependencySource: dependencySource.overrideAttrs ({ passthru, ... }: {
+    passthru = passthru // {
+      packagePath = dependencySource + "/${dependencySource.packageRoot}";
+    };
+  });
+
   dependencySources = lib.filterAttrs (name: src: src != null) (builtins.mapAttrs
-    (name: details: ({
+    (name: details: addDependencySourceUtils (({
       "hosted" = mkHostedDependencySource;
       "git" = mkGitDependencySource;
       "path" = mkPathDependencySource;
       "sdk" = mkSdkDependencySource;
-    }.${details.source} name) details)
+    }.${details.source} name) details))
     pubspecLock.packages);
 in
 {