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.
===> The following configuration options are available for electron37-37.10.3_6:
CODECS=on: Compile and enable patented codecs like H.264
CUPS=on: CUPS printing system support
DEBUG=off: Build with debugging support
DIST=off: Build distribution zip files
DRIVER=on: Install chromedriver
KERBEROS=on: Kerberos support
LTO=off: Use Link-Time Optimization
PIPEWIRE=on: Screen capture via PipeWire
====> Options available for the group AUDIO
ALSA=on: ALSA audio architecture support
PULSEAUDIO=on: PulseAudio sound server support
SNDIO=on: Sndio audio support
====> Kerberos support: you can only select none or one of them
HEIMDAL=off: Heimdal Kerberos (security/heimdal)
HEIMDAL_BASE=off: Heimdal Kerberos (base)
MIT=off: MIT Kerberos (security/krb5)
===> Use 'make config' to modify these settings
devel/electron{37,38,39,40,41,42}: Unbreak chromium tarball extraction on
-current
When a user tries to build electron using a 16-current jail, it fails
in the extract phase with the following error:
tar: Pathname can't be converted from UTF-8 to current locale
tar: Error exit delayed from previous errors
This is due to the ports framework sets the environment variable
LC_ALL to C, which causes tar to fail to extract files containing
non-ASCII characters in their names. To cope with this, EXTRACT_ENV
was introduced in the commit 98103f194302. Utilizing this variable
when extracting the chromium tarball fixes the error.
PR: 296017
Reported by: Dan Kotowski <dan.kotowski@a9development.com>,
fgorter <fgorter@gmail.com>
devel/electron37: Fix build with rust 1.94
The previous patch fixed builds with rust 1.95. However, it broke
builds with rust 1.94, which is the current version in the ports
tree. This commit makes it build with both rust 1.94 and 1.95.
Fixes: bb65949e4aae (devel/electron37: Fix build with rust 1.95)
devel/electron37: Update to 37.10.3
While here:
- switch to use USE_ELECTRON features of electron.mk for specifying
node package manager, pre-fetching necessary node modules, and
extracting the node modules into appropriate directories
- use USES=display for starting/stopping display server on testing
- specify TEST_ENV instead of listing env vars in test target
Changelog: https://github.com/electron/electron/releases/tag/v37.10.3
Reported by: GitHub (watch releases)
devel/electron{34,36,37,38}: Fix build when rust is not installed in time
VAR!= gets expanded on the first make invocation and because rust is a
build dependency, it might not be installed at that time, so getting
the version of rustc was erratic.
Use gn to get the version instead.
Reported by: mikael (via private email)
Obtained
from: https://cgit.freebsd.org/ports/commit/?id=ee86324cade722c6cb8013545e6b8a8c6b05cf82
devel/electron37: unbreak non-root build with poudriere
The chromium source archive hosted at GitHub is splitted into multiple
fragments due to size constraints. We have to concatenate them into a
single tarball before extracting it.
Previously, the combined tarball was written to DISTDIR/DIST_SUBDIR,
which may not be writable by the poudriere user. So change the
directory to WRKSRC:H and manually extracting the tarball to avoid
such breakage.
While here, replace WRKDIR/PORTNAME-ELECTRON_VER with WRKSRC:H for
better consiceness and readability.
PR: 289226
Reported by: Dan Kotowski <dan.kotowski@a9development.com>
Tested by: Dan Kotowski <dan.kotowski@a9development.com>
devel/electron37: Fix build with ninja 1.13.1
Fix race conditions where generated headers are not created before they
are needed in the build.
PR: 279187
Exp-run-by: antoine
devel/electron37: adjust patch to unbreak build with rust 1.88
Removing __rust_no_alloc_shim_is_unstable was too early. It is still
required for build to succeed with rust 1.88. So add it back.
Fixes: bf9da96ad4c8 (devel/electron37: fix build with rust 1.89.0)
devel/electron{32,34,35,36,37}: temporarily mark as BROKEN on i386
In pre-fetch target, a node process tries to fetch necessary node
modules for building the port. Currently on i386 platform, the process
stalls and eats up all available CPUs until it is killed, which is a
problem.
So temporarily mark electron ports as BROKEN on i386 platform until
the problem is solved.
PR: 270565
Reported by: antoine, pkg-fallout
*/*: Bump multimedia/openh264 consumers after dc94e01
net/freerdp{,3} have been already bumped in e447cd0, so not being bumped
again.
Bumped by the following one-liner:
$ git grep -l libopenh264 | \
grep '^.*/.*/Makefile$'| \
xargs -t -n1 portedit bump-revision -i
Approved by: portmgr (blanket)
devel/electron37: add port: Build cross-platform desktop apps with JavaScript,
HTML, and CSS
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.
WWW: https://electronjs.org/