dev-util/electron (thegreatmcpain)

Search

Package Information

Description:
Electron is a cross platform application development framework based on web technologies based on Chromium
Homepage:
https://electronjs.org/
License:
BSD

Versions

Version EAPI Keywords Slot
40.0.0 8 amd64 ~arm64 ~ppc64 ~x86 $(ver_cut 1)/$(ver_cut 2-)
39.2.7 8 amd64 ~arm64 ~ppc64 ~x86 $(ver_cut 1)/$(ver_cut 2-)

Metadata

Description

Maintainers

Upstream

Raw Metadata XML
<pkgmetadata>
	<maintainer type="person">
		<email>james@thegreatmcpain.xyz</email>
	</maintainer>
	<longdescription>
		Electron is a cross platform application development framework based on web technologies based on Chromium
	</longdescription>
	<use>
		<flag name="bluetooth">Enable Bluetooth. Disabling bluetooth does break WebAuthn. Could also break something else. Improved patch is welcome.</flag>
		<flag name="clang">Use Clang compiler instead of GCC</flag>
		<flag name="debug">Enable DCHECK feature with severity configurable at runtime. Mostly intended for debugging and development, NOT RECOMMENDED for general use.</flag>
		<flag name="dev-dependencies">Keep Electron's devDependencies. This makes them available in node_modules. For example "asar" utility is one of them.</flag>
		<flag name="gtk4">Build with GTK4 headers</flag>
		<flag name="hangouts">Enable support for Google Hangouts features such as screen sharing</flag>
		<flag name="hevc">Enable HEVC decoding support. Should work with system-ffmpeg, but might require additional patching for the built-in one.</flag>
		<flag name="js-type-check">Enable JavaScript type-checking for Chrome's web technology-based UI. Requires Java.</flag>
		<flag name="libcxx">Use bundled C++ Standard Library (libc++)</flag>
		<flag name="nvidia">Use libXNVCtrl library from <pkg>x11-drivers/nvidia-drivers</pkg> instead of the bundled one</flag>
		<flag name="optimize-thinlto">Whether to enable ThinLTO optimizations. Turning ThinLTO optimizations on can substantially increase link time and binary size, but they generally also make binaries a fair bit faster.</flag>
		<flag name="optimize-webui">Optimize parts of Chromium's UI written with web technologies (HTML/CSS/JS) for runtime performance purposes. This does more work at compile time for speed benefits at runtime.</flag>
		<flag name="pax-kernel">Allow building on a PaX-enabled kernel</flag>
		<flag name="pgo">Enable PGO. Requires bundled binary profile data in sources tree. Often requires masked/testing llvm.</flag>
		<flag name="pic">Disable optimized assembly code that is not PIC friendly</flag>
		<flag name="proprietary-codecs">Enable proprietary codecs like H.264, MP3</flag>
		<flag name="screencast">Enable support for remote desktop and screen cast using <pkg>media-video/pipewire</pkg></flag>
		<flag name="suid">Build the SUID sandbox, which is only needed on CONFIG_USER_NS=n kernels</flag>
		<flag name="system-abseil-cpp">Use the system <pkg>dev-cpp/abseil-cpp</pkg> instead of the bundled one</flag>
		<flag name="system-av1">Use the system <pkg>media-libs/libaom</pkg> and <pkg>media-libs/dav1d</pkg> instead of the bundled ones</flag>
		<flag name="system-brotli">Use the system <pkg>app-arch/brotli</pkg> instead of the bundled one</flag>
		<flag name="system-crc32c">Use the system <pkg>dev-libs/crc32c</pkg> instead of the bundled one</flag>
		<flag name="system-double-conversion">Use the system <pkg>dev-libs/double-conversion</pkg> instead of the bundled one</flag>
		<flag name="system-ffmpeg">Use the system <pkg>media-video/ffmpeg</pkg> instead of the bundled one</flag>
		<flag name="system-harfbuzz">Use the system <pkg>media-libs/harfbuzz</pkg> instead of the bundled one</flag>
		<flag name="system-icu">Use the system <pkg>dev-libs/icu</pkg> instead of the bundled one</flag>
		<flag name="system-jsoncpp">Use the system <pkg>dev-libs/jsoncpp</pkg> instead of the bundled one</flag>
		<flag name="system-libevent">Use the system <pkg>dev-libs/libevent</pkg> instead of the bundled one</flag>
		<flag name="system-libusb">Use the system <pkg>dev-libs/libusb</pkg> instead of the bundled one</flag>
		<flag name="system-libvpx">Use the system <pkg>media-libs/libvpx</pkg> instead of the bundled one</flag>
		<flag name="system-openh264">Use the system <pkg>media-libs/openh264</pkg> instead of the bundled one. If disabled, it will restrict USE=bindist.</flag>
		<flag name="system-openjpeg">Use the system-wide <pkg>media-libs/openjpeg</pkg> instead of the bundled one. OpenJPEG use are exclusively for Chromium's PDF viewer.</flag>
		<flag name="system-png">Use system libpng instead of the bundled one</flag>
		<flag name="system-re2">Use the system-wide <pkg>dev-libs/re2</pkg> instead of the bundled one</flag>
		<flag name="system-snappy">Use the system-wide <pkg>app-arch/snappy</pkg> instead of the bundled one</flag>
		<flag name="system-woff2">Use the system <pkg>media-libs/woff2</pkg> instead of the bundled one</flag>
		<flag name="system-zstd">Use the system <pkg>app-arch/zstd</pkg> instead of the bundled one</flag>
		<flag name="thinlto">Build with ThinLTO support. LTO (Link Time Optimization) achieves better runtime performance through whole-program analysis and cross-module optimization (highly recommended).</flag>
		<flag name="ungoogled">Apply ungoogled-chromium modifications to chromium sources (electron sources are not modified be it better or worse). Might break electron apps or electron itself!</flag>
	</use>
	<upstream>
		<doc>https://www.electronjs.org/docs</doc>
		<bugs-to>https://github.com/electron/electron/issues</bugs-to>
		<remote-id type="github">electron/electron</remote-id>
	</upstream>
</pkgmetadata>

Lint Warnings

USE Flags

Flag Description 40.0.0 39.2.7
${BASH_REMATCH[1]}system-${BASH_REMATCH[2]} ⚠️
X Enables building the wxWidgets GUI ⚠️
bluetooth Enable Bluetooth. Disabling bluetooth does break WebAuthn. Could also break something else. Improved patch is welcome.
clang Use Clang compiler instead of GCC
cpu_flags_arm_neon ⚠️
cpu_flags_ppc_vsx3 ⚠️
cups ⚠️
custom-cflags ⚠️
debug Enable DCHECK feature with severity configurable at runtime. Mostly intended for debugging and development, NOT RECOMMENDED for general use.
dev-dependencies Keep Electron's devDependencies. This makes them available in node_modules. For example "asar" utility is one of them.
gtk4 Build with GTK4 headers
hangouts Enable support for Google Hangouts features such as screen sharing
kerberos ⚠️
libcxx Use bundled C++ Standard Library (libc++)
nvidia Use libXNVCtrl library from <pkg>x11-drivers/nvidia-drivers</pkg> instead of the bundled one
optimize-thinlto Whether to enable ThinLTO optimizations. Turning ThinLTO optimizations on can substantially increase link time and binary size, but they generally also make binaries a fair bit faster.
optimize-webui Optimize parts of Chromium's UI written with web technologies (HTML/CSS/JS) for runtime performance purposes. This does more work at compile time for speed benefits at runtime.
pax-kernel Allow building on a PaX-enabled kernel
pgo Enable PGO. Requires bundled binary profile data in sources tree. Often requires masked/testing llvm.
proprietary-codecs Enable proprietary codecs like H.264, MP3
pulseaudio ⚠️
screencast Enable support for remote desktop and screen cast using <pkg>media-video/pipewire</pkg>
selinux ⚠️
thinlto Build with ThinLTO support. LTO (Link Time Optimization) achieves better runtime performance through whole-program analysis and cross-module optimization (highly recommended).
ungoogled Apply ungoogled-chromium modifications to chromium sources (electron sources are not modified be it better or worse). Might break electron apps or electron itself!
vaapi ⚠️
wayland ⚠️

Files

Manifest

Type File Size Versions
DIST chromium-142.0.7444.175-lite.tar.xz 1711108684 bytes 39.2.7
DIST chromium-144.0.7559.60-lite.tar.xz 1287936664 bytes 40.0.0
DIST electron-39.2.7.tar.gz 16982686 bytes 39.2.7
DIST electron-40.0.0.tar.gz 16988061 bytes 40.0.0
DIST node-v22.21.1.tar.xz 50151568 bytes 39.2.7
DIST node-v24.11.1.tar.xz 51747676 bytes 40.0.0
Unmatched Entries
Type File Size
DIST chromium-069d424e41f42c6f4a4551334eafc7cfaed6e880.patch 1597 bytes
DIST chromium-bd9e1afdde061d4870cf69de39b04caac26960f2.patch 1354 bytes
DIST chromium-openpower-c0eeb291f9.tar.bz2 433105 bytes
DIST chromium-patches-142.tar.bz2 10524 bytes
DIST ungoogled-chromium-142.0.7444.175-1.tar.gz 650884 bytes
DIST ungoogled-chromium-144.0.7559.59-1.tar.gz 656258 bytes