# ChangeLog for dev-texlive/texlive-plainextra
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-texlive/texlive-plainextra/ChangeLog,v 1.32 2010/01/25 13:04:14 aballier Exp $

  25 Jan 2010; Alexis Ballier <aballier@gentoo.org>
  texlive-plainextra-2009.ebuild:
  license update

  15 Jan 2010; Fabian Groffen <grobian@gentoo.org>
  texlive-plainextra-2008.ebuild:
  Also keyword the well-tested texlive-2008

  15 Jan 2010; Christian Faulhammer <fauli@gentoo.org>
  texlive-plainextra-2009.ebuild:
  Transfer Prefix keywords

*texlive-plainextra-2009 (11 Jan 2010)

  11 Jan 2010; Alexis Ballier <aballier@gentoo.org>
  +texlive-plainextra-2009.ebuild, metadata.xml:
  Bump to TeX Live 2009

  10 Jun 2009; Alexey Shvetsov <alexxy@gentoo.org>
  texlive-plainextra-2008.ebuild:
  Add ~mips love

  15 May 2009; Alexis Ballier <aballier@gentoo.org>
  -texlive-plainextra-2007.ebuild:
  remove old

  18 Mar 2009; Brent Baude <ranger@gentoo.org>
  texlive-plainextra-2008.ebuild:
  Marking texlive-plainextra-2008 ppc stable for bug 253551

  18 Mar 2009; Raúl Porcel <armin76@gentoo.org>
  texlive-plainextra-2008.ebuild:
  alpha/arm/ia64/s390/sh stable wrt #253551

  13 Mar 2009; Brent Baude <ranger@gentoo.org>
  texlive-plainextra-2008.ebuild:
  Marking texlive-plainextra-2008 ppc64 stable for bug 235551

  11 Mar 2009; Markus Meier <maekke@gentoo.org>
  texlive-plainextra-2008.ebuild:
  amd64 stable, bug #253551

  10 Mar 2009; Raúl Porcel <armin76@gentoo.org>
  texlive-plainextra-2008.ebuild:
  Add ~arm/~s390/~sh

  07 Mar 2009; Christian Faulhammer <fauli@gentoo.org>
  texlive-plainextra-2008.ebuild:
  x86 stable, bug 253551

  06 Mar 2009; Jeroen Roovers <jer@gentoo.org>
  texlive-plainextra-2008.ebuild:
  Stable for HPPA (bug #253551).

  27 Feb 2009; Ferris McCormick <fmccor@gentoo.org>
  texlive-plainextra-2008.ebuild:
  Sparc stable, part of Bug #253551.

  31 Oct 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-plainextra-2008.ebuild:
  Use stricter deps for texlive 2008 to require the 2008 version of a
  package, get rid of TEXLIVE_MODULES_DEPS and use standard DEPEND/RDEPEND
  fields

  09 Sep 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-plainextra-2007.ebuild:
  Add empty IUSE to please repoman

*texlive-plainextra-2008 (09 Sep 2008)

  09 Sep 2008; Alexis Ballier <aballier@gentoo.org> metadata.xml,
  +texlive-plainextra-2008.ebuild:
  Bump to 2008

  12 May 2008; nixnut <nixnut@gentoo.org> texlive-plainextra-2007.ebuild:
  Stable on ppc wrt bug 220651

  16 Apr 2008; Peter Volkov <pva@gentoo.org> texlive-plainextra-2007.ebuild:
  amd64 stable, bug #215735.

  08 Apr 2008; Raúl Porcel <armin76@gentoo.org>
  texlive-plainextra-2007.ebuild:
  alpha/ia64/sparc stable wrt #215735

  08 Apr 2008; Jeroen Roovers <jer@gentoo.org>
  texlive-plainextra-2007.ebuild:
  Stable for HPPA (bug #215735).

  06 Apr 2008; Markus Rothe <corsair@gentoo.org>
  texlive-plainextra-2007.ebuild:
  Added ~ppc; bug #195815

  06 Apr 2008; Markus Rothe <corsair@gentoo.org>
  texlive-plainextra-2007.ebuild:
  Stable on ppc64; bug #215735

  01 Apr 2008; Christian Faulhammer <opfer@gentoo.org>
  texlive-plainextra-2007.ebuild:
  stable x86, bug 215735

  10 Feb 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-plainextra-2007.ebuild:
  keyword ~x86-fbsd

  18 Dec 2007; Jeroen Roovers <jer@gentoo.org>
  texlive-plainextra-2007.ebuild:
  Marked ~hppa (bug #195815).

  26 Oct 2007; Ferris McCormick <fmccor@gentoo.org>
  texlive-plainextra-2007.ebuild:
  Add ~amd64 keyword --- Bug #195815

  25 Oct 2007; Markus Rothe <corsair@gentoo.org>
  texlive-plainextra-2007.ebuild:
  Added ~ppc64; bug #195815

  25 Oct 2007; Raúl Porcel <armin76@gentoo.org>
  texlive-plainextra-2007.ebuild:
  Add ~alpha/~ia64 wrt bug #195815

  25 Oct 2007; Ferris McCormick <fmccor@gentoo.org>
  texlive-plainextra-2007.ebuild:
  Add ~sparc keyword --- Bug #195815

  25 Oct 2007; Christian Faulhammer <opfer@gentoo.org>
  texlive-plainextra-2007.ebuild:
  keyworded ~x86, bug 195815

*texlive-plainextra-2007 (14 Oct 2007)

  14 Oct 2007; Alexis Ballier <aballier@gentoo.org> +metadata.xml,
  +texlive-plainextra-2007.ebuild:
  initial import

