# ChangeLog for app-misc/leave
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/leave/ChangeLog,v 1.17 2011/01/12 07:23:36 jlec Exp $

  12 Jan 2011; Justin Lecher <jlec@gentoo.org> -leave-20041016.ebuild:
  Removed old

  11 Jan 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org>
  leave-20100918.ebuild:
  x86 stable wrt bug #350687

  07 Jan 2011; Brent Baude <ranger@gentoo.org> leave-20100918.ebuild:
  Marking leave-20100918 ppc for bug 350687

  05 Jan 2011; Markos Chandras <hwoarang@gentoo.org> leave-20100918.ebuild:
  Stable on amd64 wrt bug #350687

  05 Jan 2011; Justin Lecher <jlec@gentoo.org> leave-20041016.ebuild:
  Some Clean up

*leave-20100918 (18 Sep 2010)

  18 Sep 2010; Justin Lecher <jlec@gentoo.org> +leave-20100918.ebuild,
  files/leave-fix-makefile.diff:
  Version Bump, respecting LDFLAGS 337353

  23 Sep 2009; Patrick Lauer <patrick@gentoo.org> leave-20041016.ebuild:
  Remove virtual/libc

  01 Aug 2009; Jeremy Olexa <darkside@gentoo.org> leave-20041016.ebuild:
  amd64 stable, cleanup

  16 Apr 2009; Tiago Cunha <tcunha@gentoo.org> leave-20041016.ebuild:
  keyworded ~arch for amd64, bug 265883

  19 Mar 2007; Bryan Østergaard <kloeri@gentoo.org> metadata.xml:
  Remove ka0ttic from metadata.xml due to retirement.

  08 Feb 2007; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
  Regenerate digest in Manifest2 format.

  05 Jun 2005; Michael Hanselmann <hansmi@gentoo.org> leave-20041016.ebuild:
  Stable on ppc.

  10 May 2005; Stephanie Lockwood-Childs <wormo@gentoo.org>
  leave-20041016.ebuild:
  mark ~ppc

  19 Nov 2004; Aaron Walker <ka0ttic@gentoo.org> leave-20041016.ebuild:
  Marked stable on x86.

  26 Oct 2004; Aaron Walker <ka0ttic@gentoo.org> leave-20041016.ebuild:
  Use tc-getCC() - bug #68987

*leave-20041016 (17 Oct 2004)

  17 Oct 2004; Aaron Walker <ka0ttic@gentoo.org> +metadata.xml,
  +files/README, +files/leave-fix-makefile.diff, +leave-20041016.ebuild:
  Initial commit.

