Projects
New Ticket     Wiki     Browse Source     Timeline     Roadmap     Bug Reports     Search

Ticket #14305 (closed defect: fixed)

Opened 10 months ago

Last modified 7 months ago

Making gtk2 +quartz depend on pango +no_x11

Reported by: shreevatsa.public@… Owned by: nox@…
Priority: Normal Milestone: Port Bugs
Component: ports Version: 1.6.0
Keywords: gtk2 pango cairo x11 quartz Cc: shreevatsa.public@…
Port:

Description

Currently, installing "port install gtk2 +quartz" does not build pango with +no_x11, which results in applications building fine, but then having no visible text in any of their dialogs. Since quartz and x11 conflict everywhere (including libs like cairo that pango depends on), it is safe and a good idea to make gtk2's +quartz build pango with +no_x11. Attached is a patch of the gtk2 Portfile that does that.

Attachments

Portfile (4.1 KB) - added by shreevatsa.public@… 10 months ago.
Portfile with correct filename
Portfile.2 (4.1 KB) - added by shreevatsa.public@… 10 months ago.
Apart from fixing the no_x11, also upgraded to newest version available
gtk2.diff (1.0 KB) - added by shreevatsa.public@… 10 months ago.
again.diff (1.2 KB) - added by shreevatsa.public@… 9 months ago.
Without the version changes

Change History

Changed 10 months ago by shreevatsa.public@…

Portfile with correct filename

Changed 10 months ago by shreevatsa.public@…

Apart from fixing the no_x11, also upgraded to newest version available

  Changed 10 months ago by raimue@…

  • owner changed from macports-tickets@… to nox@…

  Changed 10 months ago by nox@…

  • status changed from new to assigned

Could you attach a diff? thanks.

Changed 10 months ago by shreevatsa.public@…

  Changed 10 months ago by shreevatsa.public@…

Oh right, I should have attached a diff in the first place. Done. Is the format right?

follow-up: ↓ 5   Changed 10 months ago by nox@…

Could you paste the error log which makes you think it should depend on pango +no_x11? The only thing this variant does is disable the build of pangox.dylib. It should not make gtk-quartz fails to build.

in reply to: ↑ 4   Changed 10 months ago by shreevatsa.public@…

Oh, that is the problem, as I mentioned in the opening commentary -- building gtk2 with only +quartz makes it build fine. A gtk2 application can also be successfully built on top of this. Only when the application is started is there a problem -- all text is blank! There are no error messages anwyhere (while building), but there is an error when a program is run (I don't remember the error, but it does not make your program crash, just results in it having no text).

Changed 9 months ago by shreevatsa.public@…

Without the version changes

  Changed 9 months ago by shreevatsa.public@…

Um, news? Could you look into this? GTK+ 2.12.9 has been released also, so this might be a good time to update the Portfile ;-)

Thanks,

  Changed 9 months ago by reiffert@…

Can we have gtk2 as quartz *and* x11 version in parallel? What would it take to have?

  Changed 9 months ago by shreevatsa.public@…

I don't think so. The current gtk2 Portfile already has "variant quartz conflicts x11" and "variant x11 conflicts quartz". The only thing missing is making quartz = no_x11, so that the right Pango will be installed. I don't know why building Pango without +no_x11 makes it not work with gtk2 +quartz, but anyway it is useless having an X11-enabled Pango with quartz gtk2, so there is no harm in what I am suggesting.

  Changed 9 months ago by shreevatsa.public@…

Hello,

I emailed the developer of the quartz GTK2, and he says:

> * pango must be built with --without-x ?

As far as I know, yes.

So I reiterate that it is reasonable to make pango build with +no_x11, since that is probably as far as anyone knows :P

Also, in answer to the other question:

> Finally, is it possible to have gtk2 as both quartz and x11 version in
> parallel? What would it take?

You will have to use a different prefix, as this is a compile time
switch and not runtime. I.e. you would have to use, say, /opt/foo/ and
/opt/bar/, with a completely separate installation for each backend,
also any software you build against GTK+ will have to be configured and
compiled against one or the other.

(So basically no, not in the sense you mean.)

So could this patch (again.diff) or something equivalent be merged?

  Changed 9 months ago by reiffert@…

shreevatsa: I know that quartz and x11 conflict each other, thats why I was asking what it would take to have them in parallel. Yeah it would allow you to have both, applications that use gtk-x11 and those that use gtk-quartz. That would be really cool. Instead I have /opt/x11/local and /opt/quartz/local ... and I dont love it.

  Changed 9 months ago by shreevatsa.public@…

I know... it would be great. But Richard says it isn't possible. What it would take to have them in parallel is what you have -- /opt/x11/local and /opt/quartz/local. Of course, it might be possible to have them both "inside" the same macports tree, say /opt/local/gtk-x11 and /opt/local/gtk-quartz, and /opt/local/lib/gtk-2.0 symlinked to one of them, and every application that uses gtk could be explicitly asked to use one gtk or the other.

In the meantime -- commit this thing, so that I don't have to lose my custom Portfile if I upgrade :P

  Changed 8 months ago by nox@…

  • status changed from assigned to closed
  • resolution set to fixed

Thanks for contributing, I'm sorry for the long delay. r36184.

  Changed 7 months ago by shreevatsa.public@…

  • cc shreevatsa.public@… added

Cc Me!

Note: See TracTickets for help on using tickets.