# ChangeLog for perl-core/digest-base
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/perl-core/digest-base/ChangeLog,v 1.48 2011/07/30 12:28:27 tove Exp $

  30 Jul 2011; Torsten Veller <tove@gentoo.org> digest-base-1.160.0.ebuild:
  Drop ~sparc-fbsd KEYWORD

*digest-base-1.160.0 (18 May 2011)

  18 May 2011; Torsten Veller <tove@gentoo.org> -digest-base-1.16.ebuild,
  +digest-base-1.160.0.ebuild:
  Change version scheme

  02 May 2011; Fabian Groffen <grobian@gentoo.org> digest-base-1.16.ebuild:
  Marked ~x64-freebsd

  17 Jan 2010; Torsten Veller <tove@gentoo.org> -digest-base-1.15.ebuild:
  Cleanup

  05 Jan 2010; nixnut <nixnut@gentoo.org> digest-base-1.16.ebuild:
  ppc stable #288026

  16 Dec 2009; Jonathan Callen <abcd@gentoo.org> digest-base-1.15.ebuild,
  digest-base-1.16.ebuild:
  QA: Transfer prefix keywords

  14 Dec 2009; Raúl Porcel <armin76@gentoo.org> digest-base-1.16.ebuild:
  alpha/ia64/m68k/s390/sh/sparc stable wrt #288026

  10 Dec 2009; Brent Baude <ranger@gentoo.org> digest-base-1.16.ebuild:
  Marking digest-base-1.16 ppc64 stable for bug 288026

  07 Dec 2009; Markus Meier <maekke@gentoo.org> digest-base-1.16.ebuild:
  arm stable, bug #288026

  07 Dec 2009; Jeroen Roovers <jer@gentoo.org> digest-base-1.16.ebuild:
  Stable for HPPA (bug #288026).

  04 Dec 2009; Torsten Veller <tove@gentoo.org> digest-base-1.16.ebuild:
  Stable on amd64 (#288026)

  04 Dec 2009; Christian Faulhammer <fauli@gentoo.org>
  digest-base-1.16.ebuild:
  x86 stable, bug 288026

*digest-base-1.16 (10 Jun 2009)

  10 Jun 2009; Torsten Veller <tove@gentoo.org> +digest-base-1.16.ebuild:
  Version bump

  13 Mar 2009; Torsten Veller <tove@gentoo.org> -digest-base-1.13.ebuild:
  Cleanup

  22 Aug 2008; Alexis Ballier <aballier@gentoo.org> digest-base-1.15.ebuild:
  keyword ~sparc-fbsd

  22 Aug 2008; Alexis Ballier <aballier@gentoo.org> digest-base-1.15.ebuild:
  keyword ~x86-fbsd

  11 May 2007; Joshua Kinard <kumba@gentoo.org> digest-base-1.15.ebuild:
  Stable on mips.

  15 Apr 2007; Markus Rothe <corsair@gentoo.org> digest-base-1.15.ebuild:
  Stable on ppc64

  03 Mar 2007; Andrej Kacian <ticho@gentoo.org> digest-base-1.15.ebuild:
  Stable on x86, bug #169153.

  19 Jan 2007; Michael Cummings <mcummings@gentoo.org>
  digest-base-1.13.ebuild, digest-base-1.15.ebuild:
  Ebuild maintenance

  24 Dec 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  digest-base-1.15.ebuild:
  Stable on ppc.

  23 Oct 2006; Gustavo Zacarias <gustavoz@gentoo.org>
  digest-base-1.15.ebuild:
  Stable on hppa

  21 Oct 2006; Bryan Østergaard <kloeri@gentoo.org>
  digest-base-1.15.ebuild:
  Stable on Alpha.

  20 Oct 2006; Michael Cummings <mcummings@gentoo.org>
  -digest-base-1.05.ebuild, -digest-base-1.08.ebuild,
  -digest-base-1.10.ebuild:
  Cleaning up old ebuilds

  20 Oct 2006; Michael Cummings <mcummings@gentoo.org>
  digest-base-1.08.ebuild, digest-base-1.15.ebuild:
  Marking amd64 stable

  20 Oct 2006; Michael Cummings <mcummings@gentoo.org>
  digest-base-1.05.ebuild, digest-base-1.08.ebuild, digest-base-1.15.ebuild:
  Marking sparc stable

  04 Aug 2006; Michael Cummings <mcummings@gentoo.org>
  digest-base-1.05.ebuild, digest-base-1.08.ebuild, digest-base-1.10.ebuild,
  digest-base-1.13.ebuild, digest-base-1.15.ebuild:
  Adding perl dep

  05 Jul 2006; Christian Hartmann <ian@gentoo.org> digest-base-1.08.ebuild,
  digest-base-1.10.ebuild, digest-base-1.13.ebuild, digest-base-1.15.ebuild:
  Fixed RDEPEND wrt bug #134781; fixed header

*digest-base-1.15 (21 May 2006)

  21 May 2006; Christian Hartmann <ian@gentoo.org> -digest-base-1.14.ebuild,
  +digest-base-1.15.ebuild:
  Version bump

  25 Feb 2006; Joshua Kinard <kumba@gentoo.org> digest-base-1.13.ebuild:
  Marked stable on mips.

  13 Feb 2006; Michael Cummings <mcummings@gentoo.org>
  digest-base-1.10.ebuild, digest-base-1.13.ebuild, digest-base-1.14.ebuild:
  Virtuals for some perl-core deps

  07 Feb 2006; Simon Stelling <blubb@gentoo.org> digest-base-1.13.ebuild:
  stable on amd64

  31 Jan 2006; Aron Griffis <agriffis@gentoo.org> digest-base-1.13.ebuild:
  Mark 1.13 stable on alpha

  21 Jan 2006; Markus Rothe <corsair@gentoo.org> digest-base-1.13.ebuild:
  Stable on ppc64

  15 Jan 2006; Michael Hanselmann <hansmi@gentoo.org>
  digest-base-1.13.ebuild:
  Stable on ppc.

  13 Jan 2006; Michael Cummings <mcummings@gentoo.org>
  digest-base-1.13.ebuild:
  marking sparc x86 stable

*digest-base-1.14 (13 Jan 2006)

  13 Jan 2006; Michael Cummings <mcummings@gentoo.org>
  +digest-base-1.14.ebuild:
  Version bump

*digest-base-1.13 (13 Nov 2005)

  13 Nov 2005; Michael Cummings <mcummings@gentoo.org>
  +digest-base-1.13.ebuild:
  Version bump upstream

  10 Oct 2005; Hardave Riar <hardave@gentoo.org> digest-base-1.10.ebuild:
  Stable on mips.

  17 Sep 2005; Marcus D. Hanwell <cryos@gentoo.org> digest-base-1.10.ebuild:
  Stable on amd64.

  13 Aug 2005; Michael Hanselmann <hansmi@gentoo.org>
  digest-base-1.10.ebuild:
  Stable on ppc.

  07 Jul 2005; Markus Rothe <corsair@gentoo.org> digest-base-1.10.ebuild:
  Stable on ppc64

  02 Jul 2005; Bryan Østergaard <kloeri@gentoo.org>
  digest-base-1.10.ebuild:
  Stable on alpha.

  29 Jun 2005; Michael Cummings <mcummings@gentoo.org>
  digest-base-1.10.ebuild:
  unmasking for x86 and sparc

  25 May 2005; Michael Cummings <mcummings@gentoo.org>
  digest-base-1.10.ebuild:
  dev-perl/MIME-Base64 => perl-core/MIME-Base64 migration

  25 May 2005; Michael Cummings <mcummings@gentoo.org>
  digest-base-1.08.ebuild:
  dev-perl/MIME-Base64 => perl-core/MIME-Base64 migration

*digest-base-1.10 (24 May 2005)

  24 May 2005; Michael Cummings <mcummings@gentoo.org> +metadata.xml,
  +digest-base-1.05.ebuild, +digest-base-1.08.ebuild,
  +digest-base-1.10.ebuild:
  Migration to perl-core

*digest-base-1.10 (24 Apr 2005)

  24 Apr 2005; Michael Cummings <mcummings@gentoo.org>
  digest-base-1.05.ebuild, digest-base-1.08.ebuild,
  +digest-base-1.10.ebuild:
  version bump; syntax fixes

*digest-base-1.08 (21 Sep 2004)

  21 Sep 2004; Michael Cummings <mcummings@gentoo.org>
  +digest-base-1.08.ebuild:
  New version on cpan; closes bug 54985; fixes minor bugs in previous release

  21 Jul 2004; Tom Gall <tgall@gentoo.org> digest-base-1.05.ebuild:
  stable on ppc64, bug #57585

  12 May 2004; Michael McCabe <randy@gentoo.org> digest-base-1.05.ebuild:
  Added s390 keywords

  23 Mar 2004; Joshua Kinard <kumba@gentoo.org> digest-base-1.05.ebuild:
  Marked stable on mips.

  15 Feb 2004; Eric Sammer <esammer@gentoo.org> digest-base-1.05.ebuild:
  Added ~mips to fill a dep from Digest-HMAC.

  14 Feb 2004; Michael Cummings,,, <mcummings@gentoo.org>
  digest-base-1.05.ebuild:
  Removed commented arm - either it is or isn't

  08 Jan 2004; <gustavoz@gentoo.org> digest-base-1.05.ebuild:
  marked stable on hppa

  07 Jan 2004; <agriffis@gentoo.org> digest-base-1.05.ebuild:
  stable on ia64

  06 Jan 2004; Luca Barbato <lu_zero@gentoo.org> digest-base-1.05.ebuild:
  Marked stable on ppc to fix the broken dependencies of dev-perl/Digest-MD5

  27 Dec 2003; Ilya Volynets <iluxa@gentoo.org> digest-base-1.05.ebuild:
  Marked alpha stable to fix dependancy problem for dev-perl/Digest-MD5

  25 Dec 2003; Jason Wever <weeve@gentoo.org> digest-base-1.05.ebuild:
  Marked stable on sparc to fix the broken dependencies of dev-perl/Digest-MD5

*digest-base-1.05 (24 Dec 2003)

  24 Dec 2003; Michael Cummings,,, <mcummings@gentoo.org>
  digest-base-1.05.ebuild, metadata.xml:
  New dep for Digest-MD5

