doxygen: add documentation
EDIT: The entirety of the original description is no longer relevant. This PR is now a continuation of #44079.
~This PR is currently based on (and requires) #53680. If requested, I can merge this PR into #53680 or base it off of HEAD. This PR will be a draft until the PR is merged or until one of the alternative solutions are taken.~
~This PR is an adaptation of my former PR #44079. I let that PR stale out because I wasn't particularly happy with the solution and because I have received no (positive or negative) feedback.~
~The current solution is much cleaner (located mainly in 0001-fix-cross-doc-generation.patch). The old solution was fully functional though, it just made use of the self-dependency hack[^1] (which I believe should be avoided if other solutions are possible).~
~I have also removed support for the generation of PDF documentation. I find this to be less useful (and less used) than the HTML one. Users can download the upstream hosted PDF book if they so wish.~
~The original purpose of 0002-do-not-generate-pdf-docs.patch was to remove the chunky LaTeX host make dependency, but I have since figured out that latex is required in two places:~
- ~For generating PDF book (removed by this PR)~
- ~For generating formulas in https://www.doxygen.nl/manual/formulas.html~
~2. could be eliminated by using Doxygen's MathJax alternative renderrer, removing the need for texlive, texlive-latexextra and texlive-dvi in hostmakedepends. I can implement this change if requested.~
~If having PDF documentation alongside HTML one is desirable, 0002-do-not-generate-pdf-docs.patch can be cleanly dropped.~
~If having PDF documentation is not desirable, an alternative solution could be to let CMake generate it, but remove it in post_install().~
Testing the changes
- I tested the changes in this PR: YES
[^1]: I have documented this in my tutorial: https://xbps-src-tutorials.github.io/tips-and-tricks.html#using-the-native-package
Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.
this runs something with qemu?
this runs something with qemu?
Doxygen needs to run itself to generate its own documentation. See 0001-fix-cross-doc-generation.patch, I have injected ${CMAKE_CROSSCOMPILING_EMULATOR} into appropriate places in the CMake build system.
Is it not possible to install it as hostmakedepends when cross compiling instead of emulating the whole thing?
That's what I did before:
This PR is an adaptation of my former PR #44079. I let that PR stale out because I wasn't particularly happy with the solution and because I have received no (positive or negative) feedback.
The current solution is much cleaner (located mainly in
0001-fix-cross-doc-generation.patch). The old solution was fully functional though, it just made use of the self-dependency hack1 (which I believe should be avoided if other solutions are possible).
I can drop the current commits in this PR and reimplement #44079 if that's desirable.
I think that is cleaner, there is no point in trying to emulate this as the executable itself doesn't really matter, its not like the shell completion script generators or help2man where if you want it to be correct you have to run the same binary.
I chose the approach of https://github.com/void-linux/void-packages/pull/44079 which uses the host doxygen executable during cross builds. An alternative solution would be to simply steal the docs from host version of doxygen. This approach would require no patches whatsoever.
Also, the post_install() is no longer relevant (?, even without the changes made in this PR, the manpages get installed as expected without it), so I dropped it.
Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.
Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.