diff options
author | danfe <danfe@FreeBSD.org> | 2014-08-23 01:10:20 +0800 |
---|---|---|
committer | danfe <danfe@FreeBSD.org> | 2014-08-23 01:10:20 +0800 |
commit | 033a59b136a4b9306e4b7aed58990b4004389b60 (patch) | |
tree | 1897614b5a8993095dbd74154432198e7662f27c | |
parent | 6b4f66b8f6b863959f8e76b0244831edf2225230 (diff) | |
download | freebsd-ports-gnome-033a59b136a4b9306e4b7aed58990b4004389b60.tar.gz freebsd-ports-gnome-033a59b136a4b9306e4b7aed58990b4004389b60.tar.zst freebsd-ports-gnome-033a59b136a4b9306e4b7aed58990b4004389b60.zip |
- Optionize for Graphviz and LaTeX (enabled by default, so hopefully the
rest of the ports tree that uses Doxygen for their documentation aren't
adversely affected)
- Use new OPTIONS framework helpers
- PDFDOCS relies on both the LATEX and HTMLDOCS options to be enabled
- Remove a couple patches that believed to have no effect on PDFDOCS build
because it should've been setting HAVE_LATEX in MAKE_ARGS instead of
HAVE_PDFDOCS (which was done by a previous commit that submitter was
unaware of back when it happened, but never should've happened to begin
with)
- While here: sort USES, remove MAKE_JOBS_UNSAFE [*], and cleanup Makefile,
use correct spelling of PostScript and PDF in port description text
[*] Except cleaning targets, use more robust make(1) syntax of -C, albeit
I did not find evidence that cd ... ; $(MAKE) syntax was causing build
failures with -jX. Still, -C is better and safer in general.
PR: 192732
Submitted by: maintainer
Reviewed by: marino
-rw-r--r-- | devel/doxygen/Makefile | 81 | ||||
-rw-r--r-- | devel/doxygen/files/patch-Makefile.in | 40 | ||||
-rw-r--r-- | devel/doxygen/files/patch-latex | 30 | ||||
-rw-r--r-- | devel/doxygen/files/patch-refman | 42 | ||||
-rw-r--r-- | devel/doxygen/pkg-descr | 2 |
5 files changed, 72 insertions, 123 deletions
diff --git a/devel/doxygen/Makefile b/devel/doxygen/Makefile index 9f7db75131b4..860921c7ff85 100644 --- a/devel/doxygen/Makefile +++ b/devel/doxygen/Makefile @@ -3,6 +3,7 @@ PORTNAME= doxygen PORTVERSION= 1.8.7 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= devel MASTER_SITES= ftp://ftp.stack.nl/pub/users/dimitri/ \ @@ -16,25 +17,18 @@ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= tmake:${PORTSDIR}/devel/tmake \ - flex>0:${PORTSDIR}/textproc/flex \ - python:${PORTSDIR}/lang/python \ - dvips:${PORTSDIR}/print/tex-dvipsk \ - ${LOCALBASE}/share/fonts/cm-super/README:${PORTSDIR}/print/cm-super - + ${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex LIB_DEPENDS= libpng15.so:${PORTSDIR}/graphics/png -USES= bison iconv perl5 gmake -USE_PYTHON= 2 -ALL_TARGET= all +USES= bison gmake iconv perl5 python:2 HAS_CONFIGURE= yes -MAKE_JOBS_UNSAFE= yes QT_NONSTANDARD= yes # non-standard configure arguments CONFIGURE_ARGS= --prefix ${PREFIX} --perl ${PERL} --make ${MAKE_CMD} \ --install "${INSTALL}" --flex ${LOCALBASE}/bin/flex REINPLACE_ARGS= -i '' -EXTRACT_AFTER_ARGS= --exclude '*/libmd5' \ - --exclude '*/libpng' \ +EXTRACT_AFTER_ARGS= --exclude '*/libmd5' \ + --exclude '*/libpng' \ --exclude '*/tmake' PLIST= ${WRKDIR}/plist @@ -42,45 +36,47 @@ TMPDOCDEST= ${WRKDIR}/tmpdocdest PLIST_FILES= bin/doxygen -OPTIONS_DEFINE= HTMLDOCS QT4 PDFDOCS +OPTIONS_DEFINE= GRAPHVIZ LATEX QT4 HTMLDOCS PDFDOCS +OPTIONS_DEFAULT= GRAPHVIZ LATEX QT4_DESC= Install Doxywizard GUI HTMLDOCS_DESC= Install documentation in HTML format PDFDOCS_DESC= Install documentation in PDF format +GRAPHVIZ_RUN_DEPENDS= dot:${PORTSDIR}/graphics/graphviz + +LATEX_USE= TEX=full + +QT4_USE= QT4=corelib,gui,xml,qmake_build,moc_build,rcc_build +QT4_CONFIGURE_ENV= QTDIR="${QTDIR}" +QT4_CONFIGURE_ON= --with-doxywizard +QT4_PLIST_FILES= bin/doxywizard + +HTMLDOCS_ALL_TARGET= docs +HTMLDOCS_BUILD_DEPENDS= dot:${PORTSDIR}/graphics/graphviz + +PDFDOCS_ALL_TARGET= pdf +PDFDOCS_MAKE_ARGS= HAVE_LATEX=yes + .include <bsd.port.options.mk> -.if ${PORT_OPTIONS:MHTMLDOCS} -ALL_TARGET+= docs -BUILD_DEPENDS+= dot:${PORTSDIR}/graphics/graphviz +.if ${PORT_OPTIONS:MPDFDOCS} && \ + (empty(PORT_OPTIONS:MHTMLDOCS) || empty(PORT_OPTIONS:MLATEX)) +IGNORE= PDFDOCS option requires HTMLDOCS and LATEX options to be set +.endif .if ${PORT_OPTIONS:MPDFDOCS} -ALL_TARGET+= pdf -USE_TEX= latex:build USE_GHOSTSCRIPT_BUILD= yes -MAKE_ARGS+= HAVE_PDFDOCS=yes -.endif # PDFDOCS -.endif # HTMLDOCS +.endif .if ${PORT_OPTIONS:MQT4} -USE_QT4= corelib gui xml qmake_build moc_build rcc_build - -# Need this in env for build +# Need this in env for the build QTDIR?= ${QT_PREFIX} -CONFIGURE_ENV= QTDIR="${QTDIR}" -CONFIGURE_ARGS+=--with-doxywizard -.endif # QT4 - -.if ${MACHINE_ARCH:tl} == alpha -CONFIGURE_ARGS+= --enable-langs no .endif -.if ${PORT_OPTIONS:MQT4} -PLIST_FILES+= bin/doxywizard -.endif # QT4 - pre-configure: - @cd ${WRKSRC};for pro in src/*.pro.in addon/doxywizard/doxywizard.pro.in;do \ - ${ECHO} "unix:LIBS += ${ICONV_LIB}" >> $$pro; done + @cd ${WRKSRC}; for pro in src/*.pro.in \ + addon/doxywizard/doxywizard.pro.in; do \ + ${ECHO} "unix:LIBS += ${ICONV_LIB}" >> $$pro; done @${CHMOD} +x ${WRKSRC}/configure post-configure: @@ -90,8 +86,7 @@ post-configure: ${WRKSRC}/addon/doxywizard/Makefile post-build: - cd ${BUILD_WRKSRC}/examples; \ - ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} Makefile ${MAKE_ARGS} all + ${DO_MAKE_BUILD} -C ${BUILD_WRKSRC}/examples all pre-install: ${RM} -rf ${TMPDOCDEST} ${PLIST} @@ -109,23 +104,23 @@ pre-install: ${INSTALL_DATA} ${WRKSRC}/latex/doxygen_manual.pdf \ ${WRKSRC}/latex/archoverview.eps \ ${TMPDOCDEST}/doxygen -.endif # PDFDOCS +.endif @cd ${TMPDOCDEST} \ && ${FIND} -s * -type f -o -type l \ | ${SED} -e 's|^|share/doc/|' >> ${PLIST} \ && ${FIND} -d * -type d \ | ${SED} -e 's|^|@dirrm share/doc/|' >> ${PLIST} -.endif # HTMLDOCS +.endif do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/bin/doxygen ${STAGEDIR}${PREFIX}/bin/ + ${INSTALL_PROGRAM} ${WRKSRC}/bin/doxygen ${STAGEDIR}${PREFIX}/bin .if ${PORT_OPTIONS:MQT4} - ${INSTALL_PROGRAM} ${WRKSRC}/bin/doxywizard ${STAGEDIR}${PREFIX}/bin/ -.endif # QT4 + ${INSTALL_PROGRAM} ${WRKSRC}/bin/doxywizard ${STAGEDIR}${PREFIX}/bin +.endif .if ${PORT_OPTIONS:MHTMLDOCS} ${MKDIR} ${STAGEDIR}${PREFIX}/share/doc/doxygen ${TAR} -C ${TMPDOCDEST} -cf - doxygen \ | ${TAR} -C ${STAGEDIR}${PREFIX}/share/doc --unlink -xf - -.endif # HTMLDOCS +.endif .include <bsd.port.mk> diff --git a/devel/doxygen/files/patch-Makefile.in b/devel/doxygen/files/patch-Makefile.in index 7eb985013d0e..e9404e7b3adb 100644 --- a/devel/doxygen/files/patch-Makefile.in +++ b/devel/doxygen/files/patch-Makefile.in @@ -1,7 +1,27 @@ --- Makefile.in-orig 2014-06-14 08:30:10.000000000 +0200 +++ Makefile.in 2014-06-14 08:31:21.000000000 +0200 -@@ -16,11 +16,10 @@ - cd addon/doxyapp ; $(MAKE) clean +@@ -2,25 +2,24 @@ + DESTDIR = + + doxywizard: +- cd addon/doxywizard ; $(MAKE) ++ $(MAKE) -C addon/doxywizard + + doxysearch: +- cd addon/doxysearch ; $(MAKE) ++ $(MAKE) -C addon/doxysearch + + doxmlparser: +- cd addon/doxmlparser/src ; $(MAKE) +- cd addon/doxmlparser/test ; $(MAKE) +- cd addon/doxmlparser/examples/metrics ; $(MAKE) ++ $(MAKE) -C addon/doxmlparser/src ++ $(MAKE) -C addon/doxmlparser/test ++ $(MAKE) -C addon/doxmlparser/examples/metrics + + doxyapp: +- cd addon/doxyapp ; $(MAKE) clean ++ $(MAKE) -C addon/doxyapp clean: FORCE - - cd examples ; $(MAKE) clean @@ -16,7 +36,7 @@ -cd addon/doxywizard ; $(MAKE) clean -cd addon/doxysearch ; $(MAKE) clean -cd addon/doxyapp ; $(MAKE) clean -@@ -32,7 +31,6 @@ +@@ -32,7 +31,6 @@ clean: FORCE distclean: clean -cd src ; $(MAKE) distclean @@ -24,7 +44,7 @@ -cd addon/doxywizard ; $(MAKE) distclean -cd addon/doxysearch ; $(MAKE) distclean -cd addon/doxyapp ; $(MAKE) distclean -@@ -51,9 +49,8 @@ +@@ -51,9 +49,8 @@ distclean: clean -rm -rf xml -rm -f src/Makefile.doxygen src/Makefile.libdoxygen -rm -f src/Makefile.libdoxycfg src/libdoxycfg.t src/libdoxygen.t @@ -35,12 +55,18 @@ -rm -rf generated_src -rm -f addon/doxywizard/doxywizard.pro -rm -f VERSION -@@ -93,9 +90,9 @@ - cd doc ; $(MAKE) +@@ -89,13 +86,13 @@ install_docs: + cp -r html $(DESTDIR)$(DOCDIR) + + docs: FORCE +- cd examples ; $(MAKE) +- cd doc ; $(MAKE) ++ $(MAKE) -C examples ++ $(MAKE) -C doc pdf: docs - cd latex ; $(MAKE) -+ cd latex ; patch < ../refman-patch ; patch < ../latex-patch ; $(MAKE) ++ $(MAKE) -C latex -DISTFILES = Doxyfile libmd5 addon tmake doc examples bin lib objects testing \ +DISTFILES = Doxyfile addon tmake doc examples bin lib objects testing \ diff --git a/devel/doxygen/files/patch-latex b/devel/doxygen/files/patch-latex deleted file mode 100644 index 8c96a67b7322..000000000000 --- a/devel/doxygen/files/patch-latex +++ /dev/null @@ -1,30 +0,0 @@ ---- latex-patch.orig 1970-01-01 01:00:00.000000000 +0100 -+++ latex-patch 2014-06-13 23:18:40.000000000 +0200 -@@ -0,0 +1,27 @@ -+--- Makefile.orig 2014-06-13 23:14:28.000000000 +0200 -++++ Makefile 2014-06-13 23:18:27.000000000 +0200 -+@@ -3,19 +3,19 @@ -+ pdf: refman.pdf -+ -+ refman.pdf: clean refman.tex -+- pdflatex refman -++ -pdflatex -interaction nonstopmode refman -+ makeindex refman.idx -+- pdflatex refman -++ -pdflatex -interaction nonstopmode refman -+ latex_count=8 ; \ -+ while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ -+ do \ -+ echo "Rerunning latex...." ;\ -+- pdflatex refman ;\ -++ pdflatex -interaction nonstopmode refman ;\ -+ latex_count=`expr $$latex_count - 1` ;\ -+ done -+ makeindex refman.idx -+- pdflatex refman -+- -++ -pdflatex -interaction nonstopmode refman -++ cp refman.pdf doxygen_manual.pdf -+ -+ clean: -+ rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf diff --git a/devel/doxygen/files/patch-refman b/devel/doxygen/files/patch-refman deleted file mode 100644 index b528ad8b98bc..000000000000 --- a/devel/doxygen/files/patch-refman +++ /dev/null @@ -1,42 +0,0 @@ ---- refman-patch.orig 2014-06-28 22:08:12.000000000 +0200 -+++ refman-patch 2014-06-28 22:15:22.000000000 +0200 -@@ -0,0 +1,39 @@ -+--- refman.tex.orig 2014-06-28 22:09:39.000000000 +0200 -++++ refman.tex 2014-06-28 22:14:02.000000000 +0200 -+@@ -13,6 +13,8 @@ -+ \usepackage{textcomp} -+ \usepackage[nointegrals]{wasysym} -+ \usepackage[table]{xcolor} -++\usepackage{longtable} -++\usepackage{enumitem} -+ -+ % Font selection -+ \usepackage[T1]{fontenc} -+@@ -93,7 +95,7 @@ -+ % Hyperlinks (required, but should be loaded last) -+ \usepackage{ifpdf} -+ \ifpdf -+- \usepackage[pdftex,pagebackref=true]{hyperref} -++ \usepackage[pdftex,unicode,pagebackref=true]{hyperref} -+ \else -+ \usepackage[ps2pdf,pagebackref=true]{hyperref} -+ \fi -+@@ -118,7 +120,6 @@ -+ \hypersetup{pageanchor=false, -+ bookmarks=true, -+ bookmarksnumbered=true, -+- pdfencoding=unicode -+ } -+ \pagenumbering{roman} -+ \begin{titlepage} -+@@ -244,10 +245,6 @@ -+ \label{perlmod} -+ \hypertarget{perlmod}{} -+ \input{perlmod} -+-\chapter{Perl Module Tree Nodes} -+-\label{perlmod_tree} -+-\hypertarget{perlmod_tree}{} -+-\input{perlmod_tree} -+ \chapter{Doxygen's Internals} -+ \label{arch} -+ \hypertarget{arch}{} diff --git a/devel/doxygen/pkg-descr b/devel/doxygen/pkg-descr index 6db98f4ef984..a1c513226f3c 100644 --- a/devel/doxygen/pkg-descr +++ b/devel/doxygen/pkg-descr @@ -1,7 +1,7 @@ Doxygen is a documentation system for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors) and to some extent PHP, C#, and D. It can generate an on-line class browser (in HTML) and/or an off-line reference -manual (in LaTeX/ps/pdf) from a set of documented source files. +manual (in LaTeX/PostScript/PDF) from a set of documented source files. The documentation is extracted directly from the sources. WWW: http://www.doxygen.org/ |