# ChangeLog for dev-ruby/ruby-termios
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-termios/ChangeLog,v 1.21 2010/01/11 18:17:06 graaff Exp $

  11 Jan 2010; Hans de Graaff <graaff@gentoo.org>
  -ruby-termios-0.9.4.ebuild:
  Remove old version.

  11 Jan 2010; Raúl Porcel <armin76@gentoo.org> ruby-termios-0.9.6.ebuild:
  alpha/ia64 stable wrt #298237

  10 Jan 2010; Markus Meier <maekke@gentoo.org> ruby-termios-0.9.6.ebuild:
  amd64/x86 stable, bug #298237

*ruby-termios-0.9.6 (23 Oct 2009)

  23 Oct 2009; Hans de Graaff <graaff@gentoo.org>
  +ruby-termios-0.9.6.ebuild:
  Version bump with better compatibility with various ruby versions.

  22 Aug 2009; Alex Legler <a3li@gentoo.org> ruby-termios-0.9.4.ebuild:
  Remove ruby16 and ruby19 from USE_RUBY.

  13 Jun 2009; Hans de Graaff <graaff@gentoo.org> ruby-termios-0.9.4.ebuild:
  Fix quoting.

  21 Jan 2007; Nguyễn Thái Ngọc Duy <pclouds@gentoo.org>
  ruby-termios-0.9.4.ebuild:
  Added examples use flag to ebuild, #145222

  23 Nov 2006; <blubb@gentoo.org> ruby-termios-0.9.4.ebuild:
  stable on amd64

  21 Mar 2006; Caleb Tennis <caleb@gentoo.org>
  +files/ruby-termios-ruby19.patch, ruby-termios-0.9.4.ebuild:
  Add a patch to make it work with ruby19, from bug #127041

  20 Mar 2006; Caleb Tennis <caleb@gentoo.org> ruby-termios-0.9.4.ebuild:
  change einstall to make DESTDIR=D install

  04 Feb 2006; <solar@gentoo.org> :
  - redigest needed due to bad RMD160. bug #121124

  31 Jan 2006; Aron Griffis <agriffis@gentoo.org> ruby-termios-0.9.4.ebuild:
  Mark 0.9.4 stable on ia64

  03 Oct 2005; Aron Griffis <agriffis@gentoo.org> ruby-termios-0.9.4.ebuild:
  Mark 0.9.4 ~ia64

  19 Aug 2005; Rob Holland <tigger@gentoo.org> ruby-termios-0.9.4.ebuild:
  Keyworded ~amd64.

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

  03 Jun 2004; Bryan Østergaard <kloeri@gentoo.org> ruby-termios-0.9.4.ebuild:
  Stable on alpha.

  17 Apr 2004; David Holm <dholm@gentoo.org> ruby-termios-0.9.4.ebuild:
  Added to ~ppc.

  11 Apr 2004; Mamoru KOMACHI <usata@gentoo.org> ruby-termios-0.9.4.ebuild:
  virtual/ruby fix

  30 May 2003; Tom Payne <twp@gentoo.org> ruby-termios-0.9.4.ebuild :
  Fixed LICENSE.

*ruby-termios-0.9.4 (19 May 2003)

  19 May 2003; Tom Payne <twp@gentoo.org> ruby-termios-0.9.4.ebuild :
  Initial release.
