git: f1d3c7cb5265 - main - devel/electron41: Update to 41.10.5

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Sat, 15 Aug 2026 04:01:54 UTC
The branch main has been updated by tagattie:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f1d3c7cb52658b3779fe8ccd71591cfe71b3d438

commit f1d3c7cb52658b3779fe8ccd71591cfe71b3d438
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2026-08-15 04:00:31 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-08-15 04:01:45 +0000

    devel/electron41: Update to 41.10.5
    
    While here, prepare node modules archives for amd64 and aarch64
    separately.
    
    Changelog: https://github.com/electron/electron/releases/tag/v41.10.5
    
    Reported by:    GitHub (watch releases)
---
 devel/electron41/Makefile                                    |  1 +
 devel/electron41/Makefile.version                            |  2 +-
 devel/electron41/distinfo                                    | 12 +++++++-----
 .../patch-gpu_command__buffer_service_gles2__cmd__decoder.cc |  4 ++--
 .../electron41/files/patch-ui_base_cursor_cursor__factory.cc |  8 ++++----
 .../electron41/files/patch-ui_base_cursor_cursor__factory.h  |  6 +++---
 .../files/patch-ui_base_cursor_cursor__unittest.cc           | 11 +++++++++++
 .../files/patch-ui_base_resource_resource__bundle.cc         |  4 ++--
 .../electron41/files/patch-ui_base_x_x11__cursor__loader.cc  | 10 +++++-----
 .../files/patch-ui_base_x_x11__shm__image__pool.cc           |  6 +++---
 10 files changed, 39 insertions(+), 25 deletions(-)

diff --git a/devel/electron41/Makefile b/devel/electron41/Makefile
index e4eda8536c56..f2694454470c 100644
--- a/devel/electron41/Makefile
+++ b/devel/electron41/Makefile
@@ -89,6 +89,7 @@ USE_GNOME=	atk cairo gdkpixbuf gtk30 libxml2 libxslt pango
 USE_XORG=	x11 xcb xcomposite xcursor xdamage xext xfixes xi xrandr \
 		xrender xscrnsaver xtst
 USE_QT=		buildtools:build core:build widgets:build
+NPM_PREFETCH_ARCHS=	aarch64 amd64
 NPM_EXTRACT_WRKSRC=	${WRKDIR}/${PORTNAME}-${ELECTRON_VER}
 
 SHEBANG_FILES=	chrome/tools/build/linux/chrome-wrapper buildtools/linux64/clang-format
diff --git a/devel/electron41/Makefile.version b/devel/electron41/Makefile.version
index cb09882d4aac..6ffb8bab6009 100644
--- a/devel/electron41/Makefile.version
+++ b/devel/electron41/Makefile.version
@@ -1,2 +1,2 @@
-ELECTRON_VER=		41.10.4
+ELECTRON_VER=		41.10.5
 ELECTRON_VER_MAJOR=	${ELECTRON_VER:C/\..*//}
diff --git a/devel/electron41/distinfo b/devel/electron41/distinfo
index 49378f845d24..9ccfa08ef814 100644
--- a/devel/electron41/distinfo
+++ b/devel/electron41/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1785900900
+TIMESTAMP = 1786680009
 SHA256 (electron/chromium-146.0.7680.216.tar.xz.0) = 975c7b752e7b89c72b6e85f458db893c84bf3de42b7eb954bea2b6fda8e9786b
 SIZE (electron/chromium-146.0.7680.216.tar.xz.0) = 2000000000
 SHA256 (electron/chromium-146.0.7680.216.tar.xz.1) = 35b9287cf3cdefcf443f5b6e96198a82de7d89b8f33b6784f74ab85957f56f01
@@ -341,10 +341,12 @@ SHA256 (electron/rust/crates/zerocopy-derive-0.7.35.crate) = fa4f8080344d4671fb4
 SIZE (electron/rust/crates/zerocopy-derive-0.7.35.crate) = 37829
 SHA256 (electron/yarn-4.12.0.tgz) = bd58d06826ce9542c4cd904fe10bab7bc718ea2cc39a45d9fbd15f2edb45761c
 SIZE (electron/yarn-4.12.0.tgz) = 1056794
-SHA256 (electron/electron41-41.10.4-node-modules.tar.xz) = 3cf919ce7175a104edcafc343b4e4b32298192e04b0ecab4018ad4a1d33b8df7
-SIZE (electron/electron41-41.10.4-node-modules.tar.xz) = 71204318
-SHA256 (electron/electron-electron-v41.10.4_GH0.tar.gz) = d1dff844cc3027f6ce49abc5d9bb757693c16feb58e7d0c450423c2188e15f77
-SIZE (electron/electron-electron-v41.10.4_GH0.tar.gz) = 19213745
+SHA256 (electron/electron41-41.10.5-node-modules-arm64.tar.xz) = de5e8d0e149cf431cf90bcc13211196307245dded92f7b04e4f84f95117002f3
+SIZE (electron/electron41-41.10.5-node-modules-arm64.tar.xz) = 62694015
+SHA256 (electron/electron41-41.10.5-node-modules-x64.tar.xz) = 3cf919ce7175a104edcafc343b4e4b32298192e04b0ecab4018ad4a1d33b8df7
+SIZE (electron/electron41-41.10.5-node-modules-x64.tar.xz) = 71204318
+SHA256 (electron/electron-electron-v41.10.5_GH0.tar.gz) = fcc3b1bd26971f3ed2f6ca740333a47f2a2a48734521148d7e18ada6f7de6af4
+SIZE (electron/electron-electron-v41.10.5_GH0.tar.gz) = 19295547
 SHA256 (electron/nodejs-node-v24.18.0_GH0.tar.gz) = e07dd419efe30a89b90d872a956d074f4197fd103781bc06e0fce99d0130ad01
 SIZE (electron/nodejs-node-v24.18.0_GH0.tar.gz) = 127522062
 SHA256 (electron/nodejs-nan-675cefebca42410733da8a454c8d9391fcebfbc2_GH0.tar.gz) = 3983c68f19ed75dd37dc228eab385093ae2533132730f253f0c3d19ff10788e3
diff --git a/devel/electron41/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc b/devel/electron41/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc
index 70caf818c5aa..86c5252dcabb 100644
--- a/devel/electron41/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc
+++ b/devel/electron41/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc
@@ -1,6 +1,6 @@
---- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig	2026-06-30 08:08:14 UTC
+--- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig	2026-08-14 04:05:02 UTC
 +++ gpu/command_buffer/service/gles2_cmd_decoder.cc
-@@ -3005,7 +3005,7 @@ std::unique_ptr<GLES2Decoder> GLES2Decoder::Create(
+@@ -3020,7 +3020,7 @@ std::unique_ptr<GLES2Decoder> GLES2Decoder::Create(
    }
  
  // Allow linux to run fuzzers.
diff --git a/devel/electron41/files/patch-ui_base_cursor_cursor__factory.cc b/devel/electron41/files/patch-ui_base_cursor_cursor__factory.cc
index 1cd200a1ef80..faeb2132c8ab 100644
--- a/devel/electron41/files/patch-ui_base_cursor_cursor__factory.cc
+++ b/devel/electron41/files/patch-ui_base_cursor_cursor__factory.cc
@@ -1,11 +1,11 @@
---- ui/base/cursor/cursor_factory.cc.orig	2025-08-26 20:49:50 UTC
+--- ui/base/cursor/cursor_factory.cc.orig	2026-08-14 04:05:02 UTC
 +++ ui/base/cursor/cursor_factory.cc
-@@ -97,7 +97,7 @@ void CursorFactory::ObserveThemeChanges() {
+@@ -98,7 +98,7 @@ void CursorFactory::ObserveThemeChanges() {
    NOTIMPLEMENTED();
  }
  
 -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
 +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
  
- // Returns a cursor name compatible with either X11 or the FreeDesktop.org
- // cursor spec ([1] and [2]), followed by fallbacks that can work as
+ bool IsValidCursorThemeName(std::string_view name) {
+   if (name.empty() || name == ".") {
diff --git a/devel/electron41/files/patch-ui_base_cursor_cursor__factory.h b/devel/electron41/files/patch-ui_base_cursor_cursor__factory.h
index e7cc32bce26e..c343f8532443 100644
--- a/devel/electron41/files/patch-ui_base_cursor_cursor__factory.h
+++ b/devel/electron41/files/patch-ui_base_cursor_cursor__factory.h
@@ -1,6 +1,6 @@
---- ui/base/cursor/cursor_factory.h.orig	2023-10-19 19:59:21 UTC
+--- ui/base/cursor/cursor_factory.h.orig	2026-08-14 04:05:02 UTC
 +++ ui/base/cursor/cursor_factory.h
-@@ -93,7 +93,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorFactory {
+@@ -94,7 +94,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorFactory {
    base::ObserverList<CursorFactoryObserver>::Unchecked observers_;
  };
  
@@ -8,4 +8,4 @@
 +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
  COMPONENT_EXPORT(UI_BASE_CURSOR)
  std::vector<std::string> CursorNamesFromType(mojom::CursorType type);
- #endif
+ 
diff --git a/devel/electron41/files/patch-ui_base_cursor_cursor__unittest.cc b/devel/electron41/files/patch-ui_base_cursor_cursor__unittest.cc
new file mode 100644
index 000000000000..59aced6e4aee
--- /dev/null
+++ b/devel/electron41/files/patch-ui_base_cursor_cursor__unittest.cc
@@ -0,0 +1,11 @@
+--- ui/base/cursor/cursor_unittest.cc.orig	2026-08-14 04:06:34 UTC
++++ ui/base/cursor/cursor_unittest.cc
+@@ -72,7 +72,7 @@ TEST(CursorTest, ClampHotspot) {
+   EXPECT_EQ(gfx::Point(4, 6), cursor.custom_hotspot());
+ }
+ 
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ TEST(CursorTest, IsValidCursorThemeName) {
+   EXPECT_TRUE(IsValidCursorThemeName("Adwaita"));
+   EXPECT_TRUE(IsValidCursorThemeName("DMZ-White"));
diff --git a/devel/electron41/files/patch-ui_base_resource_resource__bundle.cc b/devel/electron41/files/patch-ui_base_resource_resource__bundle.cc
index a3756b9888de..0a290f254344 100644
--- a/devel/electron41/files/patch-ui_base_resource_resource__bundle.cc
+++ b/devel/electron41/files/patch-ui_base_resource_resource__bundle.cc
@@ -1,6 +1,6 @@
---- ui/base/resource/resource_bundle.cc.orig	2026-01-07 00:52:53 UTC
+--- ui/base/resource/resource_bundle.cc.orig	2026-08-14 04:05:02 UTC
 +++ ui/base/resource/resource_bundle.cc
-@@ -996,7 +996,7 @@ ResourceScaleFactor ResourceBundle::GetMaxResourceScal
+@@ -999,7 +999,7 @@ ResourceScaleFactor ResourceBundle::GetMaxResourceScal
  }
  
  ResourceScaleFactor ResourceBundle::GetMaxResourceScaleFactor() const {
diff --git a/devel/electron41/files/patch-ui_base_x_x11__cursor__loader.cc b/devel/electron41/files/patch-ui_base_x_x11__cursor__loader.cc
index 21bbe0c8b51d..3169a8b7b24c 100644
--- a/devel/electron41/files/patch-ui_base_x_x11__cursor__loader.cc
+++ b/devel/electron41/files/patch-ui_base_x_x11__cursor__loader.cc
@@ -1,6 +1,6 @@
---- ui/base/x/x11_cursor_loader.cc.orig	2026-06-17 11:35:51 UTC
+--- ui/base/x/x11_cursor_loader.cc.orig	2026-08-14 04:05:02 UTC
 +++ ui/base/x/x11_cursor_loader.cc
-@@ -37,7 +37,7 @@
+@@ -38,7 +38,7 @@
  #include "ui/gfx/x/connection.h"
  #include "ui/gfx/x/xproto.h"
  
@@ -9,7 +9,7 @@
  #include "ui/linux/linux_ui.h"
  #endif
  
-@@ -79,7 +79,11 @@ std::string CursorPathFromLibXcursor() {
+@@ -80,7 +80,11 @@ std::string CursorPathFromLibXcursor() {
      void operator()(void* ptr) const { dlclose(ptr); }
    };
  
@@ -21,7 +21,7 @@
    if (!lib)
      return "";
  
-@@ -234,7 +238,7 @@ scoped_refptr<base::RefCountedMemory> ReadCursorFile(
+@@ -233,7 +237,7 @@ scoped_refptr<base::RefCountedMemory> ReadCursorFile(
      const std::string& rm_xcursor_theme) {
    constexpr const char kDefaultTheme[] = "default";
    std::string themes[] = {
@@ -30,7 +30,7 @@
      // The toolkit theme has the highest priority.
      LinuxUi::instance() ? LinuxUi::instance()->GetCursorThemeName()
                          : std::string(),
-@@ -428,7 +432,7 @@ uint32_t XCursorLoader::GetPreferredCursorSize() const
+@@ -427,7 +431,7 @@ uint32_t XCursorLoader::GetPreferredCursorSize() const
      return size;
    }
  
diff --git a/devel/electron41/files/patch-ui_base_x_x11__shm__image__pool.cc b/devel/electron41/files/patch-ui_base_x_x11__shm__image__pool.cc
index c3f090548a87..34fe23cc5189 100644
--- a/devel/electron41/files/patch-ui_base_x_x11__shm__image__pool.cc
+++ b/devel/electron41/files/patch-ui_base_x_x11__shm__image__pool.cc
@@ -1,4 +1,4 @@
---- ui/base/x/x11_shm_image_pool.cc.orig	2025-01-27 17:37:37 UTC
+--- ui/base/x/x11_shm_image_pool.cc.orig	2026-08-14 04:05:02 UTC
 +++ ui/base/x/x11_shm_image_pool.cc
 @@ -16,6 +16,7 @@
  #include "base/functional/callback.h"
@@ -51,7 +51,7 @@
  }
  #endif  // !BUILDFLAG(IS_CHROMEOS)
  
-@@ -182,7 +193,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
+@@ -191,7 +202,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
          shmctl(state.shmid, IPC_RMID, nullptr);
          return false;
        }
@@ -60,7 +60,7 @@
        // On Linux, a shmid can still be attached after IPC_RMID if otherwise
        // kept alive.  Detach before XShmAttach to prevent a memory leak in case
        // the process dies.
-@@ -201,7 +212,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
+@@ -210,7 +221,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
          return false;
        state.shmseg = shmseg;
        state.shmem_attached_to_server = true;