From 283fe27cad31ea1eee54fd929717e72fd0855d96 Mon Sep 17 00:00:00 2001 From: su_v Date: Thu, 21 Aug 2014 20:53:13 +0200 Subject: Improve relocation support for ImageMagick libs and modules (bzr r13506.1.41) --- packaging/macosx/Resources/bin/inkscape | 2 +- packaging/macosx/osx-app.sh | 29 ++++++++++++++++++++++++----- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/packaging/macosx/Resources/bin/inkscape b/packaging/macosx/Resources/bin/inkscape index dcdeb0aaf..8ea68c992 100755 --- a/packaging/macosx/Resources/bin/inkscape +++ b/packaging/macosx/Resources/bin/inkscape @@ -71,7 +71,7 @@ export POPPLER_DATADIR="$TOP/share/poppler" # installed. Luckily, this is very unlikely given the extra long # and strangely named install prefix we use. # The actual version is inserted by the packaging script. -export MAGICK_CONFIGURE_PATH="$TOP/lib/ImageMagick-IMAGEMAGICKVER/config:$TOP/share/ImageMagick-IMAGEMAGICKVER/config" +export MAGICK_CONFIGURE_PATH="$TOP/lib/ImageMagick-IMAGEMAGICKVER/config:$TOP/share/ImageMagick-IMAGEMAGICKVER_MAJOR/config" export MAGICK_CODER_FILTER_PATH="$TOP/lib/ImageMagick-IMAGEMAGICKVER/modules-Q16/filters" export MAGICK_CODER_MODULE_PATH="$TOP/lib/ImageMagick-IMAGEMAGICKVER/modules-Q16/coders" diff --git a/packaging/macosx/osx-app.sh b/packaging/macosx/osx-app.sh index 73e4714fc..3fb1585e1 100755 --- a/packaging/macosx/osx-app.sh +++ b/packaging/macosx/osx-app.sh @@ -304,10 +304,6 @@ done # Icons and the rest of the script framework rsync -av --exclude ".svn" "$resdir"/Resources/* "$pkgresources/" -# Update the ImageMagick path in startup script. -IMAGEMAGICKVER=`pkg-config --modversion ImageMagick` -sed -e "s,IMAGEMAGICKVER,$IMAGEMAGICKVER,g" -i "" $pkgbin/inkscape - # Add python modules if requested if [ ${add_python} = "true" ]; then function install_py_modules () @@ -396,8 +392,31 @@ sed -e "s,__gdk_pixbuf_version__,$gdk_pixbuf_version,g" -i "" $pkgbin/inkscape sed -e "s,$LIBPREFIX,\${CWD},g" $LIBPREFIX/lib/gtk-2.0/$gtk_version/immodules.cache > $pkglib/gtk-2.0/$gtk_version/immodules.cache sed -e "s,$LIBPREFIX,\${CWD},g" $LIBPREFIX/lib/gdk-pixbuf-2.0/$gdk_pixbuf_version/loaders.cache > $pkglib/gdk-pixbuf-2.0/$gdk_pixbuf_version/loaders.cache +# ImageMagick version +IMAGEMAGICKVER="$(pkg-config --modversion ImageMagick)" +IMAGEMAGICKVER_MAJOR="$(cut -d. -f1 <<< "$IMAGEMAGICKVER")" + +# ImageMagick data +# include *.la files for main libs too +for item in "$LIBPREFIX/lib/libMagick"*.la; do + cp "$item" "$pkglib/" +done +# ImageMagick modules cp -r "$LIBPREFIX/lib/ImageMagick-$IMAGEMAGICKVER" "$pkglib/" -cp -r "$LIBPREFIX/share/ImageMagick-6" "$pkgresources/share/" +cp -r "$LIBPREFIX/etc/ImageMagick-$IMAGEMAGICKVER_MAJOR" "$pkgetc/" +cp -r "$LIBPREFIX/share/ImageMagick-$IMAGEMAGICKVER_MAJOR" "$pkgshare/" +# REQUIRED: remove hard-coded paths from *.la files +for la_file in "$pkglib/libMagick"*.la; do + sed -e "s,$LIBPREFIX/lib,,g" -i "" "$la_file" +done +for la_file in "$pkglib/ImageMagick-$IMAGEMAGICKVER/modules-Q16/coders"/*.la; do + sed -e "s,$LIBPREFIX/lib/ImageMagick-$IMAGEMAGICKVER/modules-Q16/coders,,g" -i "" "$la_file" +done +for la_file in "$pkglib/ImageMagick-$IMAGEMAGICKVER/modules-Q16/filters"/*.la; do + sed -e "s,$LIBPREFIX/lib/ImageMagick-$IMAGEMAGICKVER/modules-Q16/filters,,g" -i "" "$la_file" +done +sed -e "s,IMAGEMAGICKVER,$IMAGEMAGICKVER,g" -i "" $pkgbin/inkscape +sed -e "s,IMAGEMAGICKVER_MAJOR,$IMAGEMAGICKVER_MAJOR,g" -i "" $pkgbin/inkscape # Copy aspell dictionary files: cp -r "$LIBPREFIX/share/aspell" "$pkgresources/share/" -- cgit v1.2.3