Re: [gtk-osx-devel] Tools with Homebrew




On Oct 23, 2016, at 5:02 PM, philip chimento gmail com wrote:

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

Phil,

I guess I don't see the point. All of what you're suggesting is in bootstrap.modules, and that takes only a 
few minutes to build on a recent (meaning capable of updating to Sierra) Mac. You can do it once to somewhere 
on the path (I put it in ~/.local) and it will be used for all of your other builds. The only wrinkles I get 
from that are that jhbuild doesn't know to look there for the xml catalog and a few packages (e.g. Guile) 
need to have libltdl in the bundle with them. Compared to the time needed to build even meta-gtk-osx-core, 
never mind a major program (never mind WebKit, which takes over an hour on a late 2013 Mac Pro) it's pretty 
trivial.

BTW, I've already done test builds on Sierra. No real issues.

Regards,
John Ralls






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