devel/doxygen woes
Naram Qashat
cyberbotx at cyberbotx.com
Thu Aug 14 15:41:15 UTC 2014
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
More information about the freebsd-ports
mailing list