podman-desktop: pin nodejs version for fetchPnpmDeps; extract nodejs version from package.json (#508777)

This commit is contained in:
Peder Bergebakken Sundt
2026-04-11 16:09:05 +00:00
committed by GitHub
+14 -5
View File
@@ -5,7 +5,7 @@
makeBinaryWrapper,
copyDesktopItems,
electron_41,
nodejs,
nodejs_24,
pnpm_10_29_2,
fetchPnpmDeps,
pnpmConfigHook,
@@ -21,6 +21,8 @@
}:
let
nodejs = nodejs_24;
pnpm = pnpm_10_29_2.override { inherit nodejs; };
electron = electron_41;
appName = "Podman Desktop";
in
@@ -43,8 +45,15 @@ stdenv.mkDerivation (finalAttrs: {
};
text = ''
new_src="$(nix-build --attr "pkgs.$PNAME.src" --no-out-link)"
new_electron_major="$(jq '.devDependencies.electron' "$new_src/package.json" | grep --perl-regexp --only-matching '\d+' | head -n 1)"
new_pnpm_major="$(jq '.packageManager' "$new_src/package.json" | grep --perl-regexp --only-matching '\d+' | head -n 1)"
get_major_version() {
jq -r "$1" "$new_src/package.json" | grep --perl-regexp --only-matching '[0-9]+' | head -n 1
}
new_node_major="$(get_major_version '.engines.node')"
new_electron_major="$(get_major_version '.devDependencies.electron')"
new_pnpm_major="$(get_major_version '.packageManager')"
sed -i -E "s/nodejs_[0-9]+/nodejs_$new_node_major/g" "$PKG_FILE"
sed -i -E "s/electron_[0-9]+/electron_$new_electron_major/g" "$PKG_FILE"
sed -i -E "s/pnpm_[0-9]+/pnpm_$new_pnpm_major/g" "$PKG_FILE"
'';
@@ -64,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10_29_2;
inherit pnpm;
fetcherVersion = 2;
hash = "sha256-tCp5qLZVo93H8VIToU3mkmwNsVXOAd1IEsL6RlazPXo=";
};
@@ -83,8 +92,8 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
makeBinaryWrapper
nodejs
pnpm
pnpmConfigHook
pnpm_10_29_2
]
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
copyDesktopItems