On 1/8/17 4:14 AM, Harald Hanche-Olsen wrote: > From: David Evans > Date: 8 January 2017 at 00:43:46 > >> While you do this, I'll make a list of other inkscape dependencies from my >> (working) installation that need to be rebuilt with +quartz. > > FWIW, here is the result of starting with my non-working version of inkscape > (which does not trigger xquartz startup btw), running > > port -q rdeps --no-build --index inkscape > > and then running port -q installed on each reported dependency, and finally > grepping for x11: > > gdk-pixbuf2 @2.36.3_0+x11 (active) > cairo @1.14.8_0+quartz+x11 (active) > pango @1.40.3_1+quartz+x11 (active) > cairomm @1.10.0_3+quartz+x11 (active) > pangomm @2.36.0_0+quartz+x11 (active) > ImageMagick @6.9.6-6_0+rsvg+x11 (active) > giflib @4.2.3_0+x11 (active) > ghostscript @9.19_0+x11 (active) > > I assume ImageMagick and ghostscript are harmless in this context. But > gdk-pixbuf2? It has no quartz variant. > > On a different note, I had assumed, perhaps too naïvely, that this sort of > problem is what a package system is supposed to protect against. Since it > appearently doesn't, is the underlying problem that the problem is too > complex to be handled by a dependency system like macports's? This is the > sort of problem that makes the nix package system look more attractive. > Though it may also be (a lot?) harder to use. > > – Harald >
The necessary list of +quartz dependencies for inkscape +quartz are: cairo @1.14.8_0+quartz+x11 pango @1.40.3_1+quartz+x11 gtk2 @2.24.31_0+quartz cairomm @1.10.0_3+quartz+x11 pangomm @2.36.0_0+quartz+x11 gtkmm @2.24.5_1+quartz gtkspell2 @2.0.16_6+quartz inkscape +quartz works fine with gdk-pixbuf2 installed with either +x11 or no variant (-x11) As has been mentioned elsewhere gtk2 can only be installed either +quartz or +x11 so you can not have it both ways. The best approach is decide whether you want to build a +quartz environment or an +x11 one and only install ports that are consistent with said environment. +x11 provides the best coverage and borth inkscape +x11 and inkscape +quartz work fine for me. inkscape actually doesn't contain any X11 or Quartz specific code and so the difference is strictly determined by the gtk2 backend in use. Bottom line you can't just install mixed +x11 and +quartz ports without expecting to run into conflicts. In this case the conflict is gtk2 because it only supports one backend at a time. cairo and pango install multiple backends at the same time but in this case the app using them needs to use the correct backend specific API to select the backend it wants. So if you install inkscape +quartz then you probably want to install gimp2 +quartz as well (and not install any gtk2 ports that depend on gtk2 +x11) The additional required +quartz ports are gegl @0.2.0_24+quartz libglade2 @2.6.4_8+quartz librsvg @2.40.16_0+quartz py27-pygtk @2.24.0_3+quartz Dave