# ChangeLog for dev-haskell/openal
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-haskell/openal/ChangeLog,v 1.11 2009/09/16 15:08:50 betelgeuse Exp $

  16 Sep 2009; Petteri Räty <betelgeuse@gentoo.org> -openal-1.2.ebuild:
  Remove old version with built_with_use call.

  03 Oct 2008; Ferris McCormick <fmccor@gentoo.org> openal-1.3.1.1.ebuild:
  Sparc stable, Bug #239465.

  06 Jul 2008; Markus Meier <maekke@gentoo.org> openal-1.3.1.1.ebuild:
  amd64/x86 stable, bug #230919

  20 Dec 2007; Duncan Coutts <dcoutts@gentoo.org> openal-1.3.1.1.ebuild:
  New version. Released with ghc-6.8 but works with ghc-6.6.

  16 Dec 2007; Samuli Suominen <drac@gentoo.org> openal-1.3.1.ebuild:
  amd64 stable wrt #201984

  15 Dec 2007; Duncan Coutts <dcoutts@gentoo.org> openal-1.3.1.ebuild:
  Added ~sparc.

*openal-1.3.1.1 (13 Dec 2007)

  13 Dec 2007; Duncan Coutts <dcoutts@gentoo.org> +openal-1.3.1.1.ebuild:
  New version.

  12 Dec 2007; Christian Faulhammer <opfer@gentoo.org> openal-1.3.1.ebuild:
  quote variable

  12 Dec 2007; Christian Faulhammer <opfer@gentoo.org> openal-1.3.1.ebuild:
  stable x86, bug 201984

  31 Oct 2007; Duncan Coutts <dcoutts@gentoo.org> openal-1.2.ebuild:
  Drop virtual/ghc in favour of dev-lang/ghc

*openal-1.3.1 (09 Jul 2007)
*openal-1.3 (09 Jul 2007)
*openal-1.2 (09 Jul 2007)

  09 Jul 2007; Duncan Coutts <dcoutts@gentoo.org> +metadata.xml,
  +openal-1.2.ebuild, +openal-1.3.ebuild, +openal-1.3.1.ebuild:
  Initial versions.

