Skip to content

getxbook: migrate to openssl@4 - #301501

Open
Lcadman wants to merge 2 commits into
Homebrew:mainfrom
Lcadman:getxbook-openssl4
Open

getxbook: migrate to openssl@4#301501
Lcadman wants to merge 2 commits into
Homebrew:mainfrom
Lcadman:getxbook-openssl4

Conversation

@Lcadman

@Lcadman Lcadman commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

  • Have you followed the guidelines for contributing?
  • Have you ensured that your commits follow the commit style guide?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>?
  • Is your test running fine brew test <formula>?
  • Does your build pass brew audit --strict <formula> (after doing HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>)? If this is a new formula, does it pass brew audit --new <formula>?

  • AI was used to generate or assist with generating this PR. Please specify below how you used AI to help you, and what steps you have taken to manually verify the changes.

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

TLSv1_2_client_method() was removed in openssl@4. Patch to use the
version-agnostic TLS_client_method() instead.
@github-actions github-actions Bot added the openssl-4-migration Related to switching to an OpenSSL 4 dependency label Aug 31, 2026
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.
@github-actions github-actions Bot added the autosquash Automatically squash pull request commits according to Homebrew style. label Aug 31, 2026
Comment thread Formula/g/getxbook.rb
depends_on "openssl@4"

# `TLSv1_2_client_method` was removed in openssl@4; use the version-agnostic method instead.
patch :DATA

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.

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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good to know, thank you. Will reach out to the maintainer and comment when I find out more.

@botantony botantony added the upstream issue An upstream issue report is needed label Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosquash Automatically squash pull request commits according to Homebrew style. openssl-4-migration Related to switching to an OpenSSL 4 dependency upstream issue An upstream issue report is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants