Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pypy support #105

Closed
wants to merge 1 commit into from
Closed

pypy support #105

wants to merge 1 commit into from

Conversation

ijl
Copy link
Contributor

@ijl ijl commented Mar 26, 2019

No description provided.

@ijl
Copy link
Contributor Author

ijl commented Mar 26, 2019

I see this as working fine with pypy3 v7.1 and python3.7.

@konstin
Copy link
Member

konstin commented Mar 28, 2019

FYI I've added two pypy sysconfigs as reference

@omerbenamram
Copy link
Contributor

omerbenamram commented Mar 28, 2019

@konstin both PyPy3.5 6.0.0, and PyPy3.6 7.0.0/7.1.0 aren't fully working.
I haven't added all the stuff that was changed in 3.6 for datetime (date folding etc), and I think there were some symbols that were added only in 7.0.0, and also some additional functionality in the sysconfig module which saved me some work when finding libpypy.

I'd suggest adding the PyPy3.5 7.0.0 that is currently on the website

@konstin
Copy link
Member

konstin commented Mar 28, 2019

FWIW at least cargo check did work for me with 3.5 6.0 and 3.6 7.0 did work with the patch I posted on the other thread (I basically disabled a few symbols; I haven't check which of them would actually be supported, but it's easy to add a symbols when the base support is working). But I agree that we should settle on pypy >= 7.0 and I've updated the sysconfig.

@ijl ijl marked this pull request as ready for review April 8, 2019 13:41
src/python_interpreter.rs Outdated Show resolved Hide resolved
@konstin
Copy link
Member

konstin commented Apr 9, 2019

Using EXT_SUFFIX and SOABI unfortunately doesn't work on windows. E.g. for cpython 3.7 we have EXT_SUFFIX = ".pyd" and no SOABI. I'm fine with using SOABI for pypy, but we should check that it works on windows and shouldn't break cpython on windows.

@ijl
Copy link
Contributor Author

ijl commented Apr 11, 2019

Ok, regarding EXT_SUFFIX and SOABI, the existing logic is kept for non-pypy builds. I can't test pypy on Windows or mess with AppVeyor right now, though.

}
}

/// Generates the correct suffix for shared libraries
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please re-add that doc comment. Probably it's the best to move the cpython logic to its own function and re-add the comment there

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I readded it and some on pypy here.

@konstin
Copy link
Member

konstin commented Apr 17, 2019

I've uploaded a sysconfig for windows, but unfortunately I don't have any reference on how a native extension for pypy should look like on windows. I'm however fine to merge this if we document pypy support as linux only and make a separate issue for windows/mac testing

@konstin konstin mentioned this pull request Apr 17, 2019
11 tasks
@konstin
Copy link
Member

konstin commented Apr 17, 2019

Building on your work, I've created a pypy-ux branch where I've fixed running the tests on my machine and adapted the user facing messages and docs a bit. I've also written #105 as some sort of personal wishlist for the pypy support.

I don't know what's the best way to proceed with this pull request; Do you want to rebase onto master and cherry-pick my commit or should I open another pull request? I'm fine with merging pypy-ux as it is now.

@ijl
Copy link
Contributor Author

ijl commented Apr 17, 2019

Go ahead with pypy-ux.

@ijl ijl closed this Apr 17, 2019
@ijl ijl deleted the pypy branch April 17, 2019 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants