Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Aug 2014 07:27:30 -0400
From:      Naram Qashat <cyberbotx@cyberbotx.com>
To:        Kurt Jaeger <lists@opsec.eu>
Cc:        freebsd-ports@FreeBSD.org
Subject:   Re: devel/doxygen woes
Message-ID:  <53F5D7A2.4090105@cyberbotx.com>
In-Reply-To: <20140821091714.GR9400@home.opsec.eu>
References:  <8e2579e9b8a76340d02cf44904b63c3d@cyberbotx.com> <20140821091714.GR9400@home.opsec.eu>

next in thread | previous in thread | raw e-mail | index | archive | help
On 08/21/14 05:17, Kurt Jaeger wrote:
> Hi!
>
>> So I've been getting a lot of issues being directed at me due to the
>> recent devel/doxygen update to 1.8.7. While I'm not sure why these
>> issues only cropped up after that update and not before, I would like to
>> try addressing a few things.
>
> Those discussions always pop up if something changes, even if it is not
> related 8-}
>
>> doxygen has a bit of an issue in that it uses itself to build its own
>> documentation.
>
> Let me state this a bit more general:
>
> doxygen has the issue that if you use it, it brings in a huge
> amount of dependencies. And currently, this process is not
> thought-through.
>
>> As a result of this, the HTMLDOCS and PDFDOCS options
>> will only pull in what is needed to allow doxygen to be built in such a
>> way to be able to build its own documentation. Because of this, if those
>> options are left out, then doxygen will be left in a state where it can
>> no longer build HTML docs fully (because of the lack of graphviz) and
>> cannot build PDF docs (because of the lack of a LaTeX distribution).
>
> What might be a use case for doxygen, if it is not used for html
> and pdf docs ? What other formats are supported ?

As far as I can tell from looking at a Doxyfile, it can generate HTML, Docset 
files for Xcode, Microsoft HTML help (.chm files), Qt compressed help (.qch 
files), Eclipse help plugin, LaTeX (which I believe creates a PDF), RTF, man 
pages, XML, AutoGen definitions, and perlmod. A lot of these are disabled by 
default in Doxyfile, though. I think that doxygen's documentation states that 
only the HTML and LaTeX generators require external dependencies, and dot from 
graphviz is only really needed for HTML if the Doxyfile says it wants to use it.

>> Because of this, consumers of doxygen, whether they be other FreeBSD
>> ports or just users of doxygen in general, would need to have graphviz
>> and LaTeX installed to get all of doxygen's features. I recently had
>> someone that wanted to build doxygen without the LaTeX dependency,
>> though. So I think ideally, the dependencies for graphviz and LaTeX
>> should becomes separate options, and the HTMLDOCS and PDFDOCS options
>> should only be allowed if graphviz and LaTeX, respectively, are enabled.
>
> The problem is: If a port has options to use doxygen, those
> options should also include BUILD_DEPENDS for graphviz etc.
> The ports that use doxygen normally do not know about those
> BUILD_DEPENDS.
>
> One idea was to provide a /usr/ports/Mk/Uses/doxygen.mk which
> provides the necessary "glue" by USES += doxygen.
>
>> All in all, it basically boils down to needing to find a way to include
>> graphviz and LaTeX in a way that doesn't cause too many problems but
>> also allows doxygen to still have the option of building its own
>> documentation.
>
> It's either in or out 8-}

Well, I'd already put in a bug for this:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=192732

It does mean that, yes, by default, it'll pull in a lot of dependencies. I'm not 
sure if having a uses for doxygen really makes much sense, though. The only 
thing that I can think of that would really need work is probably figuring out 
just what parts of TexLive are actually needed by doxygen instead of trying to 
pull in the full distribution.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53F5D7A2.4090105>