diff --git a/pkgs/by-name/po/podman-desktop/package.nix b/pkgs/by-name/po/podman-desktop/package.nix index 4aee451bfef9..139c66fe2583 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 @@ -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