diff --git a/srcpkgs/electron13/files/patches/chromium-python3.10.patch b/srcpkgs/electron13/files/patches/chromium-python3.10.patch new file mode 100644 index 00000000000..2661de96821 --- /dev/null +++ b/srcpkgs/electron13/files/patches/chromium-python3.10.patch @@ -0,0 +1,19 @@ +--- a/third_party/electron_node/configure 2021-02-22 19:33:12.000000000 +0100 ++++ - 2021-11-11 22:27:24.897070513 +0100 +@@ -5,6 +5,7 @@ + # as is the fact that the ] goes on a new line. + _=[ 'exec' '/bin/sh' '-c' ''' + test ${FORCE_PYTHON2} && exec python2 "$0" "$@" # workaround for gclient ++command -v python3.10 >/dev/null && exec python3.10 "$0" "$@" + command -v python3.9 >/dev/null && exec python3.9 "$0" "$@" + command -v python3.8 >/dev/null && exec python3.8 "$0" "$@" + command -v python3.7 >/dev/null && exec python3.7 "$0" "$@" +@@ -21,7 +22,7 @@ + from distutils.spawn import find_executable + + print('Node.js configure: Found Python {0}.{1}.{2}...'.format(*sys.version_info)) +-acceptable_pythons = ((3, 9), (3, 8), (3, 7), (3, 6), (3, 5), (2, 7)) ++acceptable_pythons = ((3,10), (3, 9), (3, 8), (3, 7), (3, 6), (3, 5), (2, 7)) + if sys.version_info[:2] in acceptable_pythons: + import configure + else: diff --git a/srcpkgs/electron13/files/patches/electron-0001-Revert-fix-WebFrameMain-mojo-pipe-not-reset-30630.patch b/srcpkgs/electron13/files/patches/electron-0001-Revert-fix-WebFrameMain-mojo-pipe-not-reset-30630.patch deleted file mode 100644 index 4d206160480..00000000000 --- a/srcpkgs/electron13/files/patches/electron-0001-Revert-fix-WebFrameMain-mojo-pipe-not-reset-30630.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 2eed61fc21cb71082afd894c3bcd482b9ed78c0f Mon Sep 17 00:00:00 2001 -From: John Zimmermann -Date: Mon, 30 Aug 2021 23:02:20 +0200 -Subject: [PATCH 1/2] Revert "fix: WebFrameMain mojo pipe not reset (#30630)" - -This reverts commit 7fb719f261e14a857ea4dbc6cfa8ab697670427d. ---- - shell/browser/api/electron_api_web_frame_main.cc | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/shell/browser/api/electron_api_web_frame_main.cc b/shell/browser/api/electron_api_web_frame_main.cc -index 780a976..185cdc4 100644 ---- a/shell/browser/api/electron_api_web_frame_main.cc -+++ b/shell/browser/api/electron_api_web_frame_main.cc -@@ -80,7 +80,6 @@ void WebFrameMain::UpdateRenderFrameHost(content::RenderFrameHost* rfh) { - // Should only be called when swapping frames. - DCHECK(render_frame_); - render_frame_ = rfh; -- renderer_api_.reset(); - } - - bool WebFrameMain::CheckRenderFrame() const { --- -2.33.0 - diff --git a/srcpkgs/electron13/files/patches/electron-0002-Revert-fix-cross-origin-navigation-disposing-WebFram.patch b/srcpkgs/electron13/files/patches/electron-0002-Revert-fix-cross-origin-navigation-disposing-WebFram.patch deleted file mode 100644 index c8c2ddbdf3a..00000000000 --- a/srcpkgs/electron13/files/patches/electron-0002-Revert-fix-cross-origin-navigation-disposing-WebFram.patch +++ /dev/null @@ -1,442 +0,0 @@ -From d4f351228c8215eea316e74fca0a2d02cd7c19dc Mon Sep 17 00:00:00 2001 -From: John Zimmermann -Date: Mon, 30 Aug 2021 23:02:49 +0200 -Subject: [PATCH 2/2] Revert "fix: cross-origin navigation disposing - WebFrameMain instances (#30598)" - -This reverts commit 18de6be607dce5126f18216eb972061be86e3db0. ---- - .../browser/api/electron_api_web_contents.cc | 51 ++-------- - shell/browser/api/electron_api_web_contents.h | 5 +- - .../api/electron_api_web_frame_main.cc | 93 ++++++++++--------- - .../browser/api/electron_api_web_frame_main.h | 38 +++----- - spec-main/api-web-frame-main-spec.ts | 63 ++++++------- - 5 files changed, 98 insertions(+), 152 deletions(-) - -diff --git a/shell/browser/api/electron_api_web_contents.cc b/shell/browser/api/electron_api_web_contents.cc -index e2fc303..6211b08 100644 ---- a/shell/browser/api/electron_api_web_contents.cc -+++ b/shell/browser/api/electron_api_web_contents.cc -@@ -1386,9 +1386,7 @@ void WebContents::HandleNewRenderFrame( - if (rwh_impl) - rwh_impl->disable_hidden_ = !background_throttling_; - -- auto* web_frame = WebFrameMain::FromRenderFrameHost(render_frame_host); -- if (web_frame) -- web_frame->Connect(); -+ WebFrameMain::RenderFrameCreated(render_frame_host); - } - - void WebContents::RenderFrameCreated( -@@ -1396,46 +1394,6 @@ void WebContents::RenderFrameCreated( - HandleNewRenderFrame(render_frame_host); - } - --void WebContents::RenderFrameDeleted( -- content::RenderFrameHost* render_frame_host) { -- // A RenderFrameHost can be deleted when: -- // - A WebContents is removed and its containing frames are disposed. -- // - An `); -- } else { -- res.end(''); -- } -- }); -- server.listen(0, '127.0.0.1', () => { -- const url = `http://127.0.0.1:${(server.address() as AddressInfo).port}/`; -- resolve({ server, url }); -- }); -- }); -- - afterEach(closeAllWindows); - - describe('WebFrame traversal APIs', () => { -@@ -87,6 +69,24 @@ describe('webFrameMain module', () => { - }); - - describe('cross-origin', () => { -+ type Server = { server: http.Server, url: string } -+ -+ /** Creates an HTTP server whose handler embeds the given iframe src. */ -+ const createServer = () => new Promise(resolve => { -+ const server = http.createServer((req, res) => { -+ const params = new URLSearchParams(url.parse(req.url || '').search || ''); -+ if (params.has('frameSrc')) { -+ res.end(``); -+ } else { -+ res.end(''); -+ } -+ }); -+ server.listen(0, '127.0.0.1', () => { -+ const url = `http://127.0.0.1:${(server.address() as AddressInfo).port}/`; -+ resolve({ server, url }); -+ }); -+ }); -+ - let serverA = null as unknown as Server; - let serverB = null as unknown as Server; - -@@ -179,32 +179,21 @@ describe('webFrameMain module', () => { - }); - }); - -- describe('RenderFrame lifespan', () => { -+ describe('disposed WebFrames', () => { - let w: BrowserWindow; -+ let webFrame: WebFrameMain; - -- beforeEach(async () => { -+ before(async () => { - w = new BrowserWindow({ show: false, webPreferences: { contextIsolation: true } }); -- }); -- -- it('throws upon accessing properties when disposed', async () => { - await w.loadFile(path.join(subframesPath, 'frame-with-frame-container.html')); -- const { mainFrame } = w.webContents; -+ webFrame = w.webContents.mainFrame; - w.destroy(); - // Wait for WebContents, and thus RenderFrameHost, to be destroyed. - await new Promise(resolve => setTimeout(resolve, 0)); -- expect(() => mainFrame.url).to.throw(); -- }); -- -- it('persists through cross-origin navigation', async () => { -- const server = await createServer(); -- // 'localhost' is treated as a separate origin. -- const crossOriginUrl = server.url.replace('127.0.0.1', 'localhost'); -- await w.loadURL(server.url); -- const { mainFrame } = w.webContents; -- expect(mainFrame.url).to.equal(server.url); -- await w.loadURL(crossOriginUrl); -- expect(w.webContents.mainFrame).to.equal(mainFrame); -- expect(mainFrame.url).to.equal(crossOriginUrl); -+ }); -+ -+ it('throws upon accessing properties', () => { -+ expect(() => webFrame.url).to.throw(); - }); - }); - --- -2.33.0 - diff --git a/srcpkgs/electron13/files/patches/electron-exclude-content-test-patches.patch b/srcpkgs/electron13/files/patches/electron-exclude-content-test-patches.patch index 45622364427..066e59453f9 100644 --- a/srcpkgs/electron13/files/patches/electron-exclude-content-test-patches.patch +++ b/srcpkgs/electron13/files/patches/electron-exclude-content-test-patches.patch @@ -4,7 +4,7 @@ for patch_dir, repo in dirs.items(): git.import_patches(repo=repo, patch_data=patch_from_dir(patch_dir), threeway=threeway is not None, -+ exclude=['test/mjsunit/**', 'content/test/**', 'test/cctest/**', 'test/unittests/**', 'third_party/blink/web_tests/**'], ++ exclude=['third_party/blink/tools/blinkpy/presubmit/**', 'test/mjsunit/**', 'content/test/**', 'test/cctest/**', 'test/unittests/**', 'third_party/blink/web_tests/**'], committer_name="Electron Scripts", committer_email="scripts@electron") diff --git a/srcpkgs/electron13/template b/srcpkgs/electron13/template index d7fb0da9b2e..8b1ce1e96eb 100644 --- a/srcpkgs/electron13/template +++ b/srcpkgs/electron13/template @@ -1,9 +1,9 @@ # Template file for 'electron13' pkgname=electron13 -version=13.3.0 +version=13.6.1 revision=1 _nodever=14.16.0 -_chromiumver=91.0.4472.69 +_chromiumver=91.0.4472.164 archs="x86_64* i686* aarch64* ppc64le*" create_wrksrc=yes build_wrksrc="src" @@ -23,7 +23,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel re2-devel fontconfig-devel freetype-devel opus-devel libatomic-devel $(vopt_if sndio sndio-devel) ffmpeg-devel libva-devel libuv-devel c-ares-devel libnotify-devel - $(vopt_if pipewire pipewire-devel) wayland-devel libcurl-devel" + $(vopt_if pipewire pipewire-devel) wayland-devel libcurl-devel libxshmfence-devel" short_desc="Cross platform application framework based on web technologies" maintainer="John " license="BSD-3-Clause" @@ -31,8 +31,8 @@ homepage="https://electronjs.org" distfiles="https://github.com/electron/electron/archive/v$version.tar.gz>electron-${version}.tar.gz https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$_chromiumver.tar.xz https://github.com/nodejs/node/archive/v$_nodever.tar.gz>node-$_nodever.tar.gz" -checksum="1707f46439407ed0500e44d61c5171ce00f225d1478349472a0e45920d6a75a1 - 1f6843c636f4adee6b06c301193810cce103ee3e4582d4cbc31c915efc3d0c7b +checksum="288b4d437982701117d3d8ed9324be4df8d82467e171e502af8f382bd5305e70 + 84e56fa2ad96d910cab429c513eeaca7bfa94096fef057bd024be826ce8426bd bcdf869b0743405515ee897b1047b5e851a717e426b4974d26537c9b10dfd53a" case "$XBPS_TARGET_MACHINE" in