# ChangeLog for sci-biology/shrimp
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sci-biology/shrimp/ChangeLog,v 1.8 2010/01/03 14:19:01 pacho Exp $

  03 Jan 2010; Pacho Ramos <pacho@gentoo.org> shrimp-1.3.1.ebuild:
  amd64 stable, bug 298764

  29 Dec 2009; Christian Faulhammer <fauli@gentoo.org> shrimp-1.3.1.ebuild:
  stable x86, bug 298764

*shrimp-1.3.1 (09 Dec 2009)

  09 Dec 2009; Andrey Kislyuk <weaver@gentoo.org> shrimp-1.2.1.ebuild,
  -shrimp-1.3.0.ebuild, +shrimp-1.3.1.ebuild:
  Fix gcc-4.4 issue, bug 294811. Thanks to Martin Mokrejš. Version bump.

*shrimp-1.3.0 (28 Oct 2009)

  28 Oct 2009; Andrey Kislyuk <weaver@gentoo.org> +shrimp-1.3.0.ebuild:
  Version bump

  22 Sep 2009; Markus Meier <maekke@gentoo.org> shrimp-1.2.1.ebuild:
  x86 stable, bug #283679

  06 Sep 2009; Jeremy Olexa <darkside@gentoo.org> shrimp-1.2.1.ebuild:
  amd64 stable, bug 283679. As requested, compile test only

  07 Jul 2009; Andrey Kislyuk <weaver@gentoo.org> shrimp-1.2.1.ebuild:
  Don't use versionator

*shrimp-1.2.1 (07 Jul 2009)

  07 Jul 2009; Andrey Kislyuk <weaver@gentoo.org> +metadata.xml,
  +shrimp-1.2.1.ebuild:
  Import from Science overlay

  02 Apr 2009; Andrey Kislyuk <weaver@gentoo.org> ChangeLog:
  New package sci-biology/shrimp, ebuild written by me

