# HG changeset patch # User Nathan Phillip Brink # Date 2010-09-24 14:25:23 # Node ID b44b5143409f04d8eea468f19188b485def21eb3 # Parent a1d97510d942a903d488357414f0fbf14850d55e app-doc/doxygen: Import app-doc/doxyugen-1.7.1 so that I might forward-port my multilib fixes. (Portage version: 2.2_rc69-r1/hg/Linux x86_64, signed Manifest commit) diff --git a/app-doc/doxygen/ChangeLog b/app-doc/doxygen/ChangeLog --- a/app-doc/doxygen/ChangeLog +++ b/app-doc/doxygen/ChangeLog @@ -2,6 +2,11 @@ # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 # $Header: /var/cvsroot/gentoo-x86/app-doc/doxygen/ChangeLog,v 1.174 2010/02/08 19:21:51 abcd Exp $ + 24 Sep 2010; Nathan Phillip Brink (ohnobinki) + +doxygen-1.7.1.ebuild: + Import app-doc/doxyugen-1.7.1 so that I might forward-port my multilib + fixes. + 08 Feb 2010; Jonathan Callen +files/doxygen-1.5.6-prefix-misc-alt.patch, doxygen-1.6.1.ebuild: Bump to EAPI=3, add prefix support/keywords/patch diff --git a/app-doc/doxygen/Manifest b/app-doc/doxygen/Manifest --- a/app-doc/doxygen/Manifest +++ b/app-doc/doxygen/Manifest @@ -1,3 +1,6 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + AUX bsd-configure.patch 504 RMD160 4d3321c677bbfcae2c25c7937ef015ff41812594 SHA1 df68c4be15c41b02c822364b5f54214ce65b3fc0 SHA256 8aa47622750701cd492b35e8037b3b8a5ed1c13e564d0a0081a09877717b9cf1 AUX doxygen-1.5-dot-eps.patch 2247 RMD160 b34b332df8b6769f73613ba11f98b3c5bdee40c6 SHA1 ab5c78d0599661e82a9ac1f4bf0117318e54712e SHA256 6dc47978298a39bc520a1f48206be26f76657842f14aba3413768352c7e87d45 AUX doxygen-1.5-legacy-patches.diff 7242 RMD160 0100a2305101b392764eaf867a32e0d14dcf9208 SHA1 bb564532f157e72436e0c8ecbbed163d96db3674 SHA256 f696c10fe571d281ed8178e7a07864c7a5bba9cc21ac723ee9669ac32e43e114 @@ -9,8 +12,27 @@ AUX doxywizard.png 4231 RMD160 b194049b4 DIST doxygen-1.5.8.src.tar.gz 4125837 RMD160 e392cd00960c4036661c8cda3ec6bc6ee3fe300c SHA1 a55b1c41417be8acb3ac5e1553a711ffa437cba2 SHA256 01540aaf7e929e7784e3392331f2c915480acb174a16e8652855d90965f44ff8 DIST doxygen-1.5.9.src.tar.gz 4141375 RMD160 51d79c0f8846f47e9aa8c37cd0eb9db630491885 SHA1 6211b850bdaa2198e35546e4299a27774c957ece SHA256 89c3d1102e9e5c63ff735dee88b595bc986fbb2b5944b28ba5f91d31adf8958e DIST doxygen-1.6.1.src.tar.gz 3902407 RMD160 0a9c5962dbd076bac418b85b72a4874576c9da4d SHA1 31f861841eba1ebdded1b4bf70bdecb42441dafd SHA256 4c5aedf052a14a0f7fe8c126140ff1c5c50887c74814a4804181c61625d539d3 +DIST doxygen-1.7.1.src.tar.gz 4116363 RMD160 83187765052258078afb0959b80524f703c20cd7 SHA1 fca75d70f48ef0def276fd8db495772f6c43f862 SHA256 4b866f3b194970d7e0768944255d89b0a1aae7bf337f5ae3e4b8358da349da31 EBUILD doxygen-1.5.8-r1.ebuild 5595 RMD160 27f83c683eccbe835d0639e3d72f9382c175270c SHA1 c0346fdc2ed0f609a901b77794de063960f54c53 SHA256 97db981432bd0c0432a11ccc272f0b51913869d1ebc73a4e99da1d0e16fdf375 EBUILD doxygen-1.5.9.ebuild 5393 RMD160 3b0fcfb62e47acc69a88012c572096aaf7d8a01e SHA1 699126289a600197b6c0768f06979c9afdcd7c01 SHA256 a4893be42a65463170f70d0275ed54db72a056dfc61a50171dfdbc0f395a4a4d EBUILD doxygen-1.6.1.ebuild 5587 RMD160 96c5af4fffd4300f699f653b1516d5085b5e84b9 SHA1 7f6537e8f73100f4337d916c614f2f450b3cdcc1 SHA256 6702116e1ad87e711f2e2d863aa702d5a6cf2a0261f17b71509134d0874e0b5d -MISC ChangeLog 29688 RMD160 adbad11a188df92f9471a8c9527072cc465454fa SHA1 d20de9c622aaf40fc946da7f4408ddcbffc20ce0 SHA256 88aeea7349c3daf2012b5e22c513974a085ef59ef3a1679e939356d5427200f5 +EBUILD doxygen-1.7.1.ebuild 5150 RMD160 c41eaadfd7d3a55e9819d5d1fdd834057ea662ee SHA1 bd1de38b765f1e5db61617d65643cc6f585a64b9 SHA256 39a38a458eb2eef27068de1a5acc91f1c9285eadff1d0100c32f41b6c36b8218 +MISC ChangeLog 29875 RMD160 e1b8e02c2b5f600812aebf26dd1fa59e11e54806 SHA1 0455a57c97b5eca56388d50547bc81aba6204b1d SHA256 fc0ae44e3b986766d57775cecc639d760804ecda583a204efe5c4099215066a1 MISC metadata.xml 740 RMD160 288a23989773f251e7acccaf77ae390ca2376c3a SHA1 8fc5f720b18d2952fd0519fd73e3dcb66aa94ee4 SHA256 90abffce7a6f2d24635ea2cf3cb7e64c9374304d9f9daacf5f963e0d8bfcb4f8 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.14 (GNU/Linux) + +iQIcBAEBCAAGBQJMnO0SAAoJEHQ6UuhrqBBQfLEP/jZAOWUbsnLQZOOfUjbVBqWq +EWcjpsbSlj17VXZDulLSjKuiZ6cdjM0N4MlrNfPA3TUdPKjVAPBQE0K/jCivuyc6 +HnKyiv1tuYfuzXD5ibUoBbFux5dRxPa+5YkVGMo6cruFLFV476HI+1YeTtrtOj3R +j7TwYJYr380S7TK6vwNz+0v/qD/iuR2e1JmRBKt1rBbvPwJzxY+rnxDQE/+/bPUL +Xyq40cy15d9TOMpikNq5buV9wXF2npi2ggG+whDUb12Fh+tjSxPmXqz5vakPeIyp +DeC5hkKCCVb0epl5Q2JwPrZbCxTDClSTbSva4XJ8g30RXoZ4xrJz177wD+EuHdgZ +st9z8xGC82XDxz1EOpmzKOtX7l+g7IEfGK2y1UpXido9yMlKiy+XS+uvIRvP6eh/ +tKH7itC7zMdGrla6bOJGMvhP1AIxZ25ciNeoftVnUoeLVl51+qQFCl7Fc4CstwZL +kVVA61otvI7vZwgBRREKnJfpt+Rnn5nhlyFOKoDTT2xxAP/BnCz+MbdhOIL2NrsQ +6DzcP3ORNYUy3uvUjMwXnWGthp5jDHyV00K+iDanE/yx0+foFAjtV/pV17AuFJda +KPMkYBrneeGvui1KPSoaqLOF0bJB4JQ06578IQMGgMIk2VRQK2jt1//g3jHrxhh7 +7w1jKqt591wZvkHzZL5+ +=8lRH +-----END PGP SIGNATURE----- diff --git a/app-doc/doxygen/doxygen-1.7.1.ebuild b/app-doc/doxygen/doxygen-1.7.1.ebuild new file mode 100644 --- /dev/null +++ b/app-doc/doxygen/doxygen-1.7.1.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-doc/doxygen/doxygen-1.7.1.ebuild,v 1.1 2010/07/26 07:49:32 nerdboy Exp $ + +EAPI=3 + +inherit eutils flag-o-matic toolchain-funcs qt4-r2 fdo-mime + +DESCRIPTION="documentation system for C++, C, Java, Objective-C, Python, IDL, and other languages" +HOMEPAGE="http://www.doxygen.org/" +SRC_URI="ftp://ftp.stack.nl/pub/users/dimitri/${P}.src.tar.gz" + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" + +IUSE="debug doc nodot qt4 latex elibc_FreeBSD" +LICENSE="GPL-2" +SLOT="0" + +RDEPEND="qt4? ( x11-libs/qt-gui:4 ) + latex? ( >=app-text/texlive-2008[extra] ) + dev-lang/python + virtual/libiconv + media-libs/libpng + app-text/ghostscript-gpl + !nodot? ( >=media-gfx/graphviz-2.20.0 + media-libs/freetype )" +DEPEND=">=sys-apps/sed-4 + sys-devel/flex + ${RDEPEND}" + +EPATCH_SUFFIX="patch" + +src_prepare() { + # use CFLAGS, CXXFLAGS, LDFLAGS + sed -i.orig -e 's:^\(TMAKE_CFLAGS_RELEASE\t*\)= .*$:\1= $(ECFLAGS):' \ + -e 's:^\(TMAKE_CXXFLAGS_RELEASE\t*\)= .*$:\1= $(ECXXFLAGS):' \ + -e 's:^\(TMAKE_LFLAGS_RELEASE\s*\)=.*$:\1= $(ELDFLAGS):' \ + tmake/lib/{{linux,freebsd,netbsd,openbsd,solaris}-g++,macosx-c++}/tmake.conf \ + || die "sed 1 failed" + + # Ensure we link to -liconv + if use elibc_FreeBSD; then + for pro in */*.pro.in */*/*.pro.in; do + echo "unix:LIBS += -liconv" >> "${pro}" + done + fi + + # Call dot with -Teps instead of -Tps for EPS generation - bug #282150 + epatch "${FILESDIR}/${P}-dot-eps.patch" + + # prefix search tools patch, plus OSX fixes + epatch "${FILESDIR}"/${PN}-1.5.6-prefix-misc-alt.patch + + # fix final DESTDIR issue + sed -i.orig -e "s:\$(INSTALL):\$(DESTDIR)/\$(INSTALL):g" \ + addon/doxywizard/Makefile.in || die "sed 2 failed" + + if is-flagq "-O3" ; then + echo + ewarn "Compiling with -O3 is known to produce incorrectly" + ewarn "optimized code which breaks doxygen." + echo + elog "Continuing with -O2 instead ..." + echo + replace-flags "-O3" "-O2" + fi +} + +src_configure() { + export ECFLAGS="${CFLAGS}" ECXXFLAGS="${CXXFLAGS}" ELDFLAGS="${LDFLAGS}" + # set ./configure options (prefix, Qt based wizard, docdir) + + local my_conf="" + use debug && my_conf="--debug" + + export CC="${QMAKE_CC}" + export CXX="${QMAKE_CXX}" + export LINK="${QMAKE_LINK}" + export LINK_SHLIB="${QMAKE_CXX}" + + if use qt4; then + export QTDIR="${EPREFIX}/usr" + einfo "using QTDIR: '$QTDIR'." + export LIBRARY_PATH="${QTDIR}/$(get_libdir)${LIBRARY_PATH:+:}${LIBRARY_PATH}" + export LD_LIBRARY_PATH="${QTDIR}/$(get_libdir)${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}" + einfo "using QT LIBRARY_PATH: '$LIBRARY_PATH'." + einfo "using QT LD_LIBRARY_PATH: '$LD_LIBRARY_PATH'." + ./configure --prefix "${EPREFIX}/usr" ${my_conf} $(use_with qt4 doxywizard) \ + || die 'configure with qt4 failed' + else + ./configure --prefix "${EPREFIX}/usr" ${my_conf} || die 'configure failed' + fi +} + +src_compile() { + emake all || die 'emake failed' + + # generate html and pdf (if tetex in use) documents. + # errors here are not considered fatal, hence the ewarn message + # TeX's font caching in /var/cache/fonts causes sandbox warnings, + # so we allow it. + if use doc; then + if use nodot; then + sed -i -e "s/HAVE_DOT = YES/HAVE_DOT = NO/" \ + {Doxyfile,doc/Doxyfile} \ + || ewarn "disabling dot failed" + fi + if use latex; then + addwrite /var/cache/fonts + addwrite /var/cache/fontconfig + addwrite /usr/share/texmf/fonts/pk + addwrite /usr/share/texmf/ls-R + make pdf || ewarn '"make pdf docs" failed.' + else + cp doc/Doxyfile doc/Doxyfile.orig + cp doc/Makefile doc/Makefile.orig + sed -i.orig -e "s/GENERATE_LATEX = YES/GENERATE_LATEX = NO/" \ + doc/Doxyfile + sed -i.orig -e "s/@epstopdf/# @epstopdf/" \ + -e "s/@cp Makefile.latex/# @cp Makefile.latex/" \ + -e "s/@sed/# @sed/" doc/Makefile + make docs || ewarn '"make html docs" failed.' + fi + fi +} + +src_install() { + make DESTDIR="${D}" MAN1DIR=share/man/man1 \ + install || die '"make install" failed.' + + if use qt4; then + doicon "${FILESDIR}/doxywizard.png" + make_desktop_entry doxywizard "DoxyWizard ${PV}" \ + "doxywizard.png" "Application;Development" + fi + + dodoc INSTALL LANGUAGE.HOWTO README + + # pdf and html manuals + if use doc; then + dohtml -r html/* + if use latex; then + insinto /usr/share/doc/"${PF}" + doins latex/doxygen_manual.pdf + fi + fi +} + +pkg_postinst() { + fdo-mime_desktop_database_update + + elog + elog "The USE flags qt4, doc, and latex will enable doxywizard, or" + elog "the html and pdf documentation, respectively. For examples" + elog "and other goodies, see the source tarball. For some example" + elog "output, run doxygen on the doxygen source using the Doxyfile" + elog "provided in the top-level source dir." + elog + elog "Enabling the nodot USE flag will remove the GraphViz dependency," + elog "along with Doxygen's ability to generate diagrams in the docs." + elog "See the Doxygen homepage for additional helper tools to parse" + elog "more languages." + elog +} + +pkg_postrm() { + fdo-mime_desktop_database_update +}