On 15/01/24 12:08 pm, Otto Kekäläinen wrote:
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.
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
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-de...@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
OpenPGP_0x8F53E0193B294B75.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature