From 1c35e25d3316bb6e52c00b90b3cbd75dbc659b2b Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Tue, 3 Dec 2024 22:45:33 +0900 Subject: [PATCH 1/4] podman-desktop: 1.13.2 -> 1.14.1 Diff: https://github.com/podman-desktop/podman-desktop/compare/v1.13.2...v1.14.1 Update postPatch with https://github.com/podman-desktop/podman-desktop/commit/8af3761b41f051933726b187617d14227ab0f0b8 This fixes nixpkgs-update failure https://nixpkgs-update-logs.nix-community.org/podman-desktop/2024-11-26.log ``` patching file extensions/podman/packages/extension/package.json substituteStream() in derivation podman-desktop-1.14.1: ERROR: pattern process.resourcesPath doesn't match anything in file 'packages/main/src/tray-animate-icon.ts' ``` Pin pnpm and electron version to respect https://github.com/NixOS/nixpkgs/blob/1c26355e02ea8aa9bef6a7b3f59d74bd3c504c11/doc/languages-frameworks/javascript.section.md?plain=1#L427 Checked the version in https://github.com/podman-desktop/podman-desktop/blob/v1.14.1/package.json https://github.com/podman-desktop/podman-desktop/blob/v1.14.1/pnpm-lock.yaml Attempt to fix the Linux build with inherit finalAttrs.patches ``` error: hash mismatch in fixed-output derivation '/nix/store/xq1bg197mw0a0gr1k06xfr405d03fsg3-podman-desktop-pnpm-deps.drv': specified: sha256-f7LDfKMPaVRtgvZLFz2JePXd45JBdBCNQR/Ch6VaBKU= got: sha256-bbfyEpDj85HGC3fNLY2to2nKdldbefklJjWGpAYdSdw= ``` See https://github.com/NixOS/nixpkgs/blob/1c26355e02ea8aa9bef6a7b3f59d74bd3c504c11/doc/languages-frameworks/javascript.section.md?plain=1#L429 However it still making hash mismatch in nixpkgs-review --- .../virtualization/podman-desktop/default.nix | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/pkgs/applications/virtualization/podman-desktop/default.nix b/pkgs/applications/virtualization/podman-desktop/default.nix index 8cab09d6a8608..d50dc7a686439 100644 --- a/pkgs/applications/virtualization/podman-desktop/default.nix +++ b/pkgs/applications/virtualization/podman-desktop/default.nix @@ -3,9 +3,9 @@ , fetchFromGitHub , makeWrapper , copyDesktopItems -, electron +, electron_33 , nodejs -, pnpm +, pnpm_9 , makeDesktopItem , autoSignDarwinBinariesHook , nix-update-script @@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "podman-desktop"; - version = "1.13.2"; + version = "1.14.1"; passthru.updateScript = nix-update-script { }; @@ -21,12 +21,12 @@ stdenv.mkDerivation (finalAttrs: { owner = "containers"; repo = "podman-desktop"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-07lf9jy22JUT+Vc5y9Tu1nkWaXU5RTdu3GibcvQsSs8="; + sha256 = "sha256-/aL6WZvUr2FAxR5L/gceMX/5PIYvOj/yiBbjZvP9rok="; }; - pnpmDeps = pnpm.fetchDeps { - inherit (finalAttrs) pname version src; - hash = "sha256-LPsNRd1c/cQeyBn3LZKnKeAsZ981sOkLYTnXIZL82LA="; + pnpmDeps = pnpm_9.fetchDeps { + inherit (finalAttrs) pname version src patches; + hash = "sha256-f7LDfKMPaVRtgvZLFz2JePXd45JBdBCNQR/Ch6VaBKU="; }; patches = [ @@ -35,10 +35,8 @@ stdenv.mkDerivation (finalAttrs: { ]; postPatch = '' - for file in packages/main/src/tray-animate-icon.ts packages/main/src/plugin/certificates.ts; do - substituteInPlace "$file" \ - --replace-fail 'process.resourcesPath' "'$out/share/lib/podman-desktop/resources'" - done + substituteInPlace 'packages/main/src/plugin/certificates.ts' \ + --replace-fail 'process.resourcesPath' "'$out/share/lib/podman-desktop/resources'" substituteInPlace "extensions/podman/packages/extension/src/util.ts" \ --replace-fail '(process as any).resourcesPath' "'$out/share/lib/podman-desktop/resources'" ''; @@ -46,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: { ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; nativeBuildInputs = [ - makeWrapper nodejs pnpm.configHook + makeWrapper nodejs pnpm_9.configHook ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ copyDesktopItems ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ @@ -56,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: { buildPhase = '' runHook preBuild - cp -r ${electron.dist} electron-dist + cp -r ${electron_33.dist} electron-dist chmod -R u+w electron-dist pnpm build @@ -64,7 +62,7 @@ stdenv.mkDerivation (finalAttrs: { --dir \ --config .electron-builder.config.cjs \ -c.electronDist=electron-dist \ - -c.electronVersion=${electron.version} + -c.electronVersion=${electron_33.version} runHook postBuild ''; @@ -84,7 +82,7 @@ stdenv.mkDerivation (finalAttrs: { install -Dm644 buildResources/icon.svg "$out/share/icons/hicolor/scalable/apps/podman-desktop.svg" - makeWrapper '${electron}/bin/electron' "$out/bin/podman-desktop" \ + makeWrapper '${electron_33}/bin/electron' "$out/bin/podman-desktop" \ --add-flags "$out/share/lib/podman-desktop/resources/app.asar" \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ --inherit-argv0 @@ -113,7 +111,7 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/containers/podman-desktop/releases/tag/v${finalAttrs.version}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ booxter panda2134 ]; - inherit (electron.meta) platforms; + inherit (electron_33.meta) platforms; mainProgram = "podman-desktop"; }; }) From ee6b165a007dd9551dbe74b5466d566a76cd16fd Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Tue, 24 Dec 2024 15:38:51 +0900 Subject: [PATCH 2/4] podman-desktop: 1.14.1 -> 1.15.0 Diff: https://github.com/podman-desktop/podman-desktop/compare/v1.14.1...v1.15.0 --- pkgs/applications/virtualization/podman-desktop/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/virtualization/podman-desktop/default.nix b/pkgs/applications/virtualization/podman-desktop/default.nix index d50dc7a686439..e257d56697036 100644 --- a/pkgs/applications/virtualization/podman-desktop/default.nix +++ b/pkgs/applications/virtualization/podman-desktop/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "podman-desktop"; - version = "1.14.1"; + version = "1.15.0"; passthru.updateScript = nix-update-script { }; @@ -21,12 +21,12 @@ stdenv.mkDerivation (finalAttrs: { owner = "containers"; repo = "podman-desktop"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-/aL6WZvUr2FAxR5L/gceMX/5PIYvOj/yiBbjZvP9rok="; + sha256 = "sha256-pewLcukPTXijEP11i2ah8F17N3Rav8UyHrpCu9fUScg="; }; pnpmDeps = pnpm_9.fetchDeps { inherit (finalAttrs) pname version src patches; - hash = "sha256-f7LDfKMPaVRtgvZLFz2JePXd45JBdBCNQR/Ch6VaBKU="; + hash = "sha256-EzkAcd84JEBq6eDkh9XCGfCyeo5r2vpZSIvb2hqpsBU="; }; patches = [ From 83e92ed67a518a06f8bcfd0d731ffc06342aa25f Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Thu, 26 Dec 2024 01:58:42 +0900 Subject: [PATCH 3/4] podman-desktop: attempt to fix nixpkgs-review failure in x86_64-linux I can not reproduce in my device, however github hosted ubuntu-24.04 runner always returns different hash for fetchDeps --- .../virtualization/podman-desktop/default.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/virtualization/podman-desktop/default.nix b/pkgs/applications/virtualization/podman-desktop/default.nix index e257d56697036..56c02d02486d0 100644 --- a/pkgs/applications/virtualization/podman-desktop/default.nix +++ b/pkgs/applications/virtualization/podman-desktop/default.nix @@ -20,12 +20,16 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "containers"; repo = "podman-desktop"; - rev = "v${finalAttrs.version}"; - sha256 = "sha256-pewLcukPTXijEP11i2ah8F17N3Rav8UyHrpCu9fUScg="; + tag = "v${finalAttrs.version}"; + hash = "sha256-pewLcukPTXijEP11i2ah8F17N3Rav8UyHrpCu9fUScg="; }; + prePnpmInstall = '' + pnpm config set dedupe-peer-dependants false + ''; + pnpmDeps = pnpm_9.fetchDeps { - inherit (finalAttrs) pname version src patches; + inherit (finalAttrs) pname version src patches prePnpmInstall; hash = "sha256-EzkAcd84JEBq6eDkh9XCGfCyeo5r2vpZSIvb2hqpsBU="; }; @@ -41,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail '(process as any).resourcesPath' "'$out/share/lib/podman-desktop/resources'" ''; - ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; nativeBuildInputs = [ makeWrapper nodejs pnpm_9.configHook From 1eaf324be19044d664e94ee192fed23fab13fa37 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Thu, 26 Dec 2024 10:43:20 +0900 Subject: [PATCH 4/4] podman-desktop: skip to install playwright --- .../applications/virtualization/podman-desktop/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/podman-desktop/default.nix b/pkgs/applications/virtualization/podman-desktop/default.nix index 56c02d02486d0..4911148f8bb84 100644 --- a/pkgs/applications/virtualization/podman-desktop/default.nix +++ b/pkgs/applications/virtualization/podman-desktop/default.nix @@ -43,9 +43,14 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail 'process.resourcesPath' "'$out/share/lib/podman-desktop/resources'" substituteInPlace "extensions/podman/packages/extension/src/util.ts" \ --replace-fail '(process as any).resourcesPath' "'$out/share/lib/podman-desktop/resources'" + substituteInPlace 'package.json' \ + --replace-fail 'playwright install' 'true' ''; - env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + env = { + ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1"; + }; nativeBuildInputs = [ makeWrapper nodejs pnpm_9.configHook