# ChangeLog for dev-java/snip
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-java/snip/ChangeLog,v 1.9 2010/04/24 15:33:52 grobian Exp $

  24 Apr 2010; Fabian Groffen <grobian@gentoo.org> snip-0.11.ebuild:
  Marked ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris, bug #314093

  05 Jan 2010; Joseph Jezak <josejx@gentoo.org> snip-0.11.ebuild:
  Marked ppc/ppc64 stable.

  14 Aug 2009; Markus Meier <maekke@gentoo.org> snip-0.11.ebuild:
  amd64 stable, bug #281006

  12 Apr 2008; Tobias Scherbaum <dertobi123@gentoo.org> snip-0.11.ebuild:
  Added ~ppc, bug #215397

  30 Mar 2008; Markus Rothe <corsair@gentoo.org> snip-0.11.ebuild:
  Added ~ppc64; bug #215397

  30 Mar 2008; Alistair Bush <ali_bush@gentoo.org> snip-0.11.ebuild:
  keyword ~amd64

  04 Nov 2007; Christian Faulhammer <opfer@gentoo.org> snip-0.11.ebuild:
  stable x86, bug 197861

  15 Apr 2007; Miroslav Šulc <fordfrog@gentoo.org> snip-0.11.ebuild:
  Corrected missing dependency on app-arch/zip if source USE flag is used

*snip-0.11 (26 Jan 2007)

  26 Jan 2007; Petteri Räty <betelgeuse@gentoo.org>
  +files/snip-0.11-build.xml.patch, +metadata.xml, +snip-0.11.ebuild:
  Initial commit. Original ebuild by Iván Pérez Domínguez
  <iperez@babel.ls.fi.upm.es> and then improved by me. Fixes bug #145936.

