# ChangeLog for media-sound/shoutcast-trans-bin
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/media-sound/shoutcast-trans-bin/ChangeLog,v 1.14 2009/12/23 11:43:37 ssuominen Exp $

  23 Dec 2009; Samuli Suominen <ssuominen@gentoo.org>
  shoutcast-trans-bin-0.4.0-r1.ebuild:
  Don't point to SRC_URI in pkg_nofetch message wrt #293583.

  11 May 2009; Samuli Suominen <ssuominen@gentoo.org>
  shoutcast-trans-bin-0.4.0-r1.ebuild:
  RESTRICT fetch since upstream doesn't like to keep the tarball in place
  wrt #266544.

  02 Jul 2007; Piotr Jaroszyński <peper@gentoo.org>
  shoutcast-trans-bin-0.4.0-r1.ebuild:
  (QA) RESTRICT clean up.

  05 Jan 2007; Diego Pettenò <flameeyes@gentoo.org>
  shoutcast-trans-bin-0.4.0-r1.ebuild:
  Convert to use elog. Remove src_compile. Don't use DEPEND as it's a binary
  package.

  03 Mar 2006; Simon Stelling <blubb@gentoo.org>
  shoutcast-trans-bin-0.4.0-r1.ebuild:
  remove the dependency on app-emulation/emul-linux-x86-glibc since 2004.3 has
  been deprecated a while ago

  19 Apr 2005; Bryan Østergaard <kloeri@gentoo.org> metadata.xml:
  Remove retired developer from metadata.xml.

  18 Dec 2004; Jeremy Huddleston <eradicator@gentoo.org>
  shoutcast-trans-bin-0.4.0-r1.ebuild:
  Stable amd64.

  30 Nov 2004; Sven Wegener <swegener@gentoo.org>
  shoutcast-trans-bin-0.4.0-r1.ebuild:
  Fixed invalid atoms in *DEPEND.

  24 Sep 2004; Sven Wegener <swegener@gentoo.org> files/shoutcast_trans:
  Fixed CVS keyword replacement.

*shoutcast-trans-bin-0.4.0-r1 (16 Sep 2004)

  16 Sep 2004; Jeremy Huddleston <eradicator@gentoo.org>
  +shoutcast-trans-bin-0.4.0-r1.ebuild, -shoutcast-trans-bin-0.4.0.ebuild:
  Revision bump for security bug #63551.  Added ~amd64.

  05 Sep 2004; Chris White <chriswhite@gentoo.org> files/shoutcast_trans:
  Fixed the stop() function in shoutcast_trans init.d script.

  05 Sep 2004; Chris White <chriswhite@gentoo.org> files/shoutcast_trans,
  shoutcast-trans-bin-0.4.0.ebuild:
  Made shoutcast_trans use pidfile in start-stop-daemon for upcomming shoutcast
  doc. Marking x86 stable.

  04 Sep 2004; Chris White <chriswhite@gentoo.org>
  shoutcast-trans-bin-0.4.0.ebuild:
  Used keepdir instead of mkdir.  Thanks to eradicator for pointing this out.

*shoutcast-trans-bin-0.4.0 (01 Sep 2004)

  01 Sep 2004; Chris White <chriswhite@gentoo.org> +metadata.xml,
  +files/shoutcast_trans, +shoutcast-trans-bin-0.4.0.ebuild:
  Initial import to the tree. Closes bug #57066. Thanks to Georg Brandl
  <g.brandl@gmx.net> for posting.

