# ChangeLog for app-mobilephone/heimdall
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-mobilephone/heimdall/ChangeLog,v 1.12 2015/07/16 08:59:06 polynomial-c Exp $

  16 Jul 2015; Lars Wendler <polynomial-c@gentoo.org> heimdall-9999.ebuild:
  Fixed live ebuild (bug #545596).

  07 Jun 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
  Add github to remote-id in metadata.xml

  17 Dec 2014; Lars Wendler <polynomial-c@gentoo.org> heimdall-9999.ebuild:
  Fixed removal of libusb (bug #532756).

*heimdall-1.4.1 (02 Jun 2014)

  02 Jun 2014; Lars Wendler <polynomial-c@gentoo.org> +heimdall-1.4.1.ebuild,
  metadata.xml:
  Version bump. Took over maintenance.

  24 Mar 2014; Samuli Suominen <ssuominen@gentoo.org> heimdall-1.4.0.ebuild,
  heimdall-9999.ebuild:
  Punt ref. to now non-existing dev-libs/libusbx.

  10 Feb 2014; Mike Gilbert <floppym@gentoo.org> heimdall-1.4.0.ebuild,
  heimdall-9999.ebuild:
  Add a comment explaining libusb dep.

  09 Feb 2014; Mike Gilbert <floppym@gentoo.org> heimdall-1.4.0.ebuild,
  heimdall-9999.ebuild:
  Remove obsolete comment.

  09 Feb 2014; Mike Gilbert <floppym@gentoo.org> heimdall-1.4.0.ebuild,
  heimdall-9999.ebuild:
  Depend on libusb or libusbx, bug 500764 by Jerome Venturi.

  02 Jan 2014; Mike Gilbert <floppym@gentoo.org> heimdall-1.4.0.ebuild,
  heimdall-9999.ebuild:
  Document reason for depending on libusbx, bug 496764.

*heimdall-1.4.0 (18 Aug 2013)
*heimdall-9999 (18 Aug 2013)

  18 Aug 2013; Mike Gilbert <floppym@gentoo.org> +heimdall-1.4.0.ebuild,
  +heimdall-9999.ebuild, +metadata.xml:
  New ebuild, resolves bug 353180.
