# ChangeLog for x11-misc/gcolor2
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/x11-misc/gcolor2/ChangeLog,v 1.30 2009/02/28 11:53:17 eva Exp $

  28 Feb 2009; Gilles Dartiguelongue <eva@gentoo.org> gcolor2-0.4-r3.ebuild:
  Fix intltool tests, bug #260479.

  25 Oct 2008; Gilles Dartiguelongue <eva@gentoo.org> gcolor2-0.4-r3.ebuild:
  Add call to intltoolize, fix bug #244184.

  17 Jun 2008; Gilles Dartiguelongue <eva@gentoo.org> gcolor2-0.4-r3.ebuild:
  add intltool to DEPEND, bug #227739

  25 Mar 2008; Brent Baude <ranger@gentoo.org> gcolor2-0.4-r3.ebuild:
  Marking gcolor2-0.4-r3 ppc for bug 214322

  25 Mar 2008; Brent Baude <ranger@gentoo.org> gcolor2-0.4-r3.ebuild:
  Marking gcolor2-0.4-r3 ppc64 for bug 214322

  24 Mar 2008; Christian Faulhammer <opfer@gentoo.org>
  gcolor2-0.4-r3.ebuild:
  stable x86, bug 214322

  24 Mar 2008; Daniel Gryniewicz <dang@gentoo.org> gcolor2-0.4-r3.ebuild:
  Marked stable on amd64 for bug #214322

*gcolor2-0.4-r3 (08 Jan 2008)

  08 Jan 2008; Rémi Cardona <remi@gentoo.org>
  +files/gcolor2-0.4-pkg-config-macro.patch, files/modular-rgb.patch,
  gcolor2-0.4-r2.ebuild, +gcolor2-0.4-r3.ebuild:
  add patch to fix missing pkg-config macro (should fix bug #204598)

  24 Jul 2007; Daniel Gryniewicz <dang@gentoo.org> gcolor2-0.4-r2.ebuild:
  Marked stable on amd64 for bug #186470

  20 Mar 2007; Daniel Gryniewicz <dang@gentoo.org>
  +files/gcolor2-0.4-amd64.patch, metadata.xml, gcolor2-0.4-r2.ebuild:
  Take maintainership and add amd64 patch (bug #157376)

  19 Mar 2007; Bryan Østergaard <kloeri@gentoo.org> metadata.xml:
  Remove ka0ttic from metadata.xml due to retirement.

  10 Mar 2007; Peter Weller <welp@gentoo.org> gcolor2-0.4-r2.ebuild:
  Keyworded ~x86-fbsd

  24 Nov 2006; Markus Rothe <corsair@gentoo.org> gcolor2-0.4-r2.ebuild:
  Stable on ppc64; bug #118604

  20 Nov 2006; nixnut <nixnut@gentoo.org> gcolor2-0.4-r2.ebuild:
  Stable on ppc wrt bug 118604

  18 Nov 2006; Christian Faulhammer <opfer@gentoo.org>
  gcolor2-0.4-r2.ebuild:
  stable x86, bug #118604

*gcolor2-0.4-r2 (18 Nov 2006)

  18 Nov 2006; Christian Faulhammer <opfer@gentoo.org>
  +files/modular-rgb.patch, +gcolor2-0.4-r2.ebuild:
  ready for modular X.org server, see bug #118604

  14 Oct 2006; Krzysiek Pawlik <nelchael@gentoo.org> -gcolor2-0.3.ebuild:
  Remove old version.

  14 Oct 2006; <nixnut@gentoo.org> gcolor2-0.4-r1.ebuild:
  Stable on ppc wrt bug 150675

  11 Oct 2006; Markus Rothe <corsair@gentoo.org> gcolor2-0.4-r1.ebuild:
  Stable on ppc64; bug #150675

  11 Oct 2006; Krzysiek Pawlik <nelchael@gentoo.org> gcolor2-0.4-r1.ebuild:
  Stable on x86 - fixes bug #150675.

*gcolor2-0.4-r1 (14 Sep 2005)

  14 Sep 2005; Aaron Walker <ka0ttic@gentoo.org> -gcolor2-0.4.ebuild,
  +gcolor2-0.4-r1.ebuild:
  Revision bump; added a .desktop file for bug 105949.

  07 Aug 2005; Michael Hanselmann <hansmi@gentoo.org> gcolor2-0.3.ebuild:
  Stable on ppc.

*gcolor2-0.4 (21 Jul 2005)

  21 Jul 2005; Aaron Walker <ka0ttic@gentoo.org> metadata.xml,
  -gcolor2-0.1.ebuild, -gcolor2-0.2.ebuild, +gcolor2-0.4.ebuild:
  Version bump; tidy old ebuilds; update metdata.xml.

  26 Feb 2005; Brad Laue <brad@gentoo.org> gcolor2-0.3.ebuild:
  Stable on x86.

  16 Dec 2004; Markus Rothe <corsair@gentoo.org> gcolor2-0.3.ebuild:
  Stable on ppc64

  01 Nov 2004; Markus Rothe <corsair@gentoo.org>  gcolor2-0.3.ebuild:
  Marked ~ppc64; bug #67102

*gcolor2-0.3 (28 Oct 2004)

  28 Oct 2004; Brad Laue <brad@gentoo.org> +gcolor2-0.3.ebuild:
  Update to 0.3

*gcolor2-0.2 (18 Oct 2004)

  18 Oct 2004; Brad Laue <brad@gentoo.org> +gcolor2-0.2.ebuild:
  Bump to 0.2

  17 Oct 2004; David Holm <dholm@gentoo.org> gcolor2-0.1.ebuild:
  Added to ~ppc.

*gcolor2-0.1 (25 Sep 2004)

  25 Sep 2004; Brad Laue <brad@gentoo.org> +metadata.xml, +gcolor2-0.1.ebuild:
  Initial import of gcolor2, a GTK+2 rewrite of the 'gcolor' utility.

