# ChangeLog for dev-tex/cdcover
# Copyright 2002-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-tex/cdcover/ChangeLog,v 1.11 2014/08/10 21:25:10 slyfox Exp $

  10 Aug 2014; Sergei Trofimovich <slyfox@gentoo.org> cdcover-1.3b.ebuild:
  QA: drop trailing '.' from DESCRIPTION

  12 Mar 2007; Alexandre Buisse <nattfodd@gentoo.org> metadata.xml:
  Replaced text-markup by tex as maintaining herd (text-markup split).

  06 Feb 2007; Alexandre Buisse <nattfodd@gentoo.org> cdcover-1.3b.ebuild:
  Corrected SRC_URI and HOMEPAGE.

  28 Dec 2004; Dylan Carlson <absinthe@gentoo.org> cdcover-1.3b.ebuild:
  Stable on amd64.

  06 May 2004; Ciaran McCreesh <ciaranm@gentoo.org> cdcover-1.3b.ebuild:
  Added ~sparc, #50239

  17 Apr 2004; Daniel Ahlberg <aliz@gentoo.org> cdcover-1.3b.ebuild:
  Added ISUE=.

  13 Apr 2004; Danny van Dyk <kugelfang@gentoo.org> cdcover-1.3b.ebuild:
  marked ~amd64

*cdcover-1.3b (14 Aug 2002)

  14 Aug 2002; Matthew Turk <satai@gentoo.org> Initial
  Added latex-cdcover, a LaTeX package for creating CD covers.
