# ChangeLog for net-irc/ircservices
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/net-irc/ircservices/ChangeLog,v 1.47 2009/12/28 19:01:34 nixnut Exp $

  28 Dec 2009; nixnut <nixnut@gentoo.org> ircservices-5.1.17.ebuild:
  ppc stable #289539

  21 Nov 2009; Markus Meier <maekke@gentoo.org> ircservices-5.1.17.ebuild:
  x86 stable, bug #289539

*ircservices-5.1.17 (19 Sep 2009)

  19 Sep 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
  -ircservices-5.1.14.ebuild, -files/ircservices-5.1.14-fPIC.patch,
  -files/ircservices-5.1.14-fPIC-configure.patch,
  +ircservices-5.1.17.ebuild, +files/ircservices-5.1.17-fPIC.patch,
  +files/ircservices-5.1.17-fPIC-configure.patch:
  Bumping to 5.1.17

  10 Aug 2009; Víctor Ostorga <vostorga@gentoo.org>
  ircservices-5.0.63.ebuild, ircservices-5.1.14.ebuild:
  Fixing build against glibc 2.10, bug #273978

  08 Aug 2009; Samuli Suominen <ssuominen@gentoo.org>
  ircservices-5.0.63.ebuild, ircservices-5.1.14.ebuild:
  Mark all versions -amd64 because of bug 273978.

*ircservices-5.1.14 (03 Jan 2009)

  03 Jan 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
  +files/ircservices-5.1.14-fPIC.patch,
  +files/ircservices-5.1.14-fPIC-configure.patch, metadata.xml,
  +ircservices-5.1.14.ebuild:
  Bumping to 5.1.14 and taking over package

  13 Dec 2007; Raúl Porcel <armin76@gentoo.org> -ircservices-5.0.61.ebuild,
  -ircservices-5.0.62.ebuild:
  old

  30 Nov 2007; Tobias Scherbaum <dertobi123@gentoo.org>
  ircservices-5.0.63.ebuild:
  ppc stable, bug #199897

  30 Nov 2007; Christian Faulhammer <opfer@gentoo.org>
  ircservices-5.0.63.ebuild:
  stable x86, security bug 199897

*ircservices-5.0.63 (29 Nov 2007)

  29 Nov 2007; Dawid Węgliński <cla@gentoo.org>
  +ircservices-5.0.63.ebuild:
  Version bump (bug #199897)

  25 Nov 2007; Brent Baude <ranger@gentoo.org> ircservices-5.0.62.ebuild:
  Marking ircservices-5.0.62 ppc stable for bug 198704

  10 Nov 2007; Raúl Porcel <armin76@gentoo.org> ircservices-5.0.62.ebuild:
  x86 stable

*ircservices-5.0.62 (05 Jul 2007)

  05 Jul 2007; Raúl Porcel <armin76@gentoo.org> +ircservices-5.0.62.ebuild:
  Version bump

  21 Jun 2007; Raúl Porcel <armin76@gentoo.org> -ircservices-5.0.59.ebuild:
  old

  14 Jun 2007; Tobias Scherbaum <dertobi123@gentoo.org>
  ircservices-5.0.61.ebuild:
  ppc stable, bug #181772

  12 Jun 2007; Raúl Porcel <armin76@gentoo.org> ircservices-5.0.61.ebuild:
  x86 stable wrt #181772

*ircservices-5.0.61 (11 Apr 2007)

  11 Apr 2007; Markus Ullmann <jokey@gentoo.org> +ircservices-5.0.61.ebuild:
  Version bump wrt bug #174112

  20 Feb 2007; Raúl Porcel <armin76@gentoo.org> -ircservices-5.0.53.ebuild,
  -ircservices-5.0.54.ebuild, -ircservices-5.0.57.ebuild:
  old

  11 Feb 2007; Joseph Jezak <josejx@gentoo.org> ircservices-5.0.59.ebuild:
  Marked ppc stable for bug #152486.

  18 Jan 2007; Christian Faulhammer <opfer@gentoo.org>
  ircservices-5.0.59.ebuild:
  stable x86, bug #152486

  08 Nov 2006; Sven Wegener <swegener@gentoo.org> ircservices-5.0.53.ebuild,
  ircservices-5.0.54.ebuild, ircservices-5.0.57.ebuild,
  ircservices-5.0.59.ebuild:
  Force user to be in the correct group.

  07 Nov 2006; Sven Wegener <swegener@gentoo.org> ircservices-5.0.53.ebuild,
  ircservices-5.0.54.ebuild, ircservices-5.0.57.ebuild,
  ircservices-5.0.59.ebuild:
  Fix typo, resulting in wrong permissions, bug #154346.

*ircservices-5.0.59 (05 Nov 2006)

  05 Nov 2006; Sven Wegener <swegener@gentoo.org> files/ircservices.init.d,
  ircservices-5.0.53.ebuild, ircservices-5.0.54.ebuild,
  ircservices-5.0.57.ebuild, +ircservices-5.0.59.ebuild:
  Version bump.

*ircservices-5.0.57 (10 Mar 2006)

  10 Mar 2006; Alec Warner <antarus@gentoo.org> +ircservices-5.0.57.ebuild:
  Added ircservices-5.0.57.ebuild, thanks to Jedrzej Lisowski <yesoos AT gmail
  DOT com> for reporting

*ircservices-5.0.54 (31 Aug 2005)

  31 Aug 2005; Sven Wegener <swegener@gentoo.org>
  +ircservices-5.0.54.ebuild:
  Version bump.

  11 Aug 2005; Sven Wegener <swegener@gentoo.org> ircservices-5.0.53.ebuild:
  Use get_libdir when creating directories.

  10 Aug 2005; Sven Wegener <swegener@gentoo.org>
  +files/5.0.53-fPIC-configure.patch, ircservices-5.0.53.ebuild:
  Added -fPIC patch for bug #101542.

  07 Jul 2005; Sven Wegener <swegener@gentoo.org>
  -ircservices-5.0.51.ebuild, ircservices-5.0.53.ebuild:
  Marked stable on x86.

  16 May 2005; Sven Wegener <swegener@gentoo.org> ircservices-5.0.51.ebuild,
  ircservices-5.0.53.ebuild:
  Added cross-compile support.

*ircservices-5.0.53 (16 May 2005)

  16 May 2005; Sven Wegener <swegener@gentoo.org>
  -ircservices-5.0.45.ebuild, ircservices-5.0.51.ebuild,
  +ircservices-5.0.53.ebuild:
  Version bump. Marked 5.0.51 stable on x86.

*ircservices-5.0.51 (03 Apr 2005)

  03 Apr 2005; Sven Wegener <swegener@gentoo.org>
  -ircservices-5.0.50.ebuild, +ircservices-5.0.51.ebuild:
  Version bump, bug #87763.

*ircservices-5.0.50 (02 Apr 2005)

  02 Apr 2005; Sven Wegener <swegener@gentoo.org>
  -ircservices-5.0.49.ebuild, +ircservices-5.0.50.ebuild:
  Version bump.

  14 Mar 2005; Sven Wegener <swegener@gentoo.org> ircservices-5.0.45.ebuild,
  ircservices-5.0.49.ebuild:
  Strip -Os from CFLAGS for bug #85160.

*ircservices-5.0.49 (11 Mar 2005)

  11 Mar 2005; Sven Wegener <swegener@gentoo.org>
  -ircservices-5.0.44.ebuild, ircservices-5.0.45.ebuild,
  +ircservices-5.0.49.ebuild:
  Version bump, bug #84852. Marked 5.0.45 stable on x86.

*ircservices-5.0.45 (10 Feb 2005)

  10 Feb 2005; Sven Wegener <swegener@gentoo.org>
  +ircservices-5.0.45.ebuild:
  Version bump.

  21 Jan 2005; Sven Wegener <swegener@gentoo.org>
  -ircservices-5.0.41.ebuild, -ircservices-5.0.42.ebuild,
  ircservices-5.0.44.ebuild:
  Marked stable on x86. Removed old ebuilds.

*ircservices-5.0.44 (13 Dec 2004)

  13 Dec 2004; Sven Wegener <swegener@gentoo.org> ircservices-5.0.42.ebuild,
  +ircservices-5.0.44.ebuild:
  Version bump. Closes bug #74298.

*ircservices-5.0.42 (05 Dec 2004)

  05 Dec 2004; Sven Wegener <swegener@gentoo.org> ircservices-5.0.41.ebuild,
  +ircservices-5.0.42.ebuild:
  Version bump. Changed SRC_URI of 5.0.41 to our distfiles mirrors as upstream
  only has latest stable version available.

  13 Nov 2004; Sven Wegener <swegener@gentoo.org> ircservices-5.0.41.ebuild:
  Marked stable on x86.

  24 Oct 2004; Sven Wegener <swegener@gentoo.org>
  -ircservices-5.0.40.ebuild, ircservices-5.0.41.ebuild:
  Removed old ebuild. Replaced -O[0-9] with -O[3-9] to catch only values above 2.

  15 Oct 2004; David Holm <dholm@gentoo.org> ircservices-5.0.41.ebuild:
  Added to ~ppc.

*ircservices-5.0.41 (03 Oct 2004)

  03 Oct 2004; Sven Wegener <swegener@gentoo.org>
  -ircservices-5.0.37.ebuild, +ircservices-5.0.41.ebuild:
  Version bump. Removed old ebuild.

*ircservices-5.0.40 (08 Sep 2004)

  08 Sep 2004; Sven Wegener <swegener@gentoo.org> ircservices-5.0.37.ebuild,
  +ircservices-5.0.40.ebuild:
  Version bump. Made some trivial changes to the older ebuild.

  15 Aug 2004; Sven Wegener <swegener@gentoo.org> +files/ircservices.conf.d,
  files/ircservices.init.d, ircservices-5.0.37.ebuild:
  Made the dependency on a local ircd to be up optional via
  /etc/conf.d/ircservices.

  15 Aug 2004; Sven Wegener <swegener@gentoo.org> files/ircservices.init.d:
  Fixed init script.

*ircservices-5.0.37 (14 Aug 2004)

  14 Aug 2004; Sven Wegener <swegener@gentoo.org> +metadata.xml,
  +files/5.0.37-fPIC.patch, +files/ircservices.init.d,
  +ircservices-5.0.37.ebuild:
  Initial import, ebuild written by me.

