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
NumberFormat-icu71-incrementExact.patch 0000002135 2.08 KB
Partial-migration-from-imp-to-importlib.patch 0000001224 1.2 KB
RenderFrameHostImpl-use-after-free.patch 0000001233 1.2 KB
_constraints 0000000776 776 Bytes
abseil-remove-unused-targets.patch 0000003062 2.99 KB
absl-uint128-do-not-assume-abi.patch 0000000571 571 Bytes
angle-system-xxhash.patch 0000001276 1.25 KB
async_shared_storage_database_impl-missing-absl-WrapUnique.patch 0000000437 437 Bytes
audio_file_reader-ffmpeg-AVFrame-duration.patch 0000002716 2.65 KB
avif_image_decoder-AVIF_PIXEL_FORMAT_COUNT.patch 0000003372 3.29 KB
avif_image_decoder-libavif-1-mode.patch 0000001119 1.09 KB
avif_image_decoder-repetitionCount-clli.patch 0000002598 2.54 KB
base-system-nspr.patch 0000001323 1.29 KB
cares_public_headers.patch 0000000395 395 Bytes
chrome-gpu-does-not-load.patch 0000003381 3.3 KB
chromium-102-compiler.patch 0000011456 11.2 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 0000001280 1.25 KB
chromium-98-EnumTable-crash.patch 0000002914 2.85 KB
chromium-ffmpeg-first-dts.patch 0000004934 4.82 KB
chromium-gcc11.patch 0000001760 1.72 KB
chromium-remove-bundled-roboto-font.patch 0000001696 1.66 KB
chromium-system-libusb.patch 0000001479 1.44 KB
chromium-vaapi.patch 0000003282 3.21 KB
common.gypi-remove-fno-omit-frame-pointer.patch 0000000976 976 Bytes
compact_enc_det_generated_tables-Wnarrowing.patch 0000370390 362 KB
cpu-missing-uint8_t.patch 0000000246 246 Bytes
crashpad-use-system-abseil.patch 0000000811 811 Bytes
create_tarball.sh 0000020568 20.1 KB
disable-catapult.patch 0000012147 11.9 KB
disable-devtools-tests.patch 0000000260 260 Bytes
disable-fuses.patch 0000003080 3.01 KB
disable-webspeech.patch 0000012136 11.9 KB
do-not-build-libvulkan.so.patch 0000001048 1.02 KB
electron-13-fix-base-check-nomerge.patch 0000000689 689 Bytes
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 0000000481 481 Bytes
electron-16-webpack-fix-openssl-3.patch 0000000911 911 Bytes
electron-24-components-missing-headers.patch 0000000854 854 Bytes
electron-25.8.0.tar.zst 0528971074 504 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_api_app-GetPathConstant-non-constexpr.patch 0000002280 2.23 KB
electron_browser_context-missing-variant.patch 0000000338 338 Bytes
ffmpeg-new-channel-layout.patch 0000016118 15.7 KB
flatbuffers.gn 0000000731 731 Bytes
fpic.patch 0000003800 3.71 KB
gcc-asmflags.patch 0000000393 393 Bytes
gcc-enable-lto.patch 0000001423 1.39 KB
harfbuzz-replace-HbScopedPointer.patch 0000003756 3.67 KB
harfbuzz-replace-chromium-scoped-type.patch 0000022224 21.7 KB
highway.gn 0000000189 189 Bytes
intl-objects-icu71-UNUM_APPROXIMATELY_SIGN_FIELD.patch 0000001620 1.58 KB
libsecret.gn 0000000185 185 Bytes
mojo_ukm_recorder-missing-WrapUnique.patch 0000000475 475 Bytes
mojom-python3.12-imp.patch 0000000683 683 Bytes
nasm-generate-debuginfo.patch 0000000300 300 Bytes
nested-nested-nested-nested-nested-nested-regex-patterns.patch 0000002744 2.68 KB
no-zlib-headers.patch 0000000413 413 Bytes
node-system-icu.patch 0000000486 486 Bytes
node-upgrade-llhttp-to-8.patch 0000003193 3.12 KB
nodejs-electron.changes 0000058549 57.2 KB
nodejs-electron.spec 0000047093 46 KB
partition_alloc-no-lto.patch 0000002433 2.38 KB
pdfium-fix-system-libs.patch 0000000923 923 Bytes
rdynamic.patch 0000000332 332 Bytes
re2-11-StringPiece.patch 0000016842 16.4 KB
remove-date-reproducible-builds.patch 0000002383 2.33 KB
replace_gn_files-system-libs.patch 0000000718 718 Bytes
seccomp_bpf-no-lto.patch 0000001115 1.09 KB
services-network-optional-explicit-constructor.patch 0000002213 2.16 KB
skia-system-vulkan-headers.patch 0000000947 947 Bytes
support-i386.patch 0000000833 833 Bytes
swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch 0000002219 2.17 KB
swiftshader-use-system-llvm.patch 0000001213 1.18 KB
system-gtest.patch 0000002700 2.64 KB
system-libbsd.patch 0000000689 689 Bytes
system-libdrm.patch 0000002514 2.46 KB
system-nasm.patch 0000000377 377 Bytes
system-pydeps.patch 0000006566 6.41 KB
system-six.patch 0000000920 920 Bytes
system-usb_ids.patch 0000000775 775 Bytes
system-wayland.patch 0000002128 2.08 KB
system-zlib.patch 0000000631 631 Bytes
thread_annotations-fix-build-with-system-abseil.patch 0000001054 1.03 KB
v8-icu69-FormattedNumberRange-no-default-constructible.patch 0000001842 1.8 KB
v8-regexp-parser-UCHAR_BASIC_EMOJI.patch 0000032068 31.3 KB
vulkan_memory_allocator-vk_mem_alloc-missing-snprintf.patch 0000000858 858 Bytes
wayland-WL-SINCE-VERSION.patch 0000011695 11.4 KB
wayland_data_drag_controller-WL_SURFACE_OFFSET_SINCE_VERSION.patch 0000003859 3.77 KB
Revision 89 (latest revision is 156)
Bruno Pitrus's avatar Bruno Pitrus (dziobian) accepted request 1110783 from Bruno Pitrus's avatar Bruno Pitrus (dziobian) (revision 89)
- Update to 25.8.0
  * ABI break: NODE_MODULE_VERSION is now 116
  * Chromium 114.0.5735.289
  * Node 18.15.0
  * V8 11.4
  * Removed BrowserWindow scroll-touch-* events (since Electron 23)
  * Removed webContents.{de,in}crementCapturerCount(stayHidden, stayAwake) (since Electron 23)
  * Removed JXL image format support (since Electron 23)
  * API Changed: nativeImage.createThumbnailFromPath(path, size) (since Electron 24)
- Use bundled vpx on Fedora ≤37 and Leap
- Use bundled aom on Fedora and Leap
- Drop support for Fedora 36 which is EOL
- Drop upstreamed patches
  * CVE-2022-43548.patch
  * aggregatable_attribution_utils-do-not-assume-abseil-ABI.patch
  * angle-ShaderVars-missing-uint32_t.patch
  * blink-gcc13-missing-headers.patch
  * bluetooth_uuid-missing-uint8_t.patch
  * broker_file_permission-missing-uint64_t.patch
  * chromium-108-abseil-shims.patch
  * components-gcc13-missing-headers.patch 
  * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch
  * d0aa9ad.patch
  * document_loader-private-DecodedBodyData.patch
  * effect_paint_property_node-Wchanges-meaning.patch
  * electron_serial_delegate-ambiguous-Observer.patch
  * extensions-gcc13-missing-headers.patch
  * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch
  * gpu_feature_info-missing-uint32_t.patch
  * half_float-Wstrict-aliasing.patch
  * ipcz-buffer_id-Wnarrowing.patch
  * ipcz-safe_math-Wuninitialized.patch
  * net-gcc13-missing-headers.patch
  * net-third_party-quiche-gcc13-missing-headers.patch
  * one_writer_seqlock-missing-uintptr_t.patch
  * openscreen-gcc13-missing-headers.patch
  * passwords_counter-Wsubobject-linkage.patch
  * perfetto-uuid-missing-uint8_t.patch
  * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch
  * profiler-missing-uintptr_t.patch
  * reproducible-config.gypi.patch
  * select_file_dialog_linux_kde-Wodr.patch
  * shim_headers-fix-ninja.patch
  * static_constructors-Wstrict-aliasing.patch
  * string_hasher-type-pun-UB-causes-heap-corruption.patch
  * swiftshader-Constants-Wstrict-aliasing.patch
  * swiftshader-Half-Wstrict-aliasing.patch
  * swiftshader-LRUCache-missing-uint64_t.patch
  * target_property-missing-uint32_t.patch
  * ui-gcc13-missing-headers.patch
  * unzip-Wsubobject-linkage.patch
  * v8_initializer-PageAllocator-fpermissive.patch
  * vector_math_impl-Wstrict-aliasing.patch
  * web_contents_impl-Wsubobject-linkage.patch
  * webgl_image_conversion-Wstrict-aliasing.patch
  * webrtc-base64-missing-uint8_t.patch
  * xr_cube_map-Wstrict-aliasing.patch
- Drop no longer relevant patches`
  * chromium-norar.patch
  * electron-13-fix-sql-virtualcursor-type.patch
  * enable-jxl.patch
  * system-jsoncpp.patch
- Add patches to build with system libs
  * abseil-remove-unused-targets.patch
  * highway.gn
  * system-wayland.patch
- Add patches to fix build errors
  * absl-uint128-do-not-assume-abi.patch
  * cpu-missing-uint8_t.patch
  * electron-24-components-missing-headers.patch
  * electron_api_app-GetPathConstant-non-constexpr.patch
  * electron_browser_context-missing-variant.patch
  * mojo_ukm_recorder-missing-WrapUnique.patch
- Conditionally reverse upstream changes to build against stable avif
  * avif_image_decoder-repetitionCount-clli.patch
- …and harfbuzz 4
  * harfbuzz-replace-HbScopedPointer.patch
- …and icu 69
  * v8-regexp-parser-UCHAR_BASIC_EMOJI.patch
- …and wayland 19
  * wayland-WL-SINCE-VERSION.patch
  * wayland_data_drag_controller-WL_SURFACE_OFFSET_SINCE_VERSION.patch
- Add backported chrome-gpu-does-not-load.patch
Comments 25

Dominik Heidler's avatar

@ithod not sure how to resolve the fedora deps. My latest change didn't really help: https://build.opensuse.org/package/rdiff/devel:languages:nodejs/nodejs-electron?linkrev=base&rev=5


Anonymous User's avatar

This comment has been deleted


Dominik Heidler's avatar

Hm - adding the Prefer: to the spec doesn't seem to have an effect.


Anonymous User's avatar

This comment has been deleted


Dominik Heidler's avatar

I would rather not touch anything outside of this package that could affect other packages in this project. But as I was able to fix something similar for 15.3 using BuildRequires in the spec file, this should be possible for fedora as well.

unresolvable: have choice for pkgconfig(jack): jack-audio-connection-kit-devel pipewire-jack-audio-connection-kit-devel, have choice for nodejs-devel needed by nodejs-packaging: nodejs-devel nodejs16-devel

I tried it like this:

# help decide for dependency
BuildRequires:  pipewire-jack-audio-connection-kit-devel
BuildRequires:  nodejs16-devel

But that seems to create some conflict with npm16. Maybe we need the "newer" version of nodejs-devel. We could try BuildRequires: nodejs-devel >=17 or something like that for fedora.


Anonymous User's avatar

This comment has been deleted


Andreas Schneider's avatar

Because we do not have any debug symbols at all.


Anonymous User's avatar

This comment has been deleted


Andreas Schneider's avatar

@dheidler Odd version numbers of nodejs like 17 are development versions. Even numbers are maintained LTS versions. Most projects use LTS versions and not development versions and if you build them like signal-desktop with nodejs16 it wont work if electron is built with nodejs17!

nodejs-election should be built with nodejs16 on all distributions!


Dominik Heidler's avatar

I'm using nodejs16 on all opensuse distros. I was unable to get resolved build dependencies for fedora otherwise. Feel free to send a SR to change it on fedora - I myself am happy if it builds at all for fedora as I don't consider it as very important.


Andreas Schneider's avatar

Take a look at the tumbleweed build log, it picks nodejs17!


Dominik Heidler's avatar

Let's see if my latest change fixes that


Bruno Pitrus's avatar

I think the system node copy is only used for running the typescript compiler, electron ships its own fork of node (and libuv) inside.

I even tried to unbundle libuv (it is backward compatible; Arch uses system libuv even in ancient node versions) but it did not work — Electron has its own patches not matching any upstream libuv version.


Andreas Schneider's avatar

Please branch memory-constraints and build it for Fedora 36 in devel:languages:nodejs


Bruno Pitrus's avatar

I'm doing a major review of our spec for electron 19 merge, does anyone know why we block building on 32bit platforms? Especially since armv7 is explicitely supported by upstream.


Anonymous User's avatar

This comment has been deleted


Dominik Heidler's avatar

Yes - I think build failed on armv7h and i586 and I'm not sure how to fix that, so it was disabled to save ressources.


Bruno Pitrus's avatar

I managed to fix all assembling errors, but unfortunately on i586 neither BFD nor GoLD can handle “Google Ultron powered by Download More RAM”.


Dominik Heidler's avatar

You could have some entry here: https://build.opensuse.org/package/view_file/devel:languages:nodejs/nodejs-electron/_constraints?expand=1

But I guess you can just have 4GB of RAM in total on i586.


Bruno Pitrus's avatar

I don't really care about other arches, but right now even arm64 fails to link, which would be a regression. So i'm trying to unbundle some libs (abseil, spirv) to reduce binary size.


veractor's avatar

Hi, just a user of the repo here on Fedora 37. The package seems to have been rebuilt 6 or 7 times in the past week or so, with no apparent change to the source RPM other than the release number. What's prompted this and what changed?


Dominik Heidler's avatar

that usually means that a dependency got rebuilt.


Bruno Pitrus's avatar

Unfortunately fedora does not have build-compare which would eliminate spurious rebuilds: boo#1206734


veractor's avatar

Is this a problem specifically for Fedora 36 and later, or has it been for all Fedora versions?


Bruno Pitrus's avatar

all fedora, it never had reproducible builds on OBS

openSUSE Build Service is sponsored by