Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/beeware/cpython-apple-source-deps
A meta-project for building the binary packages for iOS, tvOS and watchOS that a CPython build requires
https://github.com/beeware/cpython-apple-source-deps
Last synced: about 1 month ago
JSON representation
A meta-project for building the binary packages for iOS, tvOS and watchOS that a CPython build requires
- Host: GitHub
- URL: https://github.com/beeware/cpython-apple-source-deps
- Owner: beeware
- License: mit
- Created: 2023-10-25T04:21:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-22T23:14:02.000Z (about 1 month ago)
- Last Synced: 2024-12-23T00:24:00.387Z (about 1 month ago)
- Language: Makefile
- Size: 121 KB
- Stars: 5
- Watchers: 4
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
CPython Apple source dependencies
=================================A meta-package for building the binary packages for iOS, tvOS and watchOS that a
CPython build requires. This includes:* BZip2
* XZ
* libFFI
* mpdecimal
* OpenSSL 1.1
* OpenSSL 3.0The repository works by downloading, patching, and building binaries for each
SDK target and architecture that is requried. The compiled library is packed
into a tarball for distribution in "installed" form - that is, the contents of
the ``include`` and ``lib`` folders are included.The binaries support arm64 for iOS and appleTV devices, and arm64_32 for
watchOS. They also supports device simulators on both x86_64 and M1 hardware.
This should enable the code to run on:* iOS 13.0 or later, on:
* iPhone (6s or later)
* iPad (5th gen or later)
* iPad Air (all models)
* iPad Mini (2 or later)
* iPad Pro (all models)
* iPod Touch (7th gen or later)
* tvOS 9.0 or later, on:
* Apple TV (4th gen or later)
* watchOS 4.0 or later, on:
* Apple Watch (4th gen or later)Quickstart
----------**Unless you're trying to directly link against one of these libraries, you
don't need to use this repository**. When you obtain a CPython build for an
Apple platform, it will have already been linked using these libraries.If you *do* need to link against these libraries for some reason, you can use
the pre-compiled versions that are published on the `Github releases page
`__. You don't
need to compile them yourself.However, if you *do* need to compile your own version for some reason:
* Clone this repository
* Create a Python 3 virtual environment. Any supported Python 3 release should
be sufficient; some tools require python3 as part of their build.
* In the root directory, run:
- ``make`` (or ``make all``) to build everything.
- ``make iOS`` to build everything for iOS.
- ``make BZip2`` to build BZip2 for every platform
- ``make BZip2-iOS`` to build BZip2 for iOSThis should:
1. Download the original source packages
2. Patch them as required for compatibility with the selected OS
3. Build the libraries for the selected OS and architecture
4. Package a tarball containing build products.The resulting artefacts will be packaged as ``.tar.gz`` files in the ``dist``
folder.