From 9f98295676be874673bf5c315d02c7d488202ceb Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 30 Jul 2024 07:46:09 +0800 Subject: [PATCH 1/3] Modifications to support framework-style packaging. --- .github/workflows/ci.yml | 2 +- {{ cookiecutter.format }}/briefcase.toml | 21 ++++++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f9b84ca..ce3c6b6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,5 +38,5 @@ jobs: strategy: fail-fast: false matrix: - python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ] + python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13-dev" ] framework: [ "toga", "pyside6", "pygame", "console" ] diff --git a/{{ cookiecutter.format }}/briefcase.toml b/{{ cookiecutter.format }}/briefcase.toml index c94ed8a..9fac78e 100644 --- a/{{ cookiecutter.format }}/briefcase.toml +++ b/{{ cookiecutter.format }}/briefcase.toml @@ -4,18 +4,21 @@ app_path = "{{ cookiecutter.formal_name }}.app/Contents/Resources/app" app_packages_path = "{{ cookiecutter.formal_name }}.app/Contents/Resources/app_packages" info_plist_path = "{{ cookiecutter.formal_name }}.app/Contents/Info.plist" entitlements_path = "Entitlements.plist" -support_path = "{{ cookiecutter.formal_name }}.app/Contents/Resources/support" +support_path = "{{ cookiecutter.formal_name }}.app/Contents/Frameworks" +runtime_path = "Python.xcframework/macos-arm64_x86_64/Python.framework" {{ { - "3.8": "support_revision = 14", - "3.9": "support_revision = 12", - "3.10": "support_revision = 8", - "3.11": "support_revision = 3", - "3.12": "support_revision = 2", + "3.9": "support_revision = 13", + "3.10": "support_revision = 9", + "3.11": "support_revision = 4", + "3.12": "support_revision = 3", + "3.13": "support_revision = 0", }.get(cookiecutter.python_version|py_tag, "") }} -stub_binary_revision = 8 +stub_binary_revision = 9 cleanup_paths = [ - "{{ cookiecutter.formal_name }}.app/Contents/Resources/support/Python.xcframework", - "{{ cookiecutter.formal_name }}.app/Contents/Resources/support/platform-site", + "{{ cookiecutter.formal_name }}.app/Contents/Frameworks/Python.framework/**/Headers", + "{{ cookiecutter.formal_name }}.app/Contents/Frameworks/Python.framework/**/include", + "{{ cookiecutter.formal_name }}.app/Contents/Frameworks/Python.framework/**/config-*-darwin", + "{{ cookiecutter.formal_name }}.app/Contents/Frameworks/Python.framework/**/pkg-config", ] icon = "{{ cookiecutter.formal_name }}.app/Contents/Resources/{{ cookiecutter.app_name }}.icns" {% for extension, doctype in cookiecutter.document_types.items() -%} From 0056e11a20ab850c291f2cf86ed7557386b1d62a Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 30 Jul 2024 08:06:20 +0800 Subject: [PATCH 2/3] Add Briefcase target version. --- {{ cookiecutter.format }}/briefcase.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/{{ cookiecutter.format }}/briefcase.toml b/{{ cookiecutter.format }}/briefcase.toml index 9fac78e..8f67b89 100644 --- a/{{ cookiecutter.format }}/briefcase.toml +++ b/{{ cookiecutter.format }}/briefcase.toml @@ -1,4 +1,8 @@ # Generated using Python {{ cookiecutter.python_version }} +[briefcase] +# This is the start of the framework-based support package era. +target_version = "0.3.20" + [paths] app_path = "{{ cookiecutter.formal_name }}.app/Contents/Resources/app" app_packages_path = "{{ cookiecutter.formal_name }}.app/Contents/Resources/app_packages" From 1751ed158a3dc5737e20b86bb2512c5ee5dacd61 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Wed, 7 Aug 2024 12:07:15 +0800 Subject: [PATCH 3/3] Exclude Python 3.13 testing for GUI frameworks that don't support it. --- .github/workflows/ci.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ce3c6b6..08d6905 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,3 +40,12 @@ jobs: matrix: python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13-dev" ] framework: [ "toga", "pyside6", "pygame", "console" ] + + exclude: + # PySide6 hasn't published 3.13 wheels. + - python-version: "3.13-dev" + framework: "pyside6" + + # Pygame hasn't published 3.13 wheels. + - python-version: "3.13-dev" + framework: "pygame"