[prev in list] [next in list] [prev in thread] [next in thread]
List: pykde
Subject: SIP and PyPy
From: Matti Picus <matti.picus () gmail ! com>
Date: 2020-07-06 21:31:12
Message-ID: 6f68e12f-621a-54ad-7604-92ac3547efe8 () gmail ! com
[Download RAW message or body]
I recently began trying to build PyQT with PyPy 3.6 v7.3.1 [0]. The
first problem I encountered was that SIP has a function
static struct _frame *sip_api_get_frame(int depth)
which queries the current frames on the stack. While PyPy provides a
rudimentary PyEval_GetFrame(), it does not make much sense to try to
traverse PyPy's frame stack since the JIT can change it at will. A
couple of solutions might be:
- disallow sip_api_get_frame() for any depth but 0
- disallow the API function altogether on PyPy
Checks for PyPy in C can use the #ifdef PYPY_VERSION family of macros
Any thoughts?
When I disable this function, SIP builds and I can begin building PyQT.
Unfortunately there are some missing C-API calls on PyPy, but I intend
to try to fix them for the next release (should be sometime in August).
Matti
[0] PyPy download https://downloads.python.org/pypy/ or read this blog
to get PyPy from conda https://conda-forge.org/blog/posts/2020-03-10-pypy/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic