Some maintenance for subvertpy v0.11.0 and add binary wheels build plus deployment#180
Open
anlambert wants to merge 12 commits intojelmer:unstablefrom
Open
Some maintenance for subvertpy v0.11.0 and add binary wheels build plus deployment#180anlambert wants to merge 12 commits intojelmer:unstablefrom
anlambert wants to merge 12 commits intojelmer:unstablefrom
Conversation
This is useful when testing on windows as subversion DLLs are not necessarily located along the subvertpy extension modules and their paths must be explicitely registered using os.add_dll_directory.
When compiling with Visual Studio, there were some integer overflow when parsing Python integers and storing them as apt_size_t leading to unexpected crashes when applying text delta. Convert those to Py_ssize_t instead of unsigned long to fix the observed crashes.
When installing subversion using vcpkg to build subvertpy on windows, some libraries are prefixed by lib so ensure to detect them. Do not try to execute apr-1-config and apu-1-config on windows as these tools are not available for that platform when using vcpkg. Add libapr and libaprutil in the deep depdencies list.
Simplify pythonpackage workflow by relying on platform package managers to install the subversion libraries and their dependencies. Remove build for dead snakes and update Python versions to the ones that are currently still supported (3.10 to 3.14). Bump actions to their latest version. Add a workflow to build subvertpy on archlinux in order to check extension modules compilation with latest GCC version.
Python 3 does not have tp_print in PyTypeObject. The field is called tp_vectorcall_offset now, of type Py_ssize_t. Current compilers treat using NULL as an integer constant as a type error, so this change fixes a build problem with those compilers. Adapted from 4e64e3b.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The subversion loader for the Software Heritage archive is using
subvertpy v0.11.0to communicate with remote repositories so that dependency is always installed when setting up the development environment we are using.But the compilation of C extensions modules is currently broken with GCC >= 14 and recent clang versions, see #115.
This can be worked around by setting the
CFLAGSenvironment variable to-Wno-int-conversion -std=c99but it would be better ifsubvertpycould be installed without that hack.I noticed the int conversions issue was fixed by 4e64e3b in the master branch but currently it cannot be built due to rust compiler errors.
In the hope of a simple
v0.11.1patch release, I cooked that pull request including the following:I rebased that work on top of the
unstablebranch as it looks untouched since thev0.11.0release but not sure this is the good one.