Skip to content

Plugin: iOS include path is Python.framework/Headers (#313) - #316

Merged
b-re-w merged 1 commit into
developfrom
feat/plugin-ios-header-layout
Oct 25, 2026
Merged

b-re-w merged 1 commit into
developfrom
feat/plugin-ios-header-layout

Conversation

@b-re-w

@b-re-w b-re-w commented Oct 25, 2026

Copy link
Copy Markdown
Member

Closes #313

  • Cause: the 3.15.0 iOS support archive no longer ships Python.xcframework//include/python3.15. The headers exist only under Python.framework/Headers; 3.14.7 had both. CPythonIncludeLayout.relativePath returned the missing directory, so AcquiredHeaderVersionTest failed whenever any other target was extracted (it skips when nothing is extracted, which is why it passed earlier in the same worktree).
  • Fix: the iOS layout now returns Python.framework/Headers, the same path the library's iOS cinterop uses (python-multiplatform/build.gradle.kts:1266). The signature is unchanged.
  • Tests:
    • CPythonIncludeDirectoriesTest pins both iOS ABIs. It is red against the old layout.
    • AcquiredHeaderVersionTest now actually runs against the extracted 3.15.0 tree (iOS + Android + desktop) and passes.
    • Full plugin tests pass: 325/325.

The 3.15 iOS support archive ships headers only in Python.xcframework/<abi>/Python.framework/Headers
(3.14.7 also had <abi>/include/python3.14), so CPythonIncludeLayout pointed at a directory that no
longer exists and AcquiredHeaderVersionTest failed whenever other targets were extracted. The
library's iOS cinterop already used the framework Headers.
@b-re-w
b-re-w merged commit 3f1235b into develop Oct 25, 2026
@b-re-w
b-re-w deleted the feat/plugin-ios-header-layout branch October 25, 2026 10:48
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.

1 participant