# ChangeLog for app-accessibility/pidgin-festival
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-accessibility/pidgin-festival/ChangeLog,v 1.8 2009/12/21 21:02:03 pva Exp $

*pidgin-festival-2.4 (21 Dec 2009)

  21 Dec 2009; Peter Volkov <pva@gentoo.org> +pidgin-festival-2.4.ebuild:
  Version bump.

*pidgin-festival-2.2-r1 (07 Mar 2009)

  07 Mar 2009; Patrick Lauer <patrick@gentoo.org>
  +pidgin-festival-2.2-r1.ebuild:
  Eapi2ification with use-deps

  05 Mar 2008; <tester@gentoo.org> pidgin-festival-2.2.ebuild:
  Inherit eutils, bug #212411

  09 Jan 2008; Olivier Crête <tester@gentoo.org>
  pidgin-festival-2.2.ebuild:
  Add required dependencies on pkg-config, pidgin and gtk

  09 Nov 2007; nixnut <nixnut@gentoo.org> pidgin-festival-2.2.ebuild:
  Added ~ppc wrt bug 197103

  26 Oct 2007; Ferris McCormick <fmccor@gentoo.org>
  pidgin-festival-2.2.ebuild:
  Add ~sparc keyword, Bug #197103, because it does build so it can be tested at
  least.  Unfortunately, it can't be tested by me.

  26 Oct 2007; Markus Meier <maekke@gentoo.org> pidgin-festival-2.2.ebuild:
  add ~x86, bug #197103

*pidgin-festival-2.2 (26 Oct 2007)

  26 Oct 2007; Olivier Crête <tester@gentoo.org> +metadata.xml,
  +pidgin-festival-2.2.ebuild:
  Add new package, which is the continuatio of net-im/festival-gaim

