[arch-commits] Commit in python-numpy/repos (8 files)

Allan McRae allan at archlinux.org
Tue Oct 16 11:55:08 UTC 2012


    Date: Tuesday, October 16, 2012 @ 07:55:07
  Author: allan
Revision: 168869

db-move: moved python-numpy from [staging] to [testing] (i686, x86_64)

Added:
  python-numpy/repos/testing-i686/
  python-numpy/repos/testing-i686/PKGBUILD
    (from rev 168833, python-numpy/repos/staging-i686/PKGBUILD)
  python-numpy/repos/testing-i686/numpy-1.6.2-python-3.3-build-fix.patch
    (from rev 168833, python-numpy/repos/staging-i686/numpy-1.6.2-python-3.3-build-fix.patch)
  python-numpy/repos/testing-x86_64/
  python-numpy/repos/testing-x86_64/PKGBUILD
    (from rev 168833, python-numpy/repos/staging-x86_64/PKGBUILD)
  python-numpy/repos/testing-x86_64/numpy-1.6.2-python-3.3-build-fix.patch
    (from rev 168833, python-numpy/repos/staging-x86_64/numpy-1.6.2-python-3.3-build-fix.patch)
Deleted:
  python-numpy/repos/staging-i686/
  python-numpy/repos/staging-x86_64/

-------------------------------------------------------+
 testing-i686/PKGBUILD                                 |   62 ++++++++++
 testing-i686/numpy-1.6.2-python-3.3-build-fix.patch   |   92 ++++++++++++++++
 testing-x86_64/PKGBUILD                               |   62 ++++++++++
 testing-x86_64/numpy-1.6.2-python-3.3-build-fix.patch |   92 ++++++++++++++++
 4 files changed, 308 insertions(+)

Copied: python-numpy/repos/testing-i686/PKGBUILD (from rev 168833, python-numpy/repos/staging-i686/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2012-10-16 11:55:07 UTC (rev 168869)
@@ -0,0 +1,62 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+# Contributor: Douglas Soares de Andrade <dsa at aur.archlinux.org>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve> 
+
+pkgbase=python-numpy
+pkgname=('python2-numpy' 'python-numpy')
+pkgver=1.7.0
+_pkgver=1.7.0b2
+pkgrel=1
+pkgdesc="Scientific tools for Python"
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://numpy.scipy.org/"
+makedepends=('lapack' 'python' 'python2' 'python-distribute' 'python2-distribute' 'gcc-fortran' 'python-nose')
+source=(http://downloads.sourceforge.net/numpy/numpy-${_pkgver}.tar.gz)
+md5sums=('1b62cf0e34e2db58b0241b00d603df24')
+
+build() {
+  cd "${srcdir}"
+  cp -a numpy-${_pkgver} numpy-py2-${_pkgver}
+
+  export Atlas=None
+  export LDFLAGS="$LDFLAGS -shared"
+
+  echo "Building Python2"
+  cd "${srcdir}/numpy-py2-${_pkgver}"
+  python2 setup.py config_fc --fcompiler=gnu95 build
+
+  echo "Building Python3"
+  cd "${srcdir}/numpy-${_pkgver}"
+  python setup.py config_fc --fcompiler=gnu95 build
+}
+
+package_python2-numpy() {
+  depends=('lapack' 'python2')
+  optdepends=('python-nose: testsuite')
+
+  cd "${srcdir}/numpy-py2-${_pkgver}"
+  python2 setup.py config_fc --fcompiler=gnu95 install --prefix=/usr --root="${pkgdir}" --optimize=1
+
+  install -m755 -d "${pkgdir}/usr/share/licenses/python2-numpy"
+  install -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/python2-numpy/"
+
+  sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
+         -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+         -e "s|#![ ]*/bin/env python$|#!/usr/bin/env python2|" \
+             $(find ${pkgdir} -name '*.py')
+}
+
+package_python-numpy() {
+  depends=('lapack' 'python')
+  provides=("python3-numpy=${pkgver}")
+  replaces=('python3-numpy')
+  conflicts=('python3-numpy')
+
+  cd "${srcdir}/numpy-${_pkgver}"
+  python setup.py config_fc --fcompiler=gnu95 install --prefix=/usr --root="${pkgdir}" --optimize=1
+
+  install -m755 -d "${pkgdir}/usr/share/licenses/python3-numpy"
+  install -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/python3-numpy/"
+}

Copied: python-numpy/repos/testing-i686/numpy-1.6.2-python-3.3-build-fix.patch (from rev 168833, python-numpy/repos/staging-i686/numpy-1.6.2-python-3.3-build-fix.patch)
===================================================================
--- testing-i686/numpy-1.6.2-python-3.3-build-fix.patch	                        (rev 0)
+++ testing-i686/numpy-1.6.2-python-3.3-build-fix.patch	2012-10-16 11:55:07 UTC (rev 168869)
@@ -0,0 +1,92 @@
+diff --git a/numpy/core/src/multiarray/scalarapi.c b/numpy/core/src/multiarray/scalarapi.c
+index 00c71f9..0afdc17 100644
+--- a/numpy/core/src/multiarray/scalarapi.c
++++ b/numpy/core/src/multiarray/scalarapi.c
+@@ -641,6 +641,40 @@ PyArray_Scalar(void *data, PyArray_Descr *descr, PyObject *base)
+             itemsize = (((itemsize - 1) >> 2) + 1) << 2;
+         }
+     }
++#if PY_VERSION_HEX >= 0x03030000
++    if (type_num == NPY_UNICODE) {
++        PyObject *u, *args;
++        char *buffer;
++        if (swap) {
++            buffer = malloc(itemsize);
++            if (buffer == NULL) {
++                PyErr_NoMemory();
++                return NULL;
++            }
++            memcpy(buffer, data, itemsize);
++            byte_swap_vector(buffer, itemsize >> 2, 4);
++        } else {
++            buffer = data;
++        }
++        u = PyUnicode_FromKindAndData(PyUnicode_4BYTE_KIND, buffer,
++                itemsize >> 2);
++        if (swap) {
++            free(buffer);
++        }
++        if (u == NULL) {
++            return NULL;
++        }
++        args = Py_BuildValue("(O)", u);
++        if (args == NULL) {
++            Py_DECREF(u);
++            return NULL;
++        }
++        obj = type->tp_new(type, args, NULL);
++        Py_DECREF(u);
++        Py_DECREF(args);
++        return obj;
++    }
++#endif
+     if (type->tp_itemsize != 0) {
+         /* String type */
+         obj = type->tp_alloc(type, itemsize);
+@@ -672,6 +706,7 @@ PyArray_Scalar(void *data, PyArray_Descr *descr, PyObject *base)
+             memcpy(destptr, data, itemsize);
+             return obj;
+         }
++#if PY_VERSION_HEX < 0x03030000
+         else if (type_num == PyArray_UNICODE) {
+             /* tp_alloc inherited from Python PyBaseObject_Type */
+             PyUnicodeObject *uni = (PyUnicodeObject*)obj;
+@@ -743,6 +778,7 @@ PyArray_Scalar(void *data, PyArray_Descr *descr, PyObject *base)
+ #endif
+             return obj;
+         }
++#endif // PY_VERSION_HEX < 0x03030000
+         else {
+             PyVoidScalarObject *vobj = (PyVoidScalarObject *)obj;
+             vobj->base = NULL;
+diff --git a/numpy/core/src/multiarray/scalartypes.c.src b/numpy/core/src/multiarray/scalartypes.c.src
+index e547071..12745d7 100644
+--- a/numpy/core/src/multiarray/scalartypes.c.src
++++ b/numpy/core/src/multiarray/scalartypes.c.src
+@@ -2592,7 +2592,11 @@ finish:
+     *((npy_ at name@ *)dest) = *((npy_ at name@ *)src);
+ #elif @default@ == 1 /* unicode and strings */
+     if (itemsize == 0) { /* unicode */
++#if PY_VERSION_HEX >= 0x03030000
++        itemsize = PyUnicode_GetLength(robj) * PyUnicode_KIND(robj);
++#else
+         itemsize = ((PyUnicodeObject *)robj)->length * sizeof(Py_UNICODE);
++#endif
+     }
+     memcpy(dest, src, itemsize);
+     /* @default@ == 2 won't get here */
+diff --git a/numpy/core/src/multiarray/methods.c b/numpy/core/src/multiarray/methods.c
+index c4147ef..119056c 100644
+--- a/numpy/core/src/multiarray/methods.c
++++ b/numpy/core/src/multiarray/methods.c
+@@ -1587,7 +1587,7 @@ array_setstate(PyArrayObject *self, PyObject *args)
+     if (!PyDataType_FLAGCHK(typecode, NPY_LIST_PICKLE)) {
+         int swap=!PyArray_ISNOTSWAPPED(self);
+         self->data = datastr;
+-        if (!_IsAligned(self) || swap) {
++        if (!_IsAligned(self) || swap || (len <= 1000)) {
+             intp num = PyArray_NBYTES(self);
+             self->data = PyDataMem_NEW(num);
+             if (self->data == NULL) {
+-- 
+1.7.12.3

Copied: python-numpy/repos/testing-x86_64/PKGBUILD (from rev 168833, python-numpy/repos/staging-x86_64/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2012-10-16 11:55:07 UTC (rev 168869)
@@ -0,0 +1,62 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+# Contributor: Douglas Soares de Andrade <dsa at aur.archlinux.org>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve> 
+
+pkgbase=python-numpy
+pkgname=('python2-numpy' 'python-numpy')
+pkgver=1.7.0
+_pkgver=1.7.0b2
+pkgrel=1
+pkgdesc="Scientific tools for Python"
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://numpy.scipy.org/"
+makedepends=('lapack' 'python' 'python2' 'python-distribute' 'python2-distribute' 'gcc-fortran' 'python-nose')
+source=(http://downloads.sourceforge.net/numpy/numpy-${_pkgver}.tar.gz)
+md5sums=('1b62cf0e34e2db58b0241b00d603df24')
+
+build() {
+  cd "${srcdir}"
+  cp -a numpy-${_pkgver} numpy-py2-${_pkgver}
+
+  export Atlas=None
+  export LDFLAGS="$LDFLAGS -shared"
+
+  echo "Building Python2"
+  cd "${srcdir}/numpy-py2-${_pkgver}"
+  python2 setup.py config_fc --fcompiler=gnu95 build
+
+  echo "Building Python3"
+  cd "${srcdir}/numpy-${_pkgver}"
+  python setup.py config_fc --fcompiler=gnu95 build
+}
+
+package_python2-numpy() {
+  depends=('lapack' 'python2')
+  optdepends=('python-nose: testsuite')
+
+  cd "${srcdir}/numpy-py2-${_pkgver}"
+  python2 setup.py config_fc --fcompiler=gnu95 install --prefix=/usr --root="${pkgdir}" --optimize=1
+
+  install -m755 -d "${pkgdir}/usr/share/licenses/python2-numpy"
+  install -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/python2-numpy/"
+
+  sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
+         -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+         -e "s|#![ ]*/bin/env python$|#!/usr/bin/env python2|" \
+             $(find ${pkgdir} -name '*.py')
+}
+
+package_python-numpy() {
+  depends=('lapack' 'python')
+  provides=("python3-numpy=${pkgver}")
+  replaces=('python3-numpy')
+  conflicts=('python3-numpy')
+
+  cd "${srcdir}/numpy-${_pkgver}"
+  python setup.py config_fc --fcompiler=gnu95 install --prefix=/usr --root="${pkgdir}" --optimize=1
+
+  install -m755 -d "${pkgdir}/usr/share/licenses/python3-numpy"
+  install -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/python3-numpy/"
+}

Copied: python-numpy/repos/testing-x86_64/numpy-1.6.2-python-3.3-build-fix.patch (from rev 168833, python-numpy/repos/staging-x86_64/numpy-1.6.2-python-3.3-build-fix.patch)
===================================================================
--- testing-x86_64/numpy-1.6.2-python-3.3-build-fix.patch	                        (rev 0)
+++ testing-x86_64/numpy-1.6.2-python-3.3-build-fix.patch	2012-10-16 11:55:07 UTC (rev 168869)
@@ -0,0 +1,92 @@
+diff --git a/numpy/core/src/multiarray/scalarapi.c b/numpy/core/src/multiarray/scalarapi.c
+index 00c71f9..0afdc17 100644
+--- a/numpy/core/src/multiarray/scalarapi.c
++++ b/numpy/core/src/multiarray/scalarapi.c
+@@ -641,6 +641,40 @@ PyArray_Scalar(void *data, PyArray_Descr *descr, PyObject *base)
+             itemsize = (((itemsize - 1) >> 2) + 1) << 2;
+         }
+     }
++#if PY_VERSION_HEX >= 0x03030000
++    if (type_num == NPY_UNICODE) {
++        PyObject *u, *args;
++        char *buffer;
++        if (swap) {
++            buffer = malloc(itemsize);
++            if (buffer == NULL) {
++                PyErr_NoMemory();
++                return NULL;
++            }
++            memcpy(buffer, data, itemsize);
++            byte_swap_vector(buffer, itemsize >> 2, 4);
++        } else {
++            buffer = data;
++        }
++        u = PyUnicode_FromKindAndData(PyUnicode_4BYTE_KIND, buffer,
++                itemsize >> 2);
++        if (swap) {
++            free(buffer);
++        }
++        if (u == NULL) {
++            return NULL;
++        }
++        args = Py_BuildValue("(O)", u);
++        if (args == NULL) {
++            Py_DECREF(u);
++            return NULL;
++        }
++        obj = type->tp_new(type, args, NULL);
++        Py_DECREF(u);
++        Py_DECREF(args);
++        return obj;
++    }
++#endif
+     if (type->tp_itemsize != 0) {
+         /* String type */
+         obj = type->tp_alloc(type, itemsize);
+@@ -672,6 +706,7 @@ PyArray_Scalar(void *data, PyArray_Descr *descr, PyObject *base)
+             memcpy(destptr, data, itemsize);
+             return obj;
+         }
++#if PY_VERSION_HEX < 0x03030000
+         else if (type_num == PyArray_UNICODE) {
+             /* tp_alloc inherited from Python PyBaseObject_Type */
+             PyUnicodeObject *uni = (PyUnicodeObject*)obj;
+@@ -743,6 +778,7 @@ PyArray_Scalar(void *data, PyArray_Descr *descr, PyObject *base)
+ #endif
+             return obj;
+         }
++#endif // PY_VERSION_HEX < 0x03030000
+         else {
+             PyVoidScalarObject *vobj = (PyVoidScalarObject *)obj;
+             vobj->base = NULL;
+diff --git a/numpy/core/src/multiarray/scalartypes.c.src b/numpy/core/src/multiarray/scalartypes.c.src
+index e547071..12745d7 100644
+--- a/numpy/core/src/multiarray/scalartypes.c.src
++++ b/numpy/core/src/multiarray/scalartypes.c.src
+@@ -2592,7 +2592,11 @@ finish:
+     *((npy_ at name@ *)dest) = *((npy_ at name@ *)src);
+ #elif @default@ == 1 /* unicode and strings */
+     if (itemsize == 0) { /* unicode */
++#if PY_VERSION_HEX >= 0x03030000
++        itemsize = PyUnicode_GetLength(robj) * PyUnicode_KIND(robj);
++#else
+         itemsize = ((PyUnicodeObject *)robj)->length * sizeof(Py_UNICODE);
++#endif
+     }
+     memcpy(dest, src, itemsize);
+     /* @default@ == 2 won't get here */
+diff --git a/numpy/core/src/multiarray/methods.c b/numpy/core/src/multiarray/methods.c
+index c4147ef..119056c 100644
+--- a/numpy/core/src/multiarray/methods.c
++++ b/numpy/core/src/multiarray/methods.c
+@@ -1587,7 +1587,7 @@ array_setstate(PyArrayObject *self, PyObject *args)
+     if (!PyDataType_FLAGCHK(typecode, NPY_LIST_PICKLE)) {
+         int swap=!PyArray_ISNOTSWAPPED(self);
+         self->data = datastr;
+-        if (!_IsAligned(self) || swap) {
++        if (!_IsAligned(self) || swap || (len <= 1000)) {
+             intp num = PyArray_NBYTES(self);
+             self->data = PyDataMem_NEW(num);
+             if (self->data == NULL) {
+-- 
+1.7.12.3




More information about the arch-commits mailing list