With the current pango-1.26.2 and gtk+-2.18.9 stabilization, the docbook-* stuff is pulled in on practically every user's machine even with USE='-doc' which IMHO is not very nice. This could be avoided if gtk-doc-am would receive a USE=doc flag (and if pango, gtk+ [and maybe some other packages] "inherit" their USE=doc as a gtk-doc-am USE-dependency): With USE=doc the behavior of the gtk-doc-am.ebuild would be the current one, but with USE=-doc the ebuild could skip all installation except for installing (by copying) the file /usr/share/aclocal/gtk-doc.m4 and need not depend on anything. Of course, this means that pango, gtk+, etc. will only compile with USE=-doc, but by the proper inheritance of the USE-dependency this should be no problem. I just tried a corresponding patched gtk-doc-am.ebuild in my local overlay, and pango-1.26.2 and gtk+-2.18.9 compiled smoothly without any problems (with USE=-doc, of course), without needing any docbook-*
Created attachment 240955 [details, diff] Proposed patch against gtk-doc-am-1.15.ebuild This patch implements the behaviour suggested. I tested with -doc on my system and pango/gtk/glib are building without any problems.
*** This bug has been marked as a duplicate of bug 305507 ***
I don't see how this bug is a dupe of 305507. 305507 refers to missing dependencies for full build of this package, while this bug is a request for enhancement that would allow not to pull several dependencies on a system that doesn't need docs.
Just to restate the goals of this ebuild: goal #1: provide gtk-doc.m4 to allow eautoreconf of packages using gtk-doc in their configure.ac goal #2: allow to relink gtk-doc documentation at src_install time to enable us to remove USE="doc" from 99% of our packages since it is most often not building correctly in various cases that we don't/can't test and both upstream of the affected package and upstream of gtk-doc package pay little attention to how to enhance this situation, let alone fix already reported problems. Now if gtkdoc-rebase does not need any of the doc stuff without eautoreconf, I'm fine with the changes, otherwise, it's a no-no.
For somebody who does not want to install any documentation and therefore sets globally USE=-doc, goal #2 is not needed: This is what USE flags are for. Of course, this means that packages like gtk+ cannot only have DEPEND=">=dev-util/gtk-doc-am-1.11" but actually need DEPEND=">=dev-util/gtk-doc-am-1.11[doc?]" or in the hopefully rare (perhaps currently non-existing) cases where the corresponding documentation is installed unconditionally even DEPEND=">=dev-util/gtk-doc-am-1.11[doc]" is needed. This way, all users should be happy: For those who want the documentation (and thus need gtk-rebase) for at least one corresponding package, portage will ensure that gtk-doc-am[doc] is installed, i.e. for those users nothing will change or break. But those users with global USE=-doc who do not want any documenation will not have to install docbook (and it is really not needed for them).
Ah right, that reminds me we wanted to make API documentation installation optional. Anyway, we are making improvements step by step, see bug #262491
fixing summary and attaching to tracker
*** Bug 331283 has been marked as a duplicate of this bug. ***
Throwing my voice into this, too. Since eautoreconf is one of the functions in the eclasses folder, and it depends on gtk-am-doc, this pretty much drags in documentation stuff on virtually every Gentoo system out there. Some of us are quite selective on installed stuff, so this is a bit excessive. I'm with the reporter that documentation stuff should be locked behind an optional USE check instead of being mandatory. What's the status on fixing things up so this change can be made?
After verification, it occurs that this patch is wrong. Skipping installation of the DTDs is possible but, for example, if libxslt is missing, configure will fail, same for pkgconfig.
The configure should only run if "+doc" is set. When I emerge using a patched ebuild with "-doc", configure doesn't run. I just tested building without libxslt present and it worked.
Little things like this are quite a pain for those of us running 10-100 virtual servers (and my embedded builds). Any chance of bumping some interest in this bug? What are the holdups to implementing (so that we can solve them)?
The holdups is manpower.
That's a fair reply - is there some way I can help? I have some capacity to help with bug fixing?
Gilles and I discussed this again, and decided that the proper way of fixing this involves getting rid of gtk-doc-am (and a lot of other stuff), so we can hack around things in gtk-doc-am till we can fix everything properly and get rid of the package. With 1.17, the docbook dependencies are no longer required to install gtk-doc-am, this should be fixed now. Thanks for reporting!