Skip to content

Correct bootstrap for PySide 6 apps#2241

Merged
freakboy3742 merged 5 commits intobeeware:mainfrom
freakboy3742:pyside-macos-12
Apr 17, 2025
Merged

Correct bootstrap for PySide 6 apps#2241
freakboy3742 merged 5 commits intobeeware:mainfrom
freakboy3742:pyside-macos-12

Conversation

@freakboy3742
Copy link
Member

@freakboy3742 freakboy3742 commented Apr 17, 2025

Bumps the minimum PySide version to 6.8.0, and set a macOS minimum version for PySide apps.

This is required because PySide 6.8.0 is the first version to support Python 3.13, but macOS wheels for PySide 6.8+ are tagged macosx_12_0_universal2. This means they won't work on macOS 11.

#2239 exposed this because it started correctly enforcing the minimum macOS version when installing wheels, preventing installation on Python3.13 (where the only available wheels are tagged macosx_12_0.

beeware/briefcase-macOS-app-template#78 and beeware/briefcase-macOS-Xcode-template#78 have been generated to verify that the changes to the bootstrap actually work.

Fixes #2240.

PR Checklist:

  • All new features have been tested
  • All new features have been documented
  • I have read the CONTRIBUTING.md file
  • I will abide by the code of conduct

@@ -0,0 +1 @@
If you have a Pyside6 app deployed to macOS, you must add ``min_os_version = "12.0"`` to your macOS project configuration. As of PySide 6.8.0, PySide6 macOS wheels are tagged with a minimum supported macOS version of 12.0. Previously, Briefcase would install the macOS 12 wheel, but the Briefcase app would declare itself as supporting macOS 11. This would cause errors if the app was run on macOS 11. Briefcase will no longer install macOS wheels that are incompatible with the minimum OS version declared by the app (11.0 by default). The additional ``min_os_version`` configuration option is now required to allow Briefcase to resolve the installation of PySide6 wheels.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If you have a Pyside6 app deployed to macOS, you must add ``min_os_version = "12.0"`` to your macOS project configuration. As of PySide 6.8.0, PySide6 macOS wheels are tagged with a minimum supported macOS version of 12.0. Previously, Briefcase would install the macOS 12 wheel, but the Briefcase app would declare itself as supporting macOS 11. This would cause errors if the app was run on macOS 11. Briefcase will no longer install macOS wheels that are incompatible with the minimum OS version declared by the app (11.0 by default). The additional ``min_os_version`` configuration option is now required to allow Briefcase to resolve the installation of PySide6 wheels.
If you have a PySide6 app deployed to macOS, you must add ``min_os_version = "12.0"`` to your macOS project configuration. As of PySide 6.8.0, PySide6 macOS wheels are tagged with a minimum supported macOS version of 12.0. Previously, Briefcase would install the macOS 12 wheel, but the Briefcase app would declare itself as supporting macOS 11. This would cause errors if the app was run on macOS 11. Briefcase will no longer install macOS wheels that are incompatible with the minimum OS version declared by the app (11.0 by default). The additional ``min_os_version`` configuration option is now required to allow Briefcase to resolve the installation of PySide6 wheels.

Comment on lines 60 to 66
def pyproject_table_macOS(self):
return """\
universal_build = true
min_os_version = "12.0"
requires = [
"std-nslog~=1.0.3",
]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Think it's worth a comment explaining why macOS 11 isn't supported?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call; added.

@freakboy3742 freakboy3742 merged commit b558c3c into beeware:main Apr 17, 2025
57 checks passed
@freakboy3742 freakboy3742 deleted the pyside-macos-12 branch April 17, 2025 03:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PySide 6 apps on macOS fail under Python 3.13

2 participants