Opened 11 years ago

Closed 11 years ago

#37400 closed defect (fixed)

py-scipy: Add py33 subport

Reported by: g5pw (Aljaž Srebrnič) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: haspatch Cc: cooljeanius (Eric Gallager), ryandesign (Ryan Carsten Schmidt), kenneth.arnold@…
Port: py-scipy

Description

Hello! please consider this patch to add a python33 support for scipy.

Attachments (1)

scipy.patch (1.2 KB) - added by g5pw (Aljaž Srebrnič) 11 years ago.

Download all attachments as: .zip

Change History (18)

Changed 11 years ago by g5pw (Aljaž Srebrnič)

Attachment: scipy.patch added

comment:1 Changed 11 years ago by g5pw (Aljaž Srebrnič)

Cc: ram@… added

comment:2 Changed 11 years ago by skymoo (Adam Mercer)

Thanks, I should have time to get to this at the weekend. As the port is openmaintainer feel free to commit it yourself.

comment:3 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: Add scipy py33 subportpy-scipy: Add py33 subport

Could this be done in a way that doesn't duplicate the pre-activate block? Try to find a way to have a single block that applies to all subports that need it.

comment:4 Changed 11 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:5 Changed 11 years ago by cooljeanius (Eric Gallager)

Just a heads-up, issue #36763 is waiting for this to be added

comment:6 Changed 11 years ago by Veence (Vincent)

Why not using:

if {[string match py3* ${subport}]} {…}

comment:7 Changed 11 years ago by jmroot (Joshua Root)

You don't need to check for existing unregistered .pyc files for py33, because nobody has ever installed it.

comment:8 Changed 11 years ago by Veence (Vincent)

It might need some extra work:

-> python3.3
Python 3.3.0 (default, Dec 27 2012, 09:24:45) 
[GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from scipy import special
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/scipy/special/__init__.py", line 532, in <module>
    from .lambertw import lambertw
  File "lambertw.pyx", line 24, in init scipy.special.lambertw (scipy/special/lambertw.c:1588)
ValueError: level must be >= 0
>>> ^D
-> python3.2
Python 3.2.3 (default, Dec 20 2012, 10:52:17) 
[GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from scipy import special
>>> ^D

comment:9 in reply to:  7 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added; ram@… removed
Owner: changed from macports-tickets@… to ram@…

Replying to jmr@…:

You don't need to check for existing unregistered .pyc files for py33, because nobody has ever installed it.

You're right of course!

Replying to vince@…:

ValueError: level must be >= 0

Here's archlinux's bug report about this problem: https://bugs.archlinux.org/task/32072

Here's the upstream bug report: http://projects.scipy.org/scipy/ticket/1739

comment:10 Changed 11 years ago by Veence (Vincent)

If I understand the ticket correctly, it has somehow been fixed, but we’ll have to wait 0.12 to see the fix implemented… won’t we?

comment:11 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

The upstream issue says "Upgrade to Cython >= 0.17.1 fixes the "level >= 0" issue." We have a py-cython port, but it is not in py-scipy's dependency chain. Does installing it fix this problem?

The archlinux bug report says they fixed it by "fetch[ing] the changes from upstream" but they don't say what changes they were.

comment:12 Changed 11 years ago by skymoo (Adam Mercer)

Owner: ram@… deleted

comment:13 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to macports-tickets@…

comment:14 Changed 11 years ago by kenneth.arnold@…

Cc: kenneth.arnold@… added

Cc Me!

comment:15 Changed 11 years ago by kenneth.arnold@…

Unfortunately, scipy checks in the Cython outputs to their repo, meaning that not only is their source distribution broken for Python 3.3, but recreating the source distribution from the repo is insufficient to fix the problem. I tried checking out the 0.11.x maintenance branch and forcibly re-running ./tools/cythonize, but it encountered some non-trivial problems probably related to the newer Cython version I was using (0.18).

Unfortunately it looks like the only viable solution for this problem is for upstream to make a new release. Making an sdist of the master branch and forcing it through the MacPorts build process (with the Portfile patch in this ticket applied) does work, and fixes the ValueError reported here. scipy.test() does report a lot of failing tests around arpack and blas, though.

comment:16 Changed 11 years ago by cooljeanius (Eric Gallager)

py33-scipy was added in r105036

comment:17 Changed 11 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.