BSD Ports

devel/electron42 42.11.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/electron4242.11.0_1
FreeBSDdevel/electron4242.11.15
GhostBSDdevel/electron4242.11.5

Install

Binary package:

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

From mports:

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

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

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

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 181
FileSizeSHA256
electron/chromium-148.0.7778.280.tar.xz.02e+09cddbfeba5a50d950693590399df8df3a8ef5910eee367c76aec2541444c59dea
electron/chromium-148.0.7778.280.tar.xz.12e+09cd2f2c3740c05eb549878ab6c6571f7858456c2c56cf798e60ffbaf7e651429f
electron/chromium-148.0.7778.280.tar.xz.27.78320896e+08252c5e676bb414ad9aa80399b3123a1ef9ead25aaf803d263413e724f0d485da
electron/pulseaudio-16.1.tar.gz2.763111e+06027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92
electron/yarn-4.12.0.tgz1.059585e+06c60829c8dbf2263e6c6be34c15ebb2830f67a267de4b7d646f4043680fe47a66
electron/electron42-42.11.0-node-modules.tar.xz3.626858e+07096b96e1006122d3365008d8bc9d476d7dc27e139d3d3f0bb405622fb2d9dd33
electron/rust/crates/Inflector-0.11.4.crate17438fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3
electron/rust/crates/ahash-0.8.11.crate43607e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011
electron/rust/crates/aho-corasick-1.1.3.crate1833118e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
electron/rust/crates/allocator-api2-0.2.18.crate625045c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f
electron/rust/crates/anyhow-1.0.89.crate4707886fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6
electron/rust/crates/arrayvec-0.7.6.crate312377c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
electron/rust/crates/ast_node-0.10.0.crate80739f8486443b68ecc17b8b45c6161b0194142f74622ed8dade227480a20291fc91
electron/rust/crates/autocfg-1.3.0.crate165240c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0
electron/rust/crates/base-encode-0.3.1.crate3630a17bd29f7c70f32e9387f4d4acfa5ea7b7749ef784fb78cf382df97069337b8c
electron/rust/crates/base64-0.21.7.crate825769d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567
electron/rust/crates/base64-simd-0.7.0.crate9966781dd20c3aff0bd194fe7d2a977dd92f21c173891f3a03b677359e5fa457e5d5
electron/rust/crates/better_scoped_tls-0.1.1.crate1874794edcc9b3fb07bb4aecaa11f093fd45663b4feadb782d68303a2268bc2701de
electron/rust/crates/bitflags-2.6.0.crate45357b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de
electron/rust/crates/bitvec-1.0.1.crate2243751bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c
Master sites 2
  • https://github.com/tagattie/FreeBSD-Electron/releases/download/v42.6.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 …
c300695929 Lucas Holt devel/electron42: new port; update drawio to 31.3.2; retire electron28 (#808)
## Summary Three coupled changes, in dependency order: 1. **New port `devel/electron42`** — Electron 42.11.0, Chromium 148.0.7778.280, Node 24.19.0, LLVM 22, imported from FreeBSD ports and adapted for MidnightBSD. 2. **`graphics/drawio` 24.1.0 → 31.3.2**, moving from `electronfix:28` to `electronfix:42`. 3. **`devel/electron28` removed** — the drawio update was the last thing keeping it alive. electron28 was the most exposed port in the tree. Electron 28 has been EOL upstream since 2024-06-11, and the port was not a source build at all: `devel/electron28/Makefile` extracted `electron28-28.1.0-freebsd12-amd64.pkg`, a prebuilt FreeBSD 12 binary from a third-party GitHub release, carrying Chromium 120 — 32 Chromium …