Conversation
|
|
A couple failures since $ /usr/local/opt/sdl/bin/sdl-config --cflags
-I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE
$ /usr/local/opt/sdl12-compat/bin/sdl-config --cflags
-I/usr/local/Cellar/sdl12-compat/1.2.56/include/SDL -D_THREAD_SAFEEDIT: This may mean |
There was a problem hiding this comment.
This may break some users' usage of sdl, but changing formula to keg-only means using HOMEBREW_PREFIX would be broken without a manual brew link --force. Anyway, formula can be disable'd right after this PR.
There was a problem hiding this comment.
We could just fully get rid of sdl formula and merge it into sdl12-compat.
That was actually my initial ambition but I was waiting for a release to come out with bug fixes, which it now has.
This would bypass the whole 3 month deprecation period and a scenario where brew install sdl is a bit broken from being keg-only. Renaming should work nicely given it should be an almost identical install tree. Even the version number is specially crafted to appear like a SDL 1.2 patch update.
There was a problem hiding this comment.
So delete sdl.rb and add "sdl": "sdl12-compat" to renames?
There was a problem hiding this comment.
I think so, yeah. Might be worth comparing the install trees first and addressing any differences.
There was a problem hiding this comment.
Ignoring man pages and some libexec files in sdl, the main differences are:
- we no longer have static library
libSDL.a(given thatsdl12-compatonly supports building this on Linux, don't have any choice here) - on Linux, fully versioned dynamic library is different
- sdl uses
libSDL-1.2.so.0.11.4vs sdl12-compat useslibSDL-1.2.so.1.2.56 - latter is a bit odd since
libSDL-1.2.so.0is symlinked to it, but this allows drop-in as long as package links to this name. - but could be seen as "upgrade" and users should rebuild with newer library for broken linkage if they didn't link to
lib/libSDL-1.2.so.0.
- sdl uses
There was a problem hiding this comment.
Probably need a syntax-only PR due to audit.
May need to look into dependents on whether we can avoid revision bumps.
There was a problem hiding this comment.
- but could be seen as "upgrade" and users should rebuild with newer library for broken linkage if they didn't link to
lib/libSDL-1.2.so.0.
If you are linking to a fully versioned libraries you're signing up for regular rebuilds (no one, for example, should be linking to libstdc++.so.6.0.30). This isn't anything to be concerned about.
The lack of a static library is odd, but we've shipped bigger breaking changes so should be fine.
Probably need a syntax-only PR due to audit.
For the two disabled formulae? Yeah that's probably fine.
I'd be cautious about everything else. Will require testing out how everything is currently linked to SDL. In theory though, yes it is designed to work as a drop-in replacement without needing a rebuild.
1a021e9 to
b54194c
Compare
|
May want to ignore Will note that none of patches look like they will apply and |
I'm ok to add this to the allowlist if needed. |
|
Linux failures. Haven't checked yet if any are from changes here vs GCC/etc migrations |
Let's find out: https://github.com/carlocab/workflow-test/actions/runs/3089013194 |
They all failed, so probably GCC-11 and other changes rather than |
|
Are we okay with merging with current failures and fixing those afterward? macOS:
Linux:
|
|
|
brew install --build-from-source <formula>, where<formula>is the name of the formula you're submitting?brew test <formula>, where<formula>is the name of the formula you're submitting?brew audit --strict <formula>(after doingbrew install --build-from-source <formula>)? If this is a new formula, does it passbrew audit --new <formula>?Probably need to plan modification of conflicts with between
sdlandsdl12-compatto avoid issues when upgrading.