Skip to content

Fix cffi extension build configuration - #223

Merged
dataflake merged 1 commit into
masterfrom
dataflake/fix_cffi_extensions
Oct 7, 2025
Merged

Fix cffi extension build configuration#223
dataflake merged 1 commit into
masterfrom
dataflake/fix_cffi_extensions

Conversation

@dataflake

Copy link
Copy Markdown
Member

Closes #222

CFFI does not support pyproject.toml yet, instructions and prerequisites for building CFFI extension modules must stay in setup.py for now.

CFFI does not support pyproject.toml yet, instructions and prerequisites
for building CFFI extension modules must stay in setup.py for now.
@dataflake
dataflake requested a review from icemac October 6, 2025 12:55
@dataflake dataflake self-assigned this Oct 6, 2025

@davisagli davisagli left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Maybe instead it would make sense to update https://github.com/zopefoundation/persistent/blob/master/.github/workflows/tests.yml to use https://build.pypa.io/en/stable/ (which uses pyproject.toml) instead of calling setup.py directly? That is what is documented here: https://packaging.python.org/en/latest/tutorials/packaging-projects/#generating-distribution-archives

I'm okay with this as a quick interim fix though!

Comment thread setup.py
@dataflake
dataflake merged commit daf2ded into master Oct 7, 2025
53 checks passed
@dataflake
dataflake deleted the dataflake/fix_cffi_extensions branch October 7, 2025 07:06
@dataflake

Copy link
Copy Markdown
Member Author

If someone wants to research how CFFI extensions can be built without specifying them in setup.py as cffi_modules argument please go ahead. The CFFI documentation I have seen says that's still the only supported way.

@davisagli

Copy link
Copy Markdown
Member

@dataflake okay, I see now. Here's an open issue in cffi about it: python-cffi/cffi#55

@dataflake

Copy link
Copy Markdown
Member Author

@icemac I have released version 6.3 and tests are green on Zope and other packages that failed before, like Persistence. persistent release 6.2 is essentially a brown-bag release, the wheels for macOS and Windows are broken due to the missing extension file. That was my fault, I removed setup_requires earlier.

Do you agree that I should yank release 6.2 on PyPI?

@icemac

icemac commented Oct 8, 2025

Copy link
Copy Markdown
Member

@dataflake wrote:

Do you agree that I should yank release 6.2 on PyPI?

Thank you for fixing this issue. Yes, please yank 6.2 on PyPI to signal people not to use it.

@dataflake

Copy link
Copy Markdown
Member Author

Release 6.2 is now yanked from PyPI.

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.

persistent release 6.2 seems broken

3 participants