# ChangeLog for dev-libs/npth
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/npth/ChangeLog,v 1.7 2015/05/21 04:27:43 mattst88 Exp $

  21 May 2015; Matt Turner <mattst88@gentoo.org> npth-1.1.ebuild:
  added ~alpha, bug 546478.

  26 Apr 2015; Anthony G. Basile <blueness@gentoo.org> npth-0.91.ebuild,
  npth-1.0.ebuild, npth-1.1.ebuild:
  Keyword ~arm and ~mips.  Bug #546478.

  25 Apr 2015; Anthony G. Basile <blueness@gentoo.org> npth-0.91.ebuild,
  npth-1.0.ebuild, npth-1.1.ebuild:
  Keyword ~ppc ~ppc64.  Bug #546478.

  14 Apr 2015; Jeroen Roovers <jer@gentoo.org> npth-1.1.ebuild:
  Marked ~hppa (bug #546478).

*npth-1.1 (15 Nov 2014)

  15 Nov 2014; Tim Harder <radhermit@gentoo.org> +npth-1.1.ebuild:
  Version bump.

*npth-1.0 (10 Oct 2014)

  10 Oct 2014; Tim Harder <radhermit@gentoo.org> npth-0.91.ebuild,
  +npth-1.0.ebuild:
  Version bump. Add static-libs use flag and use gnupg mirror.

*npth-0.91 (25 Jul 2014)

  25 Jul 2014; Jason A. Donenfeld <zx2c4@gentoo.org> +metadata.xml,
  +npth-0.91.ebuild:
  Initial import for future gnupg-2.1 usage.
