From 6e46324c483c774622040fd3d503ab8bfe2e15d5 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Sat, 17 May 2025 21:40:06 +0900 Subject: [PATCH 1/2] podman-desktop: refine updateScript to bump electron and pnpm version (cherry picked from commit 1a776b0958708740f02de4e8e5aa0b8dc30fc8d7) --- pkgs/by-name/po/podman-desktop/package.nix | 32 +++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/po/podman-desktop/package.nix b/pkgs/by-name/po/podman-desktop/package.nix index b29e82e2b896d..19fc160e6b76f 100644 --- a/pkgs/by-name/po/podman-desktop/package.nix +++ b/pkgs/by-name/po/podman-desktop/package.nix @@ -10,6 +10,11 @@ makeDesktopItem, darwin, nix-update-script, + _experimental-update-script-combinators, + writeShellApplication, + nix, + jq, + gnugrep, }: let @@ -19,7 +24,32 @@ stdenv.mkDerivation (finalAttrs: { pname = "podman-desktop"; version = "1.18.1"; - passthru.updateScript = nix-update-script { }; + passthru.updateScript = _experimental-update-script-combinators.sequence [ + (nix-update-script { }) + (lib.getExe (writeShellApplication { + name = "${finalAttrs.pname}-dependencies-updater"; + runtimeInputs = [ + nix + jq + gnugrep + ]; + runtimeEnv = { + PNAME = finalAttrs.pname; + PKG_FILE = builtins.toString ./package.nix; + }; + 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)" + 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" + ''; + })) + (nix-update-script { + # Changing the pnpm version requires updating `pnpmDeps.hash`. + extraArgs = [ "--version=skip" ]; + }) + ]; src = fetchFromGitHub { owner = "containers"; From 875a34757e5d811e1cfde0bfd9e9776edaccc700 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Sat, 17 May 2025 21:51:37 +0900 Subject: [PATCH 2/2] podman-desktop: bump electron and pnpm version Upstream v1.18.0 updated the versions of pnpm and electron, but these changes were not reflected in the nixpkgs definition at the time of 2d72c6e808cc2bc327cc60107731dade2ec1adfb. This commit aligns the versions accordingly. * pnpm: https://github.com/podman-desktop/podman-desktop/commit/b56fde37dfa4ab8438971914c86e72dbe45ace08 * electron: https://github.com/podman-desktop/podman-desktop/commit/47b8f00228acf5e4dbdd84e4b22c900570458c92 (cherry picked from commit 32146f41e4b2bee65e56060d6c6bc7c8e0caeb62) --- pkgs/by-name/po/podman-desktop/package.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/po/podman-desktop/package.nix b/pkgs/by-name/po/podman-desktop/package.nix index 19fc160e6b76f..581a0573ce17f 100644 --- a/pkgs/by-name/po/podman-desktop/package.nix +++ b/pkgs/by-name/po/podman-desktop/package.nix @@ -4,9 +4,9 @@ fetchFromGitHub, makeWrapper, copyDesktopItems, - electron_34, + electron_35, nodejs, - pnpm_9, + pnpm_10, makeDesktopItem, darwin, nix-update-script, @@ -18,7 +18,7 @@ }: let - electron = electron_34; + electron = electron_35; in stdenv.mkDerivation (finalAttrs: { pname = "podman-desktop"; @@ -58,9 +58,9 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-GYdetO/WiEQAvVSvu81tKqkOH7YUgkB7RVW0Crd/2ww="; }; - pnpmDeps = pnpm_9.fetchDeps { + pnpmDeps = pnpm_10.fetchDeps { inherit (finalAttrs) pname version src; - hash = "sha256-2k0BbE9FkWEErsTuCECjy+iI3u1Biv1MF9hI7Oq3Aus="; + hash = "sha256-IjCO2mLDHhb1fB92plBAFcH1RpmOtiUGlFHEEAAHOJ8="; }; patches = [ @@ -77,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ nodejs - pnpm_9.configHook + pnpm_10.configHook ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ copyDesktopItems