Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Aug 2014 11:41:12 -0400
From:      Naram Qashat <cyberbotx@cyberbotx.com>
To:        freebsd-ports@FreeBSD.org
Subject:   devel/doxygen woes
Message-ID:  <8e2579e9b8a76340d02cf44904b63c3d@cyberbotx.com>

next in thread | raw e-mail | index | archive | help
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.

doxygen has a bit of an issue in that it uses itself to build its own 
documentation. 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).

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.

If I add in those options, then I believe that the options for including 
graphviz and LaTeX should probably be made default. For something like 
this, though, I would need to know how many ports would need either 
option enabled. If the options don't need to be defaulted, then they 
shouldn't need it. graphviz might not be a bad one to have defaulted, 
but LaTeX might. If anyone does have an opinion on this, I'd like to 
hear it.

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.

In a semi-related point, part of the patching being done to the port 
involves removing doxygen's included MD5 implementation in order to use 
the system's MD5 implementation instead. I've heard differing opinions 
on this situation. Some people say that I should just let doxygen use 
its own MD5 implementation. But other people say that ports should 
always try to use the system's implementations as opposed to embedded 
ones. Which is better to use in this situation? I believe that doxygen's 
implementation of MD5 is statically linked, but patching it as I am now, 
it will call from the MD5 library of the system instead.

Thanks,
Naram Qashat



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