This question is more oriented toward Michael Wybrow or any other
developper who helped with the packaging of Inkscape inside an .app
bundle on Mac OS X.
I am trying to use DarwinPorts rather than Fink to provide Inkscape
with its dependencies and everything seems to work except for Pango.
What I did to get osx-app.sh working with DarwinPorts was simply to:
- change SW=/sw to SW=/opt/local (DarwinPorts install root)
- change the version numbers of GTK and Pango (2.4.0 and 1.4.0) to
those used in DarwinPorts (2.10.0 and 1.5.0)
I checked the app bundle which seems to be OK: all dependecies were
correctly pulled out DarwinPorts tree and copied into the bundle. The
pango.modules, pangorc and pangox.aliases files are similar to those
found in a working bundle produced with Fink, as are the files
in .inkscape-etc and all only reflect the version change in Pango.
To sum up, everything looks to be similar to what works with Fink.
However, when starting Inkscape from inside the app bundle and I get
(inkscape-bin:18144): Pango-WARNING **: No builtin or dynamically
loaded modules were found. Pango will not work correctly.
This probably means there was an error in the creation of:
You should create this file by running pango-querymodules.
[... many other Pango-WARNINGs about bad fonts...]
and in Inkscape all UI fonts are replaced by rectangles.
Before running Inkscape binary a shell script sets PANGO_RC_FILE to
"$HOME/.inkscape-etc/pangorc" (and .inkscape-etc/pangorc points to
the libs inside the bundle). My understanding is that it makes Pango
libraries/modules independent from where they were compiled, and it
works with Fink-provided Pango librairies. The reference to /opt/
local/ here makes me think that there is still a link between Pango
libs inside the bundle and the place where they were compiled. Was
anything else than setting PANGO_RC_FILE necessary to get Fink Pango
libs to work from inside Inskcape.app?
Any additional knowledge on the bundling process would probably help
because I only know what gathered from the code and some Google
searches. Thanks in advance.
NB: the file '/opt/local/etc/pango/pango.modules' exists and is only
root writable, hence the error. But this would be true for its Fink
equivalent also and Inkscape.app should not try to write anything in
this location anyway.