# ChangeLog for dev-python/numpy
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-python/numpy/ChangeLog,v 1.256 2015/04/08 08:05:08 mgorny Exp $

  08 Apr 2015; Michał Górny <mgorny@gentoo.org> numpy-1.8.0-r1.ebuild,
  numpy-1.8.1.ebuild, numpy-1.8.2.ebuild, numpy-1.9.0.ebuild,
  numpy-1.9.1.ebuild:
  Drop old Python implementations

  03 Apr 2015; Mike Frysinger <vapier@gentoo.org> numpy-1.9.0-r1.ebuild:
  Mark arm64/s390/sh stable.

*numpy-1.9.2 (03 Mar 2015)

  03 Mar 2015; Justin Lecher <jlec@gentoo.org>
  +files/numpy-1.9.2-no-hardcode-blas.patch, +numpy-1.9.2.ebuild,
  files/numpy-1.9.0-no-hardcode-blas.patch:
  Version Bump

  02 Jan 2015; Agostino Sarubbo <ago@gentoo.org> numpy-1.9.0-r1.ebuild:
  Stable for sparc, wrt bug #530710

  23 Dec 2014; Agostino Sarubbo <ago@gentoo.org> numpy-1.9.0-r1.ebuild:
  Stable for alpha, wrt bug #530710

  09 Dec 2014; Jeroen Roovers <jer@gentoo.org> numpy-1.9.0-r1.ebuild:
  Stable for HPPA (bug #530710).

  08 Dec 2014; Agostino Sarubbo <ago@gentoo.org> numpy-1.9.0-r1.ebuild:
  Stable for ppc64, wrt bug #530710

  07 Dec 2014; Markus Meier <maekke@gentoo.org> numpy-1.9.0-r1.ebuild:
  arm stable, bug #530710

  07 Dec 2014; Agostino Sarubbo <ago@gentoo.org> numpy-1.9.0-r1.ebuild:
  Stable for ppc, wrt bug #530710

  06 Dec 2014; Agostino Sarubbo <ago@gentoo.org> numpy-1.9.0-r1.ebuild:
  Stable for ia64, wrt bug #530710

  05 Dec 2014; Agostino Sarubbo <ago@gentoo.org> numpy-1.9.0-r1.ebuild:
  Stable for x86, wrt bug #530710

  04 Dec 2014; Agostino Sarubbo <ago@gentoo.org> numpy-1.9.0-r1.ebuild:
  Stable for amd64, wrt bug #530710

  26 Nov 2014; Ian Delaney <idella4@gentoo.org> numpy-1.9.0-r1.ebuild:
  drop py3.2

*numpy-1.9.1 (05 Nov 2014)

  05 Nov 2014; Patrick Lauer <patrick@gentoo.org> +numpy-1.9.1.ebuild:
  Bump

*numpy-1.9.0-r1 (21 Oct 2014)

  21 Oct 2014; Justin Lecher <jlec@gentoo.org> +numpy-1.9.0-r1.ebuild,
  +files/numpy-1.9.0-OO.patch:
  Backport fix for problems with -OO

*numpy-1.9.0 (19 Oct 2014)

  19 Oct 2014; Patrick Lauer <patrick@gentoo.org>
  +files/numpy-1.9.0-no-hardcode-blas.patch, +numpy-1.9.0.ebuild:
  Bump

  28 Aug 2014; Ian Delaney <idella4@gentoo.org> numpy-1.8.2.ebuild:
  tidy SRC_URI

  28 Aug 2014; Ian Delaney <idella4@gentoo.org> numpy-1.8.1.ebuild:
  drop pypy accidentally added

*numpy-1.8.2 (22 Aug 2014)

  22 Aug 2014; Ian Delaney <idella4@gentoo.org> +numpy-1.8.2.ebuild,
  numpy-1.8.1.ebuild:
  bump

  14 Aug 2014; Justin Lecher <jlec@gentoo.org> numpy-1.8.1.ebuild:
  Fix doc installation patrh, #519236; thanks ero-sennin for the patch

*numpy-1.8.1 (08 Apr 2014)

  08 Apr 2014; Sébastien Fabbro <bicatali@gentoo.org> +numpy-1.8.1.ebuild:
  Version bump

  02 Apr 2014; Mike Gilbert <floppym@gentoo.org> numpy-1.8.0-r1.ebuild:
  Add python3.4. Add -fPIC to FFLAGS unconditionally to allow test suite to
  work.

  25 Mar 2014; Sébastien Fabbro <bicatali@gentoo.org> numpy-1.8.0-r1.ebuild:
  More fixes to the site.cfg file generation

  18 Mar 2014; Sébastien Fabbro <bicatali@gentoo.org> numpy-1.8.0-r1.ebuild:
  Fix sed to allow complex pkg-config lines from mkl, thanks
  weihan3@illinois.edu, bug #504618

  24 Feb 2014; Justin Lecher <jlec@gentoo.org> numpy-1.8.0-r1.ebuild,
  -files/numpy-1.6.1-atlas.patch, -files/numpy-1.6.2-distutils.patch,
  -files/numpy-1.6.2-test-pareto.patch, -files/numpy-1.7.0-atlas.patch,
  -files/numpy-1.7.1-distutils-python33.patch,
  files/numpy-1.8.0-f2py-insecure-temporary.patch:
  Backport fix for regression in testsuite, #500484; enable full testsuite;
  thanks Arfrever helping here; drop old patches

  22 Feb 2014; Justin Lecher <jlec@gentoo.org> -numpy-1.6.2-r2.ebuild,
  -numpy-1.7.1.ebuild:
  Drop vulnerable versions, #500484

  22 Feb 2014; Justin Lecher <jlec@gentoo.org> -numpy-1.8.0.ebuild,
  metadata.xml:
  Drop vulnerable versions, #500484

  17 Feb 2014; Agostino Sarubbo <ago@gentoo.org> numpy-1.8.0-r1.ebuild:
  Stable for arm, wrt bug #500484

  16 Feb 2014; Agostino Sarubbo <ago@gentoo.org> numpy-1.8.0-r1.ebuild:
  Stable for alpha, wrt bug #500484

  09 Feb 2014; Pawel Hajdan jr <phajdan.jr@gentoo.org> numpy-1.8.0-r1.ebuild:
  x86 stable wrt security bug #500484

  09 Feb 2014; Agostino Sarubbo <ago@gentoo.org> numpy-1.8.0-r1.ebuild:
  Stable for sparc, wrt bug #500484

  09 Feb 2014; Agostino Sarubbo <ago@gentoo.org> numpy-1.8.0-r1.ebuild:
  Stable for ppc64, wrt bug #500484

  09 Feb 2014; Agostino Sarubbo <ago@gentoo.org> numpy-1.8.0-r1.ebuild:
  Stable for ppc, wrt bug #500484

  08 Feb 2014; Agostino Sarubbo <ago@gentoo.org> numpy-1.8.0-r1.ebuild:
  Stable for amd64, wrt bug #500484

  08 Feb 2014; Akinori Hattori <hattya@gentoo.org> numpy-1.8.0-r1.ebuild:
  ia64 stable wrt bug #500484

  06 Feb 2014; Jeroen Roovers <jer@gentoo.org> numpy-1.8.0-r1.ebuild:
  Stable for HPPA (bug #500484).

  06 Feb 2014; Justin Lecher <jlec@gentoo.org> numpy-1.6.2-r2.ebuild:
  Drop testing arches back to testing

*numpy-1.8.0-r1 (06 Feb 2014)

  06 Feb 2014; Justin Lecher <jlec@gentoo.org>
  +files/numpy-1.8.0-f2py-insecure-temporary.patch, +numpy-1.8.0-r1.ebuild:
  Backport fix for sec bug, #500484

  18 Jan 2014; Mike Frysinger <vapier@gentoo.org> numpy-1.7.1.ebuild,
  numpy-1.8.0.ebuild:
  Add arm64 love.

  29 Dec 2013; Akinori Hattori <hattya@gentoo.org> numpy-1.7.1.ebuild:
  ia64 stable wrt bug #487870

  27 Dec 2013; Sébastien Fabbro <bicatali@gentoo.org> numpy-1.8.0.ebuild:
  fixed for mkl

  23 Dec 2013; Agostino Sarubbo <ago@gentoo.org> numpy-1.7.1.ebuild:
  Stable for sparc, wrt bug #487870

  22 Dec 2013; Sébastien Fabbro <bicatali@gentoo.org> numpy-1.8.0.ebuild:
  Updated docs, added some extra check to avoid duplicates in generating
  site.cfg (bug #493318, thanks Olaf Leidinger)

  22 Dec 2013; Agostino Sarubbo <ago@gentoo.org> numpy-1.7.1.ebuild:
  Stable for ppc64, wrt bug #487870

  21 Dec 2013; Agostino Sarubbo <ago@gentoo.org> numpy-1.7.1.ebuild:
  Stable for ppc, wrt bug #487870

  02 Dec 2013; Johannes Huber <johu@gentoo.org> numpy-1.7.1.ebuild:
  x86 stable, bug #487870

*numpy-1.8.0 (26 Nov 2013)

  26 Nov 2013; Sébastien Fabbro <bicatali@gentoo.org>
  +files/numpy-1.8.0-no-hardcode-blas.patch, +numpy-1.8.0.ebuild, metadata.xml:
  Version bump

  04 Nov 2013; Matt Turner <mattst88@gentoo.org> numpy-1.7.1.ebuild:
  alpha stable, bug 487870.

  28 Oct 2013; Markus Meier <maekke@gentoo.org> numpy-1.7.1.ebuild:
  arm stable, bug #487870

  16 Oct 2013; Jeroen Roovers <jer@gentoo.org> numpy-1.7.1.ebuild:
  Stable for HPPA (bug #487870).

  14 Oct 2013; Tony Vroon <chainsaw@gentoo.org> numpy-1.7.1.ebuild:
  Marked stable on AMD64 based on arch tester report by Elijah "Armageddon" El
  Lazkani in bug #487870.

  17 Sep 2013; Sébastien Fabbro <bicatali@gentoo.org>
  +files/numpy-1.6.2-distutils.patch, numpy-1.6.2-r2.ebuild:
  Backport distutils patch for stable

  05 Sep 2013; Michał Górny <mgorny@gentoo.org> numpy-1.6.2-r2.ebuild,
  numpy-1.7.1.ebuild:
  Clean up PYTHON_COMPAT from old implementations.

  27 Aug 2013; Sébastien Fabbro <bicatali@gentoo.org>
  +files/numpy-1.7.1-distutils-python33.patch, -numpy-1.7.0.ebuild,
  numpy-1.7.1.ebuild:
  Remove trailing spaces from pkg-config calls (bug #444104), fix shared lib
  extension (upstream patch) for python-3 (bug #470946), remove old

*numpy-1.7.1 (16 Apr 2013)

  16 Apr 2013; Patrick Lauer <patrick@gentoo.org> +numpy-1.7.1.ebuild:
  Bump, docs are still 1.7.0 until upstream updates

  11 Mar 2013; Justin Lecher <jlec@gentoo.org> -numpy-1.6.2.ebuild:
  Drop old

  10 Mar 2013; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.2-r2.ebuild:
  Stable for s390, wrt bug #458990

  05 Mar 2013; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.2-r2.ebuild:
  Stable for sh, wrt bug #458990

  03 Mar 2013; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.2-r2.ebuild:
  Stable for sparc, wrt bug #458990

  01 Mar 2013; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.2-r2.ebuild:
  Stable for alpha, wrt bug #458990

  01 Mar 2013; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.2-r2.ebuild:
  Stable for arm, wrt bug #458990

  01 Mar 2013; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.2-r2.ebuild:
  Stable for ia64, wrt bug #458990

  28 Feb 2013; Jeroen Roovers <jer@gentoo.org> numpy-1.6.2-r2.ebuild:
  Stable for HPPA (bug #458990).

  28 Feb 2013; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.2-r2.ebuild:
  Stable for ppc64, wrt bug #458990

  28 Feb 2013; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.2-r2.ebuild:
  Stable for ppc, wrt bug #458990

  27 Feb 2013; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.2-r2.ebuild:
  Stable for x86, wrt bug #458990

  27 Feb 2013; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.2-r2.ebuild:
  Stable for amd64, wrt bug #458990

  24 Feb 2013; Justin Lecher <jlec@gentoo.org> numpy-1.6.2.ebuild,
  numpy-1.6.2-r2.ebuild, +files/numpy-1.6.2-test-pareto.patch, metadata.xml:
  Backport fix for test failure (test_pareto) on 32bit systems, #447502

*numpy-1.7.0 (19 Feb 2013)

  19 Feb 2013; Sébastien Fabbro <bicatali@gentoo.org>
  +files/numpy-1.7.0-atlas.patch, +numpy-1.7.0.ebuild, metadata.xml:
  Version bump. Modified patch accordingly, and URL for docs.

  19 Feb 2013; Justin Lecher <jlec@gentoo.org> numpy-1.6.2.ebuild,
  numpy-1.6.2-r2.ebuild:
  Use tc-getPKG_CONFIG from toolchain-funcs.eclass instead of plain pkg-config

  18 Feb 2013; Zac Medico <zmedico@gentoo.org> numpy-1.6.2-r2.ebuild:
  Add ~arm-linux keyword.

  10 Feb 2013; Michał Górny <mgorny@gentoo.org> numpy-1.6.2-r2.ebuild:
  Use distutils_install_for_testing().

*numpy-1.6.2-r2 (03 Feb 2013)

  03 Feb 2013; Michał Górny <mgorny@gentoo.org> +numpy-1.6.2-r2.ebuild,
  -numpy-1.6.2-r1.ebuild:
  Wrap f2py in the -r1 way.

  01 Feb 2013; Michał Górny <mgorny@gentoo.org> -files/numpy-1.1.0-f2py.patch,
  -files/numpy-1.3.0-fenv-freebsd.patch, -files/numpy-1.4.0-interix.patch,
  -files/numpy-1.5.1-python-3.2.patch, -files/numpy-1.6.1-import_umath.patch:
  Remove obsolete/unused patches.

*numpy-1.6.2-r1 (01 Feb 2013)

  01 Feb 2013; Michał Górny <mgorny@gentoo.org> +numpy-1.6.2-r1.ebuild:
  Migrate to distutils-r1.

  10 Jan 2013; Justin Lecher <jlec@gentoo.org> -numpy-1.6.1-r1.ebuild,
  metadata.xml:
  Cleaned old


  29 Dec 2012; Raúl Porcel <armin76@gentoo.org> numpy-1.6.2.ebuild:
  alpha/s390/sh/sparc stable wrt #446340

  18 Dec 2012; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.2.ebuild:
  Stable for ia64, wrt bug #446340

  17 Dec 2012; Markus Meier <maekke@gentoo.org> numpy-1.6.2.ebuild:
  arm stable, bug #446340

  16 Dec 2012; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.2.ebuild:
  Stable for x86, wrt bug #446340

  09 Dec 2012; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.2.ebuild:
  Stable for ppc64, wrt bug #446340

  08 Dec 2012; Jeroen Roovers <jer@gentoo.org> numpy-1.6.2.ebuild:
  Stable for HPPA (bug #446340).

  07 Dec 2012; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.2.ebuild:
  Stable for ppc, wrt bug #446340

  07 Dec 2012; <ago@gentoo.org> numpy-1.6.2.ebuild:
  Stable for amd64, wrt bug #446340

  07 Dec 2012; Justin Lecher <jlec@gentoo.org> -numpy-1.5.1.ebuild,
  -numpy-1.6.0.ebuild, -numpy-1.6.1.ebuild:
  Drop old, fixes #404435, #386847

  16 Oct 2012; Justin Lecher <jlec@gentoo.org> numpy-1.5.1.ebuild,
  numpy-1.6.0.ebuild, numpy-1.6.1.ebuild, numpy-1.6.1-r1.ebuild,
  numpy-1.6.2.ebuild:
  Remove virtual/fortran and always call fortran-2_pkg_setup as intend by the
  updated fortran-2.eclass

  14 Oct 2012; Justin Lecher <jlec@gentoo.org> numpy-1.5.1.ebuild,
  numpy-1.6.0.ebuild, numpy-1.6.1-r1.ebuild, numpy-1.6.1.ebuild,
  numpy-1.6.2.ebuild:
  Prepare for fortran2.eclass update

  02 Oct 2012; Mike Gilbert <floppym@gentoo.org> numpy-1.5.1.ebuild,
  numpy-1.6.0.ebuild, numpy-1.6.1.ebuild, numpy-1.6.2.ebuild:
  Restrict python 3.3 based on testing by Arfrever. This can be reversed in
  numpy 1.7.

  29 Jul 2012; Raúl Porcel <armin76@gentoo.org> numpy-1.6.1-r1.ebuild:
  alpha/ia64/s390/sh/sparc stable wrt #418419

  28 Jun 2012; Mike Gilbert <floppym@gentoo.org> numpy-1.6.2.ebuild:
  Cleanup die usage for EAPI 4.

  28 Jun 2012; Sebastien Fabbro <fabbros@gentoo.org> numpy-1.6.2.ebuild:
  Cleaned up a bit the pkg-config mangling for blas/lapack. Hack to strip -lm
  because it would not link with system blas/lapack on prefix

  28 Jun 2012; Jeroen Roovers <jer@gentoo.org> numpy-1.6.1-r1.ebuild:
  Stable for HPPA (bug #418419).

  08 Jun 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org> numpy-1.6.1-r1.ebuild:
  x86 stable wrt bug #418419

  07 Jun 2012; Brent Baude <ranger@gentoo.org> numpy-1.6.1-r1.ebuild:
  Marking numpy-1.6.1-r1 ppc for bug 418419

  05 Jun 2012; Brent Baude <ranger@gentoo.org> numpy-1.6.1-r1.ebuild:
  Marking numpy-1.6.1-r1 ppc64 for bug 418419

  03 Jun 2012; Markus Meier <maekke@gentoo.org> numpy-1.6.1-r1.ebuild:
  arm stable, bug #418419

  02 Jun 2012; Agostino Sarubbo <ago@gentoo.org> numpy-1.6.1-r1.ebuild:
  Stable for AMD64, wrt bug #418419

*numpy-1.6.2 (22 May 2012)

  22 May 2012; Sébastien Fabbro <bicatali@gentoo.org> +numpy-1.6.2.ebuild:
  Version bump

  12 May 2012; Alexis Ballier <aballier@gentoo.org> numpy-1.6.1-r1.ebuild:
  keyword ~amd64-fbsd

  04 May 2012; Patrick Lauer <patrick@gentoo.org> numpy-1.5.1.ebuild,
  numpy-1.6.0.ebuild, numpy-1.6.1-r1.ebuild, numpy-1.6.1.ebuild:
  Migrating dev-util/pkgconfig -> virtual/pkgconfig

  20 Feb 2012; Patrick Lauer <patrick@gentoo.org> numpy-1.5.1.ebuild,
  numpy-1.6.0.ebuild, numpy-1.6.1-r1.ebuild, numpy-1.6.1.ebuild:
  Restricting pypy #403757

  17 Dec 2011; Sébastien Fabbro <bicatali@gentoo.org> numpy-1.6.1-r1.ebuild,
  +files/numpy-1.6.1-import_umath.patch:
  Added patch for python-3, thanks Johan Bergström, bug #393679

  27 Oct 2011; Justin Lecher <jlec@gentoo.org> numpy-1.6.1-r1.ebuild,
  files/numpy-1.6.1-atlas.patch:
  Included fixes for atlas, #386531; thanks My Th for the patch 

*numpy-1.6.1-r1 (07 Oct 2011)

  07 Oct 2011; Justin Lecher <jlec@gentoo.org> +numpy-1.6.1-r1.ebuild,
  +files/numpy-1.6.1-atlas.patch, metadata.xml:
  Fix for missing clapack_* symbols in scipy, #371099

  17 Aug 2011; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  numpy-1.6.1.ebuild:
  keyword ~sparc-solaris

*numpy-1.6.1 (26 Jul 2011)

  26 Jul 2011; Sébastien Fabbro <bicatali@gentoo.org> +numpy-1.6.1.ebuild:
  Version bump

  23 Jul 2011; Kacper Kowalik <xarthisius@gentoo.org> numpy-1.6.0.ebuild:
  ppc64 stable wrt #371673

  10 Jul 2011; Raúl Porcel <armin76@gentoo.org> numpy-1.6.0.ebuild:
  alpha/ia64/s390/sh/sparc stable wrt #371673

  27 Jun 2011; Brent Baude <ranger@gentoo.org> numpy-1.6.0.ebuild:
  Marking numpy-1.6.0 ppc for bug 371673

  21 Jun 2011; Justin Lecher <jlec@gentoo.org> numpy-1.5.1.ebuild,
  numpy-1.6.0.ebuild:
  Use USE=lapack to depend conditionally on fortran support

  21 Jun 2011; Justin Lecher <jlec@gentoo.org> numpy-1.5.1.ebuild,
  numpy-1.6.0.ebuild:
  Add dependency on virtual/fortran

  21 Jun 2011; Justin Lecher <jlec@gentoo.org> numpy-1.5.1.ebuild,
  numpy-1.6.0.ebuild:
  Added fortran-2.eclass support

  19 Jun 2011; Markus Meier <maekke@gentoo.org> numpy-1.6.0.ebuild:
  x86 stable, bug #371673

  19 Jun 2011; Markus Meier <maekke@gentoo.org> numpy-1.6.0.ebuild:
  arm stable, bug #371673

  18 Jun 2011; Markos Chandras <hwoarang@gentoo.org> numpy-1.6.0.ebuild:
  Stable on amd64 wrt bug #371673

  15 Jun 2011; Jeroen Roovers <jer@gentoo.org> numpy-1.6.0.ebuild:
  Stable for HPPA (bug #371673).

*numpy-1.6.0 (14 May 2011)

  14 May 2011; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  +numpy-1.6.0.ebuild:
  Version bump.

*numpy-1.6.0_rc3 (08 May 2011)

  08 May 2011; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  +numpy-1.6.0_rc3.ebuild:
  Version bump.

*numpy-1.6.0_beta2 (07 Apr 2011)

  07 Apr 2011; Sébastien Fabbro <bicatali@gentoo.org>
  -numpy-1.6.0_beta1.ebuild, +numpy-1.6.0_beta2.ebuild:
  Version bump

  03 Apr 2011; Raúl Porcel <armin76@gentoo.org> numpy-1.5.1.ebuild:
  ia64/s390/sh stable wrt #351487

*numpy-1.6.0_beta1 (28 Mar 2011)

  28 Mar 2011; Sébastien Fabbro <bicatali@gentoo.org>
  +numpy-1.6.0_beta1.ebuild:
  Version bump. Beta only, does not pass test suite

  25 Mar 2011; Sébastien Fabbro <bicatali@gentoo.org> numpy-1.5.1.ebuild:
  Allows cross-compiling, bug #356381 thanks Dylan Smith

  27 Feb 2011; Tobias Klausmann <klausman@gentoo.org> numpy-1.5.1.ebuild:
  Stable on alpha, bug #351487

  26 Feb 2011; Michael Weber <xmw@gentoo.org> numpy-1.5.1.ebuild:
  sparc stable (bug 351487)

  25 Jan 2011; Jeroen Roovers <jer@gentoo.org> numpy-1.5.1.ebuild:
  Stable for HPPA (bug #351487).

  15 Jan 2011; Kacper Kowalik <xarthisius@gentoo.org> numpy-1.5.1.ebuild:
  ppc64 stable wrt #351487

  15 Jan 2011; Markus Meier <maekke@gentoo.org> numpy-1.5.1.ebuild:
  arm/x86 stable, bug #351487

  13 Jan 2011; Markos Chandras <hwoarang@gentoo.org> numpy-1.5.1.ebuild:
  Stable on amd64 wrt bug #351487

  12 Jan 2011; Brent Baude <ranger@gentoo.org> numpy-1.5.1.ebuild:
  Marking numpy-1.5.1 ppc for bug 306237

  12 Jan 2011; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  numpy-1.5.1.ebuild, +files/numpy-1.5.1-python-3.2.patch:
  Add incomplete fix for compatibility with Python 3.2 (bug #351057).

  12 Jan 2011; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  numpy-1.5.1.ebuild:
  Disable tests failing on ppc/ppc64.

  19 Dec 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  numpy-1.3.0-r1.ebuild, numpy-1.3.0-r2.ebuild, numpy-1.4.1.ebuild,
  numpy-1.5.1.ebuild:
  Restrict Jython ABIs.

  18 Dec 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  numpy-1.5.1.ebuild:
  Run tests with Python 3.

  18 Dec 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  -numpy-1.5.0-r2.ebuild, -files/numpy-1.5.0-python3.patch:
  Delete.

*numpy-1.5.1 (19 Nov 2010)

  19 Nov 2010; Sébastien Fabbro <bicatali@gentoo.org> +numpy-1.5.1.ebuild:
  Version bump

  07 Nov 2010; Mark Loeser <halcy0n@gentoo.org> numpy-1.5.0-r2.ebuild:
  Mark ~ppc64; bug #306237

  08 Oct 2010; Mart Raudsepp <leio@gentoo.org> numpy-1.5.0-r2.ebuild:
  Marked ~mips for bug #233554

  11 Sep 2010; Kacper Kowalik <xarthisius@gentoo.org>
  -numpy-1.5.0-r1.ebuild, numpy-1.5.0-r2.ebuild,
  +files/numpy-1.5.0-python3.patch:
  Fix infinite compile loop with python3 and gcc-4.5 wrt bug 336781. Thanks
  to Ryan for the report. Drop old.

*numpy-1.5.0-r2 (10 Sep 2010)

  10 Sep 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  +numpy-1.5.0-r2.ebuild:
  Support Python 3. Install updated documentation. Avoid breaking strict-aliasing
  rules.

*numpy-1.5.0-r1 (09 Sep 2010)

  09 Sep 2010; Kacper Kowalik <xarthisius@gentoo.org> -numpy-1.2.1.ebuild,
  -numpy-1.5.0.ebuild, +numpy-1.5.0-r1.ebuild:
  Force numpy to use GNU compilers for linking when FC is set to gfortran,
  wrt bug 335908. Drop old.

*numpy-1.5.0 (02 Sep 2010)

  02 Sep 2010; Dirkjan Ochtman <djc@gentoo.org> +numpy-1.5.0.ebuild:
  Version bump to 1.5.0 (bug 335602).

  25 Jul 2010; Raúl Porcel <armin76@gentoo.org> numpy-1.4.1.ebuild:
  ia64/s390/sh/sparc stable wrt #326251

  24 Jul 2010; Markus Meier <maekke@gentoo.org> numpy-1.4.1.ebuild:
  arm stable, bug #326251

  10 Jul 2010; Christian Faulhammer <fauli@gentoo.org> numpy-1.4.1.ebuild:
  stable x86, bug 326251

  07 Jul 2010; Jeroen Roovers <jer@gentoo.org> numpy-1.4.1.ebuild:
  Stable for HPPA (bug #326251).

  01 Jul 2010; Markos Chandras <hwoarang@gentoo.org> numpy-1.4.1.ebuild:
  Stable on amd64 wrt bug #326251

  30 Jun 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  numpy-1.2.1.ebuild, numpy-1.3.0-r1.ebuild, numpy-1.3.0-r2.ebuild,
  numpy-1.4.1.ebuild:
  Set PYTHON_DEPEND.

*numpy-1.4.1 (22 Apr 2010)

  22 Apr 2010; Sébastien Fabbro <bicatali@gentoo.org> -numpy-1.4.0.ebuild,
  -files/numpy-1.4.0-python-2.7.patch, +numpy-1.4.1.ebuild:
  Version bump. Removed 1.4.0 because pulled out by upstream for ABI
  incompatibilities

  04 Mar 2010; Joseph Jezak <josejx@gentoo.org> numpy-1.4.0.ebuild:
  Marked -ppc/-ppc64 due to a lack of support for long double format. Please
  CC ppc/ppc64 if a new version comes out which supports ppc/ppc64's long
  double format.

  24 Feb 2010; Markus Duft <mduft@gentoo.org> numpy-1.4.0.ebuild,
  +files/numpy-1.4.0-interix.patch:
  added small patch to fix build on interix

  09 Jan 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  numpy-1.4.0.ebuild, +files/numpy-1.4.0-python-2.7.patch:
  Fix building with Python 2.7 (bug #300322).

  06 Jan 2010; Brent Baude <ranger@gentoo.org> numpy-1.3.0-r1.ebuild:
  Marking numpy-1.3.0-r1 ppc64 for bug 287575

*numpy-1.4.0 (04 Jan 2010)

  04 Jan 2010; Sébastien Fabbro <bicatali@gentoo.org> -numpy-1.3.0.ebuild,
  +numpy-1.4.0.ebuild:
  Version bump. Removed most architecture specific patches, applied
  upstream. Fixed the site.cfg generation such that dotblas.so links with
  atlas when present (was broken with the introduction of EPREFIX)

  20 Nov 2009; Sébastien Fabbro <bicatali@gentoo.org>
  numpy-1.3.0-r2.ebuild:
  Added doc flag, bug #293525, thanks Denilson

*numpy-1.3.0-r2 (20 Nov 2009)

  20 Nov 2009; Fabian Groffen <grobian@gentoo.org> +numpy-1.3.0-r2.ebuild,
  +files/numpy-1.3.0-darwin-no-arch.patch:
  Add patch to prevent numpy's distutils from injecting -arch flags on
  Darwin, while this never works
  (http://projects.scipy.org/numpy/ticket/1087)

  16 Nov 2009; Raúl Porcel <armin76@gentoo.org> numpy-1.3.0-r1.ebuild:
  ia64/s390/sh/sparc stable wrt #287575

  18 Oct 2009; Tobias Klausmann <klausman@gentoo.org> numpy-1.3.0-r1.ebuild:
  Stable on alpha, bug #287575

  12 Oct 2009; Jeroen Roovers <jer@gentoo.org> numpy-1.3.0-r1.ebuild:
  Stable for HPPA (bug #287575).

  11 Oct 2009; Fabian Groffen <grobian@gentoo.org> numpy-1.3.0-r1.ebuild:
  Fix screwup, missing ED definition, bug #288476

  10 Oct 2009; Fabian Groffen <grobian@gentoo.org> numpy-1.3.0-r1.ebuild,
  +files/numpy-1.3.0-fenv-freebsd.patch:
  Merge from Prefix

  10 Oct 2009; Markus Meier <maekke@gentoo.org> numpy-1.3.0-r1.ebuild:
  amd64/arm/x86 stable, bug #287575

  07 Oct 2009; nixnut <nixnut@gentoo.org> numpy-1.3.0-r1.ebuild:
  ppc stable #287575

*numpy-1.3.0-r1 (28 Aug 2009)

  28 Aug 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
  +numpy-1.3.0-r1.ebuild:
  Set SUPPORT_PYTHON_ABIS.

  28 Aug 2009; Raúl Porcel <armin76@gentoo.org> numpy-1.3.0.ebuild:
  arm/ia64/s390/sh stable wrt #277354

  26 Aug 2009; Tobias Klausmann <klausman@gentoo.org> numpy-1.3.0.ebuild:
  Stable on alpha, bug #277354

  16 Aug 2009; Arun Raghavan <ford_prefect@gentoo.org> numpy-1.3.0.ebuild,
  +files/numpy-1.3.0-arm-sh.patch:
  Fix arm/sh build

  09 Aug 2009; Raúl Porcel <armin76@gentoo.org> numpy-1.2.1.ebuild:
  arm/sh stable

  02 Aug 2009; nixnut <nixnut@gentoo.org> numpy-1.3.0.ebuild:
  ppc stable #277354

  28 Jul 2009; Jeroen Roovers <jer@gentoo.org> numpy-1.3.0.ebuild:
  Stable for HPPA (bug #277354).

  22 Jul 2009; Raúl Porcel <armin76@gentoo.org> numpy-1.3.0.ebuild,
  +files/numpy-1.3.0-alpha.patch:
  Add patch to fix compilation on alpha

  20 Jul 2009; Jeremy Olexa <darkside@gentoo.org> numpy-1.3.0.ebuild:
  amd64 stable, bug 277354

  15 Jul 2009; Jeroen Roovers <jer@gentoo.org>
  files/numpy-1.3.0-parisc.patch:
  Remove the comment too.

  15 Jul 2009; Jeroen Roovers <jer@gentoo.org> numpy-1.3.0.ebuild,
  +files/numpy-1.3.0-parisc.patch:
  Check for __hppa__ not __parisc__ (bug #277438).

  15 Jul 2009; Christian Faulhammer <fauli@gentoo.org> numpy-1.3.0.ebuild:
  stable x86, bug 277354

  10 Jul 2009; Ferris McCormick <fmccor@gentoo.org> numpy-1.3.0.ebuild:
  Sparc stable, bug #277354.

  22 Apr 2009; Markus Meier <maekke@gentoo.org> numpy-1.2.1:
  amd64 stable, bug #265328

  15 Apr 2009; Brent Baude <ranger@gentoo.org> numpy-1.2.1.ebuild:
  Marking numpy-1.2.1 ppc64 for bug 265328

  14 Apr 2009; Raúl Porcel <armin76@gentoo.org> numpy-1.2.1.ebuild:
  ia64/s390/x86 stable wrt #265328

  11 Apr 2009; nixnut <nixnut@gentoo.org> numpy-1.2.1.ebuild:
  ppc stable #265328

  09 Apr 2009; Ferris McCormick <fmccor@gentoo.org> numpy-1.2.1.ebuild:
  Sparc stable, Bug #265328.

  09 Apr 2009; Jeroen Roovers <jer@gentoo.org> numpy-1.2.1.ebuild:
  Stable for HPPA (bug #265328).

  08 Apr 2009; Tobias Klausmann <klausman@gentoo.org> numpy-1.2.1.ebuild:
  Stable on alpha, bug #265328

*numpy-1.3.0 (07 Apr 2009)

  07 Apr 2009; Sébastien Fabbro <bicatali@gentoo.org> +numpy-1.3.0.ebuild:
  Version bump, removed fortran eclass

  06 Apr 2009; Raúl Porcel <armin76@gentoo.org> numpy-1.0.4-r2.ebuild,
  numpy-1.1.1.ebuild, numpy-1.2.1.ebuild:
  Add ~arm/~sh

  18 Feb 2009; Sébastien Fabbro <bicatali@gentoo.org>
  numpy-1.0.4-r2.ebuild, numpy-1.1.1.ebuild, numpy-1.2.1.ebuild:
  Removed f2py block since it's not in the tree anymore

  12 Feb 2009; Sébastien Fabbro <bicatali@gentoo.org> ChangeLog:
  Fixed a syntax error. Re-added ppc and x86-fbsd now that nose is
  keyworded.

  24 Jan 2009; Brent Baude <ranger@gentoo.org> numpy-1.2.1.ebuild:
  Marking numpy-1.2.1 ~ppc64 for bug 23354

  12 Jan 2009; Sébastien Fabbro <bicatali@gentoo.org> -numpy-1.2.0.ebuild,
  numpy-1.2.1.ebuild:
  Fixes to pkg-config with lapack when atlas is selected

*numpy-1.2.1 (06 Nov 2008)

  06 Nov 2008; Sébastien Fabbro <bicatali@gentoo.org> +numpy-1.2.1.ebuild:
  Version bump

  01 Oct 2008; Raúl Porcel <armin76@gentoo.org> numpy-1.2.0.ebuild:
  Add ~alpha wrt #233554

  29 Sep 2008; Jeroen Roovers <jer@gentoo.org> numpy-1.2.0.ebuild:
  Marked ~hppa (bug #233554).

  28 Sep 2008; Sébastien Fabbro <bicatali@gentoo.org> numpy-1.2.0.ebuild:
  Fixed again blas/lapack configuration to be compatible with the available
  gentoo implementations

*numpy-1.2.0 (26 Sep 2008)

  26 Sep 2008; Sébastien Fabbro <bicatali@gentoo.org> +numpy-1.2.0.ebuild:
  Version bump. New test framework dependent on dev-python/nose. Re-added
  gentoo names for ATLAS libraries. Dropped alpha hppa mips ppc ppc64
  x86-fbsd until nose is keyworded.

  25 Sep 2008; Sébastien Fabbro <bicatali@gentoo.org> -numpy-1.1.0.ebuild,
  numpy-1.1.1.ebuild:
  One more fix for removal automagic blas/lapack detection, see bug #237739

*numpy-1.1.1 (21 Aug 2008)

  21 Aug 2008; Sébastien Fabbro <bicatali@gentoo.org> +numpy-1.1.1.ebuild:
  Version bump

*numpy-1.1.0 (22 Jun 2008)

  22 Jun 2008; Sébastien Fabbro <bicatali@gentoo.org>
  +files/numpy-1.1.0-f2py.patch, numpy-1.0.4-r2.ebuild, +numpy-1.1.0.ebuild:
  Version bump and added more configuration for better multiple lapack
  implementations

  20 May 2008; Sébastien Fabbro <bicatali@gentoo.org>
  +files/numpy-1.0.4-cpuinfo.patch, -files/numpy-1.0.4-nocona-cpuinfo.patch,
  numpy-1.0.4-r2.ebuild:
  Applied cpu patch for AMD phenom architecture, thanks to Nylan (bug #183236)

  06 May 2008; Markus Dittrich <markusle@gentoo.org> numpy-1.0.4-r2.ebuild:
  Fixed linking error when LDFLAGS is not set (see bug #219205).

  30 Apr 2008; Ryan Hill <dirtyepic@gentoo.org> numpy-1.0.4-r2.ebuild:
  Keyword ~mips for bug #181888.

  31 Mar 2008; Sébastien Fabbro <bicatali@gentoo.org> -numpy-1.0.4.ebuild,
  -numpy-1.0.4-r1.ebuild:
  Removed older revisions

  02 Mar 2008; nixnut <nixnut@gentoo.org> numpy-1.0.4-r2.ebuild:
  Stable on ppc wrt bug 211876

  29 Feb 2008; Raúl Porcel <armin76@gentoo.org> numpy-1.0.4-r2.ebuild:
  alpha/ia64/sparc stable wrt #211876

  29 Feb 2008; Santiago M. Mola <coldwind@gentoo.org> numpy-1.0.4-r2.ebuild:
  amd64 stable wrt bug #211876

  29 Feb 2008; Jeroen Roovers <jer@gentoo.org> numpy-1.0.4-r2.ebuild:
  Stable for HPPA (bug #211876).

  29 Feb 2008; Ferris McCormick <fmccor@gentoo.org> numpy-1.0.4-r2.ebuild:
  Sparc stable with USE=lapack --- Bug #211876.

  29 Feb 2008; Brent Baude <ranger@gentoo.org> numpy-1.0.4-r2.ebuild:
  stable ppc64, bug 211791

*numpy-1.0.4-r2 (24 Jan 2008)

  24 Jan 2008; Sébastien Fabbro <bicatali@gentoo.org>
  +numpy-1.0.4-r2.ebuild:
  Re-introduce fortran detection but only when lapack flag is set, to prevent
  autodetection and forced multiple fortran linking. Fixed site configuration
  file generation to really produce fast blas, some cleaning.

*numpy-1.0.4-r1 (11 Jan 2008)

  11 Jan 2008; Justin Bronder <jsbronder@gentoo.org>
  +files/numpy-1.0.4-nocona-cpuinfo.patch, +numpy-1.0.4-r1.ebuild:
  Fix cpuinfo to correctly detect nocona-based hardware.  Bug 183236.

  04 Jan 2008; Sébastien Fabbro <bicatali@gentoo.org> -numpy-1.0.3.ebuild,
  -numpy-1.0.3.1.ebuild:
  Removed obsolete versions

  26 Dec 2007; Samuli Suominen <drac@gentoo.org> numpy-1.0.4.ebuild:
  amd64 stable wrt #202202

  24 Dec 2007; Brent Baude <ranger@gentoo.org> numpy-1.0.4.ebuild:
  Marking numpy-1.0.4 ppc64 for bug 202202

  21 Dec 2007; nixnut <nixnut@gentoo.org> numpy-1.0.4.ebuild:
  Stable on ppc wrt bug 202202

  19 Dec 2007; Raúl Porcel <armin76@gentoo.org> numpy-1.0.4.ebuild:
  alpha/ia64/sparc/x86 stable wrt #202202

  19 Dec 2007; Sébastien Fabbro <bicatali@gentoo.org> numpy-1.0.4.ebuild:
  Fixed site.cfg generation for external blas/lapack

  18 Dec 2007; Jeroen Roovers <jer@gentoo.org> numpy-1.0.4.ebuild:
  Stable for HPPA (bug #202202).

  07 Dec 2007; Sébastien Fabbro <bicatali@gentoo.org> numpy-1.0.4.ebuild:
  Fixed for LDFLAGS, now adding a -shared

  21 Nov 2007; Joe Peterson <lavajoe@gentoo.org>
  +files/numpy-1.0.4-freebsd.patch, numpy-1.0.4.ebuild:
  Patch for FreeBSD, and add ~x86-fbsd keyword (bug #199825)

*numpy-1.0.4 (12 Nov 2007)

  12 Nov 2007; Sébastien Fabbro <bicatali@gentoo.org> -numpy-1.0.2.ebuild,
  +numpy-1.0.4.ebuild:
  Version bump

  29 Oct 2007; Raúl Porcel <armin76@gentoo.org> numpy-1.0.3.ebuild:
  alpha stable wrt #180713

  15 Oct 2007; Sébastien Fabbro <bicatali@gentoo.org> numpy-1.0.3.1.ebuild:
  Use the new virtual/cblas.

  26 Aug 2007; Sébastien Fabbro <bicatali@gentoo.org> -numpy-0.9.8.ebuild:
  Removed old version

*numpy-1.0.3.1 (24 Aug 2007)

  24 Aug 2007; Sébastien Fabbro <bicatali@gentoo.org>
  +numpy-1.0.3.1.ebuild:
  Version bump. Removed fortran dependencies, closing bug #186913.
  Cleaned various configure settings. Thanks Vincent Legoll for his work.

  22 Jul 2007; Christian Faulhammer <opfer@gentoo.org> numpy-1.0.3.ebuild:
  stable x86, bug 180713

  20 Jul 2007; nixnut <nixnut@gentoo.org> numpy-1.0.3.ebuild:
  Stable on ppc wrt bug 180713

  17 Jul 2007; Christoph Mende <angelos@gentoo.org> numpy-1.0.3.ebuild:
  Stable on amd64 wrt bug #180713

  17 Jul 2007; Raúl Porcel <armin76@gentoo.org> numpy-1.0.3.ebuild:
  ia64 stable wrt #180713

  17 Jul 2007; Markus Rothe <corsair@gentoo.org> numpy-1.0.3.ebuild:
  Stable on ppc64; bug #180713

  17 Jul 2007; Gustavo Zacarias <gustavoz@gentoo.org> numpy-1.0.3.ebuild:
  Stable on sparc wrt #180713

  09 Jul 2007; Jeroen Roovers <jer@gentoo.org> numpy-1.0.3.ebuild:
  Stable for HPPA (bug #180713).

  14 Jun 2007; Jeroen Roovers <jer@gentoo.org> numpy-1.0.3.ebuild:
  Marked ~hppa (bug #181888).

  14 Jun 2007; Raúl Porcel <armin76@gentoo.org> numpy-1.0.3.ebuild:
  Add ~alpha/~ia64 wrt #181888

  14 Jun 2007; Gustavo Zacarias <gustavoz@gentoo.org> numpy-1.0.3.ebuild:
  Keyworded ~sparc wrt #181888

  13 Jun 2007; Lukasz Strzygowski <lucass@gentoo.org> numpy-1.0.3.ebuild:
  Fixed src_test to be more verbose.

*numpy-1.0.3 (25 May 2007)

  25 May 2007; Sébastien Fabbro <bicatali@gentoo.org>
  -files/numpy-1.0.1-cpuinfo.patch, -numpy-1.0.1.ebuild,
  -numpy-1.0.1-r1.ebuild, +numpy-1.0.3.ebuild:
  version bump and removed older version

*numpy-1.0.2 (05 Apr 2007)

  05 Apr 2007; Sébastien Fabbro <bicatali@gentoo.org> +numpy-1.0.2.ebuild:
  Version bump. Closing #173359.

  06 Mar 2007; Sébastien Fabbro <bicatali@gentoo.org>
  numpy-1.0.1-r1.ebuild:
  Fixed a cblas requirement when lapack was not called. Allows F77FLAGS to 
  be used along FFLAGS for FORTRAN flags.

  05 Mar 2007; Sébastien Fabbro <bicatali@gentoo.org>
  +files/numpy-1.0.1-cpuinfo.patch, numpy-1.0.1-r1.ebuild:
  Fix bug #169262 with upstream patch. Thanks james@superbug.demon.co.uk 
  for reporting.

  20 Feb 2007; Sébastien Fabbro <bicatali@gentoo.org>
  numpy-1.0.1-r1.ebuild:
  Updated cblas dependencies. Closing bug #167652, thanks 
  Grante Edwards <grante@visi.com> for the report.

*numpy-1.0.1-r1 (19 Feb 2007)

  19 Feb 2007; Sébastien Fabbro <bicatali@gentoo.org>
  +files/numpy-1.0.1-f2py.patch, metadata.xml, +numpy-1.0.1-r1.ebuild:
  Fixed for cblas deps, better testing. Now works with test. Better 
  compliance to python packages. Added ifc treatment for amd64.

*numpy-1.0.1 (31 Jan 2007)

  31 Jan 2007; Steve Arnold <nerdboy@gentoo.org> -numpy-1.0_beta2.ebuild,
  -numpy-1.0_rc1.ebuild, +numpy-1.0.1.ebuild:
  Bumped to latest full release and cleaned up rc and beta ebuilds (bug
  154275).

  26 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; numpy-0.9.8.ebuild:
  Stable on ppc.

  24 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; numpy-0.9.8.ebuild,
  numpy-1.0_beta2.ebuild, numpy-1.0_rc1.ebuild:
  The LDFLAGS situation is worse than I thought. Setting LDFLAGS at all
  entirely overrides the linker flags within the build and breaks it. See
  comp.lang.python thread 'Building things with setup.py' from 21 Sept. 2006.

  22 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>;
  -files/0.9.6-recognize-more-gfortran-versions.patch:
  Remove unused patch.

  21 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; numpy-0.9.8.ebuild,
  numpy-1.0_beta2.ebuild, numpy-1.0_rc1.ebuild:
  It helps to inherit flag-o-matic.

*numpy-1.0_rc1 (21 Sep 2006)

  21 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>;
  +numpy-1.0_rc1.ebuild:
  Bump.

  21 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; numpy-0.9.8.ebuild,
  numpy-1.0_beta2.ebuild:
  LDFLAGS='-Wl,-O1' breaks the compile.

*numpy-1.0_beta2 (16 Aug 2006)

  16 Aug 2006; Alastair Tse <liquidx@gentoo.org> +numpy-1.0_beta2.ebuild:
  version bump (#143964). restricted test because it does not work in sandbox.

  17 Jul 2006; Alastair Tse <liquidx@gentoo.org> -numpy-0.9.6.ebuild,
  -numpy-0.9.6-r1.ebuild, numpy-0.9.8.ebuild:
  Stable bump for x86. Block on !dev-python/f2py because numpy provides
  this package. (#131833)

*numpy-0.9.8 (14 Jun 2006)

  14 Jun 2006; Donnie Berkholz <spyderous@gentoo.org>; +numpy-0.9.8.ebuild:
  Bump. Incorporates many changes from the science overlay, mainly from bicatali.

  13 Jun 2006; Donnie Berkholz <spyderous@gentoo.org>; metadata.xml:
  Add sci herd as co-maintainer.

  13 Jun 2006; Donnie Berkholz <spyderous@gentoo.org>;
  numpy-0.9.6-r1.ebuild:
  Keyword ~ppc.

  13 Jun 2006; Donnie Berkholz <spyderous@gentoo.org>;
  numpy-0.9.6-r1.ebuild:
  Fix up weird dep syntax.

*numpy-0.9.6-r1 (13 Jun 2006)

  13 Jun 2006; Donnie Berkholz <spyderous@gentoo.org>;
  +files/0.9.6-recognize-more-gfortran-versions.patch,
  +numpy-0.9.6-r1.ebuild:
  Patch to recognize Gentoo gfortran version strings.

  01 Apr 2006; Olivier Fisette <ribosome@gentoo.org> -numpy-0.9.4.ebuild,
  +numpy-0.9.6.ebuild:
  Removed old version.

*numpy-0.9.6 (01 Apr 2006)

  01 Apr 2006; Olivier Fisette <ribosome@gentoo.org> +numpy-0.9.6.ebuild:
  New version. Thanks to bicatali and Sebastien Fabbro <seb@ist.utl.pt> for
  their work.

  01 Apr 2006; Aron Griffis <agriffis@gentoo.org> numpy-0.9.4.ebuild:
  Mark 0.9.4 ~ia64

*numpy-0.9.4 (07 Feb 2006)

  07 Feb 2006; Alastair Tse <liquidx@gentoo.org> +numpy-0.9.4.ebuild:
  initial ebuild thanks to Alok Singhal (#119305)
