git: 2d25a0fcab12 - main - devel/electron44: Use esbuild binary provided by npm package registry

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Tue, 15 Sep 2026 12:30:13 UTC
The branch main has been updated by tagattie:

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

commit 2d25a0fcab121a139a349831635f590e0b292779
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2026-09-15 12:28:35 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-09-15 12:29:56 +0000

    devel/electron44: Use esbuild binary provided by npm package registry
    
    The chromium upstream expects a specific version of esbuild for
    building, which is sometimes different from the one we have in the
    ports tree. To prevent such a discrepancy, always use the binary of
    the same version as the upstream one which is provided by the npm
    package registry.
    
    Reported by:    Andrea Venturoli <ml@netfence.it> (via ports)
---
 devel/electron44/Makefile | 32 +++++++++++++++++---------------
 devel/electron44/distinfo |  8 +++++---
 2 files changed, 22 insertions(+), 18 deletions(-)

diff --git a/devel/electron44/Makefile b/devel/electron44/Makefile
index 819cbe1123ce..e02d0c769e2b 100644
--- a/devel/electron44/Makefile
+++ b/devel/electron44/Makefile
@@ -11,6 +11,16 @@ DISTFILES=	chromium-${CHROMIUM_VER}-lite${EXTRACT_SUFX}:chromium \
 		pulseaudio-${PULSEV}.tar.gz:pulseaudio
 DIST_SUBDIR=	${PORTNAME}
 
+.if make(makesum)
+MASTER_SITES+=	https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-${ESBUILD_VER}.tgz?dummy=/:esbuild_arm64 \
+		https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-${ESBUILD_VER}.tgz?dummy=/:esbuild_x64
+DISTFILES+=	esbuild-freebsd-arm64-${ESBUILD_VER}.tgz:esbuild_arm64 \
+		esbuild-freebsd-x64-${ESBUILD_VER}.tgz:esbuild_x64
+.else
+MASTER_SITES+=	https://registry.npmjs.org/@esbuild/freebsd-${GO_ARCH}/-/freebsd-${GO_ARCH}-${ESBUILD_VER}.tgz?dummy=/:esbuild_${GO_ARCH}
+DISTFILES+=	esbuild-freebsd-${GO_ARCH}-${ESBUILD_VER}.tgz:esbuild_${GO_ARCH}
+.endif
+
 MAINTAINER=	tagattie@FreeBSD.org
 COMMENT=	Build cross-platform desktop apps with JavaScript, HTML, and CSS
 WWW=		https://electronjs.org/
@@ -25,8 +35,7 @@ FETCH_DEPENDS=	git:devel/git \
 		npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX}
 PATCH_DEPENDS=	git:devel/git \
 		jq:textproc/jq
-BUILD_DEPENDS=	esbuild:devel/esbuild \
-		gperf:devel/gperf \
+BUILD_DEPENDS=	gperf:devel/gperf \
 		bindgen:devel/rust-bindgen-cli \
 		yasm:devel/yasm \
 		${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-libs \
@@ -79,8 +88,7 @@ GH_TUPLE=	electron:electron:${DISTVERSIONFULL}:electron \
 		ReactiveCocoa:ReactiveObjC:${REACTIVEOBJC_VER}:reactiveobjc \
 		Mantle:Mantle:${MANTLE_VER}:mantle \
 		EngFlow:reclient-configs:${ENGFLOW_RECLIENT_CONFIGS_VER}:reclient_configs \
-		rollup:rollup:v${ROLLUP_VER}:rollup \
-		evanw:esbuild:v${ESBUILD_VER}:esbuild
+		rollup:rollup:v${ROLLUP_VER}:rollup
 USE_GL=		gbm gl glesv2
 USE_GNOME=	atk cairo gdkpixbuf gtk30 libxml2 libxslt pango
 USE_XORG=	x11 xcb xcomposite xcursor xdamage xext xfixes xi xrandr \
@@ -239,8 +247,8 @@ MANTLE_VER=			2a8e2123a3931038179ee06105c9e6ec336b12ea
 ENGFLOW_RECLIENT_CONFIGS_VER=	955335c30a752e9ef7bff375baab5e0819b6c00d
 # See ${WRKSRC}/third_party/devtools-frontend/src/node_modules/rollup/package.json
 ROLLUP_VER=			4.60.4
-# Keep in sync with devel/esbuild
-ESBUILD_VER=			0.28.1
+# See ${WRKSRC}/third_party/devtools-frontend/src/node_modules/esbuild/package.json
+ESBUILD_VER=			0.25.1
 
 .include "Makefile.version"
 .include <bsd.port.pre.mk>
@@ -291,6 +299,7 @@ TEST_ENV+=	${MAKE_ENV} \
 		SENTRYCLI_SKIP_DOWNLOAD=1
 
 ELECTRON_ARCH=	${ARCH:S/aarch64/arm64/:S/amd64/x64/}
+GO_ARCH=	${ARCH:S/aarch64/arm64/:S/amd64/x64/}
 
 pre-everything::
 	@${ECHO_MSG}
@@ -319,8 +328,7 @@ post-extract:
 		${WRKSRC}/third_party/engflow-reclient-configs
 	${MV} ${WRKDIR}/${GH_PROJECT_rollup}-${ROLLUP_VER} \
 		${WRKSRC}/rollup
-	${MV} ${WRKDIR}/${GH_PROJECT_esbuild}-${ESBUILD_VER} \
-		${WRKSRC}/esbuild
+	${MV} ${WRKDIR}/package ${WRKSRC}/esbuild
 
 pre-patch:
 	${SH} ${FILESDIR}/apply-electron-patches.sh ${WRKSRC}
@@ -362,12 +370,6 @@ pre-configure:
 		${WRKSRC}/build/rust/rust_bindgen_generator.gni
 
 do-configure:
-	cd ${WRKSRC}/esbuild && \
-	${LOCALBASE}/bin/node scripts/esbuild.js \
-		${LOCALBASE}/bin/esbuild --neutral && \
-	${RM} -r ${WRKSRC}/third_party/devtools-frontend/src/node_modules/esbuild && \
-	${LN} -sf ${WRKSRC}/esbuild/npm/esbuild \
-		${WRKSRC}/third_party/devtools-frontend/src/node_modules/esbuild \
 	# GN generator bootstrapping and generating ninja files
 	cd ${WRKSRC} && \
 	${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} LD=${CXX} \
@@ -391,7 +393,7 @@ do-configure:
 		${WRKSRC}/third_party/rust-toolchain/bin/rustc
 
 	# Setup esbuild dependency
-	${LN} -sf ${LOCALBASE}/bin/esbuild \
+	${LN} -sf ${WRKSRC}/esbuild/bin/esbuild \
 		${WRKSRC}/third_party/devtools-frontend/src/third_party/esbuild/esbuild
 
 	# Setup gperf dependency
diff --git a/devel/electron44/distinfo b/devel/electron44/distinfo
index 5dc1b98d436e..c4090ff13865 100644
--- a/devel/electron44/distinfo
+++ b/devel/electron44/distinfo
@@ -1,8 +1,12 @@
-TIMESTAMP = 1788975994
+TIMESTAMP = 1789474213
 SHA256 (electron/chromium-152.0.7977.78-lite.tar.xz) = 8280281120d8306f97905fcb49ff63efd4ecdccbae76e4e37c5315b48b354baf
 SIZE (electron/chromium-152.0.7977.78-lite.tar.xz) = 1774874760
 SHA256 (electron/pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92
 SIZE (electron/pulseaudio-16.1.tar.gz) = 2763111
+SHA256 (electron/esbuild-freebsd-arm64-0.25.1.tgz) = ef95ca9f5d3e7406d93912b4d8d063222a662a34ca24d45110d7e9d49b79c31b
+SIZE (electron/esbuild-freebsd-arm64-0.25.1.tgz) = 3998443
+SHA256 (electron/esbuild-freebsd-x64-0.25.1.tgz) = 97a6cdd73ec397219fdbcedc0cedc8258155c50e493d7abd4248b1bb453a6a35
+SIZE (electron/esbuild-freebsd-x64-0.25.1.tgz) = 4343765
 SHA256 (electron/rust/crates/ahash-0.8.12.crate) = 5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75
 SIZE (electron/rust/crates/ahash-0.8.12.crate) = 43413
 SHA256 (electron/rust/crates/aho-corasick-1.1.4.crate) = ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301
@@ -433,5 +437,3 @@ SHA256 (electron/EngFlow-reclient-configs-955335c30a752e9ef7bff375baab5e0819b6c0
 SIZE (electron/EngFlow-reclient-configs-955335c30a752e9ef7bff375baab5e0819b6c00d_GH0.tar.gz) = 13014
 SHA256 (electron/rollup-rollup-v4.60.4_GH0.tar.gz) = c129324ecef83a1c4d829c8b876751c72a6fa2dfe707f32f0b55c311cf29ee91
 SIZE (electron/rollup-rollup-v4.60.4_GH0.tar.gz) = 2249970
-SHA256 (electron/evanw-esbuild-v0.28.1_GH0.tar.gz) = 65c756fa87d43178ac4a5242454c2bd0fde325f8ecf77997f8fa4b88f94d5cd2
-SIZE (electron/evanw-esbuild-v0.28.1_GH0.tar.gz) = 1997481