librelist archives

« back to archive

Quartz based GTK+, Cairo, Pango

Quartz based GTK+, Cairo, Pango

From:
John Harrison
Date:
2011-09-13 @ 17:47
Greetings,

	I don't know about the rest of you, but I rather like having various GUI 
libraries I install work in Quartz rather than X11 and I noticed that the 
gtk+, cairo and pango libraries all currently use X11 rather than Quartz. 
So I set about to update those formula's to build both universally and 
with quartz. I could not figure out if there was a "right way" for the 
libraries to depend on use flags of another library so I made separate 
formula's I called 'native-gtk', 'native-cairo', and 'native-pango'. 

	Here is my current pull request, 
https://github.com/mxcl/homebrew/pull/7600 if you want to see what those 
formula's look like currently.

tl;dr:
	My question to everyone as a whole though is should those be separate 
formula's or should I modify the existing formulas and have some warnings 
or messages that if you should build them all with the same set of use 
flags to have them compile and run properly? (e.g. you'd say `$ brew 
install cairo --quartz && brew install pango --quartz && brew install gtk+
--quartz`) 


Thanks, 

John Harrison

Re: [homebrew] Quartz based GTK+, Cairo, Pango

From:
Mike McQuaid
Date:
2011-09-14 @ 07:29
On 13 Sep 2011, at 19:47, John Harrison wrote:

> 	I don't know about the rest of you, but I rather like having various 
GUI libraries I install work in Quartz rather than X11 and I noticed that 
the gtk+, cairo and pango libraries all currently use X11 rather than 
Quartz. So I set about to update those formula's to build both universally
and with quartz. I could not figure out if there was a "right way" for the
libraries to depend on use flags of another library so I made separate 
formula's I called 'native-gtk', 'native-cairo', and 'native-pango'. 

There isn't a right way to depend on this stuff yet (although I think 
adamv is working on it). Separate formulae works for now but probably 
won't be included into Homebrew.

--
Mike McQuaid
http://mikemcquaid.com

Re: [homebrew] Quartz based GTK+, Cairo, Pango

From:
Dave Bayer
Date:
2011-09-13 @ 18:23
On Sep 13, 2011, at 1:47 PM, John Harrison wrote:

> 	I don't know about the rest of you, but I rather like having various 
GUI libraries I install work in Quartz rather than X11 and I noticed that 
the gtk+, cairo and pango libraries all currently use X11 rather than 
Quartz. So I set about to update those formula's to build both universally
and with quartz. I could not figure out if there was a "right way" for the
libraries to depend on use flags of another library so I made separate 
formula's I called 'native-gtk', 'native-cairo', and 'native-pango'. 
> 
> 	Here is my current pull request, 
https://github.com/mxcl/homebrew/pull/7600 if you want to see what those 
formula's look like currently.

I'm all for having separately named libraries.

What brought me to Homebrew in the first place was days of unexpected 
struggle getting these libraries up, so I could link to a tiny portion of 
them in some Haskell code. Then I tried Homebrew and it ***JUST WORKED***.
Nice.

Some people use these libraries for applications where the distinction 
between Quartz and X11 is completely irrelevant. There's for example nice 
charts code completely entangled in gtk+ and cairo. One might want the 
charts for a web page, in which case the choice between Quartz and X11 is 
moot. To use this code, one can't install just the needed components, it's
all one gob, and one has to install the kitchen sink. Or, perhaps, one 
can, but the author of the Haskell charts package I'm using didn't know 
how. Either way, I liked being able to painlessly install some version of 
gtk+, cairo and pango, and have this all work. I see a real risk of the 
less-supported Quartz versions blowing up in the future, needlessly 
stranding users who for reasons like mine are completely agnostic to the 
distinction between Quartz and X11.