[arch-commits] Commit in python-numpy/repos (3 files)
Allan McRae
allan at archlinux.org
Tue Oct 16 04:25:31 UTC 2012
Date: Tuesday, October 16, 2012 @ 00:25:31
Author: allan
Revision: 168804
archrelease: copy trunk to staging-i686
Added:
python-numpy/repos/staging-i686/
python-numpy/repos/staging-i686/PKGBUILD
(from rev 168803, python-numpy/trunk/PKGBUILD)
python-numpy/repos/staging-i686/numpy-1.6.2-python-3.3-build-fix.patch
(from rev 168803, python-numpy/trunk/numpy-1.6.2-python-3.3-build-fix.patch)
----------------------------------------+
PKGBUILD | 64 ++++++++++++++++++++++++
numpy-1.6.2-python-3.3-build-fix.patch | 80 +++++++++++++++++++++++++++++++
2 files changed, 144 insertions(+)
Copied: python-numpy/repos/staging-i686/PKGBUILD (from rev 168803, python-numpy/trunk/PKGBUILD)
===================================================================
--- staging-i686/PKGBUILD (rev 0)
+++ staging-i686/PKGBUILD 2012-10-16 04:25:31 UTC (rev 168804)
@@ -0,0 +1,64 @@
+# $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.6.2
+pkgrel=2
+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
+ numpy-1.6.2-python-3.3-build-fix.patch)
+md5sums=('95ed6c9dcc94af1fc1642ea2a33c1bba'
+ 'e0fdbcfc9f6193b6762383b4693e749e')
+
+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}"
+ patch -Np1 -i $srcdir/numpy-1.6.2-python-3.3-build-fix.patch
+ 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/staging-i686/numpy-1.6.2-python-3.3-build-fix.patch (from rev 168803, python-numpy/trunk/numpy-1.6.2-python-3.3-build-fix.patch)
===================================================================
--- staging-i686/numpy-1.6.2-python-3.3-build-fix.patch (rev 0)
+++ staging-i686/numpy-1.6.2-python-3.3-build-fix.patch 2012-10-16 04:25:31 UTC (rev 168804)
@@ -0,0 +1,80 @@
+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 */
+--
+1.7.12.3
+
More information about the arch-commits
mailing list