Gimp documentation pdf generation broken (and requested)

Just the topic title. I would like to see the pdf generation of the manual working again, a few people asked me about it…

pdf generation for gimp-help has proven to be problematic. It uses dblatex which does not seem to be very well maintained. There isn’t even an official python 3 release as far as I can see. There is a dblatex-py3, but last time I tried I could not get that working on MSYS2/Windows.

In short, sure we would welcome a working pdf export option, but someone needs to investigate whether dblatex can be made to work with Python 3 on all platforms and incorporate it in our CI. It might be even better if there was another, better maintained, package that could do that.

Dividing my time between updating the gimp-help documentation and doing some work for GIMP already takes all the time I have, which means someone else will have to step up.

I don’t know for all platforms but the dblatex 3.12 package on Arch Linux is built for Python 3.10 and on Fedora for Python 3.11. As far as I can tell the packagers didn’t need to do anything special to make it work with Python >= 3.10.

The release notes for dblatex 3.11 specifically mentioned changes to make it work with Python > 3.2 so probably at least 3.11 is required. That rules out PyPy because for some reason that has dblatex 3.10. But 3.12 is downloadable from the project: DocBook to LaTeX Publishing - Browse /dblatex at SourceForge.net

Notwithstanding your remark of preferring something better maintained, if that even exists.

Now that I regained control of gnome gitlab repos after the ssh subdomain migration I tested last commit for .pdf generation. This are my results:

make pdf-en
[SRC] src/preface/authors.xml
*** Making PDF (en) ...
Build the book set list...
xsltproc -o doclist.txt --xinclude --xincludestyle doclist.xsl /home/marco/git/gnome/gimp-help-current/xml/en/gimp.xml
Build the listings...
xsltproc -o listings.xml --xinclude --xincludestyle --param current.dir '/home/marco/git/gnome/gimp-help-current/xml/en' /usr/share/dblatex/xsl/common/mklistings.xsl /home/marco/git/gnome/gimp-help-current/xml/en/gimp.xml
xsltproc -o gimp.rtex --xinclude --xincludestyle --param listings.xml '/tmp/tmptmvrgdin/listings.xml' --param current.dir '/home/marco/git/gnome/gimp-help-current/xml/en' /tmp/tmptmvrgdin/custom.xsl /home/marco/git/gnome/gimp-help-current/xml/en/gimp.xml
XSLT stylesheets DocBook - LaTeX 2e (0.3.12)
===================================================
literal: default template used in programlisting or screen
literal: default template used in programlisting or screen
Don't know what gentext to create for xref to: "listitem" (linkend=restore-micro-contrast)
Cannot convert 'images/tutorials/quickie-scale-example.jpg' to png
Cannot convert 'images/tutorials/quickie-jpeg-example.jpg' to png
Cannot convert 'images/tutorials/quickie-jpeg-010.jpg' to png
[...]
Cannot convert 'images/tutorials/tone-mapping/without-bilateral-smoothing-of-mask.jpg' to png
Cannot convert 'images/tutorials/tone-mapping/with-bilateral-smoothing-of-mask.jpg' to png
Build gimp.pdf
built-in module xetex registered
no support found for ifthen
no support found for ifxetex
no support found for fontspec
no support found for xltxtra
no support found for fontenc
no support found for ucs
no support found for inputenc
no support found for fancybox
built-in module makeidx registered
no support found for db2latex
built-in module bibtopic registered
building additional files...
checking if compiling is necessary...
the output file doesn't exist
xelatex -interaction=batchmode gimp.tex

xdvipdfmx:fatal: Invalid font: -1 (0)

No output PDF file written.
xelatex failed

A possible reason for transformation failure is invalid DocBook
(as reported by xmllint)

Error: xelatex compilation failed
make: *** [Makefile:1533: pdf/en/gimp.pdf] Error 1

Any idea?

I think you may need to install some extra texlive packages, see e.g. here.

I gave it another go myself and got further than I remember the last time I tried. However I get an error (translated from Dutch): The file is in use by another process and can’t be accessed.

Using make -j1 pdf-en did not change that.

I have already installed all those packages and more (texlive-all) but it does not work.

It works here, i get a pdf file (Mageia Cauldron Linux). I had to install dblatex, which pulled in xmltex, and then i had to re-run autogen.sh, but after that, make pdf-en ended with

'gimp.pdf' successfully built

and there was a plausible-looking PDF file.