# ChangeLog for games-simulation/fgrun
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/games-simulation/fgrun/ChangeLog,v 1.8 2009/10/28 15:28:05 voyageur Exp $

*fgrun-1.5.1 (28 Oct 2009)

  28 Oct 2009; Bernard Cafarelli <voyageur@gentoo.org> +fgrun-1.5.1.ebuild,
  +files/fgrun-1.5.1-fltk.patch:
  Version bump, closes bug #255094

  17 Oct 2009; Tupone Alfredo <tupone@gentoo.org> fgrun-1.0.0.ebuild:
  Fix typo on src_configure. Bug #258405 by Steven Parker

  13 Jan 2009; Michael Sterrett <mr_bones_@gentoo.org> fgrun-1.0.0.ebuild:
  EAPI=2; add use-based dep

  14 Nov 2008; Santiago M. Mola <coldwind@gentoo.org> fgrun-1.0.0.ebuild:
  Restrict fltk dependency to SLOT 1.1 (bug #246445).

  19 Sep 2008; Tupone Alfredo <tupone@gentoo.org>
  +files/fgrun-1.0.0-gcc43.patch, fgrun-1.0.0.ebuild:
  Fix compilation with gcc-4.3. Bug #232917 by Florian Streibelt

*fgrun-1.0.0 (01 Jan 2008)

  01 Jan 2008; Tristan Heaven <nyhm@gentoo.org>
  +files/fgrun-1.0.0-fltk.patch, +fgrun-1.0.0.ebuild:
  Version bump

  25 Jul 2007; Christian Faulhammer <opfer@gentoo.org> fgrun-0.4.8.ebuild:
  keyworded ~x86, bug 186379; fixed detection of media-libs/plib

*fgrun-0.4.8 (26 Apr 2007)

  26 Apr 2007; Tupone Alfredo <tupone@gentoo.org>
  +files/fgrun-0.4.8-fltk.patch, +metadata.xml, +fgrun-0.4.8.ebuild:
  New package. Bug #130115 by Lawrence Shafer

