getxbook: migrate to openssl@4 - #301501
Open
Lcadman wants to merge 2 commits into
Open
Conversation
TLSv1_2_client_method() was removed in openssl@4. Patch to use the version-agnostic TLS_client_method() instead.
The embedded DATA patch used placeholder all-zero blob hashes (index 0000000..0000000), which git-aware GNU patch (used in CI on Linux and via Homebrew's bundled patch) interprets as "create new file" rather than "modify existing file", causing: The next patch would create the file util.c, which already exists! BSD patch on macOS ignores the index line entirely, so this passed local verification but failed CI. Regenerated the diff with a real git diff (index d672c9e..5fa4196) against the actual pristine source, and confirmed it applies cleanly under both GNU patch (gpatch) and BSD patch.
botantony
reviewed
Aug 31, 2026
| depends_on "openssl@4" | ||
|
|
||
| # `TLSv1_2_client_method` was removed in openssl@4; use the version-agnostic method instead. | ||
| patch :DATA |
Member
There was a problem hiding this comment.
Generally, we reject patches that were not submitted to upstream. Although the program did not receive any updates in a while, the maintainer appears to be active (for instance, it says at Last updated: 2026-08-05 the bottom of this page). Can you try to contact them first? If there will be no response, I'd rather deprecate it as :unmaintained
Contributor
Author
There was a problem hiding this comment.
Good to know, thank you. Will reach out to the maintainer and comment when I find out more.
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.
HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>?brew test <formula>?brew audit --strict <formula>(after doingHOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>)? If this is a new formula, does it passbrew audit --new <formula>?Used Claude Code to make this migration. The dependency bump alone did not build: getxbook calls the removed TLSv1_2_client_method() API, which openssl@4 no longer provides. Claude Code identified the exact failing line from the build log, extracted the upstream source to confirm the call site, and added a formula patch (patch :DATA) swapping it for the version-agnostic TLS_client_method(). Verified locally: build succeeded, otool -L confirms linkage against openssl@4, brew test and brew audit --strict --online both passed, and brew style is clean. I reviewed the diff, the patch content, and the verification output before authorizing the push.
Part of #278366