summaryrefslogtreecommitdiffstats
path: root/pkgs/common-updater/scripts/update-source-version
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/common-updater/scripts/update-source-version')
-rwxr-xr-xpkgs/common-updater/scripts/update-source-version8
1 files changed, 8 insertions, 0 deletions
diff --git a/pkgs/common-updater/scripts/update-source-version b/pkgs/common-updater/scripts/update-source-version
index 0c914ebee2c4..15792e1502e0 100755
--- a/pkgs/common-updater/scripts/update-source-version
+++ b/pkgs/common-updater/scripts/update-source-version
@@ -83,6 +83,14 @@ if [[ -z "$nixFile" ]]; then
if [[ ! -f "$nixFile" ]]; then
die "Couldn't evaluate '$attr.meta.position' to locate the .nix file!"
fi
+
+ # flake-compat will return paths in the Nix store, we need to correct for that.
+ possiblyOutPath=$(nix-instantiate $systemArg --eval -E "with $importTree; outPath" | tr -d '"')
+ if [[ -n "$possiblyOutPath" ]]; then
+ outPathEscaped=$(echo "$possiblyOutPath" | sed 's#[$^*\\.[|]#\\&#g')
+ pwdEscaped=$(echo "$PWD" | sed 's#[$^*\\.[|]#\\&#g')
+ nixFile=$(echo "$nixFile" | sed "s|^$outPathEscaped|$pwdEscaped|")
+ fi
fi
oldHashAlgo=$(nix-instantiate $systemArg --eval --strict -A "$attr.src.drvAttrs.outputHashAlgo" | tr -d '"')