void-packages icon indicating copy to clipboard operation
void-packages copied to clipboard

doxygen: add documentation

Open meator opened this issue 10 months ago • 10 comments

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:~

  1. ~For generating PDF book (removed by this PR)~
  2. ~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

meator avatar Feb 11 '25 15:02 meator

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.

github-actions[bot] avatar May 13 '25 02:05 github-actions[bot]

this runs something with qemu?

Duncaen avatar Jun 08 '25 22:06 Duncaen

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.

meator avatar Jun 09 '25 07:06 meator

Is it not possible to install it as hostmakedepends when cross compiling instead of emulating the whole thing?

Duncaen avatar Jun 09 '25 14:06 Duncaen

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.

meator avatar Jun 09 '25 15:06 meator

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.

Duncaen avatar Jun 09 '25 15:06 Duncaen

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.

meator avatar Jun 09 '25 18:06 meator

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.

meator avatar Jun 09 '25 18:06 meator

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.

github-actions[bot] avatar Sep 08 '25 02:09 github-actions[bot]

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.

github-actions[bot] avatar Dec 08 '25 02:12 github-actions[bot]