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
_constraints 0000000757 757 Bytes
abseil-remove-unused-targets.patch 0000003016 2.95 KB
abseil_string_number_conversions-do-not-assume-ABI.patch 0000000466 466 Bytes
absl_algorithm.gn 0000000414 414 Bytes
absl_base.gn 0000001098 1.07 KB
absl_cleanup.gn 0000000368 368 Bytes
absl_container.gn 0000002316 2.26 KB
absl_debugging.gn 0000001074 1.05 KB
absl_flags.gn 0000000929 929 Bytes
absl_functional.gn 0000000385 385 Bytes
absl_hash.gn 0000000337 337 Bytes
absl_memory.gn 0000000353 353 Bytes
absl_meta.gn 0000000386 386 Bytes
absl_numeric.gn 0000000614 614 Bytes
absl_random.gn 0000000374 374 Bytes
absl_status.gn 0000000679 679 Bytes
absl_strings.gn 0000001127 1.1 KB
absl_synchronization.gn 0000000488 488 Bytes
absl_time.gn 0000000380 380 Bytes
absl_types.gn 0000000901 901 Bytes
angle-system-xxhash.patch 0000001127 1.1 KB
async_shared_storage_database_impl-missing-absl-WrapUnique.patch 0000000437 437 Bytes
attribution_manager_impl-missing-absl-WrapUnique.patch 0000000377 377 Bytes
ax_property_node-missing-unique_ptr-forward.patch 0000000470 470 Bytes
base-system-nspr.patch 0000001319 1.29 KB
brotli.gn 0000000666 666 Bytes
byteswap-constexpr.patch 0000001605 1.57 KB
byteswap-constexpr2.patch 0000000848 848 Bytes
cares_public_headers.patch 0000000395 395 Bytes
chromium-101-libxml-unbundle.patch 0000000309 309 Bytes
chromium-102-compiler.patch 0000008114 7.92 KB
chromium-102-fenced_frame_utils-include.patch 0000000830 830 Bytes
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-96-CouponDB-include.patch 0000000813 813 Bytes
chromium-98-EnumTable-crash.patch 0000002854 2.79 KB
chromium-99-pdfium-system-libtiff.patch 0000002901 2.83 KB
chromium-ffmpeg-first-dts.patch 0000004861 4.75 KB
chromium-fix-pac-with-gcc.patch 0000000728 728 Bytes
chromium-gcc11.patch 0000006122 5.98 KB
chromium-norar.patch 0000003585 3.5 KB
chromium-remove-bundled-roboto-font.patch 0000001786 1.74 KB
chromium-system-libusb.patch 0000001484 1.45 KB
chromium-vaapi.patch 0000003346 3.27 KB
crc32c.gn 0000000206 206 Bytes
create_tarball.sh 0000013483 13.2 KB
dark_mode_types-uint8_t.patch 0000000456 456 Bytes
dav1d.gn 0000000653 653 Bytes
device_perf_info-missing-uint32_t.patch 0000000309 309 Bytes
double-conversion.gn 0000000640 640 Bytes
electron-13-fix-base-check-nomerge.patch 0000000691 691 Bytes
electron-13-fix-sql-virtualcursor-type.patch 0000009813 9.58 KB
electron-13-fix-use-thin-lto.patch 0000000954 954 Bytes
electron-16-fix-swiftshader-template.patch 0000003886 3.79 KB
electron-16-freetype-visibility-list.patch 0000000540 540 Bytes
electron-16-std-vector-non-const.patch 0000006870 6.71 KB
electron-16-system-node-headers.patch 0000000616 616 Bytes
electron-16-third_party-symbolize-missing-include.patch 0000000493 493 Bytes
electron-16-webpack-fix-openssl-3.patch 0000000911 911 Bytes
electron-19.0.7.tar.xz 1267497492 1.18 GB
electron-launcher.sh 0000000379 379 Bytes
electron-logo-symbolic.svg 0000002440 2.38 KB
electron.desktop 0000000125 125 Bytes
ffmpeg-new-channel-layout.patch 0000016118 15.7 KB
gcc-enable-lto.patch 0000002326 2.27 KB
json_generation-missing-unique_ptr.patch 0000000356 356 Bytes
libXNVCtrl.gn 0000000323 323 Bytes
libaom.gn 0000000908 908 Bytes
libavif.gn 0000000332 332 Bytes
libjxl.gn 0000000809 809 Bytes
metrics_recorder-missing-string.patch 0000000391 391 Bytes
multi_channel_content_detector-missing-unique_ptr.patch 0000000293 293 Bytes
nested-nested-nested-nested-nested-nested-regex-patterns.patch 0000002744 2.68 KB
node-system-libs.patch 0000001265 1.24 KB
nodejs-electron.changes 0000020180 19.7 KB
nodejs-electron.spec 0000029900 29.2 KB
pdfium-fix-system-libs.patch 0000000923 923 Bytes
process_doc_wrapper-do-not-assume-ABI.patch 0000000554 554 Bytes
replace_gn_files-system-libs.patch 0000002817 2.75 KB
skia_utils-missing-uint64_t.patch 0000000317 317 Bytes
support-i386.patch 0000000942 942 Bytes
swiftshader-SPIRV-Headers.gn 0000000453 453 Bytes
swiftshader-SPIRV-Tools.gn 0000000759 759 Bytes
swiftshader-use-system-llvm.patch 0000001213 1.18 KB
system-jsoncpp.patch 0000003103 3.03 KB
system-libbsd.patch 0000000506 506 Bytes
system-libdrm.patch 0000002488 2.43 KB
system-zlib.patch 0000000631 631 Bytes
thread_annotations-fix-build-with-system-abseil.patch 0000001050 1.03 KB
vulkan-SPIRV-Headers.gn 0000000494 494 Bytes
vulkan-SPIRV-Tools.gn 0000001805 1.76 KB
woff2.gn 0000000379 379 Bytes
Revision 27 (latest revision is 137)
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