[gtk-osx-devel] Tools with Homebrew



Hi list,

The first bugfix release of Sierra, 10.12.1 is almost out so I'll soon be doing that yearly dance of upgrading my Mac and Xcode, wiping my jhbuild tree, and rebuilding everything, fixing build bugs along the way.

I'm motivated to implement changes in gtk-osx-build that will make that dance a little easier and shorter!

One thing that I spend a lot of time and frustration on every year is building those modules that aren't really related to GNOME, like gnutls and the rest of the crypto stack needed to build glib-networking, etc. One thing I've dreamed about for a long time is using Homebrew to install those, through jhbuild's <sysdeps> facility. I don't think that's really realistic as such, for two reasons: 1) it's difficult to get Homebrew to cooperate with install trees that aren't in /usr/local, and 2) there's no reverse lookup for Homebrew packages by files that they provide [1].

But, I think it would work fine to use Homebrew to install standalone build tools, such as pkg-config, xz, bison, flex, etc. They wouldn't have to be in the jhbuild tree, just in the path, and they usually wouldn't need to be included in an app bundle.

This would save a lot of time and allow us to offload a lot of maintenance work to the much larger Homebrew community, as well as help us keep up-to-date versions of those dependencies.

It could be just an extra step in the instructions / scripts for setting up gtk-osx-build that installs a bunch of Homebrew packages pre-emptively, or we could write a <sysdeps> thing that installs Homebrew packages as needed when building modules.

Homebrew works on 10.5 and up, although 10.5–10.9 are supported only on a best-effort basis, and you can get it to work on 10.4 using a fork [2].

Would there be any interest in this? Any problems that I'm missing?

[1] http://superuser.com/questions/781693/how-to-determine-which-brew-package-provides-a-given-file
[2] https://github.com/mistydemeo/tigerbrew



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]