# ChangeLog for app-doc/doxygen
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-doc/doxygen/ChangeLog,v 1.175 2010/03/08 07:15:06 nerdboy Exp $

*doxygen-1.6.3 (08 Mar 2010)
*doxygen-1.6.2 (08 Mar 2010)

  08 Mar 2010; Steve Arnold <nerdboy@gentoo.org> +doxygen-1.6.2.ebuild,
  +files/doxygen-1.6.2-dot-eps.patch, +doxygen-1.6.3.ebuild:
  Updated to latest versions, (closes bug 300577) simplified texlive deps.

  08 Feb 2010; Jonathan Callen <abcd@gentoo.org>
  +files/doxygen-1.5.6-prefix-misc-alt.patch, doxygen-1.6.1.ebuild:
  Bump to EAPI=3, add prefix support/keywords/patch

  17 Jan 2010; Dominik Kapusta <ayoy@gentoo.org> doxygen-1.5.9.ebuild,
  doxygen-1.6.1.ebuild:
  Ported to qt4-r2 eclass + switched to EAPI="2" for 1.5.9

  02 Jan 2010; Ben de Groot <yngwin@gentoo.org> doxygen-1.4.7.ebuild,
  doxygen-1.5.4.ebuild, doxygen-1.5.5.ebuild, doxygen-1.5.6.ebuild,
  doxygen-1.5.7.1.ebuild:
  Drop qt3 support

  26 Dec 2009; Peter Volkov <pva@gentoo.org> doxygen-1.4.7.ebuild,
  doxygen-1.5.4.ebuild, doxygen-1.5.5.ebuild, doxygen-1.5.6.ebuild,
  doxygen-1.5.7.1.ebuild, doxygen-1.5.8-r1.ebuild, doxygen-1.5.9.ebuild,
  doxygen-1.6.1.ebuild:
  virtual/ghostscript->app-text/ghostscript-gpl: ghostscript-gpl is the only
  implementation left in the tree.

*doxygen-1.6.1 (25 Sep 2009)

  25 Sep 2009; Steve Arnold <nerdboy@gentoo.org> -doxygen-1.6.0.ebuild,
  +doxygen-1.6.1.ebuild:
  Updated to current release; fixes eigen borkage plus a few other issues 
  (closes bugs 282598 and 283780).

  27 Aug 2009; Raúl Porcel <armin76@gentoo.org> doxygen-1.5.8-r1.ebuild:
  arm/ia64/sh/s390 stable wrt #263641

  27 Aug 2009; Steve Arnold <nerdboy@gentoo.org> doxygen-1.5.4.ebuild,
  doxygen-1.5.8-r1.ebuild, doxygen-1.5.9.ebuild, doxygen-1.6.0.ebuild:
  Update missing latex font deps (closes bug 274673).

*doxygen-1.5.9 (25 Aug 2009)

  25 Aug 2009; Steve Arnold <nerdboy@gentoo.org> +doxygen-1.5.9.ebuild:
  Adding version 1.5.9 until some issues are worked out.  This fixes some
  problems with 1.5.8, and 1.6.0 is masked for time being.  Fixes bug
  #275753.

*doxygen-1.6.0 (25 Aug 2009)

  25 Aug 2009; Steve Arnold <nerdboy@gentoo.org>
  +files/doxygen-1.5-dot-eps.patch, +doxygen-1.6.0.ebuild:
  Updated to latest upstream release (see bug #269961) and there is 
  already one reported failure (see bug #282598) which has been reported 
  upstream (http://bugzilla.gnome.org/show_bug.cgi?id=592975).

  12 Jul 2009; Tobias Klausmann <klausman@gentoo.org>
  doxygen-1.5.8-r1.ebuild:
  Stable on alpha, bug #263641

  09 Jul 2009; Jeroen Roovers <jer@gentoo.org> doxygen-1.5.8-r1.ebuild:
  Stable for HPPA (bug #263641).

*doxygen-1.5.8-r1 (17 Jun 2009)

  17 Jun 2009; Peter Volkov <pva@gentoo.org> -doxygen-1.5.8.ebuild,
  +doxygen-1.5.8-r1.ebuild:
  Revbump to make doxygen-1.5.8-kdedocs.patch get our users, bug #266693.

  08 Jun 2009; Steve Arnold <nerdboy@gentoo.org>
  +files/doxygen-1.5.8-kdedocs.patch, doxygen-1.5.8.ebuild:
  Updated with back-ported patch, courtesy of (thanks!) Martin von Gagern 
  <Martin.vGagern@gmx.net>.

  01 Jun 2009; Ferris McCormick <fmccor@gentoo.org> doxygen-1.5.8.ebuild:
  Sparc stable, Bug #263641, required for Bug #271815.

  31 May 2009; Markus Meier <maekke@gentoo.org> doxygen-1.5.8.ebuild:
  amd64/x86 stable, bug #271815

  31 May 2009; nixnut <nixnut@gentoo.org> doxygen-1.5.8.ebuild:
  ppc stable #271815

  30 May 2009; Ulrich Mueller <ulm@gentoo.org> doxygen-1.4.7.ebuild,
  doxygen-1.5.4.ebuild, doxygen-1.5.5.ebuild, doxygen-1.5.6.ebuild,
  doxygen-1.5.7.1.ebuild, doxygen-1.5.8.ebuild:
  Remove app-text/tetex from dependencies, bug 227443.

  04 Feb 2009; Ben de Groot <yngwin@gentoo.org> doxygen-1.5.8:
  Correct qt:4 dep to use split deps

*doxygen-1.5.8 (03 Feb 2009)

  03 Feb 2009; Steve Arnold <nerdboy@gentoo.org> +doxygen-1.5.8.ebuild:
  Update to latest version with qt4 support (closes bug #252978).

  24 Dec 2008; Steve Arnold <nerdboy@gentoo.org>
  +files/doxygen-1.5.7.1-substitute.patch, doxygen-1.5.7.1.ebuild:
  Updated with patch for bug #251533 (relpath empty string replacement issue).

  04 Nov 2008; Diego Pettenò <flameeyes@gentoo.org> doxygen-1.5.7.1.ebuild:
  Add flex dependency.

*doxygen-1.5.7.1 (02 Nov 2008)

  02 Nov 2008; Steve Arnold <nerdboy@gentoo.org> +doxygen-1.5.7.1.ebuild:
  Updated texlive deps (again) and fixed the last of the DESTDIR issues
  (for the latest upstream release).  Closes bug #240201.

  11 Oct 2008; Steve Arnold <nerdboy@gentoo.org> doxygen-1.5.6.ebuild,
  doxygen-1.5.5.ebuild, doxygen-1.5.4.ebuild, doxygen-1.4.7.ebuild:
  Updated latex depends for bugs 237960 and 241350 since the virtual does
  not seem to be working very well for people.  Added several deps for
  texlive; thanks to mephinet <mephinet@gmx.net> and <gengor@gentoo.org>
  for helping to track down some of the needed depends (this latex/tetex
  thing is painful).

  02 Sep 2008; Christian Faulhammer <opfer@gentoo.org>
  -doxygen-1.4.4.ebuild, -doxygen-1.5.2.ebuild:
  clean up

  02 Sep 2008; Christian Faulhammer <opfer@gentoo.org> doxygen-1.4.7.ebuild:
  rename USE=tetex to USE=latex for bug 196745

*doxygen-1.5.6 (16 Aug 2008)

  16 Aug 2008; Steve Arnold <nerdboy@gentoo.org>
  -files/1.4.6/01_all_cp1251.patch, -files/1.4.6/02_all_freebsd.patch,
  -files/1.4.6/03_all_segfault.patch,
  -files/1.4.6/05_all_system-libpng.patch, -files/1.4.6/06_all_qtools.patch,
  -doxygen-1.4.2.ebuild, -doxygen-1.4.3-r1.ebuild, -doxygen-1.4.5.ebuild,
  -doxygen-1.4.6.ebuild, -doxygen-1.5.1.ebuild, -doxygen-1.5.3.ebuild,
  +doxygen-1.5.6.ebuild:
  Added latest release (see bug #223275) and cleaned up stale versions. I
  tried to keep enough of the older ones around not to leave anyone out in
  the cold; if you really need one of the above old versions in portage,
  please file a bug with your requirements.

  29 Jul 2008; Carsten Lohrke <carlo@gentoo.org> doxygen-1.4.2.ebuild,
  doxygen-1.4.3-r1.ebuild, doxygen-1.4.4.ebuild, doxygen-1.4.5.ebuild,
  doxygen-1.4.6.ebuild, doxygen-1.4.7.ebuild, doxygen-1.5.1.ebuild,
  doxygen-1.5.2.ebuild, doxygen-1.5.3.ebuild, doxygen-1.5.4.ebuild,
  doxygen-1.5.5.ebuild:
  Fix bug #233117.

  24 Jul 2008; Doug Goldstein <cardoe@gentoo.org> metadata.xml:
  add GLEP 56 USE flag desc from use.local.desc

  03 Jul 2008; Steve Arnold <nerdboy@gentoo.org> doxygen-1.5.4.ebuild,
  doxygen-1.5.5.ebuild:
  updated latest stable/testing with latex USE flag per bug #230155

  27 Apr 2008; Steve Arnold <nerdboy@gentoo.org> doxygen-1.4.7.ebuild,
  doxygen-1.5.1.ebuild, doxygen-1.5.2.ebuild, doxygen-1.5.3.ebuild,
  doxygen-1.5.4.ebuild, doxygen-1.5.5.ebuild:
  updated postinst info for bug #217885

  13 Mar 2008; <ricmm@gentoo.org> doxygen-1.4.2.ebuild,
  doxygen-1.4.4.ebuild, doxygen-1.4.7.ebuild:
  Drop to ~mips due to unstable deps

  12 Mar 2008; Steve Arnold <nerdboy@gentoo.org> doxygen-1.5.4.ebuild,
  doxygen-1.5.5.ebuild:
  updated for bug #212770

*doxygen-1.5.5 (16 Feb 2008)

  16 Feb 2008; Steve Arnold <nerdboy@gentoo.org>
  +files/doxygen-1.5-qtlibdir.patch, +files/doxygen-1.5-system-libpng.patch,
  doxygen-1.5.2.ebuild, doxygen-1.5.3.ebuild, doxygen-1.5.4.ebuild,
  +doxygen-1.5.5.ebuild:
  Updated with patch from bug #210237 and added latest release.  Fixed
  broken config with hack for lib64 path for QT and back-ported patches
  to several previous versions (tested on both 32 and 64-bit machines).
  Closes bugs #209977 and #210237.

  24 Jan 2008; Christoph Mende <angelos@gentoo.org> doxygen-1.5.4.ebuild:
  Stable on amd64, bug #203652

  08 Jan 2008; Jeroen Roovers <jer@gentoo.org> doxygen-1.5.4.ebuild:
  Stable for HPPA (bug #203652).

  31 Dec 2007; Raúl Porcel <armin76@gentoo.org> doxygen-1.5.4.ebuild:
  alpha/ia64/sparc stable wrt #203652

  30 Dec 2007; Markus Meier <maekke@gentoo.org> doxygen-1.5.4.ebuild:
  x86 stable, bug #203652

  29 Dec 2007; Brent Baude <ranger@gentoo.org> doxygen-1.5.4.ebuild:
  Marking doxygen-1.5.4 ppc for bug 203652

  29 Dec 2007; Brent Baude <ranger@gentoo.org> doxygen-1.5.4.ebuild:
  Marking doxygen-1.5.4 ppc64 for bug 203652

  15 Dec 2007; Steve Arnold <nerdboy@gentoo.org> doxygen-1.5.4.ebuild:
  Updated depends for bug 202027 (added virtual/libconv and implicit
  deps are now declared explicitly).

  23 Nov 2007; Steve Arnold <nerdboy@gentoo.org> doxygen-1.5.4.ebuild:
  adding libconv hack for FreeBSD (inadvertently dropped on the floor)

*doxygen-1.5.4 (21 Nov 2007)

  21 Nov 2007; Steve Arnold <nerdboy@gentoo.org> +doxygen-1.5.4.ebuild:
  Updated to new version, closes bug 198954.

  21 Sep 2007; Roy Marples <uberlord@gentoo.org> doxygen-1.5.3.ebuild:
  Link to libiconv for FreeBSD.

*doxygen-1.5.3 (02 Sep 2007)

  02 Sep 2007; Steve Arnold <nerdboy@gentoo.org> +files/doxywizard.png,
  +doxygen-1.5.3.ebuild:
  Updated to latest release, added desktop entry and nodot use flag
  (addresses bugs 188124 and 181890).  USE=nodot will remove both the
  graphviz dependency and the capability to generate dot-based graphs.
  If someone has a better icon for doxywizard, please post a bug :)

  12 Jul 2007; Fabian Groffen <grobian@gentoo.org> doxygen-1.4.2.ebuild,
  doxygen-1.4.3-r1.ebuild, doxygen-1.4.4.ebuild, doxygen-1.4.5.ebuild,
  doxygen-1.4.6.ebuild, doxygen-1.4.7.ebuild, doxygen-1.5.1.ebuild,
  doxygen-1.5.2.ebuild:
  Dropped ppc-macos keyword, see you in prefix

  06 Jul 2007; Lars Weiler <pylon@gentoo.org> doxygen-1.5.2.ebuild:
  Stable on ppc; bug #184044.

  05 Jul 2007; Christoph Mende <angelos@gentoo.org> doxygen-1.5.2.ebuild:
  Stable on amd64 wrt bug #184044

  05 Jul 2007; Jeroen Roovers <jer@gentoo.org> doxygen-1.5.2.ebuild:
  Stable for HPPA (bug #184044).

  05 Jul 2007; Markus Rothe <corsair@gentoo.org> doxygen-1.5.2.ebuild:
  Stable on ppc64; bug #184044

  04 Jul 2007; Gustavo Zacarias <gustavoz@gentoo.org> doxygen-1.5.2.ebuild:
  Stable on sparc wrt #184044

  04 Jul 2007; Raúl Porcel <armin76@gentoo.org> doxygen-1.5.2.ebuild:
  alpha/ia64/x86 stable wrt #184044

  23 Jun 2007; Joshua Kinard <kumba@gentoo.org> doxygen-1.4.7.ebuild:
  Stable on mips.

*doxygen-1.5.2 (24 Apr 2007)

  24 Apr 2007; Steve Arnold <nerdboy@gentoo.org> +doxygen-1.5.2.ebuild:
  updated to latest upstream release, and removed unicode USE flag (ru
  patch incorporated upstream).  Closes bug #174831.

  12 Mar 2007; Steve Arnold <nerdboy@gentoo.org> doxygen-1.4.7.ebuild,
  doxygen-1.5.1.ebuild:
  Updated with new utf8-ru patches for the latest versions.  Thanks to
  Sergey Belyashov <Sergey.Belyashov at gmail.com> for the utf8-ru fixes.
  Fixes bug #167617.

  23 Jan 2007; Marius Mauch <genone@gentoo.org> doxygen-1.4.2.ebuild,
  doxygen-1.4.3-r1.ebuild, doxygen-1.4.4.ebuild, doxygen-1.4.5.ebuild,
  doxygen-1.4.6.ebuild, doxygen-1.4.7.ebuild, doxygen-1.5.1.ebuild:
  Replacing einfo with elog

*doxygen-1.5.1 (01 Nov 2006)

  01 Nov 2006; Steve Arnold <nerdboy@gentoo.org>
  +files/doxygen-1.5-legacy-patches.diff, +doxygen-1.5.1.ebuild:
  version bump (bug 152033) and patch consolidation

  24 Oct 2006; Fabian Groffen <grobian@gentoo.org> doxygen-1.4.7.ebuild:
  Marked ppc-macos stable (bug #138937)

  19 Oct 2006; Bryan Østergaard <kloeri@gentoo.org> doxygen-1.4.7.ebuild:
  Stable on Alpha.

  15 Sep 2006; Steve Arnold <nerdboy@gentoo.org> doxygen-1.4.7.ebuild:
  added fix for bug 147298 (using flag-o-matic), since -O3 still produces
  broken code...

  14 Sep 2006; Danny van Dyk <kugelfang@gentoo.org> doxygen-1.4.7.ebuild:
  Marked stable on amd64 wrt bug #138397.

  13 Sep 2006; Aron Griffis <agriffis@gentoo.org> doxygen-1.4.7.ebuild:
  Mark 1.4.7 stable on ia64. #138937

  13 Sep 2006; <ticho@gentoo.org> doxygen-1.4.7.ebuild:
  Stable on x86, bug 138937.

  10 Sep 2006; Stephanie Lockwood-Childs <wormo@gentoo.org>
  doxygen-1.4.7.ebuild:
  stable on ppc (Bug #138937)

  04 Sep 2006; Gustavo Zacarias <gustavoz@gentoo.org> doxygen-1.4.7.ebuild:
  Stable on sparc wrt #138937

  02 Sep 2006; Jeroen Roovers <jer@gentoo.org> doxygen-1.4.7.ebuild:
  Stable for HPPA (bug #138937).

  12 Aug 2006; Markus Rothe <corsair@gentoo.org> doxygen-1.4.7.ebuild:
  Stable on ppc64; bug #138937

  28 Jul 2006; Caleb Tennis <caleb@gentoo.org> doxygen-1.4.7.ebuild:
  QA: Changed all instances of qt to qt3, per bug #141552

  13 Jul 2006; Aron Griffis <agriffis@gentoo.org> doxygen-1.4.6.ebuild:
  Mark 1.4.6 stable on ia64. #138937

  12 Jul 2006; Danny van Dyk <kugelfang@gentoo.org> doxygen-1.4.7.ebuild:
  QA: Changed qt to qt3.

  09 Jul 2006; Steve Arnold <nerdboy@gentoo.org> doxygen-1.4.2.ebuild,
  doxygen-1.4.3-r1.ebuild, doxygen-1.4.4.ebuild, doxygen-1.4.5.ebuild,
  doxygen-1.4.6.ebuild, doxygen-1.4.7.ebuild:
  removed ewarn from pkg_postinst (bug 139761)

  03 Jul 2006; Lars Weiler <pylon@gentoo.org> doxygen-1.4.6.ebuild:
  Stable on ppc; bug #138937.

  03 Jul 2006; Markus Ullmann <jokey@gentoo.org> Manifest:
  Fixing digest

*doxygen-1.4.7 (03 Jul 2006)

  03 Jul 2006; Steve Arnold <nerdboy@gentoo.org>
  +files/1.4.7/01_all_cp1251.patch, +files/1.4.7/05_all_system-libpng.patch,
  +files/1.4.7/06_all_qtools.patch, +doxygen-1.4.7.ebuild:
  Version bump for bug #137283, need arch testing and graphviz answers (see
  bug #134575) before package cleanup can occur.  Filed bug #138937 on the
  doxygen stablization issue.  Thanks to Adam Piatyszek for providing the
  updated ebuild and patches.

  24 Jun 2006; Doug Goldstein <cardoe@gentoo.org> doxygen-1.4.2.ebuild,
  doxygen-1.4.3-r1.ebuild, doxygen-1.4.4.ebuild, doxygen-1.4.5.ebuild,
  doxygen-1.4.6.ebuild:
  USE flag qt->qt3/qt4 change bug #137785

  27 May 2006; Steve Arnold <nerdboy@gentoo.org>
  -files/1.4.6/04_amd64_qtools.patch, files/doxygen-gcc4.patch:
  Removed offending amd64_qtools patch from 1.4.6; graphviz still needs work
  before newer doxygen versions can go stable...

  08 May 2006; Steve Arnold <nerdboy@gentoo.org>
  +files/1.4.6/01_all_cp1251.patch, +files/1.4.6/03_all_segfault.patch,
  -files/doxygen-1.4.6-freebsd.patch, +files/1.4.6/02_all_freebsd.patch,
  +files/1.4.6/04_amd64_qtools.patch,
  +files/1.4.6/05_all_system-libpng.patch, +files/1.4.6/06_all_qtools.patch,
  doxygen-1.4.6.ebuild:
  Added patches for bugs 129142, 121770, and 129560, and consolidated 1.4.6
  patches in subdir.

  08 Apr 2006; Steve Arnold <nerdboy@gentoo.org> doxygen-1.4.2.ebuild,
  doxygen-1.4.3-r1.ebuild, doxygen-1.4.4.ebuild, doxygen-1.4.5.ebuild,
  doxygen-1.4.6.ebuild:
  Updated QT environment stuff to address bug 127596, as well as updates
  for bugs 126374 and 127823 (1.4.6 only).

  05 Apr 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
  Recommit manifest, connection lost during commit.

  05 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
  +files/doxygen-1.4.6-freebsd.patch, doxygen-1.4.6.ebuild:
  Add patch to allow building on FreeBSD and keyword ~x86-fbsd.

  08 Feb 2006; Steve Arnold <nerdboy@gentoo.org> doxygen-1.4.2.ebuild,
  doxygen-1.4.3-r1.ebuild, doxygen-1.4.4.ebuild, doxygen-1.4.5.ebuild,
  doxygen-1.4.6.ebuild:
  updated all versions with kluge for QT environment lameness

  28 Jan 2006; Simon Stelling <blubb@gentoo.org>
  -files/doxygen-utf8-ru.patch.gz, doxygen-1.4.2.ebuild,
  doxygen-1.4.3-r1.ebuild, doxygen-1.4.4.ebuild, doxygen-1.4.5.ebuild,
  doxygen-1.4.6.ebuild:
  move compressed patches to the mirrors

*doxygen-1.4.6 (18 Jan 2006)

  18 Jan 2006; Steve Arnold <nerdboy@gentoo.org> doxygen-1.4.2.ebuild,
  doxygen-1.4.3-r1.ebuild, doxygen-1.4.4.ebuild, doxygen-1.4.5.ebuild,
  +doxygen-1.4.6.ebuild:
  Added workaround for bug 118580, and new version for bugs 117613 and 110615.
  ~mips removed temporarily from 1.4.5 and 1.4.6 until it gets updated to
  graphviz-2.6 or better.

  27 Dec 2005; Bryan Østergaard <kloeri@gentoo.org doxygen-1.4.4.ebuild:
  Stable on alpha.

  21 Dec 2005; Marcus D. Hanwell <cryos@gentoo.org> doxygen-1.4.4.ebuild:
  Stable on amd64.

  21 Dec 2005; Steve Arnold <nerdboy@gentoo.org> +files/doxygen-gcc4.patch,
  +files/doxygen-utf8-ru.patch.gz, doxygen-1.4.2.ebuild,
  doxygen-1.4.3-r1.ebuild, doxygen-1.4.4.ebuild, doxygen-1.4.5.ebuild:
  Patched all versions with fixes for bugs 112076 and 113420.  Thanks
  to Robert Marmorstein <rmmarm@wm.edu> and Sergey Belyashov <b-s-a@narod.ru>
  for the patches.  Most users unaffected so far...

  24 Nov 2005; Markus Rothe <corsair@gentoo.org> doxygen-1.4.4.ebuild:
  Stable on ppc64

  11 Nov 2005; Michael Hanselmann <hansmi@gentoo.org> doxygen-1.4.4.ebuild:
  Stable on ppc.

  30 Oct 2005; Bryan Østergaard <kloeri@gentoo.org> doxygen-1.4.4.ebuild:
  Stable on ia64.

  21 Oct 2005; Aaron Walker <ka0ttic@gentoo.org> doxygen-1.4.4.ebuild:
  Stable on mips.

*doxygen-1.4.5 (20 Oct 2005)

  20 Oct 2005; Steve Arnold <nerdboy@gentoo.org> -doxygen-1.3.8.ebuild,
  -doxygen-1.3.9.1.ebuild, -doxygen-1.4.1.ebuild, doxygen-1.4.2.ebuild,
  doxygen-1.4.3-r1.ebuild, doxygen-1.4.4.ebuild, +doxygen-1.4.5.ebuild:
  Removed doc dep from tetex, added new version, cleaned up old ebuilds,
  and a stable bump for x86 and sparc

  08 Oct 2005; Fabian Groffen <grobian@gentoo.org>
  +files/doxygen-1.4.4-darwin.patch, doxygen-1.4.4.ebuild:
  Adding a patch which changes the macos profile in such a way that the final
  linking stage can succeed.  Applied unconditionally, since it only messes with
  the macos profile.

  06 Oct 2005; Fabian Groffen <grobian@gentoo.org> doxygen-1.4.4.ebuild:
  Remove ppc-macos specific patch, it's not necessary anymore

  17 Sep 2005; Steve Arnold <nerdboy@gentoo.org> doxygen-1.4.4.ebuild:
  replaced lost patch change (fixes bug #106167)

*doxygen-1.4.4 (16 Sep 2005)

  16 Sep 2005; Steve Arnold <nerdboy@gentoo.org> -doxygen-1.3.5.ebuild,
  -doxygen-1.3.5-r1.ebuild, -doxygen-1.3.6.ebuild, -doxygen-1.3.7.ebuild,
  doxygen-1.3.8.ebuild, +doxygen-1.4.4.ebuild:
  version bump to close bug #101852 and cleaned up old ebuilds; also marked
  1.3.8 as stable for ppc64, since it was that way for both older and
  newer versions...

  29 Aug 2005; Lina Pezzella <j4rg0n@gentoo.org> doxygen-1.4.2.ebuild,
  doxygen-1.4.3-r1.ebuild:
  Backported ppc-macos qt fix to version 1.4.2. Changed conditional to
  userland_Darwin where appropriate.

  23 Aug 2005; Aron Griffis <agriffis@gentoo.org> doxygen-1.4.2.ebuild:
  stable on ia64

  08 Aug 2005; Aaron Walker <ka0ttic@gentoo.org> doxygen-1.4.2.ebuild:
  Stable on mips.

  28 Jul 2005; Caleb Tennis <caleb@gentoo.org> doxygen-1.3.5.ebuild,
  doxygen-1.3.5-r1.ebuild, doxygen-1.3.6.ebuild, doxygen-1.3.7.ebuild,
  doxygen-1.3.8.ebuild, doxygen-1.3.9.1.ebuild, doxygen-1.4.1.ebuild,
  doxygen-1.4.2.ebuild, doxygen-1.4.3-r1.ebuild:
  Made qt dep explict on qt3 per bug #100235

  18 Jul 2005; Lina Pezzella <j4rg0n@gentoo.org> doxygen-1.4.3-r1.ebuild:
  Updated ebuild to support USE=qt on ppc-macos

  05 Jul 2005; Ilya A. Volynets-Evenbach <iluxa@gentoo.org>
  doxygen-1.4.3-r1.ebuild:
  replace make with emake for main build to allow parallelization

  11 Jun 2005; Steve Arnold <nerdboy@gentoo.org>
  +files/doxygen-1.4.3-nls.patch, +doxygen-1.4.3-r1.ebuild
  -doxygen-1.4.3.ebuild:
  added patch for ChrisWhite's obscure Japanese beetle (bug 95627)
  thanks!  removed previous ~arch

  31 May 2005; Rene Nussbaumer <killerfox@gentoo.org> doxygen-1.4.2.ebuild:
  Stable on hppa.

  31 May 2005; Markus Rothe <corsair@gentoo.org> doxygen-1.3.9.1.ebuild,
  doxygen-1.4.2.ebuild:
  Stable on ppc64

  31 May 2005; Fernando J. Pereda <ferdy@gentoo.org> doxygen-1.4.2.ebuild:
  Stable on alpha

*doxygen-1.4.3 (30 May 2005)

  30 May 2005; Steve Arnold <nerdboy@gentoo.org>
  +files/doxygen-1.4.3-cp1251.patch, doxygen-1.4.2.ebuild,
  +doxygen-1.4.3.ebuild:
  new version for bug 92789, patch for bug 85668, and stable bumps on
  covered arches. Also added brute-force workaround for bug 89075.

  15 May 2005; Fernando J. Pereda <ferdy@gentoo.org> doxygen-1.4.1.ebuild:
  alpha stable

  05 May 2005; Aron Griffis <agriffis@gentoo.org> doxygen-1.4.1.ebuild:
  stable on ia64

  05 May 2005; Michael Hanselmann <hansmi@gentoo.org> doxygen-1.4.1.ebuild:
  Stable on hppa.

  09 Apr 2005; Michael Hanselmann <hansmi@gentoo.org> doxygen-1.4.1.ebuild:
  Stable on ppc.

  08 Apr 2005; Markus Rothe <corsair@gentoo.org> doxygen-1.4.1.ebuild:
  Stable on ppc64

  08 Apr 2005; Marcus D. Hanwell <cryos@gentoo.org> doxygen-1.4.1.ebuild:
  Marked stable on amd64.

  02 Apr 2005; Steve Arnold <nerdboy@gentoo.org> doxygen-1.3.9.1.ebuild,
  doxygen-1.4.1.ebuild:
  updated recent ebuilds for bug 80045 and bumped and added new version

  31 Mar 2005; <blubb@gentoo.org> doxygen-1.3.9.1.ebuild:
  stable on amd64

  27 Mar 2005; Michael Hanselmann <hansmi@gentoo.org> doxygen-1.3.9.1.ebuild:
  Stable on ppc.

  26 Mar 2005; Bryan Østergaard <kloeri@gentoo.org> doxygen-1.3.9.1.ebuild:
  Stable on alpha.

  19 Feb 2005; <burgundy@gentoo.org> +files/bsd-configure.patch,
  doxygen-1.4.1.ebuild:
  Patched to work on ppc-macos

  06 Feb 2005; Joshua Kinard <kumba@gentoo.org> doxygen-1.3.8.ebuild:
  Marked stable on mips.

  26 Jan 2005; Gustavo Zacarias <gustavoz@gentoo.org> doxygen-1.3.9.1.ebuild:
  Stable on sparc

*doxygen-1.4.1 (25 Jan 2005)

  25 Jan 2005; Steve Arnold <nerdboy@gentoo.org> doxygen-1.3.9.1.ebuild,
  +doxygen-1.4.1.ebuild:
  Added 1.4.1 and bumped 1.3.9.1 to x86, sparc, ppc

  02 Jan 2005; Ciaran McCreesh <ciaranm@gentoo.org> :
  Change encoding to UTF-8 for GLEP 31 compliance

  14 Nov 2004; Bryan Østergaard <kloeri@gentoo.org> doxygen-1.3.8.ebuild:
  Stable on alpha.

*doxygen-1.3.9.1 (23 Oct 2004)

  23 Oct 2004; Steve Arnold <nerdboy@gentoo.org> metadata.xml,
  +doxygen-1.3.9.1.ebuild:
  updated to current upstream release, several bug fixes and enhancements
  (closes bug 67550)

  17 Oct 2004; Dylan Carlson <absinthe@gentoo.org> doxygen-1.3.5-r1.ebuild,
  doxygen-1.3.7.ebuild, doxygen-1.3.8.ebuild:
  stable on amd64.

  08 Oct 2004; Guy Martin <gmsoft@gentoo.org> doxygen-1.3.8.ebuild:
  Marked stable on hppa.

  20 Sep 2004; Gustavo Zacarias <gustavoz@gentoo.org> doxygen-1.3.8.ebuild:
  Stable on sparc

*doxygen-1.3.8 (18 Sep 2004)

  18 Sep 2004; Steve Arnold <nerdboy@gentoo.org> doxygen-1.3.8.ebuild:
  marked stable on x86

  13 Aug 2004; Jason Wever <weeve@gentoo.org> doxygen-1.3.7.ebuild:
  Stable on sparc.

  13 Aug 2004; Bryan Østergaard <kloeri@gentoo.org> doxygen-1.3.7.ebuild:
  Stable on alpha.

  01 Aug 2004; Steve Arnold <nerdboy@gentoo.org> doxygen-1.3.7.ebuild:
  Bumped 1.3.7 to x86 and added 1.3.8

  23 Jul 2004; Tom Gall <tgall@gentoo.org> doxygen-1.3.7.ebuild:
  stable on ppc64

  09 Jun 2004; Ferris McCormick <fmccor@gentoo.org> doxygen-1.3.6.ebuild:
  Marked stable on sparc.

  05 Jun 2004; Stephen P. Becker <geoman@gentoo.org> doxygen-1.3.6.ebuild:
  Added ~mips keyword.

*doxygen-1.3.7 (05 Jun 2004)

  05 Jun 2004; Steve Arnold <nerdboy@gentoo.org> doxygen-1.2.18.ebuild,
  doxygen-1.3.2.ebuild, doxygen-1.3.3.ebuild, doxygen-1.3.4.ebuild,
  doxygen-1.3.6.ebuild, doxygen-1.3.7.ebuild:
  marked 1.3.6 stable for x86, ppc, and hppa; removed old ebuilds
  (leaving at least one stable for each arch) and added 1.3.7

  03 Jun 2004; Stephen P. Becker <geoman@gentoo.org> doxygen-1.3.5-r1.ebuild:
  Stable on mips.

  26 May 2004; Guy Martin <gmsoft@gentoo.org> doxygen-1.3.5-r1.ebuild:
  Marked stable on hppa.

  12 May 2004; Ferris McCormick <fmccor@gentoo.org> doxygen-1.3.5-r1.ebuild:
  Marked stable for sparc.

*doxygen-1.3.6 (08 May 2004)

  08 May 2004; Steve Arnold <nerdboy@gentoo.org> doxygen-1.3.5-r1.ebuild,
  doxygen-1.3.6.ebuild:
  added 1.3.6 ebuild (closes bug 49015) and marked 1.3.5-r1 x86

  04 May 2004; Bryan Østergaard <kloeri@gentoo.org> doxygen-1.3.5-r1.ebuild:
  Stable on alpha.

  24 Apr 2004; Bret Curtis <psi29a@gentoo.org> doxygen-1.3.5.ebuild:
  Added to ~mips

  03 Mar 2004; <agriffis@gentoo.org> doxygen-1.3.5-r1.ebuild,
  doxygen-1.3.5.ebuild:
  add ia64 keywords

*doxygen-1.3.5-r1 (29 Feb 2004)

  29 Feb 2004; <sarnold@gentoo.org> doxygen-1.3.5-r1.ebuild,
  doxygen-1.3.5.ebuild, metadata.xml:
  removed ia64 temporarily due to bad depends on tetex and ghostscript

*doxygen-1.3.5-r1 (29 Feb 2004)

  29 Feb 2004; <nerdboy@gentoo.org> doxygen-1.3.5-r1.ebuild, metadata.xml:
  tested all USE flag variations and fixed a small pdf install glitch

  21 Feb 2004; Mamoru KOMACHI <usata@gentoo.org> doxygen-1.3.2.ebuild,
  doxygen-1.3.3.ebuild, doxygen-1.3.4.ebuild, doxygen-1.3.5.ebuild:
  Added tetex IUSE flag. Thanks to Ronny Schoebel <ronny@l61.de> for
  submitting a patch to ebuilds. This closes bug #42067

  06 Feb 2004; <gustavoz@gentoo.org> doxygen-1.3.5.ebuild:
  stable on sparc

*doxygen-1.2.18 (26 Jan 2004)

  26 Jan 2004; Jason Wever <weeve@gentoo.org> doxygen-1.2.18.ebuild:
  Putting doxygen-1.2.18 back into the tree to fix dependency problems when all
  stable doxygen ebuilds for sparc were removed.

  19 Jan 2004; Guy Martin <gmsoft@gentoo.org> doxygen-1.3.5.ebuild :
  Marked stable on hppa.

  15 Jan 2004; <agriffis@gentoo.org> doxygen-1.3.5.ebuild:
  stable on alpha and ia64

  12 Jan 2004; <nerdboy@gentoo.org> doxygen-1.2.15-r1.ebuild,
  doxygen-1.2.16.ebuild, doxygen-1.2.18.ebuild, doxygen-1.3.2.ebuild,
  doxygen-1.3.3.ebuild, doxygen-1.3.4.ebuild, doxygen-1.3.5.ebuild,
  doxygen-1.3.ebuild, files/doxygen-1.2.15-r1.diff,
  files/doxygen-1.2.16-gentoo.diff:
  bumped 1.3.5 to x86, fixed headers, and removed old ebuilds

  09 Dec 2003; Heinrich Wendel <lanius@gentoo.org> doxygen-1.3.2.ebuild,
  doxygen-1.3.3.ebuild, doxygen-1.3.4.ebuild, doxygen-1.3.5.ebuild,
  doxygen-1.3.ebuild:
  changed app-text/ghostscript to virtual/ghostscript

*doxygen-1.3.5 (06 Dec 2003)

  06 Dec 2003; <nerdboy@gentoo.org> doxygen-1.3.4.ebuild,
  doxygen-1.3.5.ebuild:
  bump 1.3.4 to x86 and add 1.3.5 ~x86

  16 Nov 2003; Brad House <brad_mssw@gentoo.org> doxygen-1.3.4.ebuild:
  mark stable on amd64

  27 Oct 2003; Mamoru KOMACHI <usata@gentoo.org> doxygen-1.3.2.ebuild,
  doxygen-1.3.3.ebuild, doxygen-1.3.4.ebuild, doxygen-1.3.ebuild:
  Changed app-text/tetex to virtual/tetex. See Bug #32063.

*doxygen-1.3.4 (20 Oct 2003)

  20 Oct 2003; <nerdboy@gentoo.org> doxygen-1.3.4.ebuild, metadata.xml:
  version bump to latest stable release, added to dev-tools herd

  16 Oct 2003; Aron Griffis <agriffis@gentoo.org> doxygen-1.3.3.ebuild:
  Stable on alpha

*doxygen-1.3.3 (02 Sep 2003)

  02 Sep 2003; Patrick Kursawe <phosphan@gentoo.org> doxygen-1.3.3.ebuild,
  doxygen-1.3.ebuild,doxygen-1.3.2.ebuild:
  Added ghostscript to DEPENDs because of bug 26987; Version bump.

*doxygen-1.3.2 (14 Jul 2003)

  14 Jul 2003; Patrick Kursawe <phosphan@gentoo.org> doxygen-1.3.2.ebuild:
  Version bump as requested in bug 24292

  01 Jul 2003; Patrick Kursawe <phosphan@gentoo.org> doxygen-1.3.ebuild:
  Bug was not yet dead, had to add one more "addwrite" line

  30 Jun 2003; Patrick Kursawe <phosphan@gentoo.org> doxygen-1.3.ebuild:
  Installing docs requires more write permissions, fixed bug 23738

  17 Jun 2003; Will Woods <wwoods@gentoo.org> doxygen-1.2.18.ebuild,
  doxygen-1.3.ebuild:
  Added alpha/~alpha to KEYWORDS

  19 May 2003; Grant Goodyear <g2boojum@gentoo.org> doxygen-1.3.ebuild:
  Sed-fu to make configure work w/ install from either coreutils or fileutils

*doxygen-1.3 (15 Apr 2003)

  15 Apr 2003; Jyrki Muukkonen <jyrki@kruu.org> doxygen-1.3.ebuild:
  - Version bump, ~x86 ~ppc and ~sparc keywords.
  - Updated description
  - Added IUSE="doc qt". With "doc" it builds the HTML and PDF versions of
    the manual, and hence depends on app-text/tetex. HTML version needs latex
    for generating some bitmap formulas and PDF version uses pdftex. Tested
    with tetex-1.0.7-r12 and tetex-2.0.2
  - Change \setlength{\footrulewidth} to \renewcommand{\footrulewidth} in
    doxygen_manual.tex to make it work with tetex-2.x also. Looks like it
    works with tetex-1.x too.
  - Simplified the tmake.conf sed(1) hack and ./configure options.
  - Also made the actual compiling use emake instead of make.
  - And applied by wmertens@gentoo.org, who also added a sandbox violation
    fix for the docs.

*doxygen-1.2.18 (13 Oct 2002)

  06 Apr 2003; Jason Wever <weeve@gentoo.org> doxygen-1.2.18.ebuild:
  Changed ~sparc keyword to sparc.

  19 Mar 2003; Jason Wever <weeve@gentoo.org> doxygen-1.2.18.ebuild:
  Added ~sparc to keywords.

  13 Oct 2002; Phil Bordelon <sunflare@gentoo.org> doxygen-1.2.18.ebuild :
  Version bump, along with some added fixes provided by CJ Kucera
  <pez@apocalyptech.com> in Bug 7353.

*doxygen-1.2.16 (08 Jul 2002)

  08 Jul 2002; Phil Bordelon <sunflare@gentoo.org> doxygen-1.2.15.ebuild doxygen-1.2.15-r1.ebuild doxygen-1.2.16.ebuild :
  Did a version bump.  Also lintool'd and repoman'd the ebuild so that
  it matches modern form.  Added KEYWORDs and SLOTs to the old ebuilds
  as well.

*doxygen-1.2.15-r1 (11 May 2002)

  11 Jun 2002; Wout Mertens <wmertens@gentoo.org>:
  Changed qt dependency syntax so Portage wouldn't get weird dependency
  problems. Builds fine with qt3.

  02 Jun 2002; Wout Mertens <wmertens@gentoo.org>:
  Changed ebuild to depend on graphvis as per bug #3320.
  While I was at it, changed it so lintool was happy. Therefore, the Author
  field was removed, and copied to here:
  Author Sean Mitchell <sean@arawak.on.ca>, updated Tom von Schwerdtner
  <tvon@etria.org>

  11 May 2002; pvdabeel <pvdabeel@gentoo.org> ChangeLog :
  Doxygen compiles and runs perfectly with qt3 too. Both qt2 and qt3
  are supported by the ebuild now

*doxygen-1.2.15 (17 Apr 2002)

  17 Apr 2002; Ryan Phillips <rphillips@gentoo.org> ChangeLog :
  Copied 1.2.13.1 ebuild over for 1.2.15 (#1786)

*doxygen-1.2.13.1 (1 Feb 2002)

  1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog :

  Added initial ChangeLog which should be updated whenever the package is
  updated in any way. This changelog is targetted to users. This means that the
  comments should well explained and written in clean English. The details about
  writing correct changelogs are explained in the skel.ChangeLog file which you
  can find in the root directory of the portage repository.
