always require NodeJS by removing --disable-nodejs switch
Categories
(Firefox Build System :: General, enhancement)
Tracking
(Not tracked)
People
(Reporter: dmosedale, Unassigned)
References
(Blocks 2 open bugs)
Details
Reporter | ||
Updated•6 years ago
|
Comment 1•6 years ago
|
||
Comment 2•6 years ago
|
||
Comment 3•6 years ago
|
||
Reporter | ||
Comment 4•6 years ago
|
||
Comment 5•6 years ago
|
||
Comment 6•6 years ago
|
||
Comment 7•6 years ago
|
||
Reporter | ||
Comment 8•6 years ago
|
||
Reporter | ||
Updated•6 years ago
|
Comment 9•4 years ago
|
||
I think it should still be possible to build without NodeJS and just be able to point to the directory with the compiled JavaScript files.
The reason is that NodeJS does not support as many architectures as Firefox itself, so making NodeJS a hard-requirement makes Firefox less portable.
At least in Debian, there is the possibility to build architecture-specific and architecture-agnostic artifacts on different architectures. For example, it would make sense to compile all the JavaScript files on x86_64 and put the build artifacts into a package called "firefox-common" with the architecture "all". Then have the various architectures build the architecture-specific artifacts.
When the user installs Firefox on Debian, they would for example install a package called "firefox-75.0-1_amd64.deb" plus a package called "firefox-common_75.0-1_all.deb".
This way, we could also easily provide Firefox for RISC-V as this architecture already has a fully working Rust compiler.
Reporter | ||
Comment 10•4 years ago
|
||
John, that is an interesting point. Whether or not that sort of patch would be accepted into the tree would depend on how much maintenance it would require (ie how complicated the code was), as well sign off from a build peer. I suspect this work would need to be driven by someone from a downstream distribution, as it's hard for me to imagine how this would become high enough priority for someone else.
Comment 11•2 years ago
|
||
re: building with precompiled javascript files for architectures unsupported by node
Oracle has been doing this for quite some time now to package firefox for SPARC64 on Solaris11. You can see that here: https://github.com/oracle/solaris-userland/tree/master/components/desktop/firefox
Comment 12•2 years ago
|
||
Some more info on that, for anyone else who has found this in an effort to build Firefox on a nodeless system:
On that link above, there is a wrapper-node
folder. It contains a script called node
, and acts as a fake node of sorts. Adding this wrapper-node
folder to your $PATH
will cover the node.js requirement for building Firefox. It will correctly output pre-generated js files for what the build system is asking.
Note that you will probably need to edit the script to change mach
to uname -p
, as this script was intended for Solaris. Those two commands are exactly identical though :D
You might also be interested in some of the patches in the above link in the patches
dir, especially if you are on a big endian system.
Besides one tiny patch I wrote myself, the patches and node wrapper above were enough to get Firefox to build on Linux/SPARC for me. It would be nice if this was integrated in the Firefox build system, but personally I'm just glad I got it to work at all. So good luck, next brave soul to land here. :)
Updated•2 years ago
|
Updated•1 year ago
|
Description
•