# ChangeLog for sci-chemistry/gchemutils
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gchemutils/ChangeLog,v 1.10 2009/09/18 14:48:53 betelgeuse Exp $

  18 Sep 2009; Petteri Räty <betelgeuse@gentoo.org>
  -gchemutils-0.8.7.ebuild:
  Remove old version using built_with_use.

  08 Aug 2009; Samuli Suominen <ssuominen@gentoo.org>
  gchemutils-0.10.3.ebuild, +files/gchemutils-0.10.3-glibc-2.10.patch:
  Remove invalid USE debug inherited with gnome2.eclass. Disable mozilla
  plug-in because it needs =xulrunner-1.8* wrt #280049. Fix building with
  GLIBC 2.10+ wrt #276298. Port from built_with_use to EAPI=2 USE deps. Fix
  missing deps intltool and rarian.

  28 Feb 2009; Jeff Gardner <je_fro@gentoo.org> gchemutils-0.10.3.ebuild:
  Fix SRC_URI

*gchemutils-0.10.3 (28 Feb 2009)

  28 Feb 2009; Jeff Gardner <je_fro@gentoo.org> +gchemutils-0.10.3.ebuild:
  Latest version, includes gchempaint so that will be masked soon.

  27 Aug 2008; Jeff Gardner <je_fro@gentoo.org> gchemutils-0.8.7.ebuild:
  goffice and libgsf need to be built with USE=gnome. check in pkg_setup and
  die if this isn't the case Thanks to Robert Bridge in bug #224261.

  21 Apr 2008; Jeff Gardner <je_fro@gentoo.org> -gchemutils-0.8.4.ebuild,
  gchemutils-0.8.7.ebuild:
  Fix RDEPEND for bug #217278

*gchemutils-0.8.7 (29 Mar 2008)

  29 Mar 2008; Jeff Gardner <je_fro@gentoo.org> +gchemutils-0.8.7.ebuild:
  Bump and keyword ~x86 thanks to Robert Bridge on bug 215363.

  31 Dec 2007; Jeff Gardner <je_fro@gentoo.org> ChangeLog:
  Fixing up my email address.

  17 Dec 2007; <je_fro@gentoo.org> metadata.xml:
  Fixing up metadata description.

  23 Oct 2007; Jeff Gardner <je_fro@gentoo.org> gchemutils-0.8.3.ebuild:
  Creating ChangeLog and adding chemical-mime-data as a dep, thanks to
  urcindalo on bug 60666.

