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 electron25-25.9.8_3:
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
====> Options available for the group AUDIO
ALSA=off: ALSA audio architecture support
PULSEAUDIO=off: 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/electron25: Fix build with ninja 1.12.0
Fix race conditions where generated headers are not created before they
are needed in the build.
Ninja 1.12.0 removed the `-w dupbuild` option and the default behavior
is now equivalent to passing `-w dupbuild=err` in previous versions.
PR: 278693
Approved by: portmgr (blanket)
devel/electron25: fix build with clang 18
Clang 18 has become more stringent about narrowing in initializer lists,
resulting in errors when building devel/electron25:
../../third_party/webrtc/pc/legacy_stats_collector.cc:191:54: error:
non-constant-expression cannot be narrowed from type 'double' to 'float' in
initializer list [-Wc++11-narrowing-const-reference]
191 | {StatsReport::kStatsValueNameTotalAudioEnergy,
info.total_output_energy},
|
^~~~~~~~~~~~~~~~~~~~~~~~
../../third_party/webrtc/pc/legacy_stats_collector.cc:193:8: error:
non-constant-expression cannot be narrowed from type 'double' to 'float' in
initializer list [-Wc++11-narrowing-const-reference]
193 | info.total_output_duration}};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
and later:
In file included from ../../cc/layers/mirror_layer_impl.cc:5:
(Only the first 15 lines of the commit message are shown above )
devel/electron{25,26,27}: fix build when HEIMDAL or MIT option is ON
PR: 276591
Reported by: Yasuhito FUTATSUKI <freebsd-bug-report-yf@yf.bsdclub.org>
MFH: 2024Q1
devel/electron25: fix build with libc++ 17
Building www/qt6-webengine with libc++ 17 results in the following
compile errors:
In file included from ../../base/allocator/dispatcher/reentry_guard.cc:9:
In file included from ../../base/debug/crash_logging.h:16:
In file included from ../../base/strings/string_number_conversions.h:15:
In file included from ../../base/containers/span.h:19:
../../base/containers/checked_iterators.h:248:8: error: no template named
'__is_cpp17_contiguous_iterator'; did you mean
'__libcpp_is_contiguous_iterator'?
248 | struct
__is_cpp17_contiguous_iterator<::base::CheckedContiguousIterator<T>>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| __libcpp_is_contiguous_iterator
/usr/include/c++/v1/__iterator/iterator_traits.h:476:8: note:
'__libcpp_is_contiguous_iterator' declared here
476 | struct __libcpp_is_contiguous_iterator : _Or<
(Only the first 15 lines of the commit message are shown above )
lang/gcc10: Revert "fix build with clang 17"
This reverts commit eb5e0517d2a6e25d43fd03786f526e9043543b47:
lang/gcc10: fix build with clang 17
When building lang/gcc10 with recent clang versions, which default to
C++17, the following errors are produced:
cfns.gperf:35:18: error: ISO C++17 does not allow 'register' storage class
specifier [-Wregister]
35 | libc_name::hash (register const char *str, register unsigned int
len)
| ^~~~~~~~
cfns.gperf:35:44: error: ISO C++17 does not allow 'register' storage class
specifier [-Wregister]
35 | libc_name::hash (register const char *str, register unsigned int
len)
| ^~~~~~~~
...many more of these...
Upstream fixed this in
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=642dc602f89b2c11d5d833a52f37b04427a27cab,
so apply it.
I accidentally included a patch for devel/electron25 in this commit.
That one will be split off and committed separately.
Reported by: Gunther Nikl <gnikl@justmail.de>
lang/gcc10: fix build with clang 17
When building lang/gcc10 with recent clang versions, which default to
C++17, the following errors are produced:
cfns.gperf:35:18: error: ISO C++17 does not allow 'register' storage class
specifier [-Wregister]
35 | libc_name::hash (register const char *str, register unsigned int len)
| ^~~~~~~~
cfns.gperf:35:44: error: ISO C++17 does not allow 'register' storage class
specifier [-Wregister]
35 | libc_name::hash (register const char *str, register unsigned int len)
| ^~~~~~~~
...many more of these...
Upstream fixed this in
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=642dc602f89b2c11d5d833a52f37b04427a27cab,
so apply it.
devel/electron2[2-5]: force directory/file permissions in yarn cache archive
There has been a size/checksum mismatch when creating a yarn cache
archive for users with umask other than 022. To ensure reproducibility
of the cache file, force use of 755 and 644 permissions regardless of
umask value.
Reported by: Joe Hu <vegertar_at_gmail_dot_com> (private mail)
MFH: 2023Q3
devel/electron25: 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/