summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsu_v <suv-sf@users.sourceforge.net>2014-09-05 12:56:31 +0000
committer~suv <suv-sf@users.sourceforge.net>2014-09-05 12:56:31 +0000
commitdb387835f1414858c3e1fb8be88ffc2c1a0c9ed3 (patch)
treedc702f5250d441c438102f5a7c9116d9835a4d69
parentrevert simplification of launcher scripts (r13561) (diff)
downloadinkscape-db387835f1414858c3e1fb8be88ffc2c1a0c9ed3.tar.gz
inkscape-db387835f1414858c3e1fb8be88ffc2c1a0c9ed3.zip
work around breakages due to current implementation of OS X relocation support
(bzr r13506.1.58)
-rwxr-xr-xpackaging/macosx/Resources/bin/inkscape16
-rw-r--r--packaging/macosx/Resources/openDoc2
-rwxr-xr-xpackaging/macosx/Resources/script5
3 files changed, 16 insertions, 7 deletions
diff --git a/packaging/macosx/Resources/bin/inkscape b/packaging/macosx/Resources/bin/inkscape
index 0b7e85ce8..511bd6768 100755
--- a/packaging/macosx/Resources/bin/inkscape
+++ b/packaging/macosx/Resources/bin/inkscape
@@ -21,11 +21,23 @@ else
EXEC=exec
fi
-CWD="`(cd \"\`dirname \\\"$0\\\"\`\"; echo \"$PWD\")`"
+CWD="$(cd "$(dirname "$0")" && pwd)"
# e.g. /Applications/Inkscape.app/Contents/Resources/bin
-TOP="`dirname \"$CWD\"`"
+TOP="$(dirname "$CWD")"
# e.g. /Applications/Inkscape.app/Contents/Resources
+BASE="$(echo "$CWD" | sed -e 's/\/Contents\/Resources.*$//')"
+# e.g. /Applications/Inkscape.app
+# FIXME: Inkscape needs better relocation support for OS X (get rid of the relative
+# path hack in src/path-prefix.h for osxapp-enabled builds). Until then, below change
+# of working directory is required:
+#
+# Due to changes after 0.48, we have change working directory in the script named 'inkscape':
+# recursive calls to inkscape from python-based extensions otherwise cause the app to hang or
+# fail (for python-based extensions, inkscape changes the working directory to the
+# script's directory, and inkscape launched by python script thus can't find resources
+# like the now essential 'units.xml' in INKSCAPE_UIDIR relative to the working directory).
+cd "$BASE"
# Brutally add many things to the PATH. If the directories do not exist, they won't be used anyway.
# People should really use ~/.macosx/environment.plist to set environment variables as explained by Apple:
diff --git a/packaging/macosx/Resources/openDoc b/packaging/macosx/Resources/openDoc
index 63e803540..c2740c9b5 100644
--- a/packaging/macosx/Resources/openDoc
+++ b/packaging/macosx/Resources/openDoc
@@ -8,6 +8,4 @@ CWD="$(cd "$(dirname "$0")" && pwd)"
source "${CWD}/xdg_setup.sh"
-BASE="$(echo "$0" | sed -e 's/\/Contents\/Resources\/openDoc/\//')"
-cd "$BASE"
exec "$CWD/bin/inkscape" "$@"
diff --git a/packaging/macosx/Resources/script b/packaging/macosx/Resources/script
index de839484d..a97d02486 100755
--- a/packaging/macosx/Resources/script
+++ b/packaging/macosx/Resources/script
@@ -11,12 +11,11 @@ CWD="$(cd "$(dirname "$0")" && pwd)"
source "${CWD}/xdg_setup.sh"
source "${CWD}/alert_fccache.sh"
-BASE="$(echo "$0" | sed -e 's/\/Contents\/Resources\/script/\//')"
-cd "$BASE"
-
# TODO examine whether it would be wisest to move the code from inkscape shell
# script and getdisplay.sh to here and only keep the real binary in bin. This
# may make things easier on Leopard and may also help using Inkscape on the
# command line.
+#
+# See related FIXME in bin/inkscape for requirements to merge the two scripts.
exec "$CWD/bin/inkscape" "$@"