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
647d3d2.patch 0000001239 1.21 KB
CVE-2022-43548.patch 0000005485 5.36 KB
NumberFormat-icu71-incrementExact.patch 0000002135 2.08 KB
RenderFrameHostImpl-use-after-free.patch 0000001293 1.26 KB
Revert-e2c4acd-apply-csp-correctly-when-contextIsolation-false.patch 0000008504 8.3 KB
_constraints 0000000658 658 Bytes
aggregatable_attribution_utils-do-not-assume-abseil-ABI.patch 0000000433 433 Bytes
angle-ShaderVars-missing-uint32_t.patch 0000000234 234 Bytes
angle-system-xxhash.patch 0000001127 1.1 KB
async_shared_storage_database_impl-missing-absl-WrapUnique.patch 0000000437 437 Bytes
attribution_response_parsing-do-not-assume-abseil-ABI.patch 0000000773 773 Bytes
audio_file_reader-ffmpeg-AVFrame-duration.patch 0000002716 2.65 KB
avif_image_decoder-AVIF_PIXEL_FORMAT_COUNT.patch 0000003332 3.25 KB
base-system-nspr.patch 0000001338 1.31 KB
bluetooth_uuid-missing-uint8_t.patch 0000000388 388 Bytes
broker_file_permission-missing-uint64_t.patch 0000000379 379 Bytes
cares_public_headers.patch 0000000395 395 Bytes
chromium-102-compiler.patch 0000010885 10.6 KB
chromium-108-abseil-shims.patch 0000002181 2.13 KB
chromium-86-fix-vaapi-on-intel.patch 0000001681 1.64 KB
chromium-91-java-only-allowed-in-android-builds.patch 0000000722 722 Bytes
chromium-93-ffmpeg-4.4.patch 0000003435 3.35 KB
chromium-94.0.4606.71-InkDropHost-crash.patch 0000001290 1.26 KB
chromium-98-EnumTable-crash.patch 0000002914 2.85 KB
chromium-99-pdfium-system-libtiff.patch 0000002901 2.83 KB
chromium-ffmpeg-first-dts.patch 0000004861 4.75 KB
chromium-gcc11.patch 0000005636 5.5 KB
chromium-norar.patch 0000003725 3.64 KB
chromium-remove-bundled-roboto-font.patch 0000001797 1.75 KB
chromium-system-libusb.patch 0000001476 1.44 KB
chromium-vaapi.patch 0000003302 3.22 KB
common.gypi-remove-fno-omit-frame-pointer.patch 0000000758 758 Bytes
compact_enc_det_generated_tables-Wnarrowing.patch 0000370390 362 KB
components-gcc13-missing-headers.patch 0000002649 2.59 KB
crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch 0000001541 1.5 KB
crashpad-use-system-abseil.patch 0000000811 811 Bytes
create_tarball.sh 0000020326 19.8 KB
d0aa9ad.patch 0000001143 1.12 KB
disable-catapult.patch 0000012180 11.9 KB
disable-devtools-tests.patch 0000000260 260 Bytes
disable-fuses.patch 0000003080 3.01 KB
disable-webspeech.patch 0000011596 11.3 KB
do-not-build-libvulkan.so.patch 0000001048 1.02 KB
document_loader-private-DecodedBodyData.patch 0000001758 1.72 KB
effect_paint_property_node-Wchanges-meaning.patch 0000000740 740 Bytes
electron-13-fix-base-check-nomerge.patch 0000000689 689 Bytes
electron-13-fix-sql-virtualcursor-type.patch 0000009813 9.58 KB
electron-13-fix-use-thin-lto.patch 0000001024 1 KB
electron-16-freetype-visibility-list.patch 0000000540 540 Bytes
electron-16-std-vector-non-const.patch 0000006909 6.75 KB
electron-16-system-node-headers.patch 0000000650 650 Bytes
electron-16-third_party-symbolize-missing-include.patch 0000000493 493 Bytes
electron-16-webpack-fix-openssl-3.patch 0000000911 911 Bytes
electron-22.3.6.tar.zst 0592600549 565 MB
electron-launcher.sh 0000000379 379 Bytes
electron-logo-symbolic.svg 0000002440 2.38 KB
electron-version-from-env.patch 0000001430 1.4 KB
electron.desktop 0000000125 125 Bytes
electron_serial_delegate-ambiguous-Observer.patch 0000000767 767 Bytes
enable-jxl.patch 0000000588 588 Bytes
extensions-gcc13-missing-headers.patch 0000000814 814 Bytes
ffmpeg-new-channel-layout.patch 0000016118 15.7 KB
first_party_set_parser-IssueWithMetadata-no-known-conversion.patch 0000001497 1.46 KB
flatbuffers.gn 0000000731 731 Bytes
fpic.patch 0000003390 3.31 KB
gcc-asmflags.patch 0000000393 393 Bytes
gcc-enable-lto.patch 0000001536 1.5 KB
gpu_feature_info-missing-uint32_t.patch 0000000310 310 Bytes
half_float-Wstrict-aliasing.patch 0000000726 726 Bytes
harfbuzz-replace-chromium-scoped-type.patch 0000021915 21.4 KB
intl-objects-icu71-UNUM_APPROXIMATELY_SIGN_FIELD.patch 0000002261 2.21 KB
ipcz-buffer_id-Wnarrowing.patch 0000000399 399 Bytes
ipcz-safe_math-Wuninitialized.patch 0000001404 1.37 KB
libsecret.gn 0000000185 185 Bytes
nasm-generate-debuginfo.patch 0000000300 300 Bytes
nested-nested-nested-nested-nested-nested-regex-patterns.patch 0000002744 2.68 KB
net-gcc13-missing-headers.patch 0000000655 655 Bytes
net-third_party-quiche-gcc13-missing-headers.patch 0000001248 1.22 KB
no-zlib-headers.patch 0000000413 413 Bytes
node-system-icu.patch 0000000486 486 Bytes
node-upgrade-llhttp-to-8.patch 0000003194 3.12 KB
nodejs-electron.changes 0000049660 48.5 KB
nodejs-electron.spec 0000047170 46.1 KB
one_writer_seqlock-missing-uintptr_t.patch 0000000381 381 Bytes
openscreen-gcc13-missing-headers.patch 0000000659 659 Bytes
partition_alloc-no-lto.patch 0000002288 2.23 KB
passwords_counter-Wsubobject-linkage.patch 0000001092 1.07 KB
pdfium-fix-system-libs.patch 0000000923 923 Bytes
perfetto-uuid-missing-uint8_t.patch 0000000283 283 Bytes
print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch 0000003635 3.55 KB
profiler-missing-uintptr_t.patch 0000000171 171 Bytes
remove-date-reproducible-builds.patch 0000002383 2.33 KB
replace_gn_files-system-libs.patch 0000000671 671 Bytes
reproducible-config.gypi.patch 0000000527 527 Bytes
seccomp_bpf-no-lto.patch 0000001172 1.14 KB
select_file_dialog_linux_kde-Wodr.patch 0000000520 520 Bytes
services-network-optional-explicit-constructor.patch 0000002213 2.16 KB
shim_headers-fix-ninja.patch 0000000583 583 Bytes
skia-system-vulkan-headers.patch 0000000951 951 Bytes
static_constructors-Wstrict-aliasing.patch 0000001995 1.95 KB
string_hasher-type-pun-UB-causes-heap-corruption.patch 0000005743 5.61 KB
support-i386.patch 0000000833 833 Bytes
swiftshader-Constants-Wstrict-aliasing.patch 0000000429 429 Bytes
swiftshader-Half-Wstrict-aliasing.patch 0000002145 2.09 KB
swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch 0000002219 2.17 KB
swiftshader-LRUCache-missing-uint64_t.patch 0000000265 265 Bytes
swiftshader-use-system-llvm.patch 0000001213 1.18 KB
system-gtest.patch 0000002700 2.64 KB
system-jsoncpp.patch 0000003103 3.03 KB
system-libbsd.patch 0000000689 689 Bytes
system-libdrm.patch 0000002508 2.45 KB
system-nasm.patch 0000000377 377 Bytes
system-pydeps.patch 0000006125 5.98 KB
system-six.patch 0000000920 920 Bytes
system-usb_ids.patch 0000000775 775 Bytes
system-zlib.patch 0000000631 631 Bytes
target_property-missing-uint32_t.patch 0000000303 303 Bytes
thread_annotations-fix-build-with-system-abseil.patch 0000001054 1.03 KB
ui-gcc13-missing-headers.patch 0000001049 1.02 KB
unzip-Wsubobject-linkage.patch 0000001383 1.35 KB
v8-icu69-FormattedNumberRange-no-default-constructible.patch 0000001842 1.8 KB
v8_initializer-PageAllocator-fpermissive.patch 0000000611 611 Bytes
vector_math_impl-Wstrict-aliasing.patch 0000001023 1023 Bytes
vulkan_memory_allocator-vk_mem_alloc-missing-snprintf.patch 0000000858 858 Bytes
web_contents_impl-Wsubobject-linkage.patch 0000002665 2.6 KB
webgl_image_conversion-Wstrict-aliasing.patch 0000001098 1.07 KB
webrtc-base64-missing-uint8_t.patch 0000000398 398 Bytes
xr_cube_map-Wstrict-aliasing.patch 0000000822 822 Bytes
Revision 64 (latest revision is 119)
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