Fix building freetype 2.6.1 on macOS clang 18 #29247
Merged
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.
PR summary
Freetype 2.6.1 has an outdated copy of a zlib header (like from ~1998) which has a bad check for choosing whether to define Byte on macOS. This adds a patched version of the zconf.h header that has a proper check for MACTYPES, which is defined by the macOS SDK.
For posterity, the failure occurred over on conda-forge and looked like:
I'm using the Meson support for dropping in a new entire file, but the diff vs. the version that shipped with freetype 2.6.1:
Research shows this change came to zlib around 1.2.0, released over 20 years ago. 🤯