Skip to content

Initial abi3t support#15063

Draft
ngoldbaum wants to merge 12 commits into
pyca:mainfrom
ngoldbaum:abi3t
Draft

Initial abi3t support#15063
ngoldbaum wants to merge 12 commits into
pyca:mainfrom
ngoldbaum:abi3t

Conversation

@ngoldbaum

Copy link
Copy Markdown
Contributor

Opening as a draft because this depends on my open CFFI PR: python-cffi/cffi#232.

Comment thread src/rust/cryptography-cffi/build.rs Outdated
Comment thread src/rust/cryptography-cffi/build.rs Outdated
Comment thread src/rust/cryptography-cffi/build.rs Outdated
@alex

alex commented Jun 18, 2026

Copy link
Copy Markdown
Member

Thanks for working on this!

Comment thread src/rust/cryptography-cffi/build.rs Outdated
Comment thread pyproject.toml Outdated
@ngoldbaum

Copy link
Copy Markdown
Contributor Author

OK great, it looks like the only failing CI jobs use a Rust compiler that's too old to build Maturin. There are two Windows jobs that timed out but I'm not worried about that because building Maturin on Windows is very slow.

I opened PyO3/maturin#3233 to fix the bug in Maturin.

I'll try to work on getting the CFFI and Maturin PRs that I'm depending on here merged.

@alex

alex commented Jun 18, 2026

Copy link
Copy Markdown
Member

In practice those iwll be solved by a maturin release with wheels

messense pushed a commit to PyO3/maturin that referenced this pull request Jun 19, 2026
The `&& !force_target_abi` was [introduced incorrectly by
me](https://github.com/PyO3/maturin/blame/main/src/compile.rs#L898) in
#3226 and hasn't yet shown up in a release. I hit this testing abi3t
builds for cryptography with from-source builds of maturin:
pyca/cryptography#15063.

To better help Maturin's CI catch issues that are load-bearing for the
cryptography project, I also added a test crate that uses CFFI like
cryptography does: cooperatively with PyO3 and using PYO3_PYTHON to
shell out and run a CFFI script.

I manually verified that the new integration test fails on maturin's
current `main` branch.
@ngoldbaum

Copy link
Copy Markdown
Contributor Author

Maturin cut a 1.14.1 release so now all that's needed is CFFI.

@ngoldbaum

Copy link
Copy Markdown
Contributor Author

Looks like unconditionally requiring Maturin 1.14.1 or newer works in CI 🥳

I can probably upstream part of this while we wait for CFFI to do a release but for now I think I'll just wait for that before finishing this up.

@alex

alex commented Jun 19, 2026

Copy link
Copy Markdown
Member

The src/rust/cryptography-cffi/build.rs bits look like they could be split out if you wanted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants