aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordanfe <danfe@FreeBSD.org>2014-08-23 01:10:20 +0800
committerdanfe <danfe@FreeBSD.org>2014-08-23 01:10:20 +0800
commit033a59b136a4b9306e4b7aed58990b4004389b60 (patch)
tree1897614b5a8993095dbd74154432198e7662f27c
parent6b4f66b8f6b863959f8e76b0244831edf2225230 (diff)
downloadfreebsd-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/Makefile81
-rw-r--r--devel/doxygen/files/patch-Makefile.in40
-rw-r--r--devel/doxygen/files/patch-latex30
-rw-r--r--devel/doxygen/files/patch-refman42
-rw-r--r--devel/doxygen/pkg-descr2
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/