Skip to content

Updates for C23 standard, newer setuptools, supported python versions - #50

Merged
billbrod merged 5 commits into
mainfrom
build_updates
Sep 1, 2026
Merged

Updates for C23 standard, newer setuptools, supported python versions#50
billbrod merged 5 commits into
mainfrom
build_updates

Conversation

@billbrod

@billbrod billbrod commented Aug 31, 2026

Copy link
Copy Markdown
Member

Tried to build pyrtools on my laptop for the first time in a while and it failed. After fixing two warnings from setuptools that weren't the cause of the failures (about license classifiers and grabbing bdist_wheel from setuptools, not wheel), figured out the problem was with my C compiler: the C23 standard (released in 2023) officially dropped support for the long-deprecated old style function definitions, which the C code was full of.

Figured out I could pass -std=c18 to tell gcc to use the older standard, in which case the build would succeed. However, after talking with @WardBrian , figured it wouldn't be too hard to actually update the code to update the old-style definitions, as it largely involves moving the type declarations into the signature. This PR does that (and also fixes the two setuptools warnings)

That change to setuptools also requires dropping support for python 3.8, which only has setuptools version 56.0.0 available (71 is now needed). Adds tests, etc for 3.13 and 3.14 as well (to match plenoptic).

@billbrod billbrod changed the title Updates for build system Updates for build system, supported python versions Aug 31, 2026
@billbrod
billbrod merged commit da22431 into main Sep 1, 2026
83 of 85 checks passed
@billbrod
billbrod deleted the build_updates branch September 1, 2026 14:58
@billbrod billbrod changed the title Updates for build system, supported python versions Updates for C23 standard, newer setuptools, supported python versions Sep 1, 2026
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