# ChangeLog for x11-wm/musca
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/x11-wm/musca/ChangeLog,v 1.13 2010/02/26 18:19:50 jer Exp $

*musca-0.9.24_p20100226 (26 Feb 2010)

  26 Feb 2010; Jeroen Roovers <jer@gentoo.org>
  +musca-0.9.24_p20100226.ebuild:
  Version bump using bzr snapshot (r270 from 03 Nov 2009).

  18 Feb 2010; Jeroen Roovers <jer@gentoo.org> musca-0.9.24.ebuild:
  restore_config has its own USE check.

  27 Dec 2009; Jeroen Roovers <jer@gentoo.org>
  files/musca-0.9.24-make.patch:
  Fix compiling with --as-needed thanks to Kacper Kowalik (bug #298144).

  30 Nov 2009; Jeroen Roovers <jer@gentoo.org> musca-0.9.24.ebuild:
  Whitespace.

  30 Nov 2009; Jeroen Roovers <jer@gentoo.org> musca-0.9.24.ebuild:
  Fix USE=xlisten dobin.

  30 Nov 2009; Jeroen Roovers <jer@gentoo.org> -musca-0.9.23.ebuild,
  -files/musca-0.9.23-flags.patch:
  Remove old.

  30 Nov 2009; Jeroen Roovers <jer@gentoo.org> musca-0.9.24.ebuild,
  +files/musca-0.9.24-make.patch, metadata.xml:
  Fix linking with --as-needed (bug #295165). Make in parallel too. Build
  xlisten optionally too.

  04 Nov 2009; Jeroen Roovers <jer@gentoo.org> musca-0.9.24.ebuild:
  Die more often.

*musca-0.9.24 (03 Nov 2009)

  03 Nov 2009; Jeroen Roovers <jer@gentoo.org> +musca-0.9.24.ebuild,
  metadata.xml:
  Version bump.

  29 Sep 2009; Jeroen Roovers <jer@gentoo.org> musca-0.9.23.ebuild:
  Die if dobin fails.

  28 Sep 2009; Jeroen Roovers <jer@gentoo.org> musca-0.9.23.ebuild:
  Use savedconfig on config.h.

  26 Sep 2009; Jeroen Roovers <jer@gentoo.org> musca-0.9.23.ebuild:
  Use P in SRC_URI thanks to nightmorph.

*musca-0.9.23 (25 Sep 2009)

  25 Sep 2009; Jeroen Roovers <jer@gentoo.org> +musca-0.9.23.ebuild,
  +files/musca-0.9.23-flags.patch, +metadata.xml:
  Initial commit.

