# ChangeLog for dev-java/sun-jaf
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-java/sun-jaf/ChangeLog,v 1.21 2014/06/17 10:37:32 mrueg Exp $

  17 Jun 2014; Manuel Rüger <mrueg@gentoo.org> -sun-jaf-1.1.ebuild:
  NM: Cleanup superseeded ebuilds.

  12 May 2012; Alexis Ballier <aballier@gentoo.org> sun-jaf-1.1.1.ebuild:
  keyword ~amd64-fbsd

  01 Jan 2012; Ralph Sennhauser <sera@gentoo.org> sun-jaf-1.1.ebuild,
  sun-jaf-1.1.1.ebuild:
  Drop ia64 support #345433[B

  03 May 2011; Fabian Groffen <grobian@gentoo.org> sun-jaf-1.1.1.ebuild:
  Marked ~x64-freebsd

  16 Jul 2010; Fabian Groffen <grobian@gentoo.org> sun-jaf-1.1.1.ebuild:
  Marked ~x64-macos

  03 Jan 2010; Christian Faulhammer <fauli@gentoo.org> sun-jaf-1.1.1.ebuild:
  Transfer Prefix keywords

  11 Mar 2008; Brent Baude <ranger@gentoo.org> sun-jaf-1.1.1.ebuild:
  stable ppc64, bug 212656

  08 Mar 2008; William L. Thomson Jr. <wltjr@gentoo.org>
  sun-jaf-1.1.1.ebuild:
  amd64 stable, bug #212656.

  08 Mar 2008; Markus Meier <maekke@gentoo.org> sun-jaf-1.1.1.ebuild:
  x86 stable, bug #212656

  08 Mar 2008; Krzysiek Pawlik <nelchael@gentoo.org> sun-jaf-1.1.1.ebuild:
  Stable on ppc, see bug #212656.

*sun-jaf-1.1.1 (01 Jan 2008)

  01 Jan 2008; Vlastimil Babka <caster@gentoo.org> +sun-jaf-1.1.1.ebuild:
  Version bump.

  18 Apr 2007; Petteri Räty <betelgeuse@gentoo.org> sun-jaf-1.1.ebuild:
  Add java-ant-2 to inherit to make JAVA_PKG_STRICT happy.

  01 Apr 2007; Raúl Porcel <armin76@gentoo.org> sun-jaf-1.1.ebuild:
  Add ~ia64 keyword wrt bug 158687

  07 Dec 2006; Diego Pettenò <flameeyes@gentoo.org> sun-jaf-1.1.ebuild:
  Add ~x86-fbsd keyword.

  24 Nov 2006; Markus Rothe <corsair@gentoo.org> sun-jaf-1.1.ebuild:
  Stable on ppc64; bug #154678

  23 Nov 2006; Tobias Scherbaum <dertobi123@gentoo.org> sun-jaf-1.1.ebuild:
  ppc stable, bug #154679

  23 Nov 2006; <blubb@gentoo.org> sun-jaf-1.1.ebuild:
  stable on amd64

  10 Nov 2006; Krzysiek Pawlik <nelchael@gentoo.org> sun-jaf-1.1.ebuild:
  Stable on x86.

  24 Sep 2006; Joshua Nichols <nichoj@gentoo.org> sun-jaf-1.1.ebuild:
  Added ~ppc64.

*sun-jaf-1.1 (24 Sep 2006)

  24 Sep 2006; Krzysiek Pawlik <nelchael@gentoo.org> +metadata.xml,
  +sun-jaf-1.1.ebuild:
  Initial version.
