# ChangeLog for games-board/megamek
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/games-board/megamek/ChangeLog,v 1.19 2010/02/27 16:17:20 phajdan.jr Exp $

  27 Feb 2010; Pawel Hajdan jr <phajdan.jr@gentoo.org>
  megamek-0.34.9.ebuild:
  x86 stable wrt bug #303493

  10 Feb 2010; Joseph Jezak <josejx@gentoo.org> megamek-0.34.9.ebuild:
  Marked ppc stable for bug #303493.

*megamek-0.34.9 (01 Dec 2009)

  01 Dec 2009; Michael Sterrett <mr_bones_@gentoo.org>
  +megamek-0.34.9.ebuild:
  Version bump

  29 Oct 2009; Michael Sterrett <mr_bones_@gentoo.org>
  megamek-0.34.8.ebuild:
  call java-pkg-2_src_prepare in src_prepare

*megamek-0.34.8 (27 Sep 2009)

  27 Sep 2009; Michael Sterrett <mr_bones_@gentoo.org>
  +megamek-0.34.8.ebuild:
  version bump

*megamek-0.34.6 (12 Jul 2009)

  12 Jul 2009; Michael Sterrett <mr_bones_@gentoo.org>
  +megamek-0.34.6.ebuild:
  version bump

*megamek-0.34.3 (16 Jun 2009)

  16 Jun 2009; Michael Sterrett <mr_bones_@gentoo.org>
  +megamek-0.34.3.ebuild:
  version bump

*megamek-0.34.2 (25 May 2009)

  25 May 2009; Michael Sterrett <mr_bones_@gentoo.org>
  +megamek-0.34.2.ebuild:
  version bump (bug #271140)

*megamek-0.32.2 (26 Aug 2007)

  26 Aug 2007; Tupone Alfredo <tupone@gentoo.org> +megamek-0.32.2.ebuild:
  Version bump to 0.32.2
  Fixed online retrieving of various readme

  25 May 2007; Petteri Räty <betelgeuse@gentoo.org> megamek-0.32.0.ebuild:
  Add pkg_setup that calls both linux-info_pkg_setup and java-pkg-2_pkg_setup
  for bug #179788.

  30 Jan 2007; Vlastimil Babka <caster@gentoo.org> megamek-0.32.0.ebuild:
  Put java-ant-2 after java-pkg-2 in inherit.

*megamek-0.32.0 (17 Oct 2006)

  17 Oct 2006; Tristan Heaven <nyhm@gentoo.org> +megamek-0.32.0.ebuild:
  Version bump

*megamek-0.30.11 (27 Sep 2006)

  27 Sep 2006; Michael Sterrett <mr_bones_@gentoo.org>
  +megamek-0.30.11.ebuild:
  version bump

*megamek-0.30.10 (31 Jul 2006)

  31 Jul 2006; Michael Sterrett <mr_bones_@gentoo.org>
  +megamek-0.30.10.ebuild:
  version bump

  31 Mar 2006; Chris Gianelloni <wolf31o2@gentoo.org>
  -megamek-0.29.10.ebuild, -megamek-0.30.6.ebuild:
  Removing old versions.

*megamek-0.30.9 (23 Mar 2006)

  23 Mar 2006; <Tupone@gentoo.org> +megamek-0.30.9.ebuild:
  Version bump and ~amd64, bug #126495 by Vladimir Linek

*megamek-0.30.6 (08 Jan 2006)

  08 Jan 2006; Michael Sterrett <mr_bones_@gentoo.org>
  +megamek-0.30.6.ebuild:
  version bump (bug #118250)

  09 Jun 2005; David Holm <dholm@gentoo.org> megamek-0.29.10.ebuild:
  Added to ~ppc.

*megamek-0.29.10 (08 Jun 2005)

  08 Jun 2005; Chris Gianelloni <wolf31o2@gentoo.org> +metadata.xml,
  +megamek-0.29.10.ebuild:
  Initial import.  Ebuild by me.  Closing bug #59883.

