From bea71b1fe3d1dce1ebb5f772bc2e8736478aa27c Mon Sep 17 00:00:00 2001 From: hacker1024 Date: Thu, 26 Oct 2023 16:28:54 +1100 Subject: [PATCH] pub2nix.readPubspecLock: Add `packagePath` convenience attribute --- pkgs/build-support/dart/pub2nix/pubspec-lock.nix | 10 ++++++++-- 1 file 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 {