Re: Bug#736432: Fwd: Re: Bug#736432: [doxygen] Include header/footer/img as external ressource
Helmut Grohne <[email protected]> Thu, 25 Dec 2025 16:58:24 +0100
| Newsgroups | gmane.linux.debian.ports.sparc |
|---|---|
| Message-ID | <[email protected]> |
Hi Adrian, [recording parts of our IRC conversation in mail] On Thu, Dec 25, 2025 at 01:36:21PM +0100, John Paul Adrian Glaubitz wrote: > Can someone explain the use of JQuery like I'm five to me? I'm asking because JQuery > requires "uglifyjs" which has a runtime dependency on NodeJS which heavily restricts > buildability of the reverse dependencies due to Google's unwillingness to provide a > generic, slow implementation of their V8 JavaScript engine. This limits the whole > NodeJS stack to architectures with big companies behind as others don't have the funds > to support a V8 port. I think what you really want here is an explanation of why uglifyjs is needed rather than JQuery. The /usr/bin/doxygen binary contains a minified JQuery. We use uglifyjs to create this version from Doxygen's vendor copy of JQuery (which actually is not JQuery but a collection of JQuery plus some other libraries and some bits added by Doxygen). The purpose here was building from source as much as possible. > From what I understand, all that NodeJS does here is take some JavaScript code and > transpile it into other JavaScript code. [...] Confirmed. > On the other hand, the JavaScript files can also be "cross-transpiled" from architectures > that have NodeJS support to architectures which don't. Oracle does this in Solaris allowing > them to build and ship Firefox for Solaris SPARC [2]. Yes. If /usr/bin/doxygen were able to load the minified jquery.js from an external file rather than stuffing it into a const char* variable, we could do that. > Wouldn't it be possible to do that here as well? Can't we just transpile the JavaScript > on amd64 and stuff the result into the doxygen-common package? Yes, I think that would be feasible (assuming the aforementioned change). That way, uglifyjs could plausibly be moved to B-D-I. Another alternative could be adding a pkg.doxygen.prebuiltjs build profile that would drop the uglifyjs dependency in favor of using the minified JQuery in the source tarball without rebuilding it. That said, I no longer am a Doxygen maintainer and have no more say in what is or is not acceptable. Helmut