# ChangeLog for dev-ml/lablgtk
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-ml/lablgtk/ChangeLog,v 1.79 2009/12/22 17:12:44 grobian Exp $

  22 Dec 2009; Fabian Groffen <grobian@gentoo.org> lablgtk-2.14.0-r1.ebuild:
  Marked ~x86-linux, bug #295193

*lablgtk-2.14.0-r1 (22 Dec 2009)

  22 Dec 2009; Alexis Ballier <aballier@gentoo.org>
  +lablgtk-2.14.0-r1.ebuild, +files/lablgtk-2.14.0-sourceview2.patch:
  Add gtksourceview2 support and use it instead of 1.x versions; patch by
  Rafał Mużyło <galtgendo@o2.pl>, bug #295515

  07 Dec 2009; Alexis Ballier <aballier@gentoo.org> -lablgtk-2.10.1.ebuild:
  remove old

  24 Oct 2009; nixnut <nixnut@gentoo.org> lablgtk-2.12.0.ebuild:
  ppc stable #286785

  16 Oct 2009; Jeroen Roovers <jer@gentoo.org> lablgtk-2.12.0.ebuild:
  Stable for HPPA (bug #286785).

  10 Oct 2009; Raúl Porcel <armin76@gentoo.org> lablgtk-2.12.0.ebuild:
  ia64/sparc stable wrt #286785

  04 Oct 2009; Tobias Klausmann <klausman@gentoo.org> lablgtk-2.12.0.ebuild:
  Stable on alpha, bug #286785

  02 Oct 2009; Markus Meier <maekke@gentoo.org> lablgtk-2.12.0.ebuild:
  amd64/x86 stable, bug #286785

  28 Sep 2009; Alexis Ballier <aballier@gentoo.org>
  -lablgtk-2.12.0-r1.ebuild:
  remove old

*lablgtk-2.14.0 (26 Sep 2009)

  26 Sep 2009; Alexis Ballier <aballier@gentoo.org> +lablgtk-2.14.0.ebuild:
  version bump

*lablgtk-2.12.0-r1 (18 Sep 2009)

  18 Sep 2009; Alexis Ballier <aballier@gentoo.org>
  +lablgtk-2.12.0-r1.ebuild:
  Add a new revision without the site-packages symlink

  27 Jul 2009; Alexis Ballier <aballier@gentoo.org> lablgtk-2.12.0.ebuild,
  +files/lablgtk-2.12.0-libgnomeui.patch:
  Add upstream patch for bug #274528

*lablgtk-2.12.0 (17 Jun 2009)

  17 Jun 2009; Alexis Ballier <aballier@gentoo.org> lablgtk-2.10.1.ebuild,
  +lablgtk-2.12.0.ebuild:
  bump to 2.12.0, bug #271971 and eapi2ify, define eapi before inherit

  31 Jul 2008; Panagiotis Christopoulos <pchrist@gentoo.org> metadata.xml:
  Update metadata.xml to include USE flag descriptions. Entries taken from
  profiles/use.local.desc

  13 Apr 2008; Alexis Ballier <aballier@gentoo.org> lablgtk-2.10.1.ebuild:
  pkgconfig is only a build dep, bug #217278

  06 Apr 2008; Alexis Ballier <aballier@gentoo.org> -lablgtk-2.6.0.ebuild:
  remove old

  06 Apr 2008; Markus Meier <maekke@gentoo.org> lablgtk-2.10.1.ebuild:
  amd64 stable, bug #215750

  03 Apr 2008; Raúl Porcel <armin76@gentoo.org> lablgtk-2.10.1.ebuild:
  ia64/sparc/x86 stable wrt #215750

  03 Apr 2008; Brent Baude <ranger@gentoo.org> lablgtk-2.10.1.ebuild:
  stable ppc, bug 215750

  02 Apr 2008; Tobias Klausmann <klausman@gentoo.org> lablgtk-2.10.1.ebuild:
  Stable on alpha, bug #215750

  02 Apr 2008; Jeroen Roovers <jer@gentoo.org> lablgtk-2.10.1.ebuild:
  Stable for HPPA (bug #215750).

  01 Apr 2008; Alexis Ballier <aballier@gentoo.org>
  -files/lablgtk-2.4.0-gcc34.patch, -lablgtk-2.4.0.ebuild,
  -lablgtk-2.10.0.ebuild:
  remove old versions

*lablgtk-2.10.1 (26 Feb 2008)

  26 Feb 2008; Alexis Ballier <aballier@gentoo.org> +lablgtk-2.10.1.ebuild:
  version bump

  02 Jan 2008; Alexis Ballier <aballier@gentoo.org> lablgtk-2.10.0.ebuild:
  Install all examples, controlled by examples useflag, thanks to
  gmalecha@gmail.com, bug #203990

  02 Jan 2008; Alexis Ballier <aballier@gentoo.org> lablgtk-2.10.0.ebuild:
  Add support to not build with ocamlopt

*lablgtk-2.10.0 (30 Oct 2007)

  30 Oct 2007; Alexis Ballier <aballier@gentoo.org> +lablgtk-2.10.0.ebuild:
  version bump

  30 Aug 2007; Christian Heim <phreak@gentoo.org> metadata.xml:
  Removing mattam from metadata due to his retirement (see #30021 for reference).

  07 Aug 2007; Roy Marples <uberlord@gentoo.org> lablgtk-2.6.0.ebuild:
  Keyworded ~x86-fbsd

  26 May 2007; Raúl Porcel <armin76@gentoo.org> lablgtk-2.6.0.ebuild:
  alpha stable wrt #143311

  28 Jan 2007; Marius Mauch <genone@gentoo.org> lablgtk-2.4.0.ebuild,
  lablgtk-2.6.0.ebuild:
  Replacing einfo with elog

  21 Dec 2006; Saleem Abdulrasool <compnerd@gentoo.org>
  -lablgtk-1.2.5.ebuild, -lablgtk-1.2.6.ebuild, -lablgtk-1.2.7.ebuild:
  gnome-1.x removal

  31 Oct 2006; Alexandre Buisse <nattfodd@gentoo.org> lablgtk-2.4.0.ebuild,
  lablgtk-2.6.0.ebuild:
  Added missing pkgconfig dep to lablgtk-2.[46] (bug #151735).

  26 Sep 2006; Gustavo Zacarias <gustavoz@gentoo.org> lablgtk-2.6.0.ebuild:
  Stable on hppa wrt #143311

  05 Sep 2006; Gustavo Zacarias <gustavoz@gentoo.org> lablgtk-2.6.0.ebuild:
  Stable on sparc wrt #143311

  30 Aug 2006; Tobias Scherbaum <dertobi123@gentoo.org>
  lablgtk-2.6.0.ebuild:
  ppc stable, bug #143311

  28 Aug 2006; Matthieu Sozeau <mattam@gentoo.org> lablgtk-2.6.0.ebuild:
  Mark stable on x86 and amd64 (bug #143311).

  10 Mar 2006; Aron Griffis <agriffis@gentoo.org> lablgtk-2.6.0.ebuild:
  Mark 2.6.0 stable on ia64

  04 Feb 2006; Matthieu Sozeau <mattam@gentoo.org> lablgtk-2.4.0.ebuild,
  lablgtk-2.6.0.ebuild:
  Added ocamlfind support for 2.* versions. Fixes bug #97344.

  04 Feb 2006; Matthieu Sozeau <mattam@gentoo.org> -lablgtk-2.2.0.ebuild:
  Remove old, unused version.

*lablgtk-2.6.0 (14 Nov 2005)

  14 Nov 2005; Matthieu Sozeau <mattam@gentoo.org> +lablgtk-2.6.0.ebuild:
  Version bump.

  10 Sep 2005; Aron Griffis <agriffis@gentoo.org> lablgtk-2.4.0.ebuild:
  Mark 2.4.0 stable on alpha

  08 Sep 2005; Karol Wojtaszek <sekretarz@gentoo.org> lablgtk-2.4.0.ebuild:
  Fixed configure problem on amd64 caused by wrong PKG_CONFIG_PATH variable,
  bug #100912

  02 Aug 2005; Gustavo Zacarias <gustavoz@gentoo.org> lablgtk-2.4.0.ebuild:
  Stable on sparc

  25 Jul 2005; Matthieu Sozeau <mattam@gentoo.org> lablgtk-2.4.0.ebuild:
  Use new gnomecanvas USE flag (fixes bug #87426).

  25 Jul 2005; Matthieu Sozeau <mattam@gentoo.org> lablgtk-2.4.0.ebuild:
  Added use_with code for optional features so that users get all control over
  what is installed (fixes bugs #87426 and #100164). Also added needed `aclocal`
  call after unpack and before reconfigure.

  24 Jul 2005; Herbie Hopkins <herbs@gentoo.org> lablgtk-1.2.7.ebuild:
  Fix multilib-strict issue, bug 99800. Marked stable on amd64.

  23 Jul 2005; <sekretarz@gentoo.org> +files/lablgtk-2.4.0-gcc34.patch,
  lablgtk-2.4.0.ebuild:
  Fixed problems with gcc-3.4, bug #94816

  13 Jul 2005; Matthieu Sozeau <mattam@gentoo.org> lablgtk-1.2.7.ebuild,
  lablgtk-2.4.0.ebuild:
  Versions 1.2.7 and 2.4.0 stable on x86 and ppc

  06 May 2005; Sven Wegener <swegener@gentoo.org> lablgtk-2.2.0.ebuild,
  lablgtk-2.4.0.ebuild:
  Removed * postfix from <, <=, >= and > dependencies.

  06 Apr 2005; Matthieu Sozeau <mattam@gentoo.org> lablgtk-2.2.0.ebuild,
  lablgtk-2.4.0.ebuild:
  Use autodetection instead of adding --without-* flags. Fixes bug #87246.

  01 Apr 2005; Aron Griffis <agriffis@gentoo.org> lablgtk-2.4.0.ebuild:
  stable on ia64

  14 Mar 2005; Matthieu Sozeau <mattam@gentoo.org> lablgtk-2.2.0.ebuild,
  lablgtk-2.4.0.ebuild:
  Remove invalid dependancy on gdk-pixbuf (fixes bug #84965).

  29 Dec 2004; Ciaran McCreesh <ciaranm@gentoo.org> :
  Change encoding to UTF-8 for GLEP 31 compliance

  23 Aug 2004; Matthieu Sozeau <mattam@gentoo.org> lablgtk-1.2.5.ebuild,
  lablgtk-1.2.6.ebuild:
  Compiles perfectly fine with ocaml-3.08

  13 Aug 2004; Jason Wever <weeve@gentoo.org> lablgtk-2.4.0.ebuild:
  Added ~sparc keyword.

*lablgtk-2.4.0 (08 Aug 2004)

  08 Aug 2004; Matthieu Sozeau <mattam@gentoo.org> lablgtk-1.2.5.ebuild,
  lablgtk-1.2.6.ebuild, lablgtk-2.2.0.ebuild, +lablgtk-2.4.0.ebuild:
  Prepare for ocaml-3.08 bump, add latest version for gtk+2.

*lablgtk-1.2.7 (08 Aug 2004)

  08 Aug 2004; Matthieu Sozeau <mattam@gentoo.org> -lablgtk-1.2.3.ebuild,
  +lablgtk-1.2.7.ebuild:
  Remove old versions, add lablgtk-1.2.7.

  13 Jul 2004; Travis Tilley <lv@gentoo.org> lablgtk-1.2.6.ebuild:
  added back ~amd64 keyword

  08 Jun 2004; Bryan Østergaard <kloeri@gentoo.org> lablgtk-1.2.6.ebuild:
  Stable on alpha.

  03 Jun 2004; Aron Griffis <agriffis@gentoo.org> lablgtk-1.2.3.ebuild:
  Fix use invocation

  28 May 2004; Danny van Dyk <kugelfang@gentoo.org> lablgtk-1.2.3.ebuild,
  lablgtk-1.2.5.ebuild, lablgtk-1.2.6.ebuild, lablgtk-2.2.0.ebuild:
  Marked -amd64 as dependencies aren't fulfilled anymore.

  11 May 2004; Guy Martin <gmsoft@gentoo.org> :
  Marked stable on hppa.

  17 Apr 2004; Travis Tilley <lv@gentoo.org> lablgtk-1.2.3.ebuild,
  lablgtk-1.2.5.ebuild, lablgtk-1.2.6.ebuild, lablgtk-2.2.0.ebuild:
  added ~amd64 keyword

  22 Mar 2004; Matthieu Sozeau <mattam@gentoo.org> lablgtk-1.2.5.ebuild:
  Put 1.2.5 into stable on ppc.

  20 Mar 2004; Matthieu Sozeau <mattam@gentoo.org> lablgtk-1.2.6.ebuild:
  Update lablgl dependency (fix bug #45109).

  17 Feb 2004; Aron Griffis <agriffis@gentoo.org> lablgtk-1.2.5.ebuild,
  lablgtk-1.2.6.ebuild, lablgtk-2.2.0.ebuild:
  add ~alpha and ~ia64

*lablgtk-1.2.6 (03 Feb 2004)

  03 Feb 2004; Matthieu Sozeau <mattam@gentoo.org> lablgtk-1.2.6.ebuild,
  lablgtk-2.2.0.ebuild:
  1.2.6 version bump, all arches ~ keyworded. Fix depend in 2.2.0 to allow
  >gtk-2.2 versions to be linked with lablgl (bug #31854).

  22 Jan 2004; Matthieu Sozeau <mattam@gentoo.org> lablgtk-1.2.3.ebuild:
  Forgot to say i added ~ppc keywords to 1.2.3 and 2.2.0.

*lablgtk-2.2.0 (22 Jan 2004)

  22 Jan 2004; Matthieu Sozeau <mattam@gentoo.org> lablgtk-1.2.3.ebuild,
  lablgtk-2.2.0.ebuild, metadata.xml:
  New version for gtk+2, incompatible with lablgtk 1 but the two can coexist
    peacefully. Also added metadata file.

  26 Dec 2003; Jason Wever <weeve@gentoo.org> lablgtk-1.2.5.ebuild:
  Marked stable on sparc to fix broken net-misc/unison dependencies.

  24 Nov 2003; Jason Wever <weeve@gentoo.org> lablgtk-1.2.3.ebuild,
  lablgtk-1.2.5.ebuild:
  Added ~sparc keyword.

*lablgtk-1.2.5 (25 Oct 2002)

  15 Mar 2003; Alastair Tse <liquidx@gentoo.org> lablgtk-1.2.5.ebuild:
  gdk-pixbuf added to deps. thanks to ska-fan. resolves #17531.

  28 Jan 2003; Jon Nall <nall@gentoo.org> lablgtk-1.2.5.ebuild :
  added ~ppc

  25 Oct 2002; foser <foser@gentoo.org> lablgtk-1.2.5.ebuild :
  
  New version. Ebuild by Jeffrey Palmer <jeffrey.palmer@acm.org> (bug #9609)

*lablgtk-1.2.3 (28 Jun 2002)

  28 Jun 2002; G Shapovalov <george@gentoo.org> all :

  initial release
  from the README:
  LablGTK : an interface to the GIMP Tool Kit

  ebuild submitted by Bardur Arantsson <bardur-gta@odense.kollegienet.dk> 
