Summary: | app-doc/doxygen-1.9.5 failed to emerge | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Leonid Kopylov <leonchik1976> |
Component: | Current packages | Assignee: | Matthias Maier <tamiko> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | himself, jaak, jstein, kingjon3377, klaus.kusche, waebbl-gentoo |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | ARM64 | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=903029 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
Add deflate support to doxygen-1.9.6 Prepare doxygen-1.9.5 for adding deflate support |
Description
Leonid Kopylov
2022-12-03 15:33:58 UTC
Created attachment 839473 [details]
build.log
Maybe related: https://github.com/doxygen/doxygen/issues/9319 Same problem here for doxygen-1.9.6 with cairo-1.17.6. This really seems to be https://github.com/doxygen/doxygen/issues/9319 but 9319 has been closed upstream? As far as I can tell, the generated pdf files still contain coded streams instead of the pdf commands doxygen is looking for, in spite of https://github.com/doxygen/doxygen/pull/9662 being in the doxygen code (so CAIRO_DEBUG_PDF should be set). It looks like https://github.com/doxygen/doxygen/pull/9662 is in the code, but not effective: I wrapped a shell script around dot and checked the environment, and CAIRO_DEBUG_PDF is *not* set in the environment of the dot calls. After setting CAIRO_DEBUG_PDF explicitly in my shell wrapper, doxygen builds without problems (but without my dot wrapper, the resulting doxygen of course fails at runtime when generating documentation with graphs). (In reply to Klaus Kusche from comment #4) > It looks like https://github.com/doxygen/doxygen/pull/9662 > is in the code, but not effective: > > I wrapped a shell script around dot and checked the environment, > and CAIRO_DEBUG_PDF is *not* set in the environment of the dot calls. > > After setting CAIRO_DEBUG_PDF explicitly in my shell wrapper, > doxygen builds without problems > (but without my dot wrapper, the resulting doxygen of course fails at > runtime > when generating documentation with graphs). yes, after setting CAIRO_DEBUG_PDF="1" before emerge command, it compiles Created attachment 847995 [details, diff]
Add deflate support to doxygen-1.9.6
The developers appear to have fixed the problem upstream. The changes are after the doxygen-1.9.6 release but are in the current master branch and so will presumably be included in the doxygen-1.9.7 release.
The workaround using the CAIRO_DEBUG_PDF flag to disable deflate in Cairo, as noted, did not work particularly well, and the developers appear to think that is not a long-term solution, so they went ahead and added deflate support in doxygen (and removed the CAIRO_DEBUG_PDF workaround).
I combined the commits adding and fixing the deflate support from the current master branch into a single patch, which I am attaching. This patch should apply to doxygen-1.9.6, although I only tested it against doxygen-1.9.5 (see next commit).
Should anybody decide to use this patch, I would like to reiterate that I only combined commits from the current master branch of doxygen (the commits are listed in the comments at the top of the patch), so this is essentially doxygen code. Presumably, the patch contents will therefore be part of the next release.
Created attachment 847997 [details, diff]
Prepare doxygen-1.9.5 for adding deflate support
As doxygen-1.9.5 is the currently stable version of doxygen, I wanted to be able to patch that version. The patch I made for doxygen-1.9.6 does not directly apply to doxygen-1.9.5. In particular, the patch reverts the CAIRO_DEBUG_PDF workaround added to doxygen-1.9.6 in favor of actually supporting deflate, so in order to apply the patch as-is, I needed to include the commit adding the CAIRO_DEBUG_PDF workaround. The patch for doxygen-1.9.6 also requires some new methods that were added to the Portable class in doxygen-1.9.6, so I also needed the commit adding those methods. I combined these commits into a patch, which I am attaching (the specifics of the commits are described in the patch comments).
To use my patches with doxygen-1.9.5, apply both my doxygen-1.9.5 and doxygen-1.9.6 patches. I did this, and it appears to get doxygen-1.9.5 to fully build.
Once doxygen-1.9.6 is stabilized, only the doxygen-1.9.6 patch should be required.
Hopefully, once doxygen-1.9.7 is released, none of these patches should be required, as all of the patch contents are from commits currently in the doxygen tree. The doxygen-1.9.5 patch is made of commits currently in the doxygen-1.9.6 release, and the doxygen-1.9.6 patch is made of commits currently in the doxygen master branch, but after the doxygen-1.9.6 release.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d3d66a260ae0b1e4a8b891cb387015747e26854e commit d3d66a260ae0b1e4a8b891cb387015747e26854e Author: Sam James <sam@gentoo.org> AuthorDate: 2023-05-20 04:48:22 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-05-20 04:48:22 +0000 app-doc/doxygen: add 1.9.7 Closes: https://bugs.gentoo.org/884185 Closes: https://bugs.gentoo.org/903029 Signed-off-by: Sam James <sam@gentoo.org> app-doc/doxygen/Manifest | 1 + app-doc/doxygen/doxygen-1.9.7.ebuild | 139 +++++++++++++++++++++++++++++++++++ app-doc/doxygen/doxygen-9999.ebuild | 4 +- 3 files changed, 142 insertions(+), 2 deletions(-) |