podman-desktop: pin nodejs version for fetchPnpmDeps; extract nodejs version from package.json (#508777)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user