Build cross platform desktop apps with JavaScript, HTML, and CSS

Edit Package nodejs-electron
https://github.com/electron/electron

Nodejs application: Build cross platform desktop apps with JavaScript, HTML, and CSS

Refresh
Refresh
Source Files
Filename Size Changed
Cr122-ffmpeg-new-channel-layout.patch 0000017840 17.4 KB
Electron.desktop 0000000164 164 Bytes
MakeSbixTypeface-null-pointer-call.patch 0000000613 613 Bytes
RenderFrameHostImpl-use-after-free.patch 0000001952 1.91 KB
_constraints 0000000619 619 Bytes
aarch64-Xclang.patch 0000000529 529 Bytes
absl2023-encapsulated_web_transport-StrCat.patch 0000000709 709 Bytes
absl_strings-missing-headers.patch 0000001188 1.16 KB
angle-SPV_BINARY_TO_TEXT_OPTION_NESTED_INDENT.patch 0000003237 3.16 KB
angle-system-xxhash.patch 0000001267 1.24 KB
aom-vpx-no-thread-wrapper.patch 0000002238 2.19 KB
aom3.10-AV1E_SET_AUTO_TILES.patch 0000002178 2.13 KB
aom3.10-AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR.patch 0000002987 2.92 KB
audio_file_reader-ffmpeg-AVFrame-duration.patch 0000002716 2.65 KB
ax_platform_node_id-fpermissive.patch 0000000486 486 Bytes
base-system-nspr.patch 0000001323 1.29 KB
brotli-remove-shared-dictionary.patch 0000003054 2.98 KB
browser_process_impl-fix-safe_browsing_mode-0.patch 0000002089 2.04 KB
bsc1224178-font-gc.patch 0000064826 63.3 KB
build-without-mesage-center.patch 0000000507 507 Bytes
build-without-speech-service.patch 0000000528 528 Bytes
cares_public_headers.patch 0000000395 395 Bytes
chromium-102-compiler.patch 0000010366 10.1 KB
chromium-118-sigtrap_system_ffmpeg.patch 0000000845 845 Bytes
chromium-123-qrcode.patch 0000002100 2.05 KB
chromium-125-cloud_authenticator.patch 0000000238 238 Bytes
chromium-127-cargo_crate.patch 0000000299 299 Bytes
chromium-127-crabby.patch 0000001645 1.61 KB
chromium-129-disable-H.264-video-parser-during-demuxing.patch 0000000779 779 Bytes
chromium-130-fontations.patch 0000003942 3.85 KB
chromium-132-no-rust.patch 0000009007 8.8 KB
chromium-91-java-only-allowed-in-android-builds.patch 0000000722 722 Bytes
chromium-93-ffmpeg-4.4.patch 0000002129 2.08 KB
chromium-94.0.4606.71-InkDropHost-crash.patch 0000001280 1.25 KB
chromium-remove-bundled-roboto-font.patch 0000001823 1.78 KB
chromium-vaapi.patch 0000002792 2.73 KB
common.gypi-compiler.patch 0000002853 2.79 KB
common.gypi-remove-fno-omit-frame-pointer.patch 0000000976 976 Bytes
compact_enc_det_generated_tables-Wnarrowing.patch 0000370390 362 KB
content_browser_client-incomplete-WebUIController.patch 0000000611 611 Bytes
cr130-abseil-remove-unused-deps.patch 0000003458 3.38 KB
cr130-absl-base.patch 0000002470 2.41 KB
create_tarball.sh 0000019973 19.5 KB
css_shape_value-constructor.patch 0000000642 642 Bytes
devtools-frontend-compress_files-oom.patch 0000000625 625 Bytes
disable-FFmpegAllowLists.patch 0000000610 610 Bytes
disable-avif-really.patch 0000001879 1.83 KB
disable-catapult.patch 0000012366 12.1 KB
disable-devtools-tests.patch 0000000354 354 Bytes
disable-fuses.patch 0000003748 3.66 KB
disable-tests.patch 0000000707 707 Bytes
disable-webspeech.patch 0000012251 12 KB
distributed_point_functions-aes_128_fixed_key_hash-missing-StrCat.patch 0000000455 455 Bytes
distributed_point_functions-evaluate_prg_hwy-signature.patch 0000001541 1.5 KB
do-not-build-libvulkan.so.patch 0000001095 1.07 KB
electron-16-freetype-visibility-list.patch 0000000540 540 Bytes
electron-16-system-node-headers.patch 0000000620 620 Bytes
electron-16-third_party-symbolize-missing-include.patch 0000000481 481 Bytes
electron-35.4.0.tar.zst 0753774373 719 MB
electron-launcher.sh 0000000614 614 Bytes
enable_stack_trace_line_numbers-symbol_level.patch 0000001047 1.02 KB
exception_state-constexpr-initializer.patch 0000000901 901 Bytes
ffmpeg-7-ffmpeg_video_decoder-reordered_opaque.patch 0000005595 5.46 KB
ffmpeg-new-channel-layout.patch 0000015087 14.7 KB
file_dialog-missing-uint32_t.patch 0000000370 370 Bytes
fix-build-without-pdf.patch 0000000664 664 Bytes
fix-build-without-screen-ai.patch 0000008256 8.06 KB
fix-build-without-supervised-users.patch 0000002576 2.52 KB
fix-build-without-video-effects.patch 0000001616 1.58 KB
fix-building-with-pipewire-1.3.82.patch 0000000970 970 Bytes
fix-system-highway.patch 0000000321 321 Bytes
fpic.patch 0000003540 3.46 KB
gcc-asmflags.patch 0000000393 393 Bytes
gcc-enable-lto.patch 0000001472 1.44 KB
gn-logspam-breaks-install.patch 0000001153 1.13 KB
html_permission_element_strings_map-reproducible.patch 0000002971 2.9 KB
icon.patch 0000000591 591 Bytes
libxml-2.12-xmlCtxtGetLastError-const.patch 0000001335 1.3 KB
media_session_uma_helper-missing-optional.patch 0000001477 1.44 KB
more-locales.patch 0000003806 3.72 KB
mt21_util-flax-vector-conversions.patch 0000001154 1.13 KB
nasm-generate-debuginfo.patch 0000000300 300 Bytes
no-zlib-headers.patch 0000000409 409 Bytes
node-cares-1.21-2.patch 0000011070 10.8 KB
node-cares-1.21-3.patch 0000001115 1.09 KB
node-cares-1.21.patch 0000005397 5.27 KB
node-system-icu.patch 0000000486 486 Bytes
nodejs-electron.changes 0000117754 115 KB
nodejs-electron.spec 0000053142 51.9 KB
object_paint_properties-explicit-specialization-in-non-namespace-scope.patch 0000003757 3.67 KB
pdfium-fix-system-libs.patch 0000000890 890 Bytes
perfetto-ThreadTrack-Current-null-dereference.patch 0000002218 2.17 KB
permission-gcc14.2.patch 0000000499 499 Bytes
picture_in_picture_window_manager_uma_helper-missing-optional.patch 0000001673 1.63 KB
plugin_utils-build-without-electron_extensions.patch 0000001053 1.03 KB
private_aggregation_host-uint128.patch 0000005071 4.95 KB
raw_ptr-fpermissive.patch 0000002303 2.25 KB
rdynamic.patch 0000000332 332 Bytes
remove-ai-language-detection-factory-which-requires-tflite-and-libphonenumber.patch 0000021636 21.1 KB
remove-date-reproducible-builds.patch 0000002585 2.52 KB
remove-dawn.patch 0000003706 3.62 KB
remove-password-manager-and-policy.patch 0000011865 11.6 KB
remove-puffin.patch 0000000777 777 Bytes
remove-rust.patch 0000005396 5.27 KB
remove-sync.patch 0000010837 10.6 KB
resource-Wchanges-meaning.patch 0000000619 619 Bytes
resource_response-Wchanges-meaning.patch 0000000649 649 Bytes
seccomp_bpf-no-lto.patch 0000001115 1.09 KB
string-hasher-flax-vector-conversions.patch 0000001021 1021 Bytes
string_truncator-convert.patch 0000001059 1.03 KB
string_view-incomplete-CodePointIterator.patch 0000004663 4.55 KB
style_scope-unqualified-To.patch 0000000654 654 Bytes
support-i386.patch 0000000833 833 Bytes
swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch 0000002219 2.17 KB
swiftshader-llvm18-LLVMJIT-CodeGenOptLevel.patch 0000002000 1.95 KB
swiftshader-llvm18-LLVMJIT-Host.patch 0000000613 613 Bytes
swiftshader-llvm18-LLVMReactor-getInt8PtrTy.patch 0000001533 1.5 KB
swiftshader-llvm19-LLVMJIT-getHostCPUFeatures.patch 0000000760 760 Bytes
swiftshader-llvm19-LLVMReactor-incomplete-Module.patch 0000000426 426 Bytes
swiftshader-llvm20-absoluteSymbols.patch 0000000516 516 Bytes
swiftshader-use-system-llvm.patch 0000001213 1.18 KB
system-absl_algorithm.patch 0000000809 809 Bytes
system-gtest.patch 0000001945 1.9 KB
system-libbsd.patch 0000000689 689 Bytes
system-libdrm.patch 0000002541 2.48 KB
system-libm.patch 0000002087 2.04 KB
system-nasm.patch 0000000377 377 Bytes
system-pydeps.patch 0000008804 8.6 KB
system-simdutf.patch 0000002010 1.96 KB
system-six.patch 0000000922 922 Bytes
system-sqlite.patch 0000001865 1.82 KB
system-usb_ids.patch 0000000775 775 Bytes
system-wayland.patch 0000000486 486 Bytes
system-zstd-in-node.patch 0000000379 379 Bytes
to_vector-std-projected-gcc119888.patch 0000000685 685 Bytes
torque-debuginfo.patch 0000002510 2.45 KB
unexportable_key_service_impl-Wlto-type-mismatch.patch 0000001095 1.07 KB
use-system-libraries-in-node.patch 0000004796 4.68 KB
v8-strict-aliasing.patch 0000004112 4.02 KB
wayland_version.patch 0000000438 438 Bytes
webp-no-sharpyuv.patch 0000000645 645 Bytes
webrtc-aom3.8-AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR-2.patch 0000001739 1.7 KB
webrtc-aom3.8-AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR.patch 0000011476 11.2 KB
webrtc-make_ref_counted-absl2024-nullability.patch 0000001272 1.24 KB
xml_document_parser-Wmissing-template-keyword.patch 0000000726 726 Bytes
zip_internal-missing-uLong-Z_DEFAULT_COMPRESSION.patch 0000000387 387 Bytes
Comments 16

O. Gas Valve's avatar

Apps like signal-desktop are failing on execution with: /usr/lib64/electron/electron: symbol lookup error: /usr/lib64/electron/electron: undefined symbol: hb_subset_input_set_retain_gids


Dominik Heidler's avatar

According to the discussion at https://aur.archlinux.org/packages/freetube/ which seems to be the same problem, this is due to the harfbuzz library removing some "legacy code" that includes that function: https://github.com/harfbuzz/harfbuzz/commit/d700646c33af53afcabe564e9943565d58e1192a

This also seems to break the build here atm.


O. Gas Valve's avatar

I did see that. It's not the first time I've seen harfbuzz break everything in a package bulk build. What about updating this to latest stable or adding a new package for v16 so we can get apps working again?


sergio Basto's avatar

builds for Fedora 39+ fails because of the new vulkan version on Fedora , you can found the full logs in https://copr.fedorainfracloud.org/coprs/sergiomb/electrons/package/nodejs-electron/

Any suggestion to fix the build ?

in file included from ../../third_party/vulkan_memory_allocator/vma.cpp:8:
../../third_party/vulkan_memory_allocator/include/vk_mem_alloc.h: In member function ‘virtual void VmaBlockMetadata_Generic::CalcAllocationStatInfo(VmaStatInfo&) const’:
../../third_party/vulkan_memory_allocator/include/vk_mem_alloc.h:7996:20: warning: unused variable ‘rangeCount’ [-Wunused-variable]
 7996 |     const uint32_t rangeCount = (uint32_t)m_Suballocations.size();
      |                    ^~~~~~~~~~
../../third_party/vulkan_memory_allocator/include/vk_mem_alloc.h: In member function ‘virtual void VmaBlockMetadata_Linear::Alloc(const VmaAllocationRequest&, VmaSuballocationType, void*)’:

Bruno Pitrus's avatar

I don't see any builds failing here, and what you pasted is not a build error.


sergio Basto's avatar

yeah, sorry, anyway full logs are here in builder-live.log.gz https://download.copr.fedorainfracloud.org/results/sergiomb/electrons/fedora-39-x86_64/06969127-nodejs-electron/builder-live.log.gz

[7213/40867] "python3" "../../build/toolchain/gcc_solink_wrapper.py" --readelf="readelf" --nm="gcc-nm"  --sofile="./libvk_swiftshader.so" --tocfile="./libvk_swiftshader.so.TOC" --output="./libvk_swiftshader.so" -- g++ -shared -Wl,-soname="libvk_swiftshader.so" -Wl,-Bsymbolic -Wl,--version-script=../../third_party/swiftshader/src/Vulkan/vk_swiftshader.lds -Wl,--build-id=sha1 -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1   -Wl,-O2 -Wl,--gc-sections  -Wl,--as-needed -fuse-ld=lld -o "./libvk_swiftshader.so" @"./libvk_swiftshader.so.rsp"  
FAILED: libvk_swiftshader.so libvk_swiftshader.so.TOC 
"python3" "../../build/toolchain/gcc_solink_wrapper.py" --readelf="readelf" --nm="gcc-nm"  --sofile="./libvk_swiftshader.so" --tocfile="./libvk_swiftshader.so.TOC" --output="./libvk_swiftshader.so" -- g++ -shared -Wl,-soname="libvk_swiftshader.so" -Wl,-Bsymbolic -Wl,--version-script=../../third_party/swiftshader/src/Vulkan/vk_swiftshader.lds -Wl,--build-id=sha1 -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1   -Wl,-O2 -Wl,--gc-sections  -Wl,--as-needed -fuse-ld=lld -o "./libvk_swiftshader.so" @"./libvk_swiftshader.so.rsp"  
ld.lld: error: version script assignment of 'global' to symbol 'vkCreateXlibSurfaceKHR' failed: symbol not defined
ld.lld: error: version script assignment of 'global' to symbol 'vkGetPhysicalDeviceXlibPresentationSupportKHR' failed: symbol not defined
ld.lld: error: version script assignment of 'global' to symbol 'vkCreateDirectFBSurfaceEXT' failed: symbol not defined
ld.lld: error: version script assignment of 'global' to symbol 'vkGetPhysicalDeviceDirectFBPresentationSupportEXT' failed: symbol not defined
collect2: error: ld returned 1 exit status

sergio Basto's avatar

ah ldd is disable and I had it enabled , I'm firing a new build


sergio Basto's avatar

Following https://bugs.chromium.org/p/chromium/issues/detail?id=1374347 export LDFLAGS="${LDFLAGS} -Wl,--as-needed -fuse-ld=lld -Wl,--undefined-version" fixes the build for F39
on Rawhide we need to add: BuildRequires: python3-setuptools
But now I got an error with zlib , we need bundle zlib according https://bugzilla.redhat.com/show_bug.cgi?id=2242271


Bruno Pitrus's avatar

You should not use lld, it does not work with GCC. Also zlib should never be bundled as it is part of electron's exported API.

May i know what are you trying to do? Electron builds fine on Fedora 39 here on OBS, on both x86_64 and aarch64: https://build.opensuse.org/package/live_build_log/devel:languages:nodejs/nodejs-electron/Fedora_39/x86_64


sergio Basto's avatar

I'm building electron for Fedora in copr instead OBS for my personal use, maybe one day I will add it to Fedora . About lId, I was confused, I though lld replaces gold and gold linker was deprecated on Fedora (but neither one and other are true), I will check that. anyway build with lld makes bins 10% smaller . thank you


Bruno Pitrus's avatar

lld does not support LTO (which actually makes the binaries several dozen MB smaller when enabled). The builds here are done with the default GNU bfd linker and with LTO enabled (exactly according to packaging policy)

As for adding Electron to Fedora proper, that's tremendously unlikely due to upstream's extremely short API/ABI stability guarantees. (I have removed it from Leap for that very reason)


sergio Basto's avatar

ah ok , now I also built electron with LTO . thank you
On Rawhide we need to add: BuildRequires: python3-setuptools to avoid distutils error.
With https://fedoraproject.org/wiki/Changes/MinizipNGTransition got an error with zlib , we need bundle zlib according https://bugzilla.redhat.com/show_bug.cgi?id=2242271


Bruno Pitrus's avatar

minizip and z are two different libraries even if they are built from the same “zlib” source tree. I repeat you do not want to bundle z as it is exported by electron, meaning it would interpose the system copy which is loaded by basically everything.

You may try bundling minizip (only) but you would need to do it manually — it has been stripped from this tarball.

Personally, i would try to patch the offending file not to use this API — this is something that will need to get done eventually anyway.



Bruno Pitrus's avatar

But zlib is not a problem. All the errors are from minizip.


sergio Basto's avatar

Sorry , when I wrote bundle zlib , was want wrote bundle minizip quoting from https://bugzilla.redhat.com/show_bug.cgi?id=2242271 "Also, I can see chromium bundles minizip as well. Is our Fedora chromium package ready to switch to bundled minizip "

openSUSE Build Service is sponsored by