From 8eabf502e04ff2936cdddc7b6af7995487e0c1ff Mon Sep 17 00:00:00 2001 From: Alex Garcia <115115137+lex-ibm@users.noreply.github.com> Date: Tue, 31 Mar 2026 03:31:34 -0500 Subject: [PATCH] feat(ppc64): use Electron 41.y.z (#2771) --- build/linux/package_bin.sh | 3 ++- build/linux/ppc64le/electron.sh | 2 +- build/linux/ppc64le/electron.sha256sums | 21 +++++++++++---------- patches/linux/arch-1-ppc64le.patch | 17 +++++++++++++++++ 4 files changed, 31 insertions(+), 12 deletions(-) diff --git a/build/linux/package_bin.sh b/build/linux/package_bin.sh index ecb1ecc..4671cb7 100755 --- a/build/linux/package_bin.sh +++ b/build/linux/package_bin.sh @@ -30,6 +30,7 @@ elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 export VSCODE_SKIP_SETUPENV=1 export VSCODE_ELECTRON_REPOSITORY='lex-ibm/electron-ppc64le-build-scripts' + export IGNORE_ELECTRON_VERSION="yes" elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then export VSCODE_ELECTRON_REPOSITORY='riscv-forks/electron-riscv-releases' export ELECTRON_SKIP_BINARY_DOWNLOAD=1 @@ -56,7 +57,7 @@ if [[ -f "../build/linux/${VSCODE_ARCH}/electron.sh" ]]; then TARGET=$( npm config get target ) # Only fails at different major versions - if [[ "${ELECTRON_VERSION%%.*}" != "${TARGET%%.*}" ]]; then + if [[ "${ELECTRON_VERSION%%.*}" != "${TARGET%%.*}" ]] && [[ "${IGNORE_ELECTRON_VERSION}" != "yes" ]]; then # Fail the pipeline if electron target doesn't match what is used. echo "Electron ${VSCODE_ARCH} binary version doesn't match target electron version!" echo "Releases available at: https://github.com/${VSCODE_ELECTRON_REPOSITORY}/releases" diff --git a/build/linux/ppc64le/electron.sh b/build/linux/ppc64le/electron.sh index bd85898..1eb1e32 100644 --- a/build/linux/ppc64le/electron.sh +++ b/build/linux/ppc64le/electron.sh @@ -2,5 +2,5 @@ set -ex -export ELECTRON_VERSION="39.2.7" +export ELECTRON_VERSION="41.0.3" export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}" diff --git a/build/linux/ppc64le/electron.sha256sums b/build/linux/ppc64le/electron.sha256sums index 26ebd03..4e7e2a0 100644 --- a/build/linux/ppc64le/electron.sha256sums +++ b/build/linux/ppc64le/electron.sha256sums @@ -1,10 +1,11 @@ -bacff46523cea806df9788d9e24f7f53fad2317f18afdcbc596b86863dd40805 *chromedriver-v39.2.7-linux-ppc64le.zip -b83820b37325c0a6ce0bbb98344b54f70ef7c2a949eea61bcb423b18c623a742 *electron-v39.2.7-linux-ppc64le-debug.zip -7d3b4ff4320a54572f9e1e0286702a0bed3e1596a2cb34f8fdc455acf3b9234f *electron-v39.2.7-linux-ppc64le-symbols.zip -6974cf1c8a550019b04762222742b8f1d9d76387594a191d3522cd65da075db1 *electron-v39.2.7-linux-ppc64le.zip -40c772eb189d100087b75da6c2ad1aeb044f1d661c90543592546a654b0b6d5b *electron.d.ts -0c923001d08e474d0dcd3b747b4f9a4bfca685d755ec08de8e44556a63f9ad3a *hunspell_dictionaries.zip -ee57f79e88f50f199a6aeb87fa45c83d1bd0f92eb72e00787cfdf4cf11863562 *libcxx-objects-v39.2.7-linux-ppc64le.zip -a8709029737d3073758ccb384161a37d91f16e5a3f8110ca8e2c30f83ef8d7e6 *libcxx_headers.zip -238dcec817528659a86b0cd3d7dabe301e65b4cab25e45c5bbab7642a8849c02 *libcxxabi_headers.zip -be033ed825bd8be92bb6ca86ff81f0907e60aa999aa011f5ddf1360abb19429b *mksnapshot-v39.2.7-linux-ppc64le.zip +120e0e5915c8f1a49904737e82bf50bc72563f8556fc3c5997c118908b377874 *chromedriver-v41.0.3-linux-ppc64le.zip +4601e7692cac011610c245d8c58f14a73b415fccf520194f14674f81e4ce2c41 *electron-v41.0.3-linux-ppc64le-debug.zip +498a74b78699ff9d4819310262d96e861dd7d899f38f8f625a311968b076b29b *electron-v41.0.3-linux-ppc64le-symbols.zip +77e86aa200d9e19b5eb3a51f273ee410788c21977f2ea76b1239d79aa2e1adbf *electron-v41.0.3-linux-ppc64le.zip +e246066ccc328729e6a9f2a0d829bc893391cf54ed199b809bb7e47993fed88f *electron.d.ts +687a36388a7cf06427d7fa7e3db7fca4ab0118c5eab2baeac128c1989a600cff *ffmpeg-v41.0.3-linux-ppc64le.zip +70ba677d4bea3e7164c82f6b5a36ac6b740317fb1dd149a0eaf1ff151da44cb2 *hunspell_dictionaries.zip +3e85df4843497ce567ad36ddf826cd1af7dfe9f883daad4623736ddd012dbfd1 *libcxx-objects-v41.0.3-linux-ppc64le.zip +5587472eeaf9bfb76d0f187ecc19d11d60bc05f5e7c8fa822f2370210c30b95d *libcxx_headers.zip +f531ddd2782b4b19caf622c0355c93892965e22861279cc891675230c1310905 *libcxxabi_headers.zip +6cb0e67dc5a23de0ebbe89253e1f24bf9d4ca41213a1b9f784f2afaa2cf61324 *mksnapshot-v41.0.3-linux-ppc64le.zip \ No newline at end of file diff --git a/patches/linux/arch-1-ppc64le.patch b/patches/linux/arch-1-ppc64le.patch index 2333431..9c6059c 100644 --- a/patches/linux/arch-1-ppc64le.patch +++ b/patches/linux/arch-1-ppc64le.patch @@ -351,3 +351,20 @@ index 021ad01..60cd058 100644 LINUX_ARMHF = 'linux-armhf', + LINUX_PPC64LE = 'linux-ppc64le', +diff --git a/build/npm/preinstall.ts b/build/npm/preinstall.ts +index dd53ff4..0bca5e8 100644 +--- a/build/npm/preinstall.ts ++++ b/build/npm/preinstall.ts +@@ -147,7 +147,11 @@ function installHeaders() { + cwd: localHeaderPath + }); + } catch (error) { +- throw new Error(`Error applying v8-source-location.patch: ${(error as Error).message}`); ++ if (process.env['VSCODE_ARCH'] === 'ppc64le') { ++ console.log('Ignoring patch error for ppc64le architecture'); ++ } else { ++ throw new Error(`Error applying v8-source-location.patch: ${(error as Error).message}`); ++ } + } + } + }