# ChangeLog for sci-electronics/alliance
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sci-electronics/alliance/ChangeLog,v 1.11 2008/11/26 21:59:11 halcy0n Exp $

  26 Nov 2008; Mark Loeser <halcy0n@gentoo.org>
  +files/alliance-5.0-gcc43.patch, alliance-5.0.20070718.ebuild:
  Add patch to fix compilation with gcc-4.3. Thanks to sigmatador AT gmail
  DOT com; bug #245847

  06 Dec 2007; Markus Rothe <corsair@gentoo.org>
  alliance-5.0.20070718.ebuild:
  Added ~amd64

*alliance-5.0.20070718 (01 Dec 2007)

  01 Dec 2007; Denis Dupeyron <calchan@gentoo.org>
  +alliance-5.0.20070718.ebuild:
  Version bump.

  14 Oct 2006; Denis Dupeyron <calchan@gentoo.org>
  -alliance-5.0.20060329.ebuild:
  Removed old ebuild.

  07 Jul 2006; Denis Dupeyron <calchan@gentoo.org>
  alliance-5.0.20060329.ebuild, alliance-5.0.20060509.ebuild:
  Replaced einfo with elog.

  02 Jul 2006; Denis Dupeyron <calchan@gentoo.org> metadata.xml:
  Adjusted metadata, see bug #138062.

*alliance-5.0.20060509 (02 Jun 2006)

  02 Jun 2006; Denis Dupeyron <calchan@gentoo.org>
  +alliance-5.0.20060509.ebuild:
  Version bump.

  27 May 2006; Denis Dupeyron <calchan@gentoo.org>
  alliance-5.0.20060329.ebuild:
  Cosmetic changes.

  26 May 2006; Denis Dupeyron <calchan@gentoo.org>
  alliance-5.0.20060329.ebuild:
  Fixed bug #134285.

  24 May 2006; Denis Dupeyron <calchan@gentoo.org>
  alliance-5.0.20060329.ebuild:
  Fixed bug #134145.

*alliance-5.0.20060329 (21 Apr 2006)

  21 Apr 2006; Denis Dupeyron <calchan@gentoo.org>
  +alliance-5.0.20060329.ebuild:
  Initial commit, bug #91842.

