From db0a3f91d84ff068e1bc65c9ae551122049bc191 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Fri, 10 Apr 2026 18:32:18 -0400 Subject: [PATCH 1/2] podman-desktop: pin nodejs version for fetchPnpmDeps --- pkgs/by-name/po/podman-desktop/package.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/po/podman-desktop/package.nix b/pkgs/by-name/po/podman-desktop/package.nix index 92b1651bbded..ed644116e3ec 100644 --- a/pkgs/by-name/po/podman-desktop/package.nix +++ b/pkgs/by-name/po/podman-desktop/package.nix @@ -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 @@ -64,7 +66,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 +85,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ makeBinaryWrapper nodejs + pnpm pnpmConfigHook - pnpm_10_29_2 ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ copyDesktopItems From edbc81012a3c746302b741f9c7f10fc467361e44 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Fri, 10 Apr 2026 18:32:41 -0400 Subject: [PATCH 2/2] podman-desktop: extract nodejs version from package.json --- pkgs/by-name/po/podman-desktop/package.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/po/podman-desktop/package.nix b/pkgs/by-name/po/podman-desktop/package.nix index ed644116e3ec..d09b6b3a294a 100644 --- a/pkgs/by-name/po/podman-desktop/package.nix +++ b/pkgs/by-name/po/podman-desktop/package.nix @@ -45,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" '';