[pypy-commit] [Git][pypy/pypy][branch/py3.7] 10 commits: Fix loading system libraries with ctypes on macOS Big Sur.
Matti Picus
foss at heptapod.net
Sat Jan 16 14:04:16 EST 2021
Matti Picus pushed to branch branch/py3.7 at PyPy / pypy
Commits:
1fc9b188 by Ricky Zhou at 2021-01-14T00:04:12-08:00
Fix loading system libraries with ctypes on macOS Big Sur.
On Big Sur, there is no longer a separate dylib file for each system
library. Instead, they have been combined into a single shared cache
file. As a result, it no longer suffices to check file existence to
determine whether a system library is present. Fix this by calling
_dyld_shared_cache_contains_path to check the dyld shared cache as well.
The changes under lib-python/ are copied from
https://github.com/python/cpython/pull/22855.
The _dyld_shared_cache_contains_path function is exposed to the ctypes
python code using CFFI, similar to what is done in other modules, such
as lib_pypy/_sha3.
Fixes issue #3314.
--HG--
branch : py3.7-big-sur-dyld-cache
- - - - -
249ca2f7 by Ricky Zhou at 2021-01-14T02:35:24-08:00
minor cleanup
- Only define _ctypes._dyld_shared_cache_contains_path if the function
is available.
- Do platform filtering in _ctypes/_ctypes_build.py only.
--HG--
branch : py3.7-big-sur-dyld-cache
- - - - -
5cf6930e by Ricky Zhou at 2021-01-14T02:43:57-08:00
Remove unused import.
--HG--
branch : py3.7-big-sur-dyld-cache
- - - - -
6c90bb88 by Dan Villiom Podlaski Christiansen at 2021-01-15T01:30:28+01:00
Fix building from scratch on Big Sur
- The proper module name for the ctypes module is
`_ctypes._ctypes_cffi`
- Don't rely in `dict` order.
--HG--
branch : py3.7-big-sur-dyld-cache
- - - - -
a1021687 by Ricky Zhou at 2021-01-15T03:02:07-08:00
Use _dyld_shared_cache_contains_path via a weak import.
This way, the _ctypes CFFI module can be built on macOS 11 and function
properly on 10.15 (and vice-versa).
--HG--
branch : py3.7-big-sur-dyld-cache
- - - - -
b79dd65d by Ricky Zhou at 2021-01-15T18:51:41-08:00
Build _ctypes._ctypes_cffi on all macOS releases.
--HG--
branch : py3.7-big-sur-dyld-cache
- - - - -
1c4ebed8 by Ricky Zhou at 2021-01-15T18:58:07-08:00
Enable/disable _ctypes_build.py in build_cffi_imports.py.
If a CFFI module is enabled in build_cffi_imports.py, then it must be
built, as the script will fail if it cannot import it. Move the logic
for enabling/disabling the module out from _ctypes_build.py to
build_cffi_imports.py.
--HG--
branch : py3.7-big-sur-dyld-cache
- - - - -
1a23e6ef by Ricky Zhou at 2021-01-15T19:01:29-08:00
Fix typo in comment.
--HG--
branch : py3.7-big-sur-dyld-cache
- - - - -
33261fe6 by Matti Picus at 2021-01-16T21:02:24+02:00
close and document branch to be merged
--HG--
branch : py3.7-big-sur-dyld-cache
- - - - -
7188209d by Matti Picus at 2021-01-16T21:03:31+02:00
merge branch which fixes ctypes library loading on macos BigSur
--HG--
branch : py3.7
- - - - -
6 changed files:
- lib-python/3/ctypes/macholib/dyld.py
- lib-python/3/ctypes/test/test_macholib.py
- lib_pypy/_ctypes/__init__.py
- + lib_pypy/_ctypes/_ctypes_build.py
- lib_pypy/pypy_tools/build_cffi_imports.py
- pypy/doc/whatsnew-pypy3-head.rst
View it on GitLab: https://foss.heptapod.net/pypy/pypy/-/compare/c63da169246ed972fe90e1c289fc2378236fa852...7188209dbcd79e67bfe8723eb925836b57c2f4aa
--
View it on Heptapod: https://foss.heptapod.net/pypy/pypy/-/compare/c63da169246ed972fe90e1c289fc2378236fa852...7188209dbcd79e67bfe8723eb925836b57c2f4aa
You're receiving this email because of your account on foss.heptapod.net.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/pypy-commit/attachments/20210116/65f1c6a9/attachment.html>
More information about the pypy-commit
mailing list