# ChangeLog for dev-perl/yaml
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-perl/yaml/ChangeLog,v 1.90 2011/07/30 10:50:34 tove Exp $

  30 Jul 2011; Torsten Veller <tove@gentoo.org> yaml-0.71.ebuild,
  yaml-0.730.0.ebuild:
  Drop ~sparc-fbsd KEYWORD

  29 Jul 2011; Torsten Veller <tove@gentoo.org> -yaml-0.72.ebuild:
  Cleanup

*yaml-0.730.0 (20 Apr 2011)

  20 Apr 2011; Torsten Veller <tove@gentoo.org> +yaml-0.730.0.ebuild:
  Version bump

  06 Jan 2011; Torsten Veller <tove@gentoo.org> -yaml-0.68.ebuild,
  -yaml-0.70.ebuild:
  Cleanup

  05 Nov 2010; Samuli Suominen <ssuominen@gentoo.org> yaml-0.71.ebuild:
  ppc64 stable wrt #341865

*yaml-0.72 (02 Sep 2010)

  02 Sep 2010; Torsten Veller <tove@gentoo.org> +yaml-0.72.ebuild:
  Version bump

  27 Jun 2010; <nixnut@gentoo.org> yaml-0.71.ebuild:
  ppc stable #323529

  08 May 2010; Raúl Porcel <armin76@gentoo.org> yaml-0.71.ebuild:
  alpha/ia64/m68k/s390/sh/sparc stable wrt #314467

  04 May 2010; Jeroen Roovers <jer@gentoo.org> yaml-0.71.ebuild:
  Stable for HPPA (bug #314467).

  18 Apr 2010; Markus Meier <maekke@gentoo.org> yaml-0.71.ebuild:
  arm stable, bug #314467

  17 Apr 2010; Torsten Veller <tove@gentoo.org> yaml-0.71.ebuild:
  Stable on amd64, x86 (#314467)

  14 Jan 2010; Fabian Groffen <grobian@gentoo.org> yaml-0.71.ebuild:
  Transfer Prefix keywords

*yaml-0.71 (03 Jan 2010)

  03 Jan 2010; Torsten Veller <tove@gentoo.org> +yaml-0.71.ebuild:
  Version bump

*yaml-0.70 (11 Aug 2009)

  11 Aug 2009; Torsten Veller <tove@gentoo.org> +yaml-0.70.ebuild:
  Version bump

  08 May 2009; Torsten Veller <tove@gentoo.org> -yaml-0.65.ebuild:
  Cleanup

  07 May 2009; Raúl Porcel <armin76@gentoo.org> yaml-0.68.ebuild:
  alpha/arm/ia64/m68k/s390/sh stable wrt #268188

  06 May 2009; Jeroen Roovers <jer@gentoo.org> yaml-0.68.ebuild:
  Stable for HPPA (bug #268188).

  05 May 2009; Tiago Cunha <tcunha@gentoo.org> yaml-0.68.ebuild:
  stable sparc, bug 268188

  03 May 2009; Markus Meier <maekke@gentoo.org> yaml-0.68.ebuild:
  amd64 stable, bug #268188

  03 May 2009; Brent Baude <ranger@gentoo.org> yaml-0.68.ebuild:
  stable ppc64, bug 268188

  02 May 2009; nixnut <nixnut@gentoo.org> yaml-0.68.ebuild:
  ppc stable #268188

  02 May 2009; Torsten Veller <tove@gentoo.org> yaml-0.68.ebuild:
  Stable on x86 (#268188)

  01 May 2009; Torsten Veller <tove@gentoo.org> -yaml-0.39.ebuild,
  -yaml-0.66.ebuild:
  Cleanup

  19 Mar 2009; Raúl Porcel <armin76@gentoo.org> yaml-0.65.ebuild,
  yaml-0.66.ebuild, yaml-0.68.ebuild:
  ~m68k love, thanks to kolla for testing

*yaml-0.68 (08 Dec 2008)

  08 Dec 2008; Robin H. Johnson <robbat2@gentoo.org> +yaml-0.68.ebuild:
  Version bump.

  15 Sep 2008; Torsten Veller <tove@gentoo.org> -yaml-0.58.ebuild,
  -yaml-0.60.ebuild, -yaml-0.62.ebuild:
  Cleanup

*yaml-0.66 (23 Apr 2008)

  23 Apr 2008; Torsten Veller <tove@gentoo.org> +yaml-0.66.ebuild:
  Version bump

  28 Mar 2008; Jeroen Roovers <jer@gentoo.org> yaml-0.65.ebuild:
  Stable for HPPA too.

  29 Dec 2007; <welp@gentoo.org> yaml-0.65.ebuild:
  Keyworded ~sparc-fbsd; bug 203655

  19 Nov 2007; Joshua Kinard <kumba@gentoo.org> yaml-0.65.ebuild:
  Stable on mips.

  10 Nov 2007; Samuli Suominen <drac@gentoo.org> yaml-0.65.ebuild:
  amd64 stable

  08 Oct 2007; Tom Gall <tgall@gentoo.org> yaml-0.65.ebuild:
  stable on ppc64

  09 Aug 2007; Tobias Scherbaum <dertobi123@gentoo.org> yaml-0.65.ebuild:
  Stable on ppc.

  09 Aug 2007; Gustavo Zacarias <gustavoz@gentoo.org> yaml-0.65.ebuild:
  Stable on sparc

  30 Jul 2007; Raúl Porcel <armin76@gentoo.org> yaml-0.65.ebuild:
  alpha/ia64/x86 stable

*yaml-0.65 (25 Jun 2007)

  25 Jun 2007; Michael Cummings <mcummings@gentoo.org> +yaml-0.65.ebuild:
  Version bump

  12 May 2007; Joshua Kinard <kumba@gentoo.org> yaml-0.62.ebuild:
  Stable on mips.

  16 Apr 2007; Markus Rothe <corsair@gentoo.org> yaml-0.62.ebuild:
  Stable on ppc64

  05 Mar 2007; Andrej Kacian <ticho@gentoo.org> yaml-0.62.ebuild:
  Stable on x86, bug #169152.

  23 Oct 2006; Gustavo Zacarias <gustavoz@gentoo.org> yaml-0.62.ebuild:
  Stable on hppa

  21 Oct 2006; Tobias Scherbaum <dertobi123@gentoo.org> yaml-0.62.ebuild:
  ppc stable

  20 Oct 2006; Aron Griffis <agriffis@gentoo.org> yaml-0.62.ebuild:
  Mark 0.62 stable on ia64

  20 Oct 2006; Bryan Østergaard <kloeri@gentoo.org> yaml-0.62.ebuild:
  Stable on Alpha.

  20 Oct 2006; Michael Cummings <mcummings@gentoo.org> -yaml-0.35.ebuild,
  -yaml-0.36.ebuild, yaml-0.39.ebuild, -yaml-0.51.ebuild, -yaml-0.53.ebuild,
  yaml-0.58.ebuild, yaml-0.60.ebuild, yaml-0.62.ebuild:
  Marking amd64, sparc stable; cleaning up ebuilds

  16 Sep 2006; Tobias Scherbaum <dertobi123@gentoo.org> yaml-0.58.ebuild:
  ppc stable

  18 Aug 2006; Michael Cummings <mcummings@gentoo.org> yaml-0.58.ebuild:
  Marking amd64 stable

  06 Aug 2006; Michael Cummings <mcummings@gentoo.org> yaml-0.35.ebuild,
  yaml-0.36.ebuild, yaml-0.39.ebuild, yaml-0.51.ebuild, yaml-0.53.ebuild,
  yaml-0.58.ebuild, yaml-0.60.ebuild, yaml-0.62.ebuild:
  Adding perl dep; fixed header; fixed DEPEND

  10 Jul 2006; Aron Griffis <agriffis@gentoo.org> yaml-0.58.ebuild:
  Mark 0.58 stable on ia64

*yaml-0.62 (05 Jul 2006)

  05 Jul 2006; Michael Cummings <mcummings@gentoo.org> +yaml-0.62.ebuild:
  Version bump

*yaml-0.60 (02 Jul 2006)

  02 Jul 2006; Christian Hartmann <ian@gentoo.org> +yaml-0.60.ebuild:
  Version bump; test-dep cleanup

  29 Jun 2006; Gustavo Zacarias <gustavoz@gentoo.org> yaml-0.58.ebuild:
  Stable on hppa

  12 Jun 2006; Michael Cummings <mcummings@gentoo.org> yaml-0.51.ebuild,
  yaml-0.53.ebuild, yaml-0.58.ebuild:
  Marking sparc stable

  24 Apr 2006; Diego Pettenò <flameeyes@gentoo.org> yaml-0.58.ebuild:
  Add ~x86-fbsd keyword.

  20 Apr 2006; Thomas Cort <tcort@gentoo.org> yaml-0.58.ebuild:
  Added ~amd64 keyword wrt Bug #119199.

  20 Apr 2006; Thomas Cort <tcort@gentoo.org> yaml-0.58.ebuild:
  Added ~alpha keyword wrt Bug #119199.

  17 Mar 2006; Chris White <chriswhite@gentoo.org> yaml-0.39.ebuild:
  amd64 stable for 0.39.

  10 Mar 2006; Aron Griffis <agriffis@gentoo.org> yaml-0.58.ebuild:
  Mark 0.58 ~ia64. #119199

  26 Feb 2006; Joshua Kinard <kumba@gentoo.org> yaml-0.39.ebuild,
  yaml-0.58.ebuild:
  0.39 stable on mips, ~mips added to 0.59 for Bug #119199.

  20 Feb 2006; Michael Cummings <mcummings@gentoo.org> -yaml-0.57.ebuild:
  Removing extraneous ebuild

*yaml-0.58 (20 Feb 2006)

  20 Feb 2006; Michael Cummings <mcummings@gentoo.org> +yaml-0.58.ebuild:
  bump fix; uses test keyword now

*yaml-0.57 (20 Feb 2006)

  20 Feb 2006; Michael Cummings <mcummings@gentoo.org> +yaml-0.57.ebuild:
  Version bump upstream

  13 Feb 2006; Michael Cummings <mcummings@gentoo.org> yaml-0.39.ebuild,
  yaml-0.51.ebuild, yaml-0.53.ebuild:
  Virtuals for perl-core

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

  23 Jan 2006; Markus Rothe <corsair@gentoo.org> yaml-0.53.ebuild:
  Added ~ppc64; bug #119199

*yaml-0.53 (22 Jan 2006)

  22 Jan 2006; Michael Cummings <mcummings@gentoo.org> +yaml-0.53.ebuild:
  Version bump

  21 Jan 2006; Markus Rothe <corsair@gentoo.org> yaml-0.39.ebuild:
  Stable on ppc64

  21 Jan 2006; Jeroen Roovers <jer@gentoo.org> yaml-0.51.ebuild:
  Marked ~hppa (bug #119199).

  17 Jan 2006; <nixnut@gentoo.org> yaml-0.51.ebuild:
  Added ~ppc keyword. bug 119199

*yaml-0.51 (16 Jan 2006)

  16 Jan 2006; Michael Cummings <mcummings@gentoo.org> +yaml-0.51.ebuild:
  new version of yaml upstream, will need re-keywording

  15 Jan 2006; Michael Hanselmann <hansmi@gentoo.org> yaml-0.39.ebuild:
  Stable on ppc.

  13 Jan 2006; Michael Cummings <mcummings@gentoo.org> yaml-0.39.ebuild:
  Marking sparc x86 stable

  08 Sep 2005; Aron Griffis <agriffis@gentoo.org> yaml-0.36.ebuild:
  Mark 0.36 stable on alpha

  17 Jun 2005; Michael Hanselmann <hansmi@gentoo.org> yaml-0.36.ebuild:
  Stable on ppc.

  06 Jun 2005; Markus Rothe <corsair@gentoo.org> yaml-0.36.ebuild:
  Stable on ppc64

  27 May 2005; Michael Cummings <mcummings@gentoo.org> yaml-0.39.ebuild:
  -m Fixing dep for yaml-0.39

  22 May 2005; Simon Stelling <blubb@gentoo.org> yaml-0.36.ebuild:
  stable on amd64

  16 May 2005; Gustavo Zacarias <gustavoz@gentoo.org> yaml-0.36.ebuild:
  Stable on sparc

  15 May 2005; Rene Nussbaumer <killerfox@gentoo.org> yaml-0.36.ebuild:
  Stable on hppa

*yaml-0.39 (14 May 2005)

  14 May 2005; Michael Cummings <mcummings@gentoo.org> yaml-0.36.ebuild,
  +yaml-0.39.ebuild:
  Version bump

  18 Mar 2005; Aron Griffis <agriffis@gentoo.org> yaml-0.35.ebuild,
  yaml-0.36.ebuild:
  Add ia64 and ~ia64 keywords

*yaml-0.36 (13 Mar 2005)

  13 Mar 2005; Michael Cummings <mcummings@gentoo.org> yaml-0.35.ebuild,
  +yaml-0.36.ebuild:
  Version bump, bug 84989

  12 Mar 2005; Markus Rothe <corsair@gentoo.org> yaml-0.35.ebuild:
  Stable on ppc64

  22 Dec 2004; Yuta SATOH <nigoro@gentoo.org> yaml-0.35.ebuild:
  added ~ppc64

  21 Nov 2004; Hardave Riar <hardave@gentoo.org> yaml-0.35.ebuild:
  Stable on mips, dep for bug #68570

  20 Nov 2004; Daniel Black <dragonheart@gentoo.org> yaml-0.35.ebuild:
  ppc stable to support bug #68570

  19 Oct 2004; Dylan Carlson <absinthe@gentoo.org> yaml-0.35.ebuild:
  Stable on amd64.

  05 Apr 2004; Gustavo Zacarias <gustavoz@gentoo.org> yaml-0.35.ebuild:
  Stable on sparc

  19 Jan 2004; Eric Sammer <esammer@gentoo.org> yaml-0.35.ebuild:
  Added ~amd64 to keywords to fix dependencies. Added metadata.xml

*yaml-0.35 (26 Jun 2003)

  26 Jun 2003; Michael Cummings <mcummings@gentoo.org> yaml-0.35.ebuild:
  YAML is a dep for alzabo

