# ChangeLog for sci-electronics/pcb
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sci-electronics/pcb/ChangeLog,v 1.80 2015/03/16 18:39:23 tomjbe Exp $

  16 Mar 2015; Thomas Beierlein <tomjbe@gentoo.org> -pcb-20100929.ebuild,
  -pcb-20110918.ebuild:
  drop old

  21 Feb 2015; Agostino Sarubbo <ago@gentoo.org> pcb-20140316.ebuild:
  Stable for ppc, wrt bug #537368

  01 Feb 2015; Agostino Sarubbo <ago@gentoo.org> pcb-20140316.ebuild:
  Stable for x86, wrt bug #537368

  31 Jan 2015; Agostino Sarubbo <ago@gentoo.org> pcb-20140316.ebuild:
  Stable for amd64, wrt bug #537368

  31 Jul 2014; Thomas Beierlein <tomjbe@gentoo.org> pcb-20110918.ebuild,
  pcb-20140316.ebuild:
  Add missing depend (bug #514844). Thanks Patrick

*pcb-20140316 (12 May 2014)

  12 May 2014; Thomas Beierlein <tomjbe@gentoo.org> +pcb-20140316.ebuild:
  Version bump

  04 Jan 2013; Agostino Sarubbo <ago@gentoo.org> pcb-20110918.ebuild:
  Stable for ppc, wrt bug #449756

  02 Jan 2013; Thomas Beierlein <tomjbe@gentoo.org> pcb-20110918.ebuild:
  Use system AR (bug 449764). Thanks ago.

  02 Jan 2013; Agostino Sarubbo <ago@gentoo.org> pcb-20110918.ebuild:
  Stable for x86, wrt bug #449756

  02 Jan 2013; Agostino Sarubbo <ago@gentoo.org> pcb-20110918.ebuild:
  Stable for amd64, wrt bug #449756

  24 Oct 2012; Ulrich Müller <ulm@gentoo.org> pcb-20100929.ebuild,
  pcb-20110918.ebuild:
  Update dependency after package move from x11-libs/openmotif to
  x11-libs/motif.

  04 May 2012; Jeff Horelick <jdhore@gentoo.org> pcb-20100929.ebuild,
  pcb-20110918.ebuild:
  dev-util/pkgconfig -> virtual/pkgconfig

  12 Mar 2012; Thomas Beierlein <tomjbe@gentoo.org>
  +files/pcb-20110918-fix-config.diff:
  add forgotten patch file

  11 Mar 2012; Thomas Beierlein <tomjbe@gentoo.org> pcb-20110918.ebuild:
  Do not install gts.h/.a (bug407769). Thanks for reporting D. Kredba

*pcb-20110918 (10 Mar 2012)

  10 Mar 2012; Thomas Beierlein <tomjbe@gentoo.org> +pcb-20110918.ebuild:
  Version bump. Thanks Dmitry Dzhus (bug #398807)

  19 Feb 2012; Denis Dupeyron <calchan@gentoo.org> -pcb-20081128-r1.ebuild,
  -pcb-20091103.ebuild, -files/pcb-20091103-png.patch:
  Cleanup.

  28 Jun 2011; Brent Baude <ranger@gentoo.org> pcb-20100929.ebuild:
  Marking pcb-20100929 ppc for bug 349096

  06 Mar 2011; Justin Lecher <jlec@gentoo.org> pcb-20081128-r1.ebuild,
  pcb-20091103.ebuild, pcb-20100929.ebuild:
  Correct Slots for gtk 3 introduction to tree

  07 Jan 2011; Christian Faulhammer <fauli@gentoo.org> pcb-20100929.ebuild:
  stable x86, bug 349096

  21 Dec 2010; Markos Chandras <hwoarang@gentoo.org> pcb-20100929.ebuild:
  Stable on amd64 wrt bug #349096

  20 Dec 2010; Thomas Beierlein <tomjbe@gentoo.org> pcb-20100929.ebuild:
  fixed repoman warning (see bug #349096 comment #3)

  14 Nov 2010; Raúl Porcel <armin76@gentoo.org> pcb-20081128-r1.ebuild,
  pcb-20091103.ebuild, pcb-20100929.ebuild:
  Drop sparc keywords

  02 Nov 2010; Fabian Groffen <grobian@gentoo.org> pcb-20100929.ebuild:
  Fix ebuild for Prefix, bug #343777

  30 Oct 2010; Thomas Beierlein <tomjbe@gentoo.org> pcb-20100929.ebuild:
  Fix tests wrt bug #342835. Thanks for reporting Diego.

*pcb-20100929 (22 Oct 2010)

  22 Oct 2010; Thomas Beierlein <tomjbe@gentoo.org> +pcb-20100929.ebuild,
  metadata.xml:
  Version bump, thanks to Stefan Salewski (bug #341489)

  10 Oct 2010; Ulrich Mueller <ulm@gentoo.org> pcb-20081128-r1.ebuild,
  pcb-20091103.ebuild:
  Fix openmotif dependency.

  08 Oct 2010; Jeremy Olexa <darkside@gentoo.org> pcb-20091103.ebuild:
  Add ~x86-macos, tested in bug 339960

  19 Jul 2010; Thomas Beierlein <tomjbe@gentoo.org> pcb-20091103.ebuild,
  +files/pcb-20091103-png.patch:
  Fix for bug #313359. Thanks Diego for reporting and Xartisius for
  suggestions. Further fixes for some segfaults

*pcb-20091103 (19 Feb 2010)

  19 Feb 2010; Denis Dupeyron <calchan@gentoo.org> +pcb-20091103.ebuild,
  metadata.xml:
  Version bump, thanks to Stefan Salewski (bug #305947).

  24 Oct 2009; Denis Dupeyron <calchan@gentoo.org> -pcb-20080202.ebuild,
  -pcb-20081128.ebuild:
  Cleanup after stabilization.

  24 Oct 2009; nixnut <nixnut@gentoo.org> pcb-20081128-r1.ebuild:
  ppc stable #285469

  10 Oct 2009; Raúl Porcel <armin76@gentoo.org> pcb-20081128-r1.ebuild:
  sparc stable wrt #285469

  07 Oct 2009; Markus Meier <maekke@gentoo.org> pcb-20081128-r1.ebuild:
  amd64/x86 stable, bug #285469

*pcb-20081128-r1 (06 Jun 2009)

  06 Jun 2009; Denis Dupeyron <calchan@gentoo.org> +pcb-20081128-r1.ebuild,
  metadata.xml:
  Mostly rewritten ebuild, thanks to the work of Stefan Salewski. Also fixes
  bug #252864.

*pcb-20081128 (30 Nov 2008)

  30 Nov 2008; Denis Dupeyron <calchan@gentoo.org> +pcb-20081128.ebuild:
  Version bump.

  10 Oct 2008; Diego Pettenò <flameeyes@gentoo.org> pcb-20080202.ebuild:
  XML-Parser is unneeded, thanks leio.

  10 Oct 2008; Diego Pettenò <flameeyes@gentoo.org> pcb-20080202.ebuild:
  Fix build dependencies.

  06 Aug 2008; Ulrich Mueller <ulm@gentoo.org> metadata.xml:
  Add USE flag description to metadata wrt GLEP 56.

  21 Apr 2008; Denis Dupeyron <calchan@gentoo.org> -pcb-20060822.ebuild,
  -pcb-20070208.ebuild, -pcb-20070912.ebuild:
  Post-stabilization cleanup.

  12 Apr 2008; nixnut <nixnut@gentoo.org> pcb-20080202.ebuild:
  Stable on ppc wrt bug #217058

  11 Apr 2008; Raúl Porcel <armin76@gentoo.org> pcb-20080202.ebuild:
  sparc stable wrt #217058

  10 Apr 2008; Markus Meier <maekke@gentoo.org> pcb-20080202.ebuild:
  amd64/x86 stable, bug #217058

  29 Feb 2008; Carsten Lohrke <carlo@gentoo.org> pcb-20060822.ebuild,
  pcb-20070208.ebuild, pcb-20070912.ebuild:
  Remove icon extension from desktop entry to match Icon Theme Specification.

*pcb-20080202 (04 Feb 2008)

  04 Feb 2008; Denis Dupeyron <calchan@gentoo.org> +pcb-20080202.ebuild:
  Version bump. Bugs #41333, #201512 and #208581 fixed.

*pcb-20070912 (16 Sep 2007)

  16 Sep 2007; Denis Dupeyron <calchan@gentoo.org> +pcb-20070912.ebuild:
  Version bump, thanks to Stefan Salewski (bug #192608).

  29 Jul 2007; Denis Dupeyron <calchan@gentoo.org> pcb-20060822.ebuild,
  pcb-20070208.ebuild:
  Fixed desktop entry.

  22 Jul 2007; Donnie Berkholz <dberkholz@gentoo.org>; pcb-20060822.ebuild,
  pcb-20070208.ebuild:
  Drop virtual/x11 references.

  18 Feb 2007; Denis Dupeyron <calchan@gentoo.org> pcb-20070208.ebuild:
  Fixed keywords.

*pcb-20070208 (14 Feb 2007)

  14 Feb 2007; Denis Dupeyron <calchan@gentoo.org> +pcb-20070208.ebuild:
  Version bump, thanks Gabriel Deveny (bug #166678). Configuration polishing
  and fixes.

  28 Jan 2007; Denis Dupeyron <calchan@gentoo.org> pcb-20060822.ebuild:
  Added dependency to pkgconfig, bug #153620.

  09 Oct 2006; Denis Dupeyron <calchan@gentoo.org> pcb-20060822.ebuild:
  Fixed bug #150552, thanks to Lari Korpi.

  07 Oct 2006; Denis Dupeyron <calchan@gentoo.org> -pcb-20050315.ebuild,
  -pcb-20050609.ebuild, -pcb-20060321.ebuild, -pcb-20060422.ebuild:
  Removed all old ebuilds now that release 20060822 is marked stable for
  everybody (see bug #146781).

  05 Oct 2006; Simon Stelling <blubb@gentoo.org> pcb-20060822.ebuild:
  stable on amd64

  04 Oct 2006; Joshua Jackson <tsunam@gentoo.org> pcb-20060822.ebuild:
  Stable x86; bug #146781

  03 Oct 2006; Stephanie Lockwood-Childs <wormo@gentoo.org>
  pcb-20060822.ebuild:
  stable on ppc (Bug #146781)

  02 Oct 2006; Gustavo Zacarias <gustavoz@gentoo.org> pcb-20060822.ebuild:
  Stable on sparc wrt #146781

  05 Sep 2006; Gustavo Zacarias <gustavoz@gentoo.org> pcb-20060422.ebuild:
  Stable on sparc

*pcb-20060822 (02 Sep 2006)

  02 Sep 2006; Denis Dupeyron <calchan@gentoo.org> +pcb-20060822.ebuild:
  Version bump, thanks to Stefan Salewski (bug #144844).

*pcb-20060422 (08 Jul 2006)

  08 Jul 2006; Denis Dupeyron <calchan@gentoo.org> +pcb-20060422.ebuild:
  Version bump. Added desktop entry.

  02 Jul 2006; Denis Dupeyron <calchan@gentoo.org> metadata.xml:
  Adjusted metadata, see bug #138062.

*pcb-20060321 (07 Apr 2006)

  07 Apr 2006; <plasmaroo@gentoo.org> +pcb-20060321.ebuild:
  Version bump; bug #127242.

  06 Feb 2006; Patrick Kursawe <phosphan@gentoo.org> pcb-20050315.ebuild:
  Fixing deps, bug #121750

  25 Jan 2006; Patrick Kursawe <phosphan@gentoo.org> -pcb-20050127.ebuild,
  pcb-20050315.ebuild, pcb-20050609.ebuild:
  Fixing deps for modular X, cleaning up.

*pcb-20050609 (14 Nov 2005)

  14 Nov 2005; <plasmaroo@gentoo.org> +pcb-20050609.ebuild:
  Version bump (#107945).

  13 Aug 2005; Michael Hanselmann <hansmi@gentoo.org> pcb-20050315.ebuild:
  Stable on ppc.

  29 Jun 2005; Gustavo Zacarias <gustavoz@gentoo.org> pcb-20050315.ebuild:
  Stable on sparc

  29 Jun 2005; Peter Bienstman <pbienst@gentoo.org> pcb-20050315.ebuild:
  Mark stable on x86.

  25 Jun 2005; Olivier Fisette <ribosome@gentoo.org> -pcb-20040215.ebuild,
  -pcb-20040530.ebuild, -pcb-20040903.ebuild:
  Removed obsolete versions.

  17 May 2005; Michael Hanselmann <hansmi@gentoo.org> pcb-20050127.ebuild:
  Stable on ppc.

  09 May 2005; Gustavo Zacarias <gustavoz@gentoo.org> pcb-20050127.ebuild:
  Stable on sparc

*pcb-20050315 (07 May 2005)

  07 May 2005; Peter Bienstman <pbienst@gentoo.org> +pcb-20050315.ebuild:
  Versium bump (closes #90617). Thanks to Raphael Assenat for reporting.

  07 May 2005; Peter Bienstman <pbienst@gentoo.org> pcb-20050127.ebuild,
  Mark stable on x86.

  04 May 2005; David Holm <dholm@gentoo.org> pcb-20050127.ebuild:
  Readded to ~ppc. Please don't remove it without filing a proper bug report.

  30 Mar 2005; Gustavo Zacarias <gustavoz@gentoo.org> pcb-20040903.ebuild:
  Stable on sparc

  15 Mar 2005; Gustavo Zacarias <gustavoz@gentoo.org> pcb-20050127.ebuild:
  To ~sparc

*pcb-20050127 (13 Mar 2005)

  13 Mar 2005; Patrick Kursawe <phosphan@gentoo.org> pcb-20040903.ebuild,
  +pcb-20050127.ebuild:
  Version bump

  28 Feb 2005; Gustavo Zacarias <gustavoz@gentoo.org> pcb-20040530.ebuild,
  pcb-20040903.ebuild:
  Keyworded ~sparc wrt #83593

  18 Feb 2005; Michael Hanselmann <hansmi@gentoo.org> pcb-20040903.ebuild:

*pcb-20040530 (27 Dec 2004)

  27 Dec 2004; Olivier Fisette <ribosome@gentoo.org> +metadata.xml,
  +pcb-20040215.ebuild, +pcb-20040530.ebuild, +pcb-20040903.ebuild:
  Moved from app-sci/pcb to sci-electronics/pcb.

*pcb-20040903 (07 Dec 2004)

  07 Dec 2004; Patrick Kursawe <phosphan@gentoo.org> pcb-20040530.ebuild,
  +pcb-20040903.ebuild:
  Version bump

  17 Jul 2004; Danny van Dyk <kugelfang@gentoo.org> pcb-20040530.ebuild:
  Marked ~amd64.

  15 Jul 2004; Olivier Fisette <ribosome@gentoo.org>
  pcb-20031113.ebuild, pcb-20031113-r1.ebuild: Removed.
  pcb-20040215.ebuild: Added to x86.
  pcb-20040530.ebuild: Version bump (#52670) suggested by Sascha Silbe.

  25 May 2004; David Holm <dholm@gentoo.org> pcb-20040215.ebuild:
  Added to ~ppc.

*pcb-20040215 (20 May 2004)

  20 May 2004; Mike Frysinger <vapier@gentoo.org> +pcb-20040215.ebuild:
  Version bump #48334 by David Pufer

  19 Apr 2004; Patrick Kursawe <phosphan@gentoo.org> pcb-20030815.ebuild,
  pcb-20031113-r1.ebuild, pcb-20031113.ebuild:
  Removing S=... without effect, adding IUSE

  30 Mar 2004; Donnie Berkholz <spyderous@gentoo.org>; pcb-20030815.ebuild,
  pcb-20031113-r1.ebuild, pcb-20031113.ebuild:
  Change x11-base/xfree dependency to virtual/x11.

  25 Mar 2004; Patrick Kursawe <phosphan@gentoo.org> pcb-20031113-r1.ebuild:
  Adding tk build dependency, declaring stable.

*pcb-20031113-r1 (23 Feb 2004)

  23 Feb 2004; Patrick Kursawe <phosphan@gentoo.org> pcb-20031113-r1.ebuild:
  Fixing broken info dir entry, see bug #36045

*pcb-20031113 (22 Nov 2003)

  22 Nov 2003; <plasmaroo@gentoo.org> pcb-20031113.ebuild:
  Version bump.

*pcb-20030815 (09 Sep 2003)

  09 Sep 2003; <plasmaroo@gentoo.org> pcb-20030815.ebuild:
  Initial revision.
