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 via email to