devel/electron39 39.3.0_3 MidnightBSD
Build cross-platform desktop apps with JavaScript, HTML, and CSS
- System
- MidnightBSD
- Repository
- mports
- Maintainer
- [email protected]
- 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.
Install
Binary package:
mport install electron${ELECTRON_VER:C/\..*//}
From mports:
cd /usr/mports/devel/electron39 && make install clean
To depend on this port in another port's Makefile:
RUN_DEPENDS= electron${ELECTRON_VER:C/\..*//}>0:devel/electron39
Dependencies
As this port's Makefile names them.
Build 7
gperf: devel/gperfbindgen: devel/rust-bindgen-cliyasm: devel/yasm${LOCALBASE}/libdata/pkgconfig/dri.pc: graphics/mesa-drirustc: lang/rust${LOCALBASE}/include/linux/videodev2.h: multimedia/v4l_compatclang19: devel/llvm19
Library 27
libatk-bridge-2.0.so: accessibility/at-spi2-corelibatspi.so: accessibility/at-spi2-corelibFLAC.so: audio/flaclibopus.so: audio/opuslibdbus-1.so: devel/dbuslibepoll-shim.so: devel/libepoll-shimlibevent.so: devel/libeventlibffi.so: devel/libffilibnotify.so: devel/libnotifylibpci.so: devel/libpcilibnspr4.so: devel/nsprlibre2.so: devel/re2libdrm.so: graphics/libdrmlibpng.so: graphics/pnglibwayland-client.so: graphics/waylandlibwebp.so: graphics/webplibdav1d.so: multimedia/dav1dlibva.so: multimedia/libvalibopenh264.so: multimedia/openh264libfreetype.so: print/freetype2libharfbuzz.so: print/harfbuzzlibsecret-1.so: security/libsecretlibnss3.so: security/nsslibexpat.so: textproc/expat2libxkbcommon.so: x11/libxkbcommonlibxshmfence.so: x11/libxshmfencelibfontconfig.so: x11-fonts/fontconfig
Runtime 1
xdg-open: devel/xdg-utils
Test 2
git: devel/git${PYTHON_PKGNAMEPREFIX}python-dbusmock>0: devel/py-python-dbusmock
Fetch 1
git: devel/git
Patch 2
git: devel/gitjq: textproc/jq
Build dependencies 35
- accessibility/at-spi2-core
- audio/flac
- audio/opus
- devel/dbus
- devel/git
- devel/gperf
- devel/libepoll-shim
- devel/libevent
- devel/libffi
- devel/libnotify
- devel/libpci
- devel/llvm19
- devel/nspr
- devel/re2
- devel/rust-bindgen-cli
- devel/yasm
- graphics/libdrm
- graphics/mesa-dri
- graphics/png
- graphics/wayland
- graphics/webp
- lang/rust
- multimedia/dav1d
- multimedia/libva
- multimedia/openh264
- multimedia/v4l_compat
- print/freetype2
- print/harfbuzz
- security/libsecret
- security/nss
- textproc/expat2
- textproc/jq
- x11-fonts/fontconfig
- x11/libxkbcommon
- x11/libxshmfence
Run dependencies 27
- accessibility/at-spi2-core
- audio/flac
- audio/opus
- devel/dbus
- devel/libepoll-shim
- devel/libevent
- devel/libffi
- devel/libnotify
- devel/libpci
- devel/nspr
- devel/re2
- devel/xdg-utils
- graphics/libdrm
- graphics/png
- graphics/wayland
- graphics/webp
- multimedia/dav1d
- multimedia/libva
- multimedia/openh264
- print/freetype2
- print/harfbuzz
- security/libsecret
- security/nss
- textproc/expat2
- x11-fonts/fontconfig
- x11/libxkbcommon
- x11/libxshmfence
No port depends on this one.
Configuration
Options name: devel_electron
| Option | Default | Description |
|---|---|---|
| ALSA | on | |
| CODECS | on | Compile and enable patented codecs like H.264 |
| CUPS | on | |
| DEBUG | off | |
| DIST | off | Build distribution zip files |
| DRIVER | off | Install chromedriver |
| HEIMDAL | off | Heimdal Kerberos (security/heimdal) |
| HEIMDAL_BASE | off | Heimdal Kerberos (base) |
| KERBEROS | on | |
| LTO | off | |
| MIT | off | MIT Kerberos (security/krb5) |
| PIPEWIRE | on | Screen capture via PipeWire |
| PULSEAUDIO | on | |
| SNDIO | on |
- USES
- bison compiler:c++17-lang cpe display:test gettext-tools gl gmake gnome iconv:wchar_t jpeg localbase:ldflags ninja nodejs: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 13
| File | Size | SHA256 |
|---|---|---|
| electron/chromium-142.0.7444.265.tar.xz.0 | 2e+09 | 54ca3cf92f6a207a4e1b46fe016da7d515097f999b5e53ba4201adc906ae383e |
| electron/chromium-142.0.7444.265.tar.xz.1 | 2e+09 | 289722408b81d862eb63f98cf47516308add8e18f5d62d2455c98942a2ebface |
| electron/chromium-142.0.7444.265.tar.xz.2 | 2.2765076e+08 | fcce594020d7120080cd9b4a6af385983c8980dfdd3f72405b31b11fad41ffd5 |
| electron/pulseaudio-16.1.tar.gz | 2.763111e+06 | 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 |
| electron/yarn-4.12.0.tgz | 1.059585e+06 | c60829c8dbf2263e6c6be34c15ebb2830f67a267de4b7d646f4043680fe47a66 |
| electron/electron39-39.3.0-node-modules.tar.xz | 5.9815804e+07 | d6807d9aa0650ecccdb7fc89b1bdca4fb3bbc45e70a02e5353ead188e91208a2 |
| electron/electron-electron-v39.3.0_GH0.tar.gz | 1.699076e+07 | ec1ff70789e0f323b586df0d5104e20b5c127b96281aa04a67bf91b86d288e58 |
| electron/nodejs-node-v22.22.1_GH0.tar.gz | 1.29747267e+08 | 4d9ebbac6ba3f9610fdd5449274794a3b32305b33ca6f2fd476ac139024015c6 |
| electron/nodejs-nan-e14bdcd1f72d62bca1d541b66da43130384ec213_GH0.tar.gz | 180646 | 02edf8d5b3fef9af94d8a1355da60564a57e7f2c99cb422bce042400607ed2eb |
| electron/Squirrel-Squirrel.Mac-0e5d146ba13101a1302d59ea6e6e0b3cace4ae38_GH0.tar.gz | 2.112918e+06 | f4ebb40a8d85dbb7ef02aa0571b2f8e22182c6d73b6992484a53c90047779d01 |
| electron/ReactiveCocoa-ReactiveObjC-74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76_GH0.tar.gz | 1.136238e+06 | 88e65f116c7a06fccedb43970fba63080a57a4e5dc29147d2cdfe1ee58dd0546 |
| electron/Mantle-Mantle-78d3966b3c331292ea29ec38661b25df0a245948_GH0.tar.gz | 62962 | a365df6d83e0be3cc000b70bd39734d80c28f0d9983ebe44698337a2ca464bb1 |
| electron/EngFlow-reclient-configs-955335c30a752e9ef7bff375baab5e0819b6c00d_GH0.tar.gz | 13014 | c148f76220fc41a89ffeaf370c2cc175577be184688b12aa6fec5f8ac6c714c4 |
Master sites 2
- https://github.com/tagattie/FreeBSD-Electron/releases/download/v39.3.0/:chromium
- https://freedesktop.org/software/pulseaudio/releases/:pulseaudio
Commit history 6
| Date | Commit | Credits | Log 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
… |
|
ef300c07de |
Lucas Holt | devel/electron39: fix the staging path in the option install targets The option helper targets (post-install-DOCS-on and friends) are entries in
_FAKE_SEQ and run in the main make, not in the sub-make that fake-post-install
starts with FAKE_SETUP. There PREFIX is not stage-prefixed and STAGEDIR is
empty, so ${STAGEDIR}${DOCSDIR} resolved to the live /usr/local: the build
wrote outside the stage directory and the file was then reported missing, e.g.
install ... README.rst /usr/local/share/doc/py312-webcolors
/usr/local/share/doc/py312-webcolors/README.rst not installed.
Fake failed.
Use ${FAKE_DESTDIR} in these targets, as x11-wm/icewm already does.
AI-Assisted-by: Claude Opus 5 (1M context) <[email protected]>
Signed-off-by: Lucas Holt <[email protected]> |
|
e6a949708c |
dependabot[bot] | build(deps): bump ip-address from 10.1.1 to 10.3.1 in /devel/electron39/files/packagejsons (#681) Bumps [ip-address](https://github.com/beaugunderson/ip-address) from
10.1.1 to 10.3.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/beaugunderson/ip-address/releases">ip-address's
releases</a>.</em></p>
<blockquote>
<h2>v10.3.1</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/beaugunderson/ip-address/compare/v10.3.0...v10.3.1">https://github.com/beaugunderson/ip-address/compare/v10.3.0...v10.3.1</a></p>
<h2>v10.3.0</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/beaugunderson/ip-address/compare/v10.2.2...v10.3.0">https://github.com/beaugunderson/ip-address/compare/v10.2.2...v10.3.0</a></p>
<h2>v10.2.2</h2>
<p><strong>Full Changelog</strong>: <a
… |
|
b8b0e3361e |
dependabot[bot] | build(deps): bump fast-uri from 3.0.1 to 3.1.4 in /devel/electron39/files/packagejsons (#676) Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.0.1 to
3.1.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fastify/fast-uri/releases">fast-uri's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.4</h2>
<h2>⚠️ Security Release</h2>
<p>Fix for <a
href="https://github.com/fastify/fast-uri/security/advisories/GHSA-v2hh-gcrm-f6hx">https://github.com/fastify/fast-uri/security/advisories/GHSA-v2hh-gcrm-f6hx</a></p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/fastify/fast-uri/compare/v3.1.3...v3.1.4">https://github.com/fastify/fast-uri/compare/v3.1.3...v3.1.4</a></p>
<h2>v3.1.3</h2>
<h2>⚠️ Security Release</h2>
<ul>
<li>Fixes: <a
… |
|
8ebae684ae |
dependabot[bot] | build(deps): bump linkify-it from 5.0.0 to 5.0.2 in /devel/electron39/files/packagejsons (#648) Bumps [linkify-it](https://github.com/markdown-it/linkify-it) from 5.0.0
to 5.0.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/markdown-it/linkify-it/blob/master/CHANGELOG.md">linkify-it's
changelog</a>.</em></p>
<blockquote>
<h2>5.0.2 / 2026-07-02</h2>
<ul>
<li>Fixed DoS in <code>mailto:</code> links (restrict user name to 64
chars).</li>
<li>Restricted user/pass part length in links.</li>
</ul>
<h2>5.0.1 / 2026-05-23</h2>
<ul>
<li>Fixed DoS in fuzzy links/emails search.</li>
<li>Reworked search logic - check each pattern separate, use
<code>g</code> regexes instead
of slice.</li>
<li>Removed internal cache - useless overcomplication.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
… |
The latest 5 of 6 in the history this site was built from.