diff --git a/devel/electron27/Makefile.version b/devel/electron27/Makefile.version index a16bf5945f01..69e040d57085 100644 --- a/devel/electron27/Makefile.version +++ b/devel/electron27/Makefile.version @@ -1,2 +1,2 @@ -ELECTRON_VER= 27.2.1 +ELECTRON_VER= 27.2.2 ELECTRON_VER_MAJOR= ${ELECTRON_VER:C/\..*//} diff --git a/devel/electron27/distinfo b/devel/electron27/distinfo index defceb6e8f6d..53873026f98c 100644 --- a/devel/electron27/distinfo +++ b/devel/electron27/distinfo @@ -1,21 +1,21 @@ -TIMESTAMP = 1704358288 +TIMESTAMP = 1705115496 SHA256 (electron/chromium-118.0.5993.159.tar.xz) = 47fdd7677470f4f4daf68e59dcacbafb99f5ed0c07501162b6af168f760b4359 SIZE (electron/chromium-118.0.5993.159.tar.xz) = 1602730244 SHA256 (electron/937cea04689b7b8dcf3cb9adbb12c79d1d6c38bb) = f7f7f38661b107fc1d91b7918f36362d9180e87f34e3027562eb5db8735746fe SIZE (electron/937cea04689b7b8dcf3cb9adbb12c79d1d6c38bb) = 8881070 SHA256 (electron/336e775eec536b2d785cc80eff6ac39051931286) = a2ca2962daf482a8f943163541e1c73ba4b2694fabcd2510981f2db4eda493c8 SIZE (electron/336e775eec536b2d785cc80eff6ac39051931286) = 32624734 -SHA256 (electron/electron-yarn-cache-27.2.1.tar.xz) = b0b9be50afe1f6a70d03e415b1589a3194a4f54d2cb59657e48577d2054a1351 -SIZE (electron/electron-yarn-cache-27.2.1.tar.xz) = 29114016 -SHA256 (electron/electron-electron-v27.2.1_GH0.tar.gz) = 0cc58ee4b2270f3ef80c8e6aeac20451e50d62a97f804fe85858ef76d35b6d48 -SIZE (electron/electron-electron-v27.2.1_GH0.tar.gz) = 11375708 +SHA256 (electron/electron-yarn-cache-27.2.2.tar.xz) = b0b9be50afe1f6a70d03e415b1589a3194a4f54d2cb59657e48577d2054a1351 +SIZE (electron/electron-yarn-cache-27.2.2.tar.xz) = 29114016 +SHA256 (electron/electron-electron-v27.2.2_GH0.tar.gz) = c142ed44b997e308b69d77d5053b1e11031aef8810067202cd8e79facffbbd5e +SIZE (electron/electron-electron-v27.2.2_GH0.tar.gz) = 11397325 SHA256 (electron/nodejs-node-v18.17.1_GH0.tar.gz) = 1cc1670bc183eaf9e0afe0258391695d1d6ae1be02ba4c26e0218cf5f19b96f7 SIZE (electron/nodejs-node-v18.17.1_GH0.tar.gz) = 112512847 SHA256 (electron/nodejs-nan-16fa32231e2ccd89d2804b3f765319128b20c4ac_GH0.tar.gz) = 3807ae6a1e451a29f068540472f100f9718d457c60ac62f2f8469d1d57475d39 SIZE (electron/nodejs-nan-16fa32231e2ccd89d2804b3f765319128b20c4ac_GH0.tar.gz) = 179355 SHA256 (electron/Squirrel-Squirrel.Mac-0e5d146ba13101a1302d59ea6e6e0b3cace4ae38_GH0.tar.gz) = f4ebb40a8d85dbb7ef02aa0571b2f8e22182c6d73b6992484a53c90047779d01 SIZE (electron/Squirrel-Squirrel.Mac-0e5d146ba13101a1302d59ea6e6e0b3cace4ae38_GH0.tar.gz) = 2112918 SHA256 (electron/ReactiveCocoa-ReactiveObjC-74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76_GH0.tar.gz) = 88e65f116c7a06fccedb43970fba63080a57a4e5dc29147d2cdfe1ee58dd0546 SIZE (electron/ReactiveCocoa-ReactiveObjC-74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76_GH0.tar.gz) = 1136238 SHA256 (electron/Mantle-Mantle-78d3966b3c331292ea29ec38661b25df0a245948_GH0.tar.gz) = a365df6d83e0be3cc000b70bd39734d80c28f0d9983ebe44698337a2ca464bb1 SIZE (electron/Mantle-Mantle-78d3966b3c331292ea29ec38661b25df0a245948_GH0.tar.gz) = 62962 diff --git a/devel/electron27/files/patch-electron_shell_app_node__main.cc b/devel/electron27/files/patch-electron_shell_app_node__main.cc index 938658b99f3f..0911cbeb437e 100644 --- a/devel/electron27/files/patch-electron_shell_app_node__main.cc +++ b/devel/electron27/files/patch-electron_shell_app_node__main.cc @@ -1,38 +1,38 @@ ---- electron/shell/app/node_main.cc.orig 2023-12-21 18:00:06 UTC +--- electron/shell/app/node_main.cc.orig 2024-01-10 11:28:08 UTC +++ electron/shell/app/node_main.cc -@@ -47,7 +47,7 @@ +@@ -48,7 +48,7 @@ #include "shell/common/mac/codesign_util.h" #endif -#if !IS_MAS_BUILD() +#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) #include "components/crash/core/app/crashpad.h" // nogncheck #include "shell/app/electron_crash_reporter_client.h" #include "shell/common/crash_keys.h" -@@ -82,7 +82,7 @@ void ExitIfContainsDisallowedFlags(const std::vector GetParameters(v8::Isolate* isolat +@@ -94,7 +94,7 @@ v8::Local GetParameters(v8::Isolate* isolat v8::Local GetParameters(v8::Isolate* isolate) { std::map keys; -#if !IS_MAS_BUILD() +#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) electron::crash_keys::GetCrashKeys(&keys); #endif return gin::ConvertToV8(isolate, keys); -@@ -253,7 +253,7 @@ int NodeMain(int argc, char* argv[]) { +@@ -254,7 +254,7 @@ int NodeMain(int argc, char* argv[]) { // Setup process.crashReporter in child node processes gin_helper::Dictionary reporter = gin::Dictionary::CreateEmpty(isolate); reporter.SetMethod("getParameters", &GetParameters); -#if IS_MAS_BUILD() +#if IS_MAS_BUILD() || BUILDFLAG(IS_BSD) reporter.SetMethod("addExtraParameter", &SetCrashKeyStub); reporter.SetMethod("removeExtraParameter", &ClearCrashKeyStub); #else diff --git a/devel/electron27/files/patch-electron_shell_browser_electron__browser__main__parts.cc b/devel/electron27/files/patch-electron_shell_browser_electron__browser__main__parts.cc index a1c1624e3c4d..b2cf23f4ee38 100644 --- a/devel/electron27/files/patch-electron_shell_browser_electron__browser__main__parts.cc +++ b/devel/electron27/files/patch-electron_shell_browser_electron__browser__main__parts.cc @@ -1,84 +1,84 @@ ---- electron/shell/browser/electron_browser_main_parts.cc.orig 2023-10-20 08:29:17 UTC +--- electron/shell/browser/electron_browser_main_parts.cc.orig 2024-01-10 11:28:08 UTC +++ electron/shell/browser/electron_browser_main_parts.cc @@ -77,7 +77,7 @@ #include "ui/wm/core/wm_state.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/environment.h" #include "chrome/browser/ui/views/dark_mode_manager_linux.h" #include "device/bluetooth/bluetooth_adapter_factory.h" -@@ -128,7 +128,7 @@ namespace electron { +@@ -129,7 +129,7 @@ namespace { namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class LinuxUiGetterImpl : public ui::LinuxUiGetter { public: LinuxUiGetterImpl() = default; -@@ -211,7 +211,7 @@ int ElectronBrowserMainParts::PreEarlyInitialization() +@@ -212,7 +212,7 @@ int ElectronBrowserMainParts::PreEarlyInitialization() #if BUILDFLAG(IS_POSIX) HandleSIGCHLD(); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) DetectOzonePlatform(); ui::OzonePlatform::PreEarlyInitialization(); #endif -@@ -298,7 +298,7 @@ int ElectronBrowserMainParts::PreCreateThreads() { +@@ -299,7 +299,7 @@ int ElectronBrowserMainParts::PreCreateThreads() { // happen before the ResourceBundle is loaded if (locale.empty()) l10n_util::OverrideLocaleWithCocoaLocale(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // l10n_util::GetApplicationLocaleInternal uses g_get_language_names(), // which keys off of getenv("LC_ALL"). // We must set this env first to make ui::ResourceBundle accept the custom -@@ -329,7 +329,7 @@ int ElectronBrowserMainParts::PreCreateThreads() { +@@ -330,7 +330,7 @@ int ElectronBrowserMainParts::PreCreateThreads() { ElectronBrowserClient::SetApplicationLocale(app_locale); fake_browser_process_->SetApplicationLocale(app_locale); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Reset to the original LC_ALL since we should not be changing it. if (!locale.empty()) { if (lc_all) -@@ -389,7 +389,7 @@ void ElectronBrowserMainParts::PostDestroyThreads() { +@@ -390,7 +390,7 @@ void ElectronBrowserMainParts::ToolkitInitialized() { } void ElectronBrowserMainParts::ToolkitInitialized() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto* linux_ui = ui::GetDefaultLinuxUi(); CHECK(linux_ui); linux_ui_getter_ = std::make_unique(); -@@ -496,7 +496,7 @@ void ElectronBrowserMainParts::WillRunMainMessageLoop( +@@ -497,7 +497,7 @@ void ElectronBrowserMainParts::PostCreateMainMessageLo } void ElectronBrowserMainParts::PostCreateMainMessageLoop() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) std::string app_name = electron::Browser::Get()->GetName(); #endif #if BUILDFLAG(IS_LINUX) -@@ -506,7 +506,9 @@ void ElectronBrowserMainParts::PostCreateMainMessageLo - std::move(shutdown_cb), +@@ -508,7 +508,9 @@ void ElectronBrowserMainParts::PostCreateMainMessageLo content::GetUIThreadTaskRunner({content::BrowserTaskType::kUserInput})); - bluez::DBusBluezManagerWrapperLinux::Initialize(); + if (!bluez::BluezDBusManager::IsInitialized()) + bluez::DBusBluezManagerWrapperLinux::Initialize(); +#endif +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Set up crypt config. This needs to be done before anything starts the // network service, as the raw encryption key needs to be shared with the // network service for encrypted cookie storage. -@@ -605,7 +607,7 @@ void ElectronBrowserMainParts::PostMainMessageLoopRun( +@@ -607,7 +609,7 @@ void ElectronBrowserMainParts::PostMainMessageLoopRun( fake_browser_process_->PostMainMessageLoopRun(); content::DevToolsAgentHost::StopRemoteDebuggingPipeHandler(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ui::OzonePlatform::GetInstance()->PostMainMessageLoopRun(); #endif } diff --git a/devel/electron27/files/patch-electron_spec_api-browser-window-spec.ts b/devel/electron27/files/patch-electron_spec_api-browser-window-spec.ts index 73252858a252..f710d3d31e60 100644 --- a/devel/electron27/files/patch-electron_spec_api-browser-window-spec.ts +++ b/devel/electron27/files/patch-electron_spec_api-browser-window-spec.ts @@ -1,155 +1,155 @@ ---- electron/spec/api-browser-window-spec.ts.orig 2023-12-21 18:00:06 UTC +--- electron/spec/api-browser-window-spec.ts.orig 2024-01-10 11:28:08 UTC +++ electron/spec/api-browser-window-spec.ts @@ -64,7 +64,7 @@ describe('BrowserWindow module', () => { }).not.to.throw(); }); - ifit(process.platform === 'linux')('does not crash when setting large window icons', async () => { + ifit(process.platform === 'linux' || process.platform === 'freebsd')('does not crash when setting large window icons', async () => { const appPath = path.join(fixtures, 'apps', 'xwindow-icon'); const appProcess = childProcess.spawn(process.execPath, [appPath]); await once(appProcess, 'exit'); @@ -1119,7 +1119,7 @@ describe('BrowserWindow module', () => { describe('BrowserWindow.minimize()', () => { // TODO(codebytere): Enable for Linux once maximize/minimize events work in CI. - ifit(process.platform !== 'linux')('should not be visible when the window is minimized', async () => { + ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('should not be visible when the window is minimized', async () => { const minimize = once(w, 'minimize'); w.minimize(); await minimize; @@ -1136,7 +1136,7 @@ describe('BrowserWindow module', () => { }); // TODO(dsanders11): Enable for Linux once CI plays nice with these kinds of tests - ifit(process.platform !== 'linux')('should not restore maximized windows', async () => { + ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('should not restore maximized windows', async () => { const maximize = once(w, 'maximize'); const shown = once(w, 'show'); w.maximize(); @@ -1201,7 +1201,7 @@ describe('BrowserWindow module', () => { expect(w.isFocused()).to.equal(true); }); - ifit(process.platform !== 'linux')('acquires focus status from the other windows', async () => { + ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('acquires focus status from the other windows', async () => { const w1 = new BrowserWindow({ show: false }); const w2 = new BrowserWindow({ show: false }); const w3 = new BrowserWindow({ show: false }); @@ -1268,7 +1268,7 @@ describe('BrowserWindow module', () => { expect(w.isFocused()).to.equal(false); }); - ifit(process.platform !== 'linux')('transfers focus status to the next window', async () => { + ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('transfers focus status to the next window', async () => { const w1 = new BrowserWindow({ show: false }); const w2 = new BrowserWindow({ show: false }); const w3 = new BrowserWindow({ show: false }); @@ -1679,7 +1679,7 @@ describe('BrowserWindow module', () => { }); }); - ifdescribe(process.platform !== 'linux')('Maximized state', () => { + ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('Maximized state', () => { it('checks normal bounds when maximized', async () => { const bounds = w.getBounds(); const maximize = once(w, 'maximize'); @@ -1859,7 +1859,7 @@ describe('BrowserWindow module', () => { }); }); - ifdescribe(process.platform !== 'linux')('Minimized state', () => { + ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('Minimized state', () => { it('checks normal bounds when minimized', async () => { const bounds = w.getBounds(); const minimize = once(w, 'minimize'); @@ -2846,7 +2846,7 @@ describe('BrowserWindow module', () => { describe('BrowserWindow.setOpacity(opacity)', () => { afterEach(closeAllWindows); - ifdescribe(process.platform !== 'linux')(('Windows and Mac'), () => { + ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')(('Windows and Mac'), () => { it('make window with initial opacity', () => { const w = new BrowserWindow({ show: false, opacity: 0.5 }); expect(w.getOpacity()).to.equal(0.5); @@ -2872,7 +2872,7 @@ describe('BrowserWindow module', () => { }); }); - ifdescribe(process.platform === 'linux')(('Linux'), () => { + ifdescribe(process.platform === 'linux' || process.platform === 'freebsd')(('Linux'), () => { it('sets 1 regardless of parameter', () => { const w = new BrowserWindow({ show: false }); w.setOpacity(0); @@ -3801,7 +3801,7 @@ describe('BrowserWindow module', () => { expect(test.nodeTimers).to.equal(true); expect(test.nodeUrl).to.equal(true); - if (process.platform === 'linux' && test.osSandbox) { + if ((process.platform === 'linux' || process.platform === 'freebsd') && test.osSandbox) { expect(test.creationTime).to.be.null('creation time'); expect(test.systemMemoryInfo).to.be.null('system memory info'); } else { @@ -4306,7 +4306,7 @@ describe('BrowserWindow module', () => { }); }); - ifdescribe(process.platform !== 'linux')('max/minimize events', () => { + ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('max/minimize events', () => { afterEach(closeAllWindows); it('emits an event when window is maximized', async () => { const w = new BrowserWindow({ show: false }); @@ -4577,7 +4577,7 @@ describe('BrowserWindow module', () => { // TODO(zcbenz): // This test does not run on Linux CI. See: // https://github.com/electron/electron/issues/28699 - ifit(process.platform === 'linux' && !process.env.CI)('should bring a minimized maximized window back to maximized state', async () => { + ifit((process.platform === 'linux' || process.platform === 'freebsd') && !process.env.CI)('should bring a minimized maximized window back to maximized state', async () => { const w = new BrowserWindow({}); const maximize = once(w, 'maximize'); w.maximize(); @@ -4594,7 +4594,7 @@ describe('BrowserWindow module', () => { }); // TODO(dsanders11): Enable once maximize event works on Linux again on CI - ifdescribe(process.platform !== 'linux')('BrowserWindow.maximize()', () => { + ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('BrowserWindow.maximize()', () => { afterEach(closeAllWindows); it('should show the window if it is not currently shown', async () => { const w = new BrowserWindow({ show: false }); @@ -4631,7 +4631,7 @@ describe('BrowserWindow module', () => { // TODO(dsanders11): Enable once minimize event works on Linux again. // See https://github.com/electron/electron/issues/28699 - ifit(process.platform !== 'linux')('should not restore a minimized window', async () => { + ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('should not restore a minimized window', async () => { const w = new BrowserWindow(); const minimize = once(w, 'minimize'); w.minimize(); @@ -5105,7 +5105,7 @@ describe('BrowserWindow module', () => { }); // On Linux there is no "resizable" property of a window. - ifit(process.platform !== 'linux')('does affect maximizability when disabled and enabled', () => { + ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('does affect maximizability when disabled and enabled', () => { const w = new BrowserWindow({ show: false }); expect(w.resizable).to.be.true('resizable'); @@ -5244,7 +5244,7 @@ describe('BrowserWindow module', () => { }); }); - ifdescribe(process.platform !== 'linux')('window states (excluding Linux)', () => { + ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('window states (excluding Linux)', () => { // Not implemented on Linux. afterEach(closeAllWindows); -@@ -6398,7 +6398,7 @@ describe('BrowserWindow module', () => { +@@ -6411,7 +6411,7 @@ describe('BrowserWindow module', () => { describe('"transparent" option', () => { afterEach(closeAllWindows); - ifit(process.platform !== 'linux')('correctly returns isMaximized() when the window is maximized then minimized', async () => { + ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('correctly returns isMaximized() when the window is maximized then minimized', async () => { const w = new BrowserWindow({ frame: false, transparent: true diff --git a/devel/electron27/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c b/devel/electron27/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c index 4d0c94683090..58d7cf0aa885 100644 --- a/devel/electron27/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c +++ b/devel/electron27/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c @@ -1,23 +1,23 @@ ---- third_party/sqlite/src/amalgamation/sqlite3.c.orig 2023-08-10 01:51:18 UTC +--- third_party/sqlite/src/amalgamation/sqlite3.c.orig 2024-01-13 03:15:12 UTC +++ third_party/sqlite/src/amalgamation/sqlite3.c -@@ -43843,7 +43843,12 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB +@@ -43844,7 +43844,12 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB memset(zBuf, 0, nBuf); randomnessPid = osGetpid(0); #if !defined(SQLITE_TEST) && !defined(SQLITE_OMIT_RANDOMNESS) +#if defined(__OpenBSD__) { + arc4random_buf(zBuf, nBuf); + } +#else + { int fd, got; fd = robust_open("/dev/urandom", O_RDONLY, 0); if( fd<0 ){ -@@ -43858,6 +43863,7 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB +@@ -43859,6 +43864,7 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB robust_close(0, fd, __LINE__); } } +#endif #endif return nBuf; }