doxygen depends on tex for two reasons: at build time, to create the doxygen manual at run time, so users can run latex on what doxygen produces The run-time dependency is unnecessary; users that want to process doxygen output to pdf can simply install tex. It's not like not depending on tex makes doxygen unable to produce latex format. The build-time dependency makes it more heavyweight to build doxygen, and is the usual tools/docs tradeoff. The overall motivation for change is somewhat restricted build environments that end up with too many packages. I've prepared a patch to add a latex option to address both, to ease the pain of those who would otherwise not need tex. The patch leaves it enabled by default So Any objections? Should I make tex a run-time dependency only, unconditionally? I realize it's a stretch, but the current dependency is a bit like making emacs depend on tex because you can export to latex and build from org mode. Should I make this disabled by default? In addition to theoretical answers, I'm curious to hear from actual doxygen users. Index: Makefile =================================================================== RCS file: /cvsroot/pkgsrc/devel/doxygen/Makefile,v retrieving revision 1.81 diff -u -p -r1.81 Makefile --- Makefile 28 Feb 2011 14:52:44 -0000 1.81 +++ Makefile 18 Mar 2011 18:15:22 -0000 @@ -12,9 +12,6 @@ HOMEPAGE= http://www.doxygen.org/ COMMENT= Documentation system for C++, Java, IDL and C LICENSE= gnu-gpl-v2 -DEPENDS+= dvipsk-[0-9]*:../../print/dvipsk -DEPENDS+= texlive-pdftools-[0-9]*:../../print/texlive-pdftools - PKG_DESTDIR_SUPPORT= user-destdir TEX_ACCEPTED= teTeX3 @@ -55,7 +52,9 @@ SUBST_SED.epstopdf= -e 's,"epstopdf","${ PRIVILEGED_STAGES+= clean -INSTALL_TARGET= install install_docs +# Just install the binary and the man page. (If the latex option +# is enabled, this target will be augmented.) +INSTALL_TARGET= install .include "../../mk/bsd.prefs.mk" @@ -74,8 +73,8 @@ post-patch: BUILDLINK_API_DEPENDS.graphviz+= graphviz>=2.12nb1 +.include "options.mk" .include "../../converters/libiconv/buildlink3.mk" .include "../../graphics/graphviz/buildlink3.mk" .include "../../lang/python/application.mk" -.include "../../mk/tex.buildlink3.mk" .include "../../mk/bsd.pkg.mk" Index: PLIST =================================================================== RCS file: /cvsroot/pkgsrc/devel/doxygen/PLIST,v retrieving revision 1.27 diff -u -p -r1.27 PLIST --- PLIST 2 Jun 2010 04:17:02 -0000 1.27 +++ PLIST 18 Mar 2011 18:15:22 -0000 @@ -3,1034 +3,1034 @@ bin/doxygen bin/doxytag man/man1/doxygen.1 man/man1/doxytag.1 -share/doc/doxygen/doxygen_manual.pdf -share/doc/doxygen/examples/Makefile -share/doc/doxygen/examples/Makefile.in -share/doc/doxygen/examples/Makefile.win.in -share/doc/doxygen/examples/afterdoc.cfg -share/doc/doxygen/examples/afterdoc.h +${PLIST.latex}share/doc/doxygen/doxygen_manual.pdf +${PLIST.latex}share/doc/doxygen/examples/Makefile +${PLIST.latex}share/doc/doxygen/examples/Makefile.in +${PLIST.latex}share/doc/doxygen/examples/Makefile.win.in +${PLIST.latex}share/doc/doxygen/examples/afterdoc.cfg +${PLIST.latex}share/doc/doxygen/examples/afterdoc.h [many more lines omitted; basically all of share/doc/doxygen goes away] Index: options.mk =================================================================== RCS file: options.mk diff -N options.mk --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ options.mk 18 Mar 2011 18:15:22 -0000 @@ -0,0 +1,25 @@ +# $NetBSD$ +# +PKG_OPTIONS_VAR= PKG_OPTIONS.doxygen +PKG_SUPPORTED_OPTIONS= latex +PKG_SUGGESTED_OPTIONS= latex + +.include "../../mk/bsd.options.mk" + +PLIST_VARS+= latex + +.if !empty(PKG_OPTIONS:Mlatex) +PLIST.latex= yes + +INSTALL_TARGET+= install_docs + +TEX_ACCEPTED= teTeX3 + +# All three of these should be via USE_TOOLS. Optionally, entirely +# separately, tex should be a run-time dependency. + +DEPENDS+= dvipsk-[0-9]*:../../print/dvipsk +DEPENDS+= texlive-pdftools-[0-9]*:../../print/texlive-pdftools +.include "../../mk/tex.buildlink3.mk" + +.endif
Attachment:
pgpwrl7JQ7eNu.pgp
Description: PGP signature