# ChangeLog for gnome-extra/gnome-swallow
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/gnome-extra/gnome-swallow/ChangeLog,v 1.14 2009/07/27 19:22:20 mrpouet Exp $

  28 Jul 2009; Romain Perier <mrpouet@gentoo.org> gnome-swallow-1.2.ebuild,
  +files/gnome-swallow-1.2-libgnomeui-flags.patch,
  +files/gnome-swallow-1.2-qa-warning.patch:
  Fix bug #279143, compilation error due to missing libgnomeui CFLAGS and
  LIBS, and fix two qa warnings.

  31 Jan 2009; Gilles Dartiguelongue <eva@gentoo.org>
  +files/gnome-swallow-1.2-as-needed.patch, gnome-swallow-1.2.ebuild:
  Fix --as-needed compilation, bug #247521.

  11 Aug 2006; Daniel Gryniewicz <dang@gentoo.org> gnome-swallow-1.2.ebuild:
  Fix typos in description; bug #143139

  17 Jun 2005; Michele Noberasco <s4t4n@gentoo.org> gnome-swallow-1.1.ebuild:
  Wiped out older release.

  12 Jun 2005; Tobias Scherbaum <dertobi123@gentoo.org>
  gnome-swallow-1.2.ebuild:
  Stable on ppc.

  24 Feb 2005; Gustavo Zacarias <gustavoz@gentoo.org>
  gnome-swallow-1.2.ebuild:
  Stable on sparc

  31 Jan 2005; Gustavo Zacarias <gustavoz@gentoo.org>
  gnome-swallow-1.2.ebuild:
  Keyworded ~sparc

  26 Nov 2004; Michele Noberasco <s4t4n@gentoo.org> gnome-swallow-1.2.ebuild:
  Stable for x86.

*gnome-swallow-1.2 (12 Nov 2004)

  12 Nov 2004; Michele Noberasco <s4t4n@gentoo.org> gnome-swallow-1.2.ebuild:
  Version bump.
  gnome-swallow-1.1.ebuild:
  Updated HOMEPAGE and SRC_URI.

  08 Aug 2004; Tom Martin <slarti@gentoo.org> :
  Typo in DESCRIPTION: usefull -> useful. Bug 59717.

  29 May 2004; Pieter Van den Abeele <pvdabeel@gentoo.org>
  gnome-swallow-1.1.ebuild:
  Masked gnome-swallow-1.1.ebuild stable for ppc

  09 Jul 2003; Alastair Tse <liquidx@gentoo.org> gnome-swallow-1.1.ebuild:
  add pkgconfig dep

*gnome-swallow-1.1 (08 Jun 2003)

  08 Jun 2003; Alastair Tse <liquidx@gentoo.org> gnome-swallow-1.1.ebuild:
  new version. thanks to Jens Tollofsen <tolle@tolle.ath.cx>.

