Skip to content

Commit 979bfaa

Browse files
authored
Temporarily disable dSYM production (#294)
1 parent cfd8b4e commit 979bfaa

File tree

4 files changed

+23
-22
lines changed

4 files changed

+23
-22
lines changed

.github/workflows/publish.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,3 @@ jobs:
4848
# watchOS build
4949
curl -o watchOS-artefact.tar.gz -L https://github.com/beeware/Python-Apple-support/releases/download/${{ steps.build-vars.outputs.TAG }}/Python-${{ steps.build-vars.outputs.PYTHON_VER }}-watchOS-support.${{ steps.build-vars.outputs.BUILD_NUMBER }}.tar.gz
5050
aws s3 cp watchOS-artefact.tar.gz s3://briefcase-support/python/${{ steps.build-vars.outputs.PYTHON_VER }}/watchOS/Python-${{ steps.build-vars.outputs.PYTHON_VER }}-watchOS-support.${{ steps.build-vars.outputs.BUILD_NUMBER }}.tar.gz
51-
# visionOS build
52-
curl -o visionOS-artefact.tar.gz -L https://github.com/beeware/Python-Apple-support/releases/download/${{ steps.build-vars.outputs.TAG }}/Python-${{ steps.build-vars.outputs.PYTHON_VER }}-visionOS-support.${{ steps.build-vars.outputs.BUILD_NUMBER }}.tar.gz
53-
aws s3 cp visionOS-artefact.tar.gz s3://briefcase-support/python/${{ steps.build-vars.outputs.PYTHON_VER }}/visionOS/Python-${{ steps.build-vars.outputs.PYTHON_VER }}-visionOS-support.${{ steps.build-vars.outputs.BUILD_NUMBER }}.tar.gz

Makefile

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
# - iOS - build everything for iOS
66
# - tvOS - build everything for tvOS
77
# - watchOS - build everything for watchOS
8+
# - visionOS - build everything for visionOS
89

910
# Current directory
1011
PROJECT_DIR=$(shell pwd)
@@ -57,6 +58,10 @@ TARGETS-watchOS=watchsimulator.x86_64 watchsimulator.arm64 watchos.arm64_32
5758
TRIPLE_OS-watchOS=watchos
5859
VERSION_MIN-watchOS=4.0
5960

61+
TARGETS-visionOS=xrsimulator.arm64 xros.arm64
62+
TRIPLE_OS-visionOS=xros
63+
VERSION_MIN-visionOS=2.0
64+
6065
# The architecture of the machine doing the build
6166
HOST_ARCH=$(shell uname -m)
6267
HOST_PYTHON=$(shell which python$(PYTHON_VER))
@@ -452,7 +457,8 @@ $$(PYTHON_LIB-$(sdk)): $$(foreach target,$$(SDK_TARGETS-$(sdk)),$$(PYTHON_LIB-$$
452457
mkdir -p $$(dir $$(PYTHON_LIB-$(sdk)))
453458
lipo -create -output $$@ $$^ \
454459
2>&1 | tee -a install/$(os)/$(sdk)/python-$(PYTHON_VERSION).lipo.log
455-
dsymutil $$@ -o $$(PYTHON_INSTALL-$(sdk))/Python.dSYM
460+
# Disable dSYM production (for now)
461+
# dsymutil $$@ -o $$(PYTHON_INSTALL-$(sdk))/Python.dSYM
456462

457463
$$(PYTHON_FRAMEWORK-$(sdk))/Info.plist: $$(PYTHON_LIB-$(sdk))
458464
@echo ">>> Install Info.plist for the $(sdk) SDK"
@@ -517,8 +523,9 @@ $$(PYTHON_STDLIB-$(sdk))/LICENSE.TXT: $$(PYTHON_LIB-$(sdk)) $$(PYTHON_FRAMEWORK-
517523
# Merge the binary modules from each target in the $(sdk) SDK into a single binary
518524
$$(foreach module,$$(wildcard $$(PYTHON_STDLIB-$$(firstword $$(SDK_TARGETS-$(sdk))))/lib-dynload/*),lipo -create -output $$(PYTHON_STDLIB-$(sdk))/lib-dynload/$$(notdir $$(module)) $$(foreach target,$$(SDK_TARGETS-$(sdk)),$$(PYTHON_STDLIB-$$(target))/lib-dynload/$$(notdir $$(module))); )
519525

520-
# Create dSYM files for each module
521-
$$(foreach module,$$(wildcard $$(PYTHON_STDLIB-$$(firstword $$(SDK_TARGETS-$(sdk))))/lib-dynload/*),dsymutil $$(PYTHON_STDLIB-$(sdk))/lib-dynload/$$(notdir $$(module)); )
526+
# # Disable dSYM production (for now)
527+
# # Create dSYM files for each module
528+
# $$(foreach module,$$(wildcard $$(PYTHON_STDLIB-$$(firstword $$(SDK_TARGETS-$(sdk))))/lib-dynload/*),dsymutil $$(PYTHON_STDLIB-$(sdk))/lib-dynload/$$(notdir $$(module)); )
522529

523530
# Copy in known-required xcprivacy files.
524531
# Libraries linking OpenSSL must provide a privacy manifest. The one in this repository
@@ -662,7 +669,8 @@ $$(PYTHON_XCFRAMEWORK-$(os))/Info.plist: \
662669
$$(foreach sdk,$$(SDKS-$(os)),cp -r $$(PYTHON_INSTALL-$$(sdk))/bin $$(PYTHON_XCFRAMEWORK-$(os))/$$(SDK_SLICE-$$(sdk)); )
663670
$$(foreach sdk,$$(SDKS-$(os)),cp -r $$(PYTHON_INSTALL-$$(sdk))/lib $$(PYTHON_XCFRAMEWORK-$(os))/$$(SDK_SLICE-$$(sdk)); )
664671
$$(foreach sdk,$$(SDKS-$(os)),cp -r $$(PYTHON_INSTALL-$$(sdk))/platform-config $$(PYTHON_XCFRAMEWORK-$(os))/$$(SDK_SLICE-$$(sdk)); )
665-
$$(foreach sdk,$$(SDKS-$(os)),cp -r $$(PYTHON_INSTALL-$$(sdk))/Python.dSYM $$(PYTHON_XCFRAMEWORK-$(os))/$$(SDK_SLICE-$$(sdk)); )
672+
# Disable dSYM production (for now)
673+
# $$(foreach sdk,$$(SDKS-$(os)),cp -r $$(PYTHON_INSTALL-$$(sdk))/Python.dSYM $$(PYTHON_XCFRAMEWORK-$(os))/$$(SDK_SLICE-$$(sdk)); )
666674

667675
ifeq ($(filter $(os),iOS visionOS),$(os))
668676
@echo ">>> Clone testbed project for $(os)"

README.rst

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Python Apple Support
22
====================
33

44
This is a meta-package for building a version of Python that can be embedded
5-
into a macOS, iOS, tvOS, watchOS, or visionOS project.
5+
into a macOS, iOS, tvOS, watchOS project.
66

77
**This branch builds a packaged version of Python 3.13**.
88
Other Python versions are available by cloning other branches of the main
@@ -23,16 +23,15 @@ The macOS package is a re-bundling of the official macOS binary, modified so tha
2323
it is relocatable, with the IDLE, Tkinter and turtle packages removed, and the
2424
App Store compliance patch applied.
2525

26-
The iOS, tvOS, watchOS, and visionOS packages compiled by this project use the
26+
The iOS, tvOS, and watchOS packages compiled by this project use the
2727
official `PEP 730 <https://peps.python.org/pep-0730/>`__ code that is part of
2828
Python 3.13 to provide iOS support; the relevant patches have been backported
29-
to 3.9-3.12. Additional patches have been applied to add tvOS, watchOS, and
30-
visionOS support.
29+
to 3.9-3.12. Additional patches have been applied to add tvOS, and watchOS
30+
support.
3131

3232
The binaries support x86_64 and arm64 for macOS; arm64 for iOS and appleTV
33-
devices; arm64_32 for watchOS devices; and arm64 for visionOS devices. It also
34-
supports device simulators on both x86_64 and M1 hardware, except for visionOS,
35-
for which x86_64 simulators are officially unsupported. This should enable the
33+
devices; and arm64_32 for watchOS devices. It also
34+
supports device simulators on both x86_64 and M1 hardware. This should enable the
3635
code to run on:
3736

3837
* macOS 11 (Big Sur) or later, on:
@@ -52,8 +51,6 @@ code to run on:
5251
* Apple TV (4th gen or later)
5352
* watchOS 4.0 or later, on:
5453
* Apple Watch (4th gen or later)
55-
* visionOS 2.0 or later, on:
56-
* Apple Vision Pro
5754

5855
Quickstart
5956
----------
@@ -74,7 +71,6 @@ repository, and then in the root directory, and run:
7471
* ``make iOS`` to build everything for iOS.
7572
* ``make tvOS`` to build everything for tvOS.
7673
* ``make watchOS`` to build everything for watchOS.
77-
* ``make visionOS`` to build everything for visionOS.
7874

7975
This should:
8076

@@ -91,7 +87,7 @@ Each support package contains:
9187
support package;
9288
* ``Python.xcframework``, a multi-architecture build of the Python runtime library.
9389

94-
On iOS/tvOS/watchOS/visionOS, the ``Python.xcframework`` contains a
90+
On iOS/tvOS/watchOS, the ``Python.xcframework`` contains a
9591
slice for each supported ABI (device and simulator). The folder containing the
9692
slice can also be used as a ``PYTHONHOME``, as it contains a ``bin``, ``include``
9793
and ``lib`` directory.
@@ -137,8 +133,8 @@ Building binary wheels
137133
This project packages the Python standard library, but does not address building
138134
binary wheels. Binary wheels for macOS can be obtained from PyPI. `Mobile Forge
139135
<https://github.com/beeware/mobile-forge>`__ is a project that provides the
140-
tooling to build build binary wheels for iOS (and potentially for tvOS, watchOS,
141-
and visionOS, although that hasn't been tested).
136+
tooling to build build binary wheels for iOS (and potentially for tvOS and watchOS
137+
although that hasn't been tested).
142138

143139
Historical support
144140
------------------

USAGE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ guides:
2222
* [macOS](https://docs.python.org/3/using/mac.html)
2323
* [iOS](https://docs.python.org/3/using/ios.html#adding-python-to-an-ios-project)
2424

25-
For tvOS, watchOS, and visionOS, you should be able to broadly follow the instructions
25+
For tvOS, and watchOS, you should be able to broadly follow the instructions
2626
in the iOS guide, changing some platform names in the first script. The testbed projects
27-
generated on iOS and visionOS may be used as rough references as well.
27+
generated on iOS may be used as rough references as well.
2828

2929
### Using Objective C
3030

0 commit comments

Comments
 (0)