diff --git a/.cvsignore b/.cvsignore index a03a2ed..d48ded1 100644 --- a/.cvsignore +++ b/.cvsignore @@ -3,3 +3,4 @@ numpy-0.9.8.tar.gz numpy-1.0.tar.gz numpy-1.0.1.tar.gz numpy-1.0.2.tar.gz +numpy-1.0.3-2.tar.gz diff --git a/numpy-0.9.8-check_types.patch b/numpy-0.9.8-check_types.patch deleted file mode 100644 index 8bc6ccb..0000000 --- a/numpy-0.9.8-check_types.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff -ur numpy-0.9.8.orig/numpy/core/numeric.py numpy-0.9.8/numpy/core/numeric.py ---- numpy-0.9.8.orig/numpy/core/numeric.py 2006-05-17 18:48:38.000000000 -0400 -+++ numpy-0.9.8/numpy/core/numeric.py 2006-09-05 16:23:00.000000000 -0400 -@@ -11,6 +11,7 @@ - 'array2string', 'get_printoptions', 'set_printoptions', - 'array_repr', 'array_str', 'set_string_function', - 'little_endian', -+ 'fromiter', - 'indices', 'fromfunction', - 'load', 'loads', 'isscalar', 'binary_repr', 'base_repr', - 'ones', 'identity', 'allclose', -@@ -67,6 +68,10 @@ - - # end Fernando's utilities - -+def fromiter(obj, dtype=None): -+ obj = list(obj) -+ return array(obj, dtype=dtype) -+ - def extend_all(module): - adict = {} - for a in __all__: -diff -ur numpy-0.9.8.orig/numpy/core/src/arrayobject.c numpy-0.9.8/numpy/core/src/arrayobject.c ---- numpy-0.9.8.orig/numpy/core/src/arrayobject.c 2006-05-13 23:42:32.000000000 -0400 -+++ numpy-0.9.8/numpy/core/src/arrayobject.c 2006-09-05 16:26:47.000000000 -0400 -@@ -7287,9 +7287,10 @@ - adjusted */ - - /*OBJECT_API -- Adjusts previously broadcasted iterators so that the largest axis is not iterated -- over. Returns dimension which is largest in the range [0,multi->nd). A -1 -- is returned if multi->nd == 0. -+ Adjusts previously broadcasted iterators so that the largest axis -+ is not iterated over. -+ Returns dimension which is largest in the range [0,multi->nd). -+ A -1 is returned if multi->nd == 0. - */ - static int - PyArray_RemoveLargest(PyArrayMultiIterObject *multi) -diff -ur numpy-0.9.8.orig/numpy/core/src/scalartypes.inc.src numpy-0.9.8/numpy/core/src/scalartypes.inc.src ---- numpy-0.9.8.orig/numpy/core/src/scalartypes.inc.src 2006-05-17 14:56:32.000000000 -0400 -+++ numpy-0.9.8/numpy/core/src/scalartypes.inc.src 2006-09-05 16:28:32.000000000 -0400 -@@ -1600,12 +1600,15 @@ - - /* string and unicode inherit from Python Type first and so GET_ITEM is different to - get to the Python Type. -+ ok is a work-around for a bug in complex_new that doesn't allocate -+ memory from the sub-types memory allocator. - */ - - /**begin repeat - #name=byte, short, int, long, longlong, ubyte, ushort, uint, ulong, ulonglong, float, double, longdouble, cfloat, cdouble, clongdouble, string, unicode, object# - #TYPE=BYTE, SHORT, INT, LONG, LONGLONG, UBYTE, USHORT, UINT, ULONG, ULONGLONG, FLOAT, DOUBLE, LONGDOUBLE, CFLOAT, CDOUBLE, CLONGDOUBLE, STRING, UNICODE, OBJECT# - #num=1*16,0,0,1# -+#ok=0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,1,1,1# - */ - static PyObject * - @name@_arrtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds) -@@ -1614,6 +1617,7 @@ - PyObject *arr; - PyArray_Descr *typecode; - -+#if @ok@ - if (type->tp_bases && (PyTuple_GET_SIZE(type->tp_bases)==2)) { - PyTypeObject *sup; - PyObject *ret; -@@ -1625,6 +1629,7 @@ - PyErr_Clear(); - /* now do default conversion */ - } -+#endif - - if (!PyArg_ParseTuple(args, "O", &obj)) return NULL; - -diff -ur numpy-0.9.8.orig/numpy/core/tests/test_scalarmath.py numpy-0.9.8/numpy/core/tests/test_scalarmath.py ---- numpy-0.9.8.orig/numpy/core/tests/test_scalarmath.py 2006-05-10 18:51:12.000000000 -0400 -+++ numpy-0.9.8/numpy/core/tests/test_scalarmath.py 2006-09-05 16:28:58.000000000 -0400 -@@ -11,55 +11,22 @@ - N.single, N.double, N.longdouble, N.csingle, - N.cdouble, N.clongdouble] - --# These were generated using old umath --typeconv = array([ -- [ 0, 1, 2, 3, 4, 5, 6, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16], -- [ 1, 1, 3, 3, 4, 5, 6, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16], -- [ 2, 3, 2, 3, 4, 5, 6, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16], -- [ 3, 3, 3, 3, 5, 5, 6, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16], -- [ 4, 4, 4, 5, 4, 5, 6, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16], -- [ 5, 5, 5, 5, 5, 5, 9, 5, 9, 9, 10, 12, 12, 13, 15, 15, 16], -- [ 6, 6, 6, 6, 6, 9, 6, 9, 6, 9, 10, 12, 12, 13, 15, 15, 16], -- [ 7, 7, 7, 7, 7, 7, 9, 7, 9, 9, 10, 12, 12, 13, 15, 15, 16], -- [ 8, 8, 8, 8, 8, 9, 8, 9, 8, 9, 10, 12, 12, 13, 15, 15, 16], -- [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 12, 12, 12, 13, 15, 15, 16], -- [10, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, 12, 12, 13, 15, 15, 16], -- [11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 11, 12, 13, 14, 15, 16], -- [12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 15, 15, 16], -- [13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 16, 16, 16], -- [14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 14, 15, 16, 14, 15, 16], -- [15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 15, 15, 16], -- [16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16] -- ]) -- --typeconv2 = array([ -- ['?','b','B','h','H','i','I','i','I','q','Q','f','d','g','F','D','G'], -- ['b','b','h','h','H','i','I','i','I','q','Q','f','d','g','F','D','G'], -- ['B','h','B','h','H','i','I','i','I','q','Q','f','d','g','F','D','G'], -- ['h','h','h','h','i','i','I','i','I','q','Q','f','d','g','F','D','G'], -- ['H','H','H','i','H','i','I','i','I','q','Q','f','d','g','F','D','G'], -- ['i','i','i','i','i','i','q','i','q','q','Q','d','d','g','D','D','G'], -- ['I','I','I','I','I','q','I','q','I','q','Q','d','d','g','D','D','G'], -- ['l','l','l','l','l','l','q','l','q','q','Q','d','d','g','D','D','G'], -- ['L','L','L','L','L','q','L','q','L','q','Q','d','d','g','D','D','G'], -- ['q','q','q','q','q','q','q','q','q','q','d','d','d','g','D','D','G'], -- ['Q','Q','Q','Q','Q','Q','Q','Q','Q','d','Q','d','d','g','D','D','G'], -- ['f','f','f','f','f','d','d','d','d','d','d','f','d','g','F','D','G'], -- ['d','d','d','d','d','d','d','d','d','d','d','d','d','g','D','D','G'], -- ['g','g','g','g','g','g','g','g','g','g','g','g','g','g','G','G','G'], -- ['F','F','F','F','F','D','D','D','D','D','D','F','D','G','F','D','G'], -- ['D','D','D','D','D','D','D','D','D','D','D','D','D','G','D','D','G'], -- ['G','G','G','G','G','G','G','G','G','G','G','G','G','G','G','G','G'] -- ],'S1') -+# This compares scalarmath against ufuncs. - - class test_types(ScipyTestCase): - def check_types(self, level=1): - # list of types - for k, atype in enumerate(types): - vala = atype(3) -+ val1 = array([3],dtype=atype) - for l, btype in enumerate(types): - valb = btype(1) -+ val2 = array([1],dtype=btype) - val = vala+valb -- assert val.dtype.num == typeconv[k,l] and \ -- val.dtype.char == typeconv2[k,l], \ -+ valo = val1 + val2 -+ assert val.dtype.num == valo.dtype.num and \ -+ val.dtype.char == valo.dtype.char, \ - "error with (%d,%d)" % (k,l) -+ -+if __name__ == "__main__": -+ NumpyTest().run() diff --git a/numpy-1.0-gfortran.patch b/numpy-1.0-gfortran.patch deleted file mode 100644 index 1268942..0000000 --- a/numpy-1.0-gfortran.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -ur numpy-1.0.orig/numpy/distutils/fcompiler/gnu.py numpy-1.0/numpy/distutils/fcompiler/gnu.py ---- numpy-1.0.orig/numpy/distutils/fcompiler/gnu.py 2006-10-09 03:46:59.000000000 -0400 -+++ numpy-1.0/numpy/distutils/fcompiler/gnu.py 2006-10-25 13:51:18.000000000 -0400 -@@ -30,7 +30,7 @@ - 'compiler_f77' : [fc_exe, "-g", "-Wall","-fno-second-underscore"], - 'compiler_f90' : None, # Use --fcompiler=gnu95 for f90 codes - 'compiler_fix' : None, -- 'linker_so' : [fc_exe, "-g", "-Wall"], -+ 'linker_so' : [fc_exe,"-shared", "-g", "-Wall"], - 'archiver' : ["ar", "-cr"], - 'ranlib' : ["ranlib"], - 'linker_exe' : [fc_exe, "-g", "-Wall"] -@@ -257,7 +257,7 @@ - 'compiler_f77' : [fc_exe,"-Wall","-ffixed-form","-fno-second-underscore"], - 'compiler_f90' : [fc_exe,"-Wall","-fno-second-underscore"], - 'compiler_fix' : [fc_exe,"-Wall","-ffixed-form","-fno-second-underscore"], -- 'linker_so' : [fc_exe,"-Wall"], -+ 'linker_so' : [fc_exe,"-shared", "-Wall"], - 'archiver' : ["ar", "-cr"], - 'ranlib' : ["ranlib"], - 'linker_exe' : [fc_exe,"-Wall"] diff --git a/numpy-1.0.1-cpuinfo.patch b/numpy-1.0.1-cpuinfo.patch deleted file mode 100644 index 258c4df..0000000 --- a/numpy-1.0.1-cpuinfo.patch +++ /dev/null @@ -1,41 +0,0 @@ -Index: trunk/numpy/distutils/fcompiler/gnu.py -=================================================================== ---- trunk/numpy/distutils/fcompiler/gnu.py (revision 3523) -+++ trunk/numpy/distutils/fcompiler/gnu.py (revision 3538) -@@ -197,4 +197,6 @@ - elif cpu.is_Nocona(): - march_opt = '-march=nocona' -+ elif cpu.is_Core2(): -+ march_opt = '-march=nocona' - elif cpu.is_Prescott(): - march_opt = '-march=prescott' -@@ -217,5 +219,10 @@ - if cpu.is_PentiumM(): - march_opt = '-march=pentium-m' -- -+ -+ # Future: -+ # if gnu_ver >= '4.3': -+ # if cpu.is_Core2(): -+ # march_opt = '-march=core2' -+ - # Note: gcc 3.2 on win32 has breakage with -march specified - if '3.1.1' <= gnu_ver <= '3.4' and sys.platform=='win32': -Index: trunk/numpy/distutils/cpuinfo.py -=================================================================== ---- trunk/numpy/distutils/cpuinfo.py (revision 3520) -+++ trunk/numpy/distutils/cpuinfo.py (revision 3538) -@@ -186,6 +186,11 @@ - - def _is_Nocona(self): -- return self.is_PentiumIV() and self.is_64bit() -- -+ return self.is_64bit() and self.is_i686() -+ -+ def _is_Core2(self): -+ return self.is_64bit() and self.is_Intel() and \ -+ re.match(r'.*?Core\(TM\)2\b', \ -+ self.info[0]['model name']) is not None -+ - def _is_Itanium(self): - return re.match(r'.*?Itanium\b', diff --git a/numpy-1.0.3-setup.patch b/numpy-1.0.3-setup.patch new file mode 100644 index 0000000..f33999e --- /dev/null +++ b/numpy-1.0.3-setup.patch @@ -0,0 +1,13 @@ +--- numpy-1.0.3/setup.py.orig 2007-06-06 10:06:58.000000000 -0400 ++++ numpy-1.0.3/setup.py 2007-06-06 10:07:32.000000000 -0400 +@@ -49,8 +49,8 @@ def configuration(parent_package='',top_ + config.add_subpackage('numpy') + + config.add_data_files(('numpy','*.txt')) +- config.add_data_files(('.','COMPATIBILITY'),('.','scipy_compatibility'), +- ('.','site.cfg.example')) ++ config.add_data_files(('numpy','COMPATIBILITY'),('numpy','scipy_compatibility'), ++ ('numpy','site.cfg.example')) + + config.get_version('numpy/version.py') # sets config.version + diff --git a/numpy.spec b/numpy.spec index 4cffbfb..8f99e13 100644 --- a/numpy.spec +++ b/numpy.spec @@ -3,16 +3,18 @@ %{!?python_version: %define python_version %(%{__python} -c 'import sys; print sys.version.split(" ")[0]' || echo "2.3")} Name: numpy -Version: 1.0.2 -Release: 2%{?dist} +Version: 1.0.3 +Release: 1%{?dist} Summary: A fast multidimensional array facility for Python Group: Development/Languages License: BSD URL: http://numeric.scipy.org/ -Source0: http://dl.sourceforge.net/numpy/%{name}-%{version}.tar.gz +#Source0: http://dl.sourceforge.net/numpy/%{name}-%{version}.tar.gz +# Upstream apparently had a problem with their first 1.0.3 tarball... +Source0: http://dl.sourceforge.net/numpy/%{name}-%{version}-2.tar.gz Patch0: numpy-1.0.1-f2py.patch -Patch1: numpy-1.0-gfortran.patch +Patch1: numpy-1.0.3-setup.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel blas-devel lapack-devel python-setuptools gcc-gfortran @@ -33,9 +35,9 @@ basic linear algebra and random number generation. Also included in this package is a version of f2py that works properly with NumPy. %prep -%setup -q +%setup -q -n %{name}-%{version} %patch0 -p1 -b .f2py -%patch1 -p1 -b .gfortran +%patch1 -p1 -b .setup %build env ATLAS=%{_libdir} FFTW=%{_libdir} BLAS=%{_libdir} \ @@ -74,6 +76,9 @@ rm -rf $RPM_BUILD_ROOT %{python_sitearch}/%{name} %changelog +* Wed Jun 06 2007 Jarod Wilson 1.0.3-1 +- New upstream release + * Mon May 14 2007 Jarod Wilson 1.0.2-2 - Drop BR: atlas-devel, since it just provides binary-compat blas and lapack libs. Atlas can still be optionally used diff --git a/sources b/sources index 708368e..40074a7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8be83678056ae31bfe641d35bbc181f4 numpy-1.0.2.tar.gz +ff0ec1a633e426c8230b6c9d333cc1e6 numpy-1.0.3-2.tar.gz