Move back to CMake for libgit2 compilation#2786
Merged
Merged
Conversation
At some point we tried to re-engineer the build process of libgit2 but this comes with lots of sharp edges with the only benefit being automatic building of dependencies through SPM. Ultimately, I don't think this is worth it given the complexity of managing the various parameters for compilation. This PR reaches a middle ground where we will pre-compile the libgit2 project using cmake into xcframework. Also fixes #2773 by using a flag we used previously -DUSE_SSH=libssh2. Ultimately this will use libssh2 rather than the external ssh option (ssh_exec). Looking into it, there was a bug in the libgit2 implementation that would never wait on the process on close. I think there is a patch that could be made but I believe this is inline with the behavior of 1.4.3.
70f87aa to
3af84cb
Compare
Contributor
|
Reverting to libssh2 comes at a heavy cost! We’ll lose all support for custom I assume some GitUp users will miss that support, and for me personally, it also means I’ll need to manage different libgit2 build settings in Retcon, since dropping SSH config support is not an option anymore. Do you think there might be another way of fixing the zombie issue? I don’t think the tradeoff of switching back to libssh2 is worth it. |
Collaborator
Author
|
Ah, thank you. I was trying to recall why we would have moved away. I had a patch in that I think worked so let me retry using that. |
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.
At some point we tried to re-engineer the build process of libgit2 but this comes with lots of sharp edges with the only benefit being automatic building of dependencies through SPM.
Ultimately, I don't think this is worth it given the complexity of managing the various parameters for compilation. This PR reaches a middle ground where we will pre-compile the libgit2 project using cmake into xcframework.
Also fixes #2773 by using a flag we used previously -DUSE_SSH=libssh2. Ultimately this will use libssh2 rather than the external ssh option (ssh_exec). Looking into it, there was a bug in the libgit2 implementation that would never wait on the process on close. I think there is a patch that could be made but I believe this change will return to the behavior of 1.4.3.