Skip to content

Commit 01f947e

Browse files
committed
Merge branch 'main' into 3.11
2 parents d48aeae + 972b185 commit 01f947e

22 files changed

+1083
-631
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
*.swp
33
.envrc
44
.vscode/
5+
alias/*
56
archive/*
67
build/*
78
diff/*
@@ -17,3 +18,6 @@ wheels/*
1718
__pycache__
1819
tests/testbed/macOS
1920
tests/testbed/iOS
21+
*.log
22+
*.gz
23+
*.DS_Store

Makefile

Lines changed: 175 additions & 111 deletions
Large diffs are not rendered by default.

README.rst

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -12,28 +12,29 @@ repository:
1212
* `Python 3.9 <https://github.com/beeware/Python-Apple-support/tree/3.9>`__
1313
* `Python 3.10 <https://github.com/beeware/Python-Apple-support/tree/3.10>`__
1414

15-
It works by downloading, patching, and building a fat binary of Python and
16-
selected pre-requisites, and packaging them as static libraries that can be
17-
incorporated into an XCode project. The binary modules in the Python standard
18-
library are statically compiled, but are distribted as ``.so`` objects that
19-
can be dynamically loaded at runtime.
15+
It works by downloading, patching, and building a fat binary of Python and selected
16+
pre-requisites, and packaging them as static libraries that can be incorporated into an
17+
XCode project. The binary modules in the Python standard library are statically
18+
compiled, but are distributed as objects that can be dynamically loaded at runtime.
2019

2120
It exposes *almost* all the modules in the Python standard library except for:
22-
* dbm.gnu
23-
* tkinter
24-
* readline
25-
* nis (Deprecated by PEP594)
26-
* ossaudiodev (Deprecated by PEP594)
27-
* spwd (Deprecated by PEP594)
21+
22+
* ``dbm.gnu``
23+
* ``tkinter``
24+
* ``readline``
25+
* ``nis`` (Deprecated by PEP594)
26+
* ``ossaudiodev`` (Deprecated by PEP594)
27+
* ``spwd`` (Deprecated by PEP594)
2828

2929
The following standard library modules are available on macOS, but not the other
3030
Apple platforms:
31-
* curses
32-
* grp
33-
* multiprocessing
34-
* posixshmem
35-
* posixsubprocess
36-
* syslog
31+
32+
* ``curses``
33+
* ``grp``
34+
* ``multiprocessing``
35+
* ``posixshmem``
36+
* ``posixsubprocess``
37+
* ``syslog``
3738

3839
The binaries support x86_64 and arm64 for macOS; arm64 for iOS and appleTV
3940
devices; and arm64_32 for watchOS. It also supports device simulators on both
@@ -60,7 +61,7 @@ Quickstart
6061

6162
The easist way to use these packages is by creating a project with `Briefcase
6263
<https://github.com/beeware/briefcase>`__. Briefcase will download pre-compiled
63-
versions of these support packages, and add them to an XCode project (or
64+
versions of these support packages, and add them to an Xcode project (or
6465
pre-build stub application, in the case of macOS).
6566

6667
Pre-built versions of the frameworks can be downloaded from the `Github releases page
@@ -69,17 +70,17 @@ Pre-built versions of the frameworks can be downloaded from the `Github releases
6970
Alternatively, to build the frameworks on your own, download/clone this
7071
repository, and then in the root directory, and run:
7172

72-
* `make` (or `make all`) to build everything.
73-
* `make macOS` to build everything for macOS.
74-
* `make iOS` to build everything for iOS.
75-
* `make tvOS` to build everything for tvOS.
76-
* `make watchOS` to build everything for watchOS.
73+
* ``make`` (or ``make all``) to build everything.
74+
* ``make macOS`` to build everything for macOS.
75+
* ``make iOS`` to build everything for iOS.
76+
* ``make tvOS`` to build everything for tvOS.
77+
* ``make watchOS`` to build everything for watchOS.
7778

7879
This should:
7980

8081
1. Download the original source packages
8182
2. Patch them as required for compatibility with the selected OS
82-
3. Build the packages as XCode-compatible XCFrameworks.
83+
3. Build the packages as Xcode-compatible XCFrameworks.
8384

8485
The resulting support packages will be packaged as a ``.tar.gz`` file
8586
in the ``dist`` folder.
@@ -88,7 +89,7 @@ Each support package contains:
8889

8990
* ``VERSIONS``, a text file describing the specific versions of code used to
9091
build the support package;
91-
* ``Python.xcframework``, a multi-architecture build of libPython3.11.a
92+
* ``Python.xcframework``, a multi-architecture build of the Python runtime library
9293
* ``python-stdlib``, the code and binary modules comprising the Python standard
9394
library. On iOS, tvOS and watchOS, there are 2 copies of every binary module -
9495
one for physical devices, and one for the simulator. The simulator binaries
@@ -119,10 +120,10 @@ project <https://github.com/freakboy3742/chaquopy>`__.
119120

120121
To build these wheels, run:
121122

122-
* `make wheels` to make all wheels for all mobile platforms
123-
* `make wheels-iOS` to build all the iOS wheels
124-
* `make wheels-tvOS` to build all the tvOS wheels
125-
* `make wheels-watchOS` to build all the watchOS wheels
123+
* ``make wheels`` to make all wheels for all mobile platforms
124+
* ``make wheels-iOS`` to build all the iOS wheels
125+
* ``make wheels-tvOS`` to build all the tvOS wheels
126+
* ``make wheels-watchOS`` to build all the watchOS wheels
126127

127128
Historical support
128129
------------------

0 commit comments

Comments
 (0)