- Package:
- wnpp
- Source:
- wnpp
- Submitter:
- Jeffrey Cliff
- Date:
- 2025-12-30 09:09:11 UTC
- Severity:
- wishlist
- Blocked By:
-
Bug Title 859361 0
RFP: asar -- Simple extensive tar-like archive format with indexing wishlist stable testing unstable over 7 years ago
809692 4
RFP: libchromiumcontent -- content module wishlist stable testing unstable 10 months ago
909459 1
RFP: crashpad -- a crash-reporting system wishlist stable testing unstable 7 months ago
926677 1
RFP: node-evacuated-electron-download -- downloads an electron release zip wishlist stable testing unstable 7 months ago
926284 1
RFP: node-evacuated-tweetnacl-js -- node-evacuated-tweetnacl-js wishlist stable testing unstable 7 months ago
909458 2
RFP: chromium-breakpad -- NSA/Microsoft GitHub clone of the breakpad used by NSA/Alphabet Chromium wishlist stable testing unstable 7 months ago
The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on Node.js <https://nodejs.org/> and Chromium <http://www.chromium.org> and is used by the Atom editor <https://github.com/atom/atom> and many other apps <http://electron.atom.io/apps>. Website: https://github.com/electron/electron License: MIT https://github.com/electron/electron/blob/master/LICENSE
Electron appears to depend on asar, which is in RFP ( #859361 / https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859361 ).
To get a full picture of the effort required to package electron, have a look at the electron task page in the wiki, which I have just updated to the current status: https://wiki.debian.org/Javascript/Nodejs/Tasks/electron Paolo
there is a non-NSA/Microsoft upstream repo available for this project at https://notabug.org/themusicgod1/electron
I just filed a couple of RFPs for electron apps and immediately added this one as a blocker: https://bugs.debian.org/842420 So yes there are some trending messaging apps and code editors built with electron ! Packaging it would be a huge task also because it is a mixed-language project. sloccount reports: cpp: 59225 (61.39%) javascript: 29379 (30.46%) ansic: 3833 (3.97%) python: 3205 (3.32%) sh: 824 (0.85%) But electron is definitely part of the js ecosystem (exactly as nodejs) so we should be brave and pick it up. The first step would be to evaluate which of the electron apps we (as js-team) want to focus on. Next find out if a single electron version can be used. From a first look, it seems problematic: - atom: "electronVersion": "3.1.10" - beaker: "electron": "5.0.0" - franz: "electron": "5.0.2", - mattermost-desktop: "electron": "^4.0.0" - riot-web: "electronVersion": "4.2.4", - signal-desktop: "electron": "4.2.2" - ssb-patchwork: "electron": "^4.2.4", - vscode: target "4.2.4" (for vscode it is not in package.json, I found it here (?): https://github.com/microsoft/vscode/blob/master/.yarnrc) Paolo
Hi Paolo, any news on this bug? I'm willing to help if needed. Cheers and thanks Matteo
Could this be a goal for Debian 12? I'm not sure what kind of load the js team is under, but it would be great to see this package in bookworm. Jonathan Rubenstein jrubcop@gmail.com
Hi! I am a big fan of Pulsar[1] so I filed the ITP[2] for it which led me to dive into the status of Electron[3] and NodeJS and JavaScript in Debian in general. Electron seems already to be shipped[4] among others in FreeBSD ports, Arch, Manjaro, Nix and OpenSUSE, but not in Fedora or Debian. The approach in Debian seems to be that each npm module is converted into a deb package, and thus the JS team has 1700+ packages to maintain[5]. Electron packaging has been pending for the past 7 years due to this packaging dependency requirement I assume. So I guess the logical next step is just to map out all dependencies of Electron (and Pulsar) and then simply get each npm module they depend on packaged one-by-one? Can somebody who has a working setup of js_task_edit.py[6] update the Electron wiki page and also create a new one for Pulsar? And once we have the list we can start using npm2deb[7] and following the NodeJS packaging guide[8] we just package the modules and see how far we get with reasonable effort? - Otto [1] https://optimizedbyotto.com/post/pulsar-best-text-file-and-code-editor/ [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1060778 [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842420 [4] https://repology.org/project/electron/versions [5] https://qa.debian.org/developer.php?login=pkg-javascript-devel@lists.alioth.debian.org [6] https://wiki.debian.org/Javascript/Nodejs/Tasks [7] https://wiki.debian.org/Javascript/Nodejs/Npm2Deb [8] https://wiki.debian.org/Javascript/Nodejs/Manual
This requirement is relaxed these days, see https://salsa.debian.org/js-team/node-yarnpkg/-/blob/master/debian/watch?ref_type=heads for example. Some of the modules that are only useful to electron/pulsar could be included directly in that source package. You can also try to create a package in contrib first which will install dependencies via npm in postinst and gradually package the modules and later move to main. See https://salsa.debian.org/ruby-team/gitlab/-/blob/master/debian/rake-tasks.sh?ref_type=heads#L48 We also have yarn-plugin-apt which can take the apt installed modules when available and only remaining needs to be installed from npmjs.com
Things that are good to know about electron's architecture: It's documented here: https://github.com/electron/electron/blob/main/docs/development/source-code-directory-structure.md They need many patches to upstream projects: https://github.com/electron/electron/tree/main/patches In particular, the amound of patches on chromium, on node, is huge, with no hope of them being upstreamed. However, copying from debian chromium and nodejs source packages could be a good idea to leverage the work that has been done there to ensure they build against debian shared libraries. On the positive side, I think that several dependencies should be bundled as Multiple Upstream Tarballs. Typically the ones under the @electron/ namespace, and maybe some others. I reviewed quickly the current blocking RFP/ITP, some of them are no longer needed (because package is available, or because electron dropped it).
Hi! Resurrecting this old thread - Electron is still not packaged in Debian. A lot of popular apps use it, e.g. Signal desktop, Element the Matrix client, Telegram. Are there any people here who would be interested in teaming up to package Electron for Debian? The task is probably too big for a single person.
Le mardi 30 décembre 2025, 05:16:35 heure normale d’Europe centrale Otto Kekäläinen a écrit : I can help you to package and get the stuff team maintained, could you add a wiki page with the npm2deb tree depends ? rouca
Le 30/12/2025 à 10:00, Bastien Roucaries a écrit :
here is the pkgjs-depends response:
$ pkgjs-depends electron
# electron@39.2.7
# 8 missing npm module(s)
DEPENDENCIES:
ava (serialize-error)
node-debug (debug)
node-deep-equal (gopd)
node-define-properties (define-properties)
node-es6-error (es6-error)
node-extract-zip (extract-zip)
node-fs-extra (fs-extra)
node-got (got)
node-json-stringify-safe (json-stringify-safe)
node-matcher (matcher)
node-progress (progress)
node-semver (semver)
node-sprintf-js (sprintf-js)
node-sumchecker (sumchecker)
nodejs (@types/node)
MISSING:
electron@39.2.7
└── @electron/get (2.0.3)
└── env-paths (2.2.1)
└── global-agent (3.0.0)
└── boolean (3.2.0)
└── roarr (2.15.4)
└── (^) boolean (3.2.0)
└── detect-node (2.1.0)
└── globalthis (1.0.4)
└── semver-compare (1.0.0)