dev-python/algopy: Add py3.5 support
authorDavid Seifert <soap@gentoo.org>
Mon, 5 Sep 2016 08:08:49 +0000 (10:08 +0200)
committerDavid Seifert <soap@gentoo.org>
Mon, 5 Sep 2016 09:19:07 +0000 (11:19 +0200)
* EAPI=6
* Fix one error in testsuite by
  backporting upstream fix
  https://github.com/b45ch1/algopy/commit/f563d86e72b32caa296ac77b0836ce0e36a5f6ab

Package-Manager: portage-2.3.0

dev-python/algopy/algopy-0.5.3.ebuild
dev-python/algopy/files/algopy-0.5.3-fix-test-cast-ufunc.patch [new file with mode: 0644]

index 900facfc5559080a736cc47f427f0e2113428eca..3597aa272ca8983aa3af2e8bd68d63350f6d0960 100644 (file)
@@ -1,10 +1,10 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 
-PYTHON_COMPAT=( python2_7 python3_{3,4} )
+PYTHON_COMPAT=( python2_7 python3_{3,4,5} )
 
 inherit distutils-r1
 
@@ -24,6 +24,7 @@ RDEPEND="
 DEPEND="${RDEPEND}
        test? ( dev-python/nose[${PYTHON_USEDEP}] )
 "
+PATCHES=( "${FILESDIR}/${P}-fix-test-cast-ufunc.patch" )
 
 python_test() {
        ${EPYTHON} run_tests.py || die
diff --git a/dev-python/algopy/files/algopy-0.5.3-fix-test-cast-ufunc.patch b/dev-python/algopy/files/algopy-0.5.3-fix-test-cast-ufunc.patch
new file mode 100644 (file)
index 0000000..0b8a0ed
--- /dev/null
@@ -0,0 +1,29 @@
+From f563d86e72b32caa296ac77b0836ce0e36a5f6ab Mon Sep 17 00:00:00 2001
+From: Sebastian Walter <sebastian.walter@iwr.uni-heidelberg.de>
+Date: Thu, 30 Jun 2016 15:11:19 +0200
+Subject: [PATCH] Problem: numpy raised TypeError: Cannot cast ufunc add output
+ from dtype('complex128') to dtype('float64') with casting rule 'same_kind'
+ Solution: use numpy.add(x,y,out=x, casting='unsafe') to cast from complex to
+ float if necessary
+
+---
+ algopy/utpm/algorithms.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/algopy/utpm/algorithms.py b/algopy/utpm/algorithms.py
+index ccf7ca4..5f2651e 100644
+--- a/algopy/utpm/algorithms.py
++++ b/algopy/utpm/algorithms.py
+@@ -1190,9 +1190,9 @@ def _dot(cls, x_data, y_data, out = None):
+         for d in range(D):
+             for p in range(P):
+                 for c in range(d+1):
+-                    z_data[d,p,...] += numpy.dot(
+-                            x_data[c,p,...],
+-                            y_data[d-c,p,...])
++                    tmp = numpy.dot(x_data[c,p,...],
++                                    y_data[d-c,p,...])
++                    numpy.add(z_data[d,p,...], tmp, out=z_data[d,p, ...], casting='unsafe') 
+         return out