#14305 closed defect (fixed)
Making gtk2 +quartz depend on pango +no_x11
Reported by: | shreevatsa.public@… | Owned by: | nox@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
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 (4)
Change History (19)
Changed 17 years ago by shreevatsa.public@…
Changed 17 years ago by shreevatsa.public@…
Attachment: | Portfile.2 added |
---|
Apart from fixing the no_x11, also upgraded to newest version available
comment:1 Changed 17 years ago by raimue (Rainer Müller)
Owner: | changed from macports-tickets@… to nox@… |
---|
Changed 17 years ago by shreevatsa.public@…
comment:3 Changed 17 years ago by shreevatsa.public@…
Oh right, I should have attached a diff in the first place. Done. Is the format right?
comment:4 follow-up: 5 Changed 17 years 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.
comment:5 Changed 17 years 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 17 years ago by shreevatsa.public@…
Attachment: | again.diff added |
---|
Without the version changes
comment:6 Changed 17 years 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,
comment:7 Changed 17 years ago by reiffert@…
Can we have gtk2 as quartz *and* x11 version in parallel? What would it take to have?
comment:8 Changed 17 years 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.
comment:9 Changed 17 years 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?
comment:10 Changed 17 years 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.
comment:11 Changed 17 years 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
comment:12 Changed 17 years ago by nox@…
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Thanks for contributing, I'm sorry for the long delay. r36184.
comment:15 Changed 15 years ago by braden@…
Either I'm misunderstanding how this is supposed to work, or something has regressed here:
$ sudo port install gtk2 +quartz---> Computing dependencies for gtk2 ---> Fetching cairo ---> Verifying checksum(s) for cairo ---> Extracting cairo ---> Configuring cairo ---> Building cairo ---> Staging cairo into destroot ---> Installing cairo @1.8.8_0+macosx+quartz ---> Activating cairo @1.8.8_0+macosx+quartz ---> Cleaning cairo ---> Fetching pango ---> Verifying checksum(s) for pango ---> Extracting pango ---> Applying patches to pango ---> Configuring pango ---> Building pango ---> Staging pango into destroot ---> Installing pango @1.24.5_0+macosx+quartz ---> Activating pango @1.24.5_0+macosx+quartz ---> Cleaning pango ---> Fetching gtk2 Error: Please uninstall or deactivate the pango port and reinstall it by running `port install pango +no_x11`. Error: Target org.macports.fetch returned: pango must be installed with the no_x11 variant enabled. Error: Status 1 encountered during processing.
Portfile with correct filename