summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormezz <mezz@df743ca5-7f9a-e211-a948-0013205c9059>2007-10-12 03:26:04 +0800
committermezz <mezz@df743ca5-7f9a-e211-a948-0013205c9059>2007-10-12 03:26:04 +0800
commit0335a61c2e0323317a013bf2d6d031e471643082 (patch)
treea4aa87fe48bf0d8f256bb3b494e92df0e5811bae
parent3dbe19cbee37f304c3c973db8d63eb9efd346335 (diff)
downloadmarcuscom-ports-0335a61c2e0323317a013bf2d6d031e471643082.tar
marcuscom-ports-0335a61c2e0323317a013bf2d6d031e471643082.tar.gz
marcuscom-ports-0335a61c2e0323317a013bf2d6d031e471643082.tar.bz2
marcuscom-ports-0335a61c2e0323317a013bf2d6d031e471643082.tar.lz
marcuscom-ports-0335a61c2e0323317a013bf2d6d031e471643082.tar.xz
marcuscom-ports-0335a61c2e0323317a013bf2d6d031e471643082.tar.zst
marcuscom-ports-0335a61c2e0323317a013bf2d6d031e471643082.zip
Fix the build with libiconv 1.11.
Reported by: pointyhat-exp git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@9792 df743ca5-7f9a-e211-a948-0013205c9059
-rw-r--r--devel/doxygen/Makefile132
-rw-r--r--devel/doxygen/distinfo3
-rw-r--r--devel/doxygen/files/patch-ah22
-rw-r--r--devel/doxygen/files/patch-configure33
-rw-r--r--devel/doxygen/files/patch-doc-Makefile.in18
-rw-r--r--devel/doxygen/files/patch-doc-Makefile.latex34
-rw-r--r--devel/doxygen/files/patch-fix_with_libiconv-1.1111
-rw-r--r--devel/doxygen/files/patch-md5153
-rw-r--r--devel/doxygen/files/patch-png25
-rw-r--r--devel/doxygen/files/patch-warnings15
-rw-r--r--devel/doxygen/pkg-descr7
11 files changed, 453 insertions, 0 deletions
diff --git a/devel/doxygen/Makefile b/devel/doxygen/Makefile
new file mode 100644
index 000000000..9d97b1571
--- /dev/null
+++ b/devel/doxygen/Makefile
@@ -0,0 +1,132 @@
+# New ports collection makefile for: doxygen
+# Date created: 20 March 1998
+# Whom: Joep Grooten <joep@di.nl>
+#
+# $FreeBSD$
+#
+
+PORTNAME= doxygen
+PORTVERSION= 1.5.2
+CATEGORIES= devel
+MASTER_SITES= ftp://ftp.stack.nl/pub/users/dimitri/
+EXTRACT_SUFX= .src.tar.gz
+
+MAINTAINER= mwisnicki+freebsd@gmail.com
+COMMENT= A documentation system for C, C++ and other languages
+
+BUILD_DEPENDS= tmake:${PORTSDIR}/devel/tmake
+LIB_DEPENDS= png:${PORTSDIR}/graphics/png
+
+USE_ICONV= yes
+ALL_TARGET= all
+
+EXTRACT_AFTER_ARGS=|${TAR} -xpf - \
+ --exclude '*/libmd5' \
+ --exclude '*/libpng' \
+ --exclude '*/tmake'
+
+CONFIGURE_ENV+= CXX="${CXX}"
+
+.if !defined(NOPORTDOCS)
+ALL_TARGET+= docs
+BUILD_DEPENDS+= python:${PORTSDIR}/lang/python # XXX: Replace with USE_PYTHON_BUILD
+BUILD_DEPENDS+= dot:${PORTSDIR}/graphics/graphviz
+
+.if !defined(WITHOUT_LATEX)
+ALL_TARGET+= pdf
+BUILD_DEPENDS+= dvips:${PORTSDIR}/print/dvipsk-tetex \
+ latex:${PORTSDIR}/print/teTeX
+USE_GHOSTSCRIPT_BUILD= yes
+MAKE_ARGS+= HAVE_LATEX=yes
+.endif # !defined(WITHOUT_LATEX)
+.endif # !defined(NOPORTDOCS)
+
+.if !defined(WITHOUT_DOXYWIZARD)
+USE_QT_VER= 3
+QT_INC= ${X11BASE}/include
+QTNAME= qt-mt
+QT_OPENGL=
+THREADLIBS= ${PTHREAD_LIBS}
+CFLAGS+= ${PTHREAD_CFLAGS}
+
+# Need this in env for build
+QTDIR?= ${QT_PREFIX}
+CONFIGURE_ENV+= QTDIR="${QTDIR}"
+CONFIGURE_ARGS+=--with-doxywizard
+.endif # !WITHOUT_DOXYWIZARD
+
+USE_PERL5= yes
+HAS_CONFIGURE= yes
+USE_GMAKE= yes
+QT_NONSTANDARD= yes # non-standard configure arguments
+CONFIGURE_ARGS+=--prefix ${PREFIX} --perl ${PERL} --make ${GMAKE} \
+ --install "${INSTALL}"
+
+.if ${MACHINE_ARCH:L} == alpha
+CONFIGURE_ARGS+= --enable-langs no
+.endif
+
+PLIST= ${WRKDIR}/plist
+TMPDOCDEST= ${WRKDIR}/tmpdocdest
+
+PLIST_FILES= bin/doxygen \
+ bin/doxytag
+
+.ifndef WITHOUT_DOXYWIZARD
+PLIST_FILES+= bin/doxywizard
+.endif
+
+pre-configure:
+ @cd ${WRKSRC};for pro in src/*.pro.in addon/doxywizard/doxywizard.pro.in;do \
+ ${ECHO} "unix:LIBS += -liconv" >> $$pro; done
+
+post-configure:
+ @${REINPLACE_CMD} -e 's|TMAKE *=.*|TMAKE=${LOCALBASE}/bin/tmake|' \
+ -e 's|TMAKEPATH *=.*|TMAKEPATH=${LOCALBASE}/share/tmake/freebsd-g++|' \
+ ${WRKSRC}/Makefile ${WRKSRC}/*/Makefile \
+ ${WRKSRC}/addon/doxywizard/Makefile
+
+post-build:
+ cd ${BUILD_WRKSRC}/examples; \
+ ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} Makefile ${MAKE_ARGS} all
+
+pre-install:
+ ${RM} -rf ${TMPDOCDEST} ${PLIST}
+ ${TOUCH} ${PLIST}
+.ifndef NOPORTDOCS
+ ${MKDIR} ${TMPDOCDEST}/doxygen
+ ${RM} -f ${WRKSRC}/examples/diagrams/html/*.md5 \
+ ${WRKSRC}/examples/diagrams/html/*.map
+ ${TAR} -C ${WRKSRC} --exclude '*/_*' -cf - html \
+ | ${TAR} -C ${TMPDOCDEST}/doxygen --unlink -xf -
+ ${TAR} -C ${WRKSRC} --exclude '*/Makefile*' --exclude '*.dot' \
+ -cf - examples \
+ | ${TAR} -C ${TMPDOCDEST}/doxygen --unlink -xf -
+.ifndef WITHOUT_LATEX
+ ${INSTALL_DATA} ${WRKSRC}/latex/doxygen_manual.dvi \
+ ${WRKSRC}/latex/doxygen_manual.pdf \
+ ${WRKSRC}/latex/doxygen_manual.ps \
+ ${WRKSRC}/latex/archoverview.eps \
+ ${WRKSRC}/latex/doxygen_logo.eps \
+ ${TMPDOCDEST}/doxygen
+.endif # WITHOUT_LATEX
+ @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 # ! NOPORTDOCS
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/doxygen ${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/doxytag ${PREFIX}/bin
+.ifndef WITHOUT_DOXYWIZARD
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/doxywizard ${PREFIX}/bin
+.endif
+.ifndef NOPORTDOCS
+ ${MKDIR} ${PREFIX}/share/doc/doxygen
+ ${TAR} -C ${TMPDOCDEST} -cf - doxygen \
+ | ${TAR} -C ${PREFIX}/share/doc --unlink -xf -
+.endif # ! NOPORTDOCS
+
+.include <bsd.port.mk>
diff --git a/devel/doxygen/distinfo b/devel/doxygen/distinfo
new file mode 100644
index 000000000..1d0b0adce
--- /dev/null
+++ b/devel/doxygen/distinfo
@@ -0,0 +1,3 @@
+MD5 (doxygen-1.5.2.src.tar.gz) = f2782e5bd31a7d10b092500bf0d96ae2
+SHA256 (doxygen-1.5.2.src.tar.gz) = 496220360b92de6169458b282a8faa32065f71db26d33fb9dc291178fc75381d
+SIZE (doxygen-1.5.2.src.tar.gz) = 3599976
diff --git a/devel/doxygen/files/patch-ah b/devel/doxygen/files/patch-ah
new file mode 100644
index 000000000..c94c1bc4a
--- /dev/null
+++ b/devel/doxygen/files/patch-ah
@@ -0,0 +1,22 @@
+--- doc/doxygen_manual.tex.orig Mon May 20 05:58:08 2002
++++ doc/doxygen_manual.tex Sat May 25 09:28:15 2002
+@@ -12,8 +12,7 @@
+ % Documents produced by Doxygen are derivative works derived from the
+ % input used in their production; they are not affected by this license.
+
+-\documentclass[a4paper]{article}
+-\usepackage{a4wide}
++\documentclass{article}
+ \usepackage{makeidx}
+ \usepackage{fancyhdr}
+ \usepackage{float}
+@@ -23,8 +22,7 @@
+ \usepackage{multicol}
+ \usepackage{times}
+ \usepackage{alltt}
+-\usepackage[pdftex,
+- pagebackref=true,
++\usepackage[pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue
+ ]{hyperref}
diff --git a/devel/doxygen/files/patch-configure b/devel/doxygen/files/patch-configure
new file mode 100644
index 000000000..8ba6ca7fb
--- /dev/null
+++ b/devel/doxygen/files/patch-configure
@@ -0,0 +1,33 @@
+--- configure.orig Sat Oct 28 18:20:11 2006
++++ configure Sun Feb 25 15:23:52 2007
+@@ -525,7 +525,7 @@
+ EOF
+ fi
+
+-f_inmakefiles="Makefile.in qtools/Makefile.in src/Makefile.in examples/Makefile.in doc/Makefile.in addon/doxywizard/Makefile.in addon/doxmlparser/src/Makefile.in addon/doxmlparser/test/Makefile.in addon/doxmlparser/examples/metrics/Makefile.in libpng/Makefile.in libmd5/Makefile.in addon/doxyapp/Makefile.in"
++f_inmakefiles="Makefile.in qtools/Makefile.in src/Makefile.in examples/Makefile.in doc/Makefile.in addon/doxywizard/Makefile.in addon/doxmlparser/src/Makefile.in addon/doxmlparser/test/Makefile.in addon/doxmlparser/examples/metrics/Makefile.in addon/doxyapp/Makefile.in"
+
+ for i in $f_inmakefiles ; do
+ SRC=$i
+@@ -541,10 +541,8 @@
+ if test $i = Makefile.in; then
+ echo "" >> $DST
+ echo "all: src/version.cpp " >> $DST
+- echo " \$(MAKE) -C qtools" >> $DST
+- echo " \$(MAKE) -C libpng" >> $DST
+- echo " \$(MAKE) -C libmd5" >> $DST
+- echo " \$(MAKE) -C src" >> $DST
++ echo " \$(MAKE) -j2 -C qtools" >> $DST
++ echo " \$(MAKE) -j2 -C src" >> $DST
+ if test $f_wizard = YES; then
+ echo " \$(MAKE) -C addon/doxywizard" >> $DST
+ fi
+@@ -562,7 +560,7 @@
+ echo " Created $DST from $SRC..."
+ done
+
+-f_inprofiles="qtools/qtools.pro.in src/libdoxygen.pro.in src/libdoxycfg.pro.in src/doxygen.pro.in src/doxytag.pro.in addon/doxywizard/doxywizard.pro.in addon/doxmlparser/src/doxmlparser.pro.in addon/doxmlparser/test/xmlparse.pro.in addon/doxmlparser/examples/metrics/metrics.pro.in libpng/libpng.pro.in libmd5/libmd5.pro.in addon/doxyapp/doxyapp.pro.in"
++f_inprofiles="qtools/qtools.pro.in src/libdoxygen.pro.in src/libdoxycfg.pro.in src/doxygen.pro.in src/doxytag.pro.in addon/doxywizard/doxywizard.pro.in addon/doxmlparser/src/doxmlparser.pro.in addon/doxmlparser/test/xmlparse.pro.in addon/doxmlparser/examples/metrics/metrics.pro.in addon/doxyapp/doxyapp.pro.in"
+
+ for i in $f_inprofiles ; do
+ SRC=$i
diff --git a/devel/doxygen/files/patch-doc-Makefile.in b/devel/doxygen/files/patch-doc-Makefile.in
new file mode 100644
index 000000000..f994ab859
--- /dev/null
+++ b/devel/doxygen/files/patch-doc-Makefile.in
@@ -0,0 +1,18 @@
+--- doc/Makefile.in.orig Mon Jul 8 15:59:59 2002
++++ doc/Makefile.in Tue Oct 22 23:02:24 2002
+@@ -18,12 +18,14 @@
+ VERSION=$(VERSION) ; \
+ export VERSION; \
+ $(DOXYGEN)/bin/doxygen
+- @rm -f ../latex/refman.tex
+ @cp doxygen_logo*.gif ../html
++ifdef HAVE_LATEX
++ @rm -f ../latex/refman.tex
+ @cp Makefile.latex ../latex/Makefile
+ @sed -e "s/\$$VERSION/$(VERSION)/g" doxygen_manual.tex >../latex/doxygen_manual.tex
+ @sed -e "s/\$$VERSION/$(VERSION)/g" doxygen.sty >../latex/doxygen.sty
+ @epstopdf doxygen_logo.eps --outfile=../latex/doxygen_logo.pdf
++endif # HAVE_LATEX
+
+ clean:
+ rm -rf ../html ../latex *.bak translator_report.txt
diff --git a/devel/doxygen/files/patch-doc-Makefile.latex b/devel/doxygen/files/patch-doc-Makefile.latex
new file mode 100644
index 000000000..ffecc2c2b
--- /dev/null
+++ b/devel/doxygen/files/patch-doc-Makefile.latex
@@ -0,0 +1,34 @@
+--- doc/Makefile.latex Sun May 7 14:06:16 2006
++++ doc/Makefile.latex Sun Jun 11 20:27:05 2006
+@@ -13,13 +13,27 @@
+ # input used in their production; they are not affected by this license.
+
+-all: doxygen_manual.pdf
++all: doxygen_manual.pdf doxygen_manual.ps
+
+ doxygen_manual.pdf: doxygen_manual.tex doxygen.sty
+- echo "Running latex..."
++ @echo "Running latex..."
+ pdflatex doxygen_manual.tex
+- echo "Running makeindex..."
++ @echo "Running makeindex..."
+ makeindex doxygen_manual.idx
+- echo "Rerunning latex...."
++ @echo "Rerunning latex...."
+ pdflatex doxygen_manual.tex
++
++graphics:
++ ln -s ../doc/doxygen_logo.eps .
++ ln -s ../doc/doxygen_logo.gif .
++
++doxygen_manual.dvi: doxygen_manual.pdf graphics
++ @echo "Running latex again to get a .dvi file..."
++ latex doxygen_manual.tex
++
++doxygen_manual.ps: doxygen_manual.dvi
++ dvips -o doxygen_manual.ps doxygen_manual.dvi
++
+ clean:
+ rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log doxygen_manual.pdf
++
++.PHONY: graphics
diff --git a/devel/doxygen/files/patch-fix_with_libiconv-1.11 b/devel/doxygen/files/patch-fix_with_libiconv-1.11
new file mode 100644
index 000000000..64c98676d
--- /dev/null
+++ b/devel/doxygen/files/patch-fix_with_libiconv-1.11
@@ -0,0 +1,11 @@
+--- src/portable.cpp.orig 2007-10-11 14:27:23.000000000 -0500
++++ src/portable.cpp 2007-10-11 14:28:15.000000000 -0500
+@@ -378,7 +378,7 @@
+ #else
+ #define CASTNEEDED(x) (char **)(x)
+ #endif
+- return iconv(cd,CASTNEEDED(inbuf),inbytesleft,outbuf,outbytesleft);
++ return iconv(cd,inbuf,inbytesleft,outbuf,outbytesleft);
+ }
+
+ int portable_iconv_close (void *cd)
diff --git a/devel/doxygen/files/patch-md5 b/devel/doxygen/files/patch-md5
new file mode 100644
index 000000000..27c21819f
--- /dev/null
+++ b/devel/doxygen/files/patch-md5
@@ -0,0 +1,153 @@
+Every other package these days seems to come with its own MD5
+implementation. Try to trim this insanity, where we can...
+
+ -mi
+
+diff -ruN src/dirdef.cpp src/dirdef.cpp
+--- src/dirdef.cpp Sun Jan 28 13:28:50 2007
++++ src/dirdef.cpp Mon Jun 11 18:32:26 2007
+@@ -1,3 +1,4 @@
++#include <sys/types.h>
+ #include <md5.h>
+
+ #include "dirdef.h"
+@@ -73,10 +74,8 @@
+ QCString result;
+
+ // convert to md5 hash
+- uchar md5_sig[16];
+ QCString sigStr(33);
+- MD5Buffer((const unsigned char *)anchor.data(),anchor.length(),md5_sig);
+- MD5SigToString(md5_sig,sigStr.data(),33);
++ MD5Data((const unsigned char *)anchor.data(),anchor.length(),sigStr.data());
+ return sigStr;
+
+ // old algorithm
+diff -ruN src/dot.cpp src/dot.cpp
+--- src/dot.cpp Wed Mar 21 22:35:06 2007
++++ src/dot.cpp Mon Jun 11 18:33:40 2007
+@@ -38,6 +38,7 @@
+ #include <qdir.h>
+ #include <qfile.h>
+ #include <qtextstream.h>
++#include <sys/types.h>
+ #include <md5.h>
+
+ #define MAP_CMD "cmap"
+@@ -1204,10 +1205,8 @@
+ }
+ writeGraphFooter(md5stream);
+ resetReNumbering();
+- uchar md5_sig[16];
+ QCString sigStr(33);
+- MD5Buffer((const unsigned char *)theGraph.ascii(),theGraph.length(),md5_sig);
+- MD5SigToString(md5_sig,sigStr.data(),33);
++ MD5Data((const unsigned char *)theGraph.ascii(),theGraph.length(),sigStr.data());
+ if (checkAndUpdateMd5Signature(baseName,sigStr) ||
+ !QFileInfo(mapName).exists())
+ {
+@@ -1833,10 +1832,8 @@
+ }
+ }
+ writeGraphFooter(md5stream);
+- uchar md5_sig[16];
+ QCString sigStr(33);
+- MD5Buffer((const unsigned char *)buf.ascii(),buf.length(),md5_sig);
+- MD5SigToString(md5_sig,sigStr.data(),33);
++ MD5Data((const unsigned char *)buf.ascii(),buf.length(),sigStr.data());
+ if (reNumber)
+ {
+ resetReNumbering();
+diff -ruN src/doxygen.pro.in src/doxygen.pro.in
+--- src/doxygen.pro.in Tue Feb 20 19:27:35 2007
++++ src/doxygen.pro.in Mon Jun 11 18:34:03 2007
+@@ -18,7 +18,7 @@
+ CONFIG = console warn_on $extraopts
+ HEADERS = doxygen.h
+ SOURCES = main.cpp
+-unix:LIBS += -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5
++unix:LIBS += -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd
+ win32:INCLUDEPATH += .
+ win32-mingw:LIBS += -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5
+ win32-msvc:LIBS += qtools.lib png.lib md5.lib doxygen.lib doxycfg.lib shell32.lib
+@@ -28,7 +28,7 @@
+ win32:TMAKE_CXXFLAGS += -DQT_NODLL
+ win32-g++:LIBS = -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5
+ win32-g++:TMAKE_CXXFLAGS += -fno-exceptions -fno-rtti
+-INCLUDEPATH += ../qtools ../libpng ../libmd5 .
++INCLUDEPATH += ../qtools .
+ #win32-g++:INCLUDEPATH -= ../libpng
+ DESTDIR = ../bin
+ TARGET = doxygen
+diff -ruN src/memberdef.cpp src/memberdef.cpp
+--- src/memberdef.cpp Wed Mar 14 15:49:45 2007
++++ src/memberdef.cpp Mon Jun 11 18:32:26 2007
+@@ -17,6 +17,7 @@
+
+ #include <stdio.h>
+ #include <qregexp.h>
++#include <sys/types.h>
+ #include <assert.h>
+ #include <md5.h>
+ #include "memberdef.h"
+@@ -2361,10 +2362,8 @@
+ memAnchor.prepend(definition());
+
+ // convert to md5 hash
+- uchar md5_sig[16];
+ QCString sigStr(33);
+- MD5Buffer((const unsigned char *)memAnchor.data(),memAnchor.length(),md5_sig);
+- MD5SigToString(md5_sig,sigStr.data(),33);
++ MD5Data((const unsigned char *)memAnchor.data(),memAnchor.length(),sigStr.data());
+ m_impl->anc = sigStr;
+ }
+
+diff -ruN src/util.cpp src/util.cpp
+--- src/util.cpp Wed Mar 14 13:36:26 2007
++++ src/util.cpp Mon Jun 11 18:32:26 2007
+@@ -19,6 +19,7 @@
+ #include <ctype.h>
+ #include <errno.h>
+
++#include <sys/types.h>
+ #include <md5.h>
+
+ #include "qtbc.h"
+@@ -4561,16 +4562,16 @@
+ if (resultLen>=128) // prevent names that cannot be created!
+ {
+ // third algorithm based on MD5 hash
+- uchar md5_sig[16];
+ QCString sigStr(33);
+- MD5Buffer((const unsigned char *)result.data(),resultLen,md5_sig);
+- MD5SigToString(md5_sig,sigStr.data(),33);
++ MD5Data((const unsigned char *)result.data(),resultLen,sigStr.data());
+ result=result.left(128-32)+sigStr;
+ }
+ }
+ if (createSubdirs)
+ {
++#if MAP_ALGO==ALGO_COUNT || MAP_ALGO==ALGO_CRC16
+ int l1Dir=0,l2Dir=0;
++#endif
+
+ #if MAP_ALGO==ALGO_COUNT
+ // old algorithm, has the problem that after regeneration the
+@@ -4601,12 +4602,13 @@
+ l2Dir = (dirNum>>4)&0xff;
+ #elif MAP_ALGO==ALGO_MD5
+ // third algorithm based on MD5 hash
+- uchar md5_sig[16];
+- MD5Buffer((const unsigned char *)result.data(),result.length(),md5_sig);
+- l1Dir = md5_sig[14]&0xf;
+- l2Dir = md5_sig[15];
++ char md5[33];
++ MD5Data((const unsigned char *)result.data(),result.length(),md5);
++ result.prepend(QCString().sprintf("d%c/d%c%c/",md5[29],md5[30],md5[31]));
+ #endif
++#if MAP_ALGO==ALGO_COUNT || MAP_ALGO==ALGO_CRC16
+ result.prepend(QCString().sprintf("d%x/d%02x/",l1Dir,l2Dir));
++#endif
+ }
+ return result;
+ } \ No newline at end of file
diff --git a/devel/doxygen/files/patch-png b/devel/doxygen/files/patch-png
new file mode 100644
index 000000000..d3dee411f
--- /dev/null
+++ b/devel/doxygen/files/patch-png
@@ -0,0 +1,25 @@
+Use the standard png-library instead of rolling our own.
+
+ -mi
+
+--- src/pngenc.cpp Sun May 7 14:02:31 2006
++++ src/pngenc.cpp Wed Jun 14 01:50:19 2006
+@@ -21,10 +21,5 @@
+ */
+
+-#ifndef png_jmpbuf
+-# define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf)
+-#endif
+-
+-#define ALL_STATIC
+-#include <../libpng/png.h>
++#include <png.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -33,6 +28,4 @@
+ #include "pngenc.h"
+ #include "message.h"
+-
+-#undef jmpbuf
+
+ static void user_error_fn(png_structp, png_const_charp error_msg)
diff --git a/devel/doxygen/files/patch-warnings b/devel/doxygen/files/patch-warnings
new file mode 100644
index 000000000..b2e50c9e7
--- /dev/null
+++ b/devel/doxygen/files/patch-warnings
@@ -0,0 +1,15 @@
+--- qtools/qgdict.cpp Wed Apr 13 15:51:44 2005
++++ qtools/qgdict.cpp Wed Jun 14 01:43:49 2006
+@@ -41,4 +41,5 @@
+ #include "qdatastream.h"
+ #include <ctype.h>
++#include <sys/types.h>
+
+ // NOT REVISED
+@@ -1005,5 +1006,5 @@
+ case PtrKey:
+ {
+- Q_UINT32 k;
++ uintptr_t k;
+ s >> k;
+ read( s, d );
diff --git a/devel/doxygen/pkg-descr b/devel/doxygen/pkg-descr
new file mode 100644
index 000000000..6db98f4ef
--- /dev/null
+++ b/devel/doxygen/pkg-descr
@@ -0,0 +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.
+The documentation is extracted directly from the sources.
+
+WWW: http://www.doxygen.org/