Bugfix/clean wrapper packaging safety (Codex gpt-5.6) - #28
Conversation
- Add a distinct option for direct runtime dependency targets - Automatically package the main shared library beside the Python extension - Stage and install exact target and SONAME artifacts without directory scanning - Use loader-relative runtime paths and prefix-relative CMake destinations - Produce deterministic wheels and reject stale runtime metadata - Add Windows DLL search handles and document the direct-target contract
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2f21709791
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- Derive the prefix-relative site-packages path from resolved major/minor - Reject configurations without a resolved Python ABI version
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b277e4b84e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- Resolve runtime filenames at build time and reject flat-package collisions. - Split Python, MATLAB, and runtime-staging wrapper responsibilities. - Exclude only active or cache-proven build trees from source archives. - Preserve production wrapper modules through tailoring and update documentation.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 480d10a692
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Summary
This follow-up records the final v1.12.1 scope and validation. The original packaging objectives remain unchanged, while the implementation was simplified, split by responsibility, and hardened against resolved filename collisions and source-archive races.
The signed
v1.12.1tag resolves to480d10a692836040bcae2023e763c553acfcc64d.Main Changes
HandleWrapper.cmakefor public gtwrap orchestration;HandlePythonWrapper.cmakefor Python targets and packaging;HandleMatlabWrapper.cmakefor MATLAB handling;StagePythonRuntimeArtifacts.cmakefor resolved-name validation and serialized staging._wrapper_build.pymetadata.Testing / Validation
sm_120passed: 31/31.bash -n, Python byte-compilation, YAML/XML parsing, conflict-marker checks,git diff --check, and the CMake 3.15 API-floor audit passed.Notes For Reviewers
HandleWrapper.cmakeis now a smaller public facade rather than the owner of every Python, MATLAB, and runtime-staging detail.<namespace>_GTWRAP_RUNTIME_DEPENDENCY_TARGETS, remain supported. Private helper signatures and the previous configure-time filename analyzer are intentionally not preserved.SHARED_LIBRARYorMODULE_LIBRARYtargets. Alias, imported, static, interface, and missing targets remain intentionally unsupported._wrapper_build.pyremains checkout-only metadata and is excluded from wheels and CMake installations.