Re: Bug#736432: Fwd: Re: Bug#736432: [doxygen] Include header/footer/img as external ressource
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
Reply to: