From 5a43e667c887be78696b173b39fba4b42e18ce6abae34acf1ee32a913e3c16f4 Mon Sep 17 00:00:00 2001
From: Stephan Kulow <coolo@suse.com>
Date: Wed, 10 Sep 2014 15:02:05 +0000
Subject: [PATCH] Accepting request 248212 from devel:languages:python

1

OBS-URL: https://build.opensuse.org/request/show/248212
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-numpy?expand=0&rev=42
---
 numpy-1.8.2.tar.gz                  |  3 --
 numpy-1.9.0-remove-__declspec.patch | 26 ++++++++++
 numpy-1.9.0.tar.gz                  |  3 ++
 numpy-buildfix.patch                |  4 +-
 numpy-double-double-le.patch        | 74 -----------------------------
 python-numpy-doc.changes            | 20 ++++++++
 python-numpy-doc.spec               |  6 ++-
 python-numpy.changes                | 20 ++++++++
 python-numpy.spec                   | 12 +++--
 9 files changed, 82 insertions(+), 86 deletions(-)
 delete mode 100644 numpy-1.8.2.tar.gz
 create mode 100644 numpy-1.9.0-remove-__declspec.patch
 create mode 100644 numpy-1.9.0.tar.gz
 delete mode 100644 numpy-double-double-le.patch

diff --git a/numpy-1.8.2.tar.gz b/numpy-1.8.2.tar.gz
deleted file mode 100644
index 2c698c8..0000000
--- a/numpy-1.8.2.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6d487fc724780d66746bde264ea71f5cd77d3a39e52ee2b073dcaed63bc669db
-size 3792998
diff --git a/numpy-1.9.0-remove-__declspec.patch b/numpy-1.9.0-remove-__declspec.patch
new file mode 100644
index 0000000..cc27b72
--- /dev/null
+++ b/numpy-1.9.0-remove-__declspec.patch
@@ -0,0 +1,26 @@
+From: toddrme2178@gmail.com
+Date: 2014-09-09 04:45:00 +0000
+Subject: Remove windows-specific function
+Upstream: openSUSE Fix
+References: 
+    http://lists.opensuse.org/opensuse-packaging/2014-09/msg00004.html
+    http://lists.opensuse.org/opensuse-packaging/2014-09/msg00005.html
+
+__declspec(thread) is a windows-specific function that is causing
+spurious compiler warnings.  These warnings can be safely ignored,
+but are being falsely flagged as serious problems that cause the
+build to fail.  Since this is windows-specific, it can be 
+safely removed.
+
+
+--- a/numpy/core/setup_common.py
++++ b/numpy/core/setup_common.py
+@@ -134,7 +134,7 @@
+                                ]
+ 
+ # variable attributes tested via "int %s a" % attribute
+-OPTIONAL_VARIABLE_ATTRIBUTES = ["__thread", "__declspec(thread)"]
++OPTIONAL_VARIABLE_ATTRIBUTES = ["__thread"]
+ 
+ # Subset of OPTIONAL_STDFUNCS which may alreay have HAVE_* defined by Python.h
+ OPTIONAL_STDFUNCS_MAYBE = ["expm1", "log1p", "acosh", "atanh", "asinh", "hypot",
diff --git a/numpy-1.9.0.tar.gz b/numpy-1.9.0.tar.gz
new file mode 100644
index 0000000..21d93e9
--- /dev/null
+++ b/numpy-1.9.0.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2745b1d64445da3c29a34450320025c11897ae4af77475f861966e98b2cb1a0f
+size 3962108
diff --git a/numpy-buildfix.patch b/numpy-buildfix.patch
index d77637b..94911ab 100644
--- a/numpy-buildfix.patch
+++ b/numpy-buildfix.patch
@@ -8,11 +8,11 @@
 +void
  main()
  {
- #ifndef __GNUC__ && (__GNUC__ >= 4)
+ #if (! defined __GNUC__) || (__GNUC__ < 4)
 
 --- a/numpy/distutils/command/install.py
 +++ b/numpy/distutils/command/install.py
-@@ -66,7 +66,7 @@
+@@ -69,7 +69,7 @@
              need_rewrite = False
              for l in f:
                  l = l.rstrip()
diff --git a/numpy-double-double-le.patch b/numpy-double-double-le.patch
deleted file mode 100644
index c6a76a5..0000000
--- a/numpy-double-double-le.patch
+++ /dev/null
@@ -1,74 +0,0 @@
---- ./numpy/core/setup.py.orig	2013-12-05 10:09:02.655607503 +0000
-+++ ./numpy/core/setup.py	2013-12-05 10:10:06.126607391 +0000
-@@ -465,7 +465,7 @@ def configuration(parent_package='',top_
-                            'MOTOROLA_EXTENDED_12_BYTES_BE',
-                            'IEEE_QUAD_LE', 'IEEE_QUAD_BE',
-                            'IEEE_DOUBLE_LE', 'IEEE_DOUBLE_BE',
--                           'DOUBLE_DOUBLE_BE']:
-+                           'DOUBLE_DOUBLE_BE', 'DOUBLE_DOUBLE_LE']:
-                     moredefs.append(('HAVE_LDOUBLE_%s' % rep, 1))
-                 else:
-                     raise ValueError("Unrecognized long double format: %s" % rep)
---- ./numpy/core/setup_common.py.orig	2013-12-05 10:09:12.407607486 +0000
-+++ ./numpy/core/setup_common.py	2013-12-05 10:12:04.389607182 +0000
-@@ -256,6 +256,8 @@ _IEEE_QUAD_PREC_BE = ['300', '031', '326
- _IEEE_QUAD_PREC_LE = _IEEE_QUAD_PREC_BE[::-1]
- _DOUBLE_DOUBLE_BE = ['301', '235', '157', '064', '124', '000', '000', '000'] + \
-                     ['000'] * 8
-+_DOUBLE_DOUBLE_LE = ['000', '000', '000', '124', '064', '157', '235', '301'] + \
-+                    ['000'] * 8
- 
- def long_double_representation(lines):
-     """Given a binary dump as given by GNU od -b, look for long double
-@@ -295,6 +297,8 @@ def long_double_representation(lines):
-                         return 'IEEE_QUAD_LE'
-                     elif read[8:-8] == _DOUBLE_DOUBLE_BE:
-                         return 'DOUBLE_DOUBLE_BE'
-+                    elif read[8:-8] == _DOUBLE_DOUBLE_LE:
-+                        return 'DOUBLE_DOUBLE_LE'
-                 elif read[:16] == _BEFORE_SEQ:
-                     if read[16:-8] == _IEEE_DOUBLE_LE:
-                         return 'IEEE_DOUBLE_LE'
---- ./numpy/core/src/npymath/ieee754.c.src.orig	2013-12-05 10:27:37.806605529 +0000
-+++ ./numpy/core/src/npymath/ieee754.c.src	2013-12-05 10:15:22.245606831 +0000
-@@ -133,7 +133,7 @@ float _nextf(float x, int p)
-     return x;
- }
- 
--#ifdef HAVE_LDOUBLE_DOUBLE_DOUBLE_BE
-+#if defined(HAVE_LDOUBLE_DOUBLE_DOUBLE_BE) || defined(HAVE_LDOUBLE_DOUBLE_DOUBLE_LE)
- 
- /*
-  * FIXME: this is ugly and untested. The asm part only works with gcc, and we
---- ./numpy/core/src/npymath/npy_math_private.h.orig	2013-12-05 10:09:39.735607438 +0000
-+++ ./numpy/core/src/npymath/npy_math_private.h	2013-12-05 10:13:51.717606992 +0000
-@@ -435,7 +435,7 @@ do {
-     typedef npy_uint32 ldouble_sign_t;
- #endif
- 
--#ifndef HAVE_LDOUBLE_DOUBLE_DOUBLE_BE
-+#if !defined(HAVE_LDOUBLE_DOUBLE_DOUBLE_BE) && !defined(HAVE_LDOUBLE_DOUBLE_DOUBLE_LE)
- /* Get the sign bit of x. x should be of type IEEEl2bitsrep */
- #define GET_LDOUBLE_SIGN(x) \
-     (((x).a[LDBL_SIGN_INDEX] & LDBL_SIGN_MASK) >> LDBL_SIGN_SHIFT)
-@@ -476,7 +476,7 @@ do {
-      ((x).a[LDBL_MANH_INDEX] & ~LDBL_MANH_MASK) |                       \
-      (((IEEEl2bitsrep_part)(v) << LDBL_MANH_SHIFT) & LDBL_MANH_MASK))
- 
--#endif /* #ifndef HAVE_LDOUBLE_DOUBLE_DOUBLE_BE */
-+#endif /* #if !defined(HAVE_LDOUBLE_DOUBLE_DOUBLE_BE) && !defined(HAVE_LDOUBLE_DOUBLE_DOUBLE_LE) */
- 
- /*
-  * Those unions are used to convert a pointer of npy_cdouble to native C99
---- ./numpy/core/src/private/npy_fpmath.h.orig	2013-12-05 10:09:28.015607458 +0000
-+++ ./numpy/core/src/private/npy_fpmath.h	2013-12-05 10:12:49.261607102 +0000
-@@ -41,7 +41,8 @@
-       defined(HAVE_LDOUBLE_INTEL_EXTENDED_16_BYTES_LE) || \
-       defined(HAVE_LDOUBLE_INTEL_EXTENDED_12_BYTES_LE) || \
-       defined(HAVE_LDOUBLE_MOTOROLA_EXTENDED_12_BYTES_BE) || \
--      defined(HAVE_LDOUBLE_DOUBLE_DOUBLE_BE))
-+      defined(HAVE_LDOUBLE_DOUBLE_DOUBLE_BE) || \
-+      defined(HAVE_LDOUBLE_DOUBLE_DOUBLE_LE))
-     #error No long double representation defined
- #endif
- 
diff --git a/python-numpy-doc.changes b/python-numpy-doc.changes
index b6f035b..5da0c62 100644
--- a/python-numpy-doc.changes
+++ b/python-numpy-doc.changes
@@ -1,3 +1,23 @@
+-------------------------------------------------------------------
+Mon Sep  8 10:01:09 UTC 2014 - toddrme2178@gmail.com
+
+- Update to 1.9.0
+  Highlights
+  * Numerous performance improvements in various areas, most 
+    notably indexing and operations on small arrays are 
+    significantly faster. Indexing operations now also release the
+    GIL.
+  * Addition of nanmedian and nanpercentile rounds out the 
+    nanfunction set.
+- Remove upstreamed numpy-double-double-le.patch
+- Add numpy-1.9.0-remove-__declspec.patch
+  Fixes spurious warnings during build.  These warnings are related
+  to a windows-specific function that is not built, so the patch
+  just removed the function.
+  See: 
+  http://lists.opensuse.org/opensuse-packaging/2014-09/msg00004.html
+- Added patch tag for numpy-buildfix.patch
+
 -------------------------------------------------------------------
 Mon Aug 11 10:09:38 UTC 2014 - toddrme2178@gmail.com
 
diff --git a/python-numpy-doc.spec b/python-numpy-doc.spec
index 34941ee..016862e 100644
--- a/python-numpy-doc.spec
+++ b/python-numpy-doc.spec
@@ -19,7 +19,7 @@
 %define modname numpy
 Name:           python-numpy-doc
 %define docname numpydoc
-Version:        1.8.2
+Version:        1.9.0
 Release:        0
 %define docvers 0.4
 Url:            http://www.numpy.org/
@@ -27,8 +27,10 @@ Summary:        Documentation for python-numpy
 License:        BSD-3-Clause
 Group:          Development/Libraries/Python
 Source:         https://pypi.python.org/packages/source/n/numpy/numpy-%{version}.tar.gz
+# PATCH-FIX-OPENSUSE numpy-buildfix.patch -- openSUSE-specific build fixes
 Patch0:         numpy-buildfix.patch
-Patch1:         numpy-double-double-le.patch
+# PATCH-FIX-OPENSUSE numpy-1.9.0-remove-__declspec.patch -- fix for spurious compiler warnings that cause build failure
+Patch1:         numpy-1.9.0-remove-__declspec.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  blas-devel
 BuildRequires:  lapack-devel
diff --git a/python-numpy.changes b/python-numpy.changes
index d0bb3fe..32db04e 100644
--- a/python-numpy.changes
+++ b/python-numpy.changes
@@ -1,3 +1,23 @@
+-------------------------------------------------------------------
+Mon Sep  8 10:01:09 UTC 2014 - toddrme2178@gmail.com
+
+- Update to 1.9.0
+  Highlights
+  * Numerous performance improvements in various areas, most 
+    notably indexing and operations on small arrays are 
+    significantly faster. Indexing operations now also release the
+    GIL.
+  * Addition of nanmedian and nanpercentile rounds out the 
+    nanfunction set.
+- Remove upstreamed numpy-double-double-le.patch
+- Add numpy-1.9.0-remove-__declspec.patch
+  Fixes spurious warnings during build.  These warnings are related
+  to a windows-specific function that is not built, so the patch
+  just removed the function.
+  See: 
+  http://lists.opensuse.org/opensuse-packaging/2014-09/msg00004.html
+- Added patch tag for numpy-buildfix.patch
+
 -------------------------------------------------------------------
 Mon Aug 11 10:09:38 UTC 2014 - toddrme2178@gmail.com
 
diff --git a/python-numpy.spec b/python-numpy.spec
index 91926a0..edffcae 100644
--- a/python-numpy.spec
+++ b/python-numpy.spec
@@ -19,15 +19,17 @@
 %define with_atlas 0
 
 Name:           python-numpy
-Version:        1.8.2
+Version:        1.9.0
 Release:        0
 Url:            http://www.numpy.org/
 Summary:        NumPy array processing for numbers, strings, records and objects
 License:        BSD-3-Clause
 Group:          Development/Libraries/Python
 Source:         https://pypi.python.org/packages/source/n/numpy/numpy-%{version}.tar.gz
+# PATCH-FIX-OPENSUSE numpy-buildfix.patch -- openSUSE-specific build fixes
 Patch0:         numpy-buildfix.patch
-Patch1:         numpy-double-double-le.patch
+# PATCH-FIX-OPENSUSE numpy-1.9.0-remove-__declspec.patch -- fix for spurious compiler warnings that cause build failure
+Patch1:         numpy-1.9.0-remove-__declspec.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  blas-devel
 BuildRequires:  lapack-devel
@@ -88,16 +90,16 @@ This package contains files for developing applications using numpy.
 %prep
 %setup -q -n numpy-%{version}
 %patch0 -p1
-%patch1
+%patch1 -p1
 # Fix non-executable scripts
-sed -i "1d" numpy/{compat/setup,distutils/{conv_template,cpuinfo,exec_command,from_template,setup,system_info},f2py/{auxfuncs,capi_maps,cb_rules,cfuncs,common_rules,crackfortran,diagnose,docs/usersguide/setup_example,f2py2e,f90mod_rules,func2subr,__init__,rules,setup,use_rules},ma/setup,matrixlib/setup,setup,testing/{print_coercion_tables,setup}}.py
+sed -i "1d" numpy/{compat/setup,distutils/{conv_template,cpuinfo,exec_command,from_template,setup,system_info},f2py/{__init__,auxfuncs,capi_maps,cb_rules,cfuncs,common_rules,crackfortran,diagnose,f2py2e,f90mod_rules,func2subr,rules,setup,use_rules},ma/setup,matrixlib/setup,setup,testing/{print_coercion_tables,setup}}.py
 
 %build
 CFLAGS="%{optflags} -fno-strict-aliasing" python setup.py build
 
 %install
 python setup.py install --root="%{buildroot}" --prefix="%{_prefix}"
-rm -rf %{buildroot}%{python_sitearch}/numpy/{,core,distutils,f2py,fft,ma,matrixlib,oldnumeric,polynomial,random,testing}/tests # Don't package testsuite
+rm -rf %{buildroot}%{python_sitearch}/numpy/{,core,distutils,f2py,fft,lib,linalg,ma,matrixlib,oldnumeric,polynomial,random,testing}/tests # Don't package testsuite
 %if 0%{?suse_version}
 %fdupes -s %{buildroot}%{_prefix}
 %endif