From 1a776b0958708740f02de4e8e5aa0b8dc30fc8d7 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 --- 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 32146f41e4b2bee65e56060d6c6bc7c8e0caeb62 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 --- 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