# ChangeLog for dev-perl/Wx
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
# (auto-generated from git log)

*Wx-0.992.700-r1 (10 Mar 2016)
*Wx-0.992.700 (10 Mar 2016)
*Wx-0.991.700 (10 Mar 2016)
*Wx-0.990.200-r1 (10 Mar 2016)

  10 Mar 2016; Andreas K. Hüttel <dilfridge@gentoo.org>
  +Wx-0.990.200-r1.ebuild, +Wx-0.991.700.ebuild, +Wx-0.992.700.ebuild,
  +Wx-0.992.700-r1.ebuild, +metadata.xml:
  Copy from dev-perl/wxperl

  This is to make gentoo naming closer to upstream naming
  and more predictable for automation and maintainers.

  Package-Manager: portage-2.2.27

  24 Mar 2016; Andreas K. Huettel <dilfridge@gentoo.org>
  Wx-0.992.700-r1.ebuild:
  Maintainer stabilization. Current stable does not build with in-tree dev-
  perl/Alien-wxWidgets.

  Package-Manager: portage-2.2.28

*Wx-0.992.800 (29 Apr 2016)

  29 Apr 2016; Andreas K. Hüttel <dilfridge@gentoo.org> +Wx-0.992.800.ebuild,
  metadata.xml:
  Bump to version 0.992.800

  - EAPI6
  - Tests cleaned up slightly
  - Tests re-enabled as per bug #571470, if tests still hang, please
    augment perl_rm_files in src_test to work out which test is hanging, and
  then we can go from there.

  Upstream:
  - Fixed memory leak in Wx::Timer

  Package-Manager: portage-2.2.28
  RepoMan-Options: --include-arches="alpha amd64 amd64-fbsd arm arm64 hppa
  ia64 m68k mips nios2 ppc ppc64 riscv s390 sh sparc sparc-fbsd x86 x86-fbsd"

  29 Apr 2016; Andreas K. Hüttel <dilfridge@gentoo.org>
  -Wx-0.990.200-r1.ebuild, -Wx-0.991.700.ebuild, -Wx-0.992.700.ebuild:
  Remove old

  Package-Manager: portage-2.2.28

  30 Apr 2016; Andreas K. Hüttel <dilfridge@gentoo.org> Wx-0.992.800.ebuild:
  Disable one misbehaving test

  Package-Manager: portage-2.2.28

  26 Sep 2016; Agostino Sarubbo <ago@gentoo.org> Wx-0.992.800.ebuild:
  amd64 stable wrt bug #594290

  Package-Manager: portage-2.2.28
  RepoMan-Options: --include-arches="amd64"
  Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

