Conversation
There was a problem hiding this comment.
This does mean utilities won't work out-of-the-box on Mojave and older since they need Python 3, which could cascade into breaking dependent builds.
This is reason we originally didn't choose this approach as uses_from_macos "python", since: :catalina can trigger audit failure
There was a problem hiding this comment.
This does mean utilities won't work out-of-the-box on Mojave and older since they need Python 3, which could cascade into breaking dependent builds.
Mojave support is "best-effort" --
I don't think supporting Mojave can justify the hacks in glib-utils.
This is reason we originally didn't choose this approach as
uses_from_macos "python", since: :catalinacan trigger audit failure
What audit failure was that?
There was a problem hiding this comment.
We should adjust the audit then.
There was a problem hiding this comment.
If I had to guess, HOMEBREW_SIMULATE_MACOS_ON_LINUX is taking code paths of older version of macOS.
There was a problem hiding this comment.
What do you think about making this the oldest supported release of macOS?
Off the top of my head, I think that would be fine. Looks like there wasn't really much discussion about it when it was added, so probably fine.
CC: @Bo98
There was a problem hiding this comment.
The philosophy behind choosing the oldest macOS is that it includes the most dependencies (99.9% of the time). For auditing reasons this is usually a good thing.
We would have the same issue on Linux if the conflict audit wasn't disabled there. I would not rely on this remaining the case - I've been wanting to change that for a long time now.
The conflict audit failure here is really a special case. I'd say the way forward is to special case the python alias to not trigger the conflict audit, since those formulae are typically not bound to a particular version of Python. That's the real issue I feel.
There was a problem hiding this comment.
I've merged Homebrew/brew#13714. Now we only need #108343.
There was a problem hiding this comment.
| uses_from_macos "python" | |
| uses_from_macos "python", since: :catalina |
There was a problem hiding this comment.
Yep. This needs another run for the self-hosted runner and to rebuild some dependents against system libffi anyway.
Needed after Homebrew#108307.
Needed after Homebrew#108307.
Needed after Homebrew#108307.
|
Opened Homebrew/brew#13725 so that we can do this without rebuilding all the formulae that do |
carlocab
left a comment
There was a problem hiding this comment.
glib will probably need a bunch of link_overwrites to prevent brew link conflicts for anyone who's installed glib-utils in the meantime.
While we're here, let's stop using Homebrew `libffi`. We don't need it.
This formula relies on some really terrible hacks. In particular, it depends on the implementation details of meson, and we have no guarantees about the stability of those details. Let's get rid of it.
There was a problem hiding this comment.
This ships a
_giscanner.cpython-310-darwin.so
so this is not flexible about the version of Python used.
|
Dropping |
This cannot switch to `uses_from_macos "python"` since this ships C extension modules for Python, and these are tied to a specific Python version.
This has both versions of OpenSSL in its dep tree, but it does not link with anything that links with OpenSSL 1.1, so this conflict does not seem problematic.
|
Linux CI didn't run properly with dependents not using the built Dependents tests: And |
|
Seems unavoidable, unfortunately. At least, not without rebuilding all the |
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>?glib-utilscurrently leans heavily on the implementation details of Meson. We have no guarantees of stability of that API, so this can break with any Meson update, and we wouldn't even know that it happened until the next timeglib-utilsis rebuilt.Let's get rid of it.
We can decouple
glibfrom a specific versioned Python dependency by usinguses_from_macos "python"instead. This does rely on our syntax check ignoring dependency conflicts of this type, but that's at least something we have control over (unlike Meson's internal API).While we're here, let's switch this to using
libffifrom macOS.The tap syntax check may fail from a number of formulae currently depending on
glib-utils. To avoid having to rebuild them, I may remove those dependencies in a separate syntax-only PR.Closes #107305.