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