BSD Ports

devel/electron43 43.5.0_1 MidnightBSD

Build cross-platform desktop apps with JavaScript, HTML, and CSS

System
MidnightBSD
Repository
mports
Maintainer
[email protected]
Port added
Last update
Commit
a05b377b53
License
bsd3, lgpl2.1, mit, MPL11
Categories
devel

Description

Build cross platform desktop apps with JavaScript, HTML, and CSS.

It's easier than you think.

If you can build a website, you can build a desktop app. Electron is a framework for creating native applications with web technologies like JavaScript, HTML, and CSS. It takes care of the hard parts so you can focus on the core of your application.

In the other systems

SystemPortVersion
MidnightBSDdevel/electron4343.5.0_1
FreeBSDdevel/electron4343.8.0
GhostBSDdevel/electron4343.7.3

Install

Binary package:

mport install electron${ELECTRON_VER:C/\..*//}

From mports:

cd /usr/mports/devel/electron43 && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	electron${ELECTRON_VER:C/\..*//}>0:devel/electron43

Dependencies

As this port's Makefile names them.

Build 7

Library 27

Runtime 1

Test 2

Fetch 1

Patch 2

Build dependencies 35
Run dependencies 27

No port depends on this one.

Configuration

Options name: devel_electron

OptionDefaultDescription
ALSAon
CODECSonCompile and enable patented codecs like H.264
CUPSon
DEBUGoff
DISToffBuild distribution zip files
DRIVERoffInstall chromedriver
HEIMDALoffHeimdal Kerberos (security/heimdal)
HEIMDAL_BASEoffHeimdal Kerberos (base)
KERBEROSon
LTOoff
MIToffMIT Kerberos (security/krb5)
PIPEWIREonScreen capture via PipeWire
PULSEAUDIOon
SNDIOon
USES
bison cargo compiler:c++17-lang cpe display:test gettext-tools gl gmake gnome iconv:wchar_t jpeg localbase:ldflags ninja nodejs:24,build pkgconfig python:build,test qt:5 shebangfix tar:xz xorg
Service scripts
none

Files

pkg-plist 376
  • bin/electron
  • share/electron${ELECTRON_VER:C/\..*//}/LICENSE
  • share/electron${ELECTRON_VER:C/\..*//}/LICENSES.chromium.html
  • share/electron${ELECTRON_VER:C/\..*//}/chrome_100_percent.pak
  • share/electron${ELECTRON_VER:C/\..*//}/chrome_200_percent.pak
  • share/electron${ELECTRON_VER:C/\..*//}/chromedriver
  • share/electron${ELECTRON_VER:C/\..*//}/electron
  • share/electron${ELECTRON_VER:C/\..*//}/gen/electron/buildflags/buildflags.h
  • share/electron${ELECTRON_VER:C/\..*//}/gen/v8/embedded.S
  • share/electron${ELECTRON_VER:C/\..*//}/libEGL.so
  • share/electron${ELECTRON_VER:C/\..*//}/libGLESv2.so
  • share/electron${ELECTRON_VER:C/\..*//}/libffmpeg.so
  • share/electron${ELECTRON_VER:C/\..*//}/libvk_swiftshader.so
  • share/electron${ELECTRON_VER:C/\..*//}/libvulkan.so
  • share/electron${ELECTRON_VER:C/\..*//}/locales/af.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/af_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/af_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/af_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/am.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/am_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/am_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/am_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/ar.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/ar_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/ar_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/ar_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/bg.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/bg_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/bg_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/bg_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/bn.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/bn_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/bn_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/bn_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/ca.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/ca_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/ca_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/ca_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/cs.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/cs_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/cs_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/cs_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/da.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/da_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/da_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/da_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/de.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/de_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/de_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/de_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/el.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/el_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/el_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/el_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/en-GB.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/en-GB_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/en-GB_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/en-GB_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/en-US.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/en-US_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/en-US_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/en-US_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/es-419.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/es-419_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/es-419_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/es-419_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/es.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/es_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/es_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/es_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/et.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/et_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/et_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/et_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fa.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fa_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fa_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fa_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fi.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fi_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fi_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fi_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fil.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fil_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fil_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fil_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fr.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fr_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fr_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/fr_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/gu.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/gu_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/gu_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/gu_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/he.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/he_FEMININE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/he_MASCULINE.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/he_NEUTER.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/hi.pak
  • share/electron${ELECTRON_VER:C/\..*//}/locales/hi_FEMININE.pak

The first 100 are listed.

distinfo 219
FileSizeSHA256
electron/chromium-150.0.7871.250.tar.xz.02e+09ff59b1687c8682c9f6138ae24f0e3b0239c035a585857debd902a5783ebed85c
electron/chromium-150.0.7871.250.tar.xz.12e+0944420b00bd86f06de3aa57e555df31c80102042ab214a94d0f090f1d64e80786
electron/chromium-150.0.7871.250.tar.xz.28.95887844e+081c1554757c0d4a21721db8d990d995d03080908724a7bde091255c40807eb9f7
electron/pulseaudio-16.1.tar.gz2.763111e+06027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92
electron/yarn-4.12.0.tgz1.059585e+06c60829c8dbf2263e6c6be34c15ebb2830f67a267de4b7d646f4043680fe47a66
electron/electron43-43.5.0-node-modules.tar.xz3.5756716e+076563fe1faf4dc1034d1fc6fcdc0267609f9cd1f2f80eea7f4a286021fe3b2142
electron/rust/crates/ahash-0.8.12.crate434135a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75
electron/rust/crates/aho-corasick-1.1.4.crate184015ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301
electron/rust/crates/allocator-api2-0.2.21.crate63622683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923
electron/rust/crates/anyhow-1.0.102.crate486587f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c
electron/rust/crates/ar_archive_writer-0.5.1.crate853457eb93bbb63b9c227414f6eb3a0adfddca591a8ce1e9b60661bb08969b87e340b
electron/rust/crates/arrayvec-0.7.6.crate312377c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
electron/rust/crates/ascii-1.1.0.crate36075d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16
electron/rust/crates/ast_node-5.0.0.crate121692eb025ef00a6da925cf40870b9c8d008526b6004ece399cb0974209720f0b194
electron/rust/crates/autocfg-1.5.0.crate18729c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
electron/rust/crates/base-encode-0.3.1.crate3630a17bd29f7c70f32e9387f4d4acfa5ea7b7749ef784fb78cf382df97069337b8c
electron/rust/crates/base64-0.22.1.crate8159772b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
electron/rust/crates/base64-simd-0.8.0.crate12531339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195
electron/rust/crates/better_scoped_tls-1.0.1.crate21407cd228125315b132eed175bf47619ac79b945b26e56b848ba203ae4ea8603609
electron/rust/crates/bitflags-2.11.1.crate49082c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3
Master sites 2
  • https://github.com/tagattie/FreeBSD-Electron/releases/download/v43.5.0/:chromium
  • https://freedesktop.org/software/pulseaudio/releases/:pulseaudio

Commit history 2

DateCommitCreditsLog message
a05b377b53 Lucas Holt *: bump PORTREVISION for the textproc/libxml2 2.15 shared library change (#848)
`textproc/libxml2` 2.15 changed SONAME from `libxml2.so.2` to `libxml2.so.16` **and** removed ELF symbol versioning entirely — the new library defines no `LIBXML2_*` versions at all. Consumers built against the old library were never rebuilt, so they still record a dependency on `libxml2.so.2` plus version requirements nothing can satisfy, and fail at load time: ``` ld-elf.so.1: /usr/local/lib/libxml2.so.2: version LIBXML2_2.4.30 required by /usr/local/lib/libevdocument3.so.4 not defined ``` ### Scope `Tools/scripts/bump_revision.pl -f -l textproc/libxml2` — **436 Makefiles**: 323 revisions incremented, 113 gained a `PORTREVISION` line. The diff touches nothing but `PORTREVISION` lines (verified: `git diff -U0` shows no other changed line), and spot-checked ports still …
aadfc6d1d5 Lucas Holt devel/electron43: new port, Electron 43.5.0 (#807)
## Summary New port `devel/electron43`, imported from FreeBSD ports `devel/electron43` (Electron 43.5.0, Chromium 150.0.7871.250, Node 24.19.0, LLVM 22) and adapted for MidnightBSD. All four Electron ports currently in the tree are end-of-life upstream — Electron supports the latest three majors (44, 43, 42), and 41 fell off on 2026-08-25. `devel/electron42` EOLs 2026-10-20, so 43 (EOL 2027-01-05) is the shortest-lived version still worth the porting effort. Registered at `devel/Makefile` and added to `_VALID_ELECTRON_VERSIONS` in `Mk/extensions/electron.mk`, so it is reachable via `USES=electron:43`. ## How the adaptations were carried over The MidnightBSD changes were merged rather than re-applied by hand: a three-way merge with `ours` = mports/electron41, `base` = FreeBSD …