diff options
| author | René de Hesselle <dehesselle@web.de> | 2019-08-07 23:05:56 +0000 |
|---|---|---|
| committer | René de Hesselle <dehesselle@web.de> | 2019-08-07 23:05:56 +0000 |
| commit | 91eef1afbc17e5a24cd9365d8422c9a7e468a51a (patch) | |
| tree | e17e2a9dd9d34706ddbc4bb8d57bca43053190a3 | |
| parent | Fixed incorrect array refernces causing bug 1600496 (diff) | |
| download | inkscape-91eef1afbc17e5a24cd9365d8422c9a7e468a51a.tar.gz inkscape-91eef1afbc17e5a24cd9365d8422c9a7e468a51a.zip | |
Update macOS build pipeline
These changes mainly accomodate for gtk-osx upstream updates.
| -rw-r--r-- | packaging/macos/020-vars.sh | 5 | ||||
| -rw-r--r-- | packaging/macos/030-funcs.sh | 15 | ||||
| -rwxr-xr-x | packaging/macos/120-python3.sh | 1 | ||||
| -rwxr-xr-x | packaging/macos/140-jhbuild-gtk3.sh | 8 | ||||
| -rwxr-xr-x | packaging/macos/160-jhbuild-other.sh | 6 | ||||
| -rwxr-xr-x | packaging/macos/220-inkscape-package.sh | 56 |
6 files changed, 27 insertions, 64 deletions
diff --git a/packaging/macos/020-vars.sh b/packaging/macos/020-vars.sh index d94fa33fe..eeae31afb 100644 --- a/packaging/macos/020-vars.sh +++ b/packaging/macos/020-vars.sh @@ -189,10 +189,11 @@ URL_POPPLER=https://gitlab.freedesktop.org/poppler/poppler/-/archive/poppler-0.7 URL_POTRACE=http://potrace.sourceforge.net/download/1.15/potrace-1.15.tar.gz # This is the relocatable framework to be bundled with the app. URL_PYTHON3_BIN=https://github.com/dehesselle/py3framework/releases/download/py374.1/py374_framework_1.tar.xz -# This is for the jhbuild toolset only. +# This is for the jhbuild toolset only. This cannot be updated to 3.7 because +# 'Plist' class got removed in 'plistlib' and 'gtk-mac-bundler' needs that. URL_PYTHON3_SRC=https://github.com/dehesselle/py3framework/archive/py369.2.tar.gz # A pre-built version of the complete toolset. -URL_TOOLSET_CACHE=https://github.com/dehesselle/mibap/releases/download/v0.15/mibap_v0.15.tar.xz +URL_TOOLSET_CACHE=https://github.com/dehesselle/mibap/releases/download/v0.16/mibap_v0.16.tar.xz ### Python packages ############################################################ diff --git a/packaging/macos/030-funcs.sh b/packaging/macos/030-funcs.sh index af293bf53..b7892e6a5 100644 --- a/packaging/macos/030-funcs.sh +++ b/packaging/macos/030-funcs.sh @@ -166,6 +166,21 @@ function relocate_dependency install_name_tool -change $source $target $library } +### relocate all neighbouring libraries in a directory ######################### + +function relocate_neighbouring_libs +{ + local dir=$1 + + for lib in $dir/*.dylib; do + for linked_lib in $(otool -L $lib | tail -n +3 | awk '{ print $1 }'); do + if [ -f $APP_LIB_DIR/$(basename $linked_lib) ]; then + relocate_dependency @loader_path/$(basename $linked_lib) $lib + fi + done + done +} + ### 'readlink -f' replacement ################################################## # This is what the oneliner used to set SELF_DIR is based on. diff --git a/packaging/macos/120-python3.sh b/packaging/macos/120-python3.sh index be6005f26..5dbbda27b 100755 --- a/packaging/macos/120-python3.sh +++ b/packaging/macos/120-python3.sh @@ -28,5 +28,4 @@ rm -rf $OPT_DIR mkdir -p $BIN_DIR mkdir -p $TMP_DIR ln -sf $WRK_DIR/Python.framework/Versions/Current/bin/python3 $BIN_DIR -ln -sf $BIN_DIR/python3 $BIN_DIR/python diff --git a/packaging/macos/140-jhbuild-gtk3.sh b/packaging/macos/140-jhbuild-gtk3.sh index 3459c4dc0..8d3f7fee5 100755 --- a/packaging/macos/140-jhbuild-gtk3.sh +++ b/packaging/macos/140-jhbuild-gtk3.sh @@ -21,11 +21,3 @@ jhbuild build \ meta-gtk-osx-gtk3 \ meta-gtk-osx-gtkmm3 -### fix GDK pixbuf loaders ##################################################### - -for file in $LIB_DIR/gdk-pixbuf-2.0/2.10.0/loaders/*.dylib; do - mv $file $(dirname $file)/$(basename -s .dylib $file).so -done - -gdk-pixbuf-query-loaders > $LIB_DIR/gdk-pixbuf-2.0/2.10.0/loaders.cache - diff --git a/packaging/macos/160-jhbuild-other.sh b/packaging/macos/160-jhbuild-other.sh index 775ac0d4f..2c6a658fc 100755 --- a/packaging/macos/160-jhbuild-other.sh +++ b/packaging/macos/160-jhbuild-other.sh @@ -39,3 +39,9 @@ ln -s $(pwd)/png2icns.sh $BIN_DIR save_file $URL_PYTHON3_BIN +### copy a charset.alias to lib for gtk-mac-bundler ############################ + +# TODO this wasn't necessary before, why is this necessary now? + +cp $TMP_DIR/jhbuild/build/pkg-config-0.29.2/glib/glib/libcharset/charset.alias $LIB_DIR + diff --git a/packaging/macos/220-inkscape-package.sh b/packaging/macos/220-inkscape-package.sh index 3d3a88393..9fcde5e3b 100755 --- a/packaging/macos/220-inkscape-package.sh +++ b/packaging/macos/220-inkscape-package.sh @@ -58,11 +58,10 @@ mkdir -p $ARTIFACT_DIR # patch library locations relocate_dependency @executable_path/../Resources/lib/inkscape/libinkscape_base.dylib $APP_EXE_DIR/Inkscape-bin -relocate_dependency @executable_path/../Resources/lib/libpoppler.85.dylib $APP_LIB_DIR/libpoppler-glib.8.dylib -relocate_dependency @executable_path/../Resources/lib/libpoppler.85.dylib $APP_LIB_DIR/inkscape/libinkscape_base.dylib -relocate_dependency @executable_path/../Resources/lib/libpoppler-glib.8.dylib $APP_LIB_DIR/inkscape/libinkscape_base.dylib +relocate_dependency @loader_path/../libpoppler.85.dylib $APP_LIB_DIR/inkscape/libinkscape_base.dylib +relocate_dependency @loader_path/../libpoppler-glib.8.dylib $APP_LIB_DIR/inkscape/libinkscape_base.dylib -relocate_dependency @loader_path/libcrypto.1.1.dylib $APP_LIB_DIR/libssl.1.1.dylib +relocate_neighbouring_libs $APP_LIB_DIR # set Inkscape's data directory via environment variables # TODO: as follow-up to https://gitlab.com/inkscape/inkscape/merge_requests/612, @@ -134,10 +133,6 @@ relocate_dependency @loader_path/../../../libz.1.dylib $APP_LIB_DIR/python3.7/si relocate_dependency @loader_path/../../../libxml2.2.dylib $APP_LIB_DIR/python3.7/site-packages/lxml/objectify.cpython-37m-darwin.so relocate_dependency @loader_path/../../../libz.1.dylib $APP_LIB_DIR/python3.7/site-packages/lxml/objectify.cpython-37m-darwin.so -# patch libxml2.dylib to use '@loader_path' to find neighbouring libraries -relocate_dependency @loader_path/libz.1.dylib $APP_LIB_DIR/libxml2.2.dylib -relocate_dependency @loader_path/liblzma.5.dylib $APP_LIB_DIR/libxml2.2.dylib - ### install Python package: NumPy ############################################## pip3 install --install-option="--prefix=$APP_RES_DIR" --ignore-installed $PYTHON_NUMPY @@ -149,13 +144,6 @@ pip3 install --install-option="--prefix=$APP_RES_DIR" --ignore-installed $PYTHON # patch '_cairo' relocate_dependency @loader_path/../../../libcairo.2.dylib $APP_LIB_DIR/python3.7/site-packages/cairo/_cairo.cpython-37m-darwin.so -# patch libcairo.2.dylib to use '@loader_path' to find neighbouring libraries -relocate_dependency @loader_path/libpixman-1.0.dylib $APP_LIB_DIR/libcairo.2.dylib -relocate_dependency @loader_path/libfontconfig.1.dylib $APP_LIB_DIR/libcairo.2.dylib -relocate_dependency @loader_path/libfreetype.6.dylib $APP_LIB_DIR/libcairo.2.dylib -relocate_dependency @loader_path/libpng16.16.dylib $APP_LIB_DIR/libcairo.2.dylib -relocate_dependency @loader_path/libz.1.dylib $APP_LIB_DIR/libcairo.2.dylib - ### install Python package: PyGObject ########################################## pip3 install --install-option="--prefix=$APP_RES_DIR" --ignore-installed $PYTHON_PYGOBJECT @@ -168,29 +156,6 @@ relocate_dependency @loader_path/../../../libgobject-2.0.0.dylib $APP_LIB_DIR/py relocate_dependency @loader_path/../../../libgirepository-1.0.1.dylib $APP_LIB_DIR/python3.7/site-packages/gi/_gi.cpython-37m-darwin.so relocate_dependency @loader_path/../../../libffi.6.dylib $APP_LIB_DIR/python3.7/site-packages/gi/_gi.cpython-37m-darwin.so -# patch libglib-2.0.0.dylib to find neighbouring libraries -relocate_dependency @loader_path/libintl.9.dylib $APP_LIB_DIR/libglib-2.0.0.dylib - -# patch libgio-2.0.0.dylib to find neighbouring libraries -relocate_dependency @loader_path/libgobject-2.0.0.dylib $APP_LIB_DIR/libgio-2.0.0.dylib -relocate_dependency @loader_path/libffi.6.dylib $APP_LIB_DIR/libgio-2.0.0.dylib -relocate_dependency @loader_path/libgmodule-2.0.0.dylib $APP_LIB_DIR/libgio-2.0.0.dylib -relocate_dependency @loader_path/libglib-2.0.0.dylib $APP_LIB_DIR/libgio-2.0.0.dylib -relocate_dependency @loader_path/libz.1.dylib $APP_LIB_DIR/libgio-2.0.0.dylib -relocate_dependency @loader_path/libintl.9.dylib $APP_LIB_DIR/libgio-2.0.0.dylib - -# patch libgobject-2.0.0.dylib to find neighbouring libraries -relocate_dependency @loader_path/libglib-2.0.0.dylib $APP_LIB_DIR/libgobject-2.0.0.dylib -relocate_dependency @loader_path/libffi.6.dylib $APP_LIB_DIR/libgobject-2.0.0.dylib -relocate_dependency @loader_path/libintl.9.dylib $APP_LIB_DIR/libgobject-2.0.0.dylib - -# patch libgirepository-1.0.1.dylib to find neighbouring libraries -relocate_dependency @loader_path/libgmodule-2.0.0.dylib $APP_LIB_DIR/libgirepository-1.0.1.dylib -relocate_dependency @loader_path/libgio-2.0.0.dylib $APP_LIB_DIR/libgirepository-1.0.1.dylib -relocate_dependency @loader_path/libgobject-2.0.0.dylib $APP_LIB_DIR/libgirepository-1.0.1.dylib -relocate_dependency @loader_path/libglib-2.0.0.dylib $APP_LIB_DIR/libgirepository-1.0.1.dylib -relocate_dependency @loader_path/libffi.6.dylib $APP_LIB_DIR/libgirepository-1.0.1.dylib - # patch '_gi_cairo' relocate_dependency @loader_path/../../../libglib-2.0.0.dylib $APP_LIB_DIR/python3.7/site-packages/gi/_gi_cairo.cpython-37m-darwin.so relocate_dependency @loader_path/../../../libintl.9.dylib $APP_LIB_DIR/python3.7/site-packages/gi/_gi_cairo.cpython-37m-darwin.so @@ -201,21 +166,6 @@ relocate_dependency @loader_path/../../../libffi.6.dylib $APP_LIB_DIR/python3.7/ relocate_dependency @loader_path/../../../libcairo.2.dylib $APP_LIB_DIR/python3.7/site-packages/gi/_gi_cairo.cpython-37m-darwin.so relocate_dependency @loader_path/../../../libcairo-gobject.2.dylib $APP_LIB_DIR/python3.7/site-packages/gi/_gi_cairo.cpython-37m-darwin.so -# patch libcairo-gobject.2.dylib -relocate_dependency @loader_path/libcairo.2.dylib $APP_LIB_DIR/libcairo-gobject.2.dylib -relocate_dependency @loader_path/libpixman-1.0.dylib $APP_LIB_DIR/libcairo-gobject.2.dylib -relocate_dependency @loader_path/libfontconfig.1.dylib $APP_LIB_DIR/libcairo-gobject.2.dylib -relocate_dependency @loader_path/libfreetype.6.dylib $APP_LIB_DIR/libcairo-gobject.2.dylib -relocate_dependency @loader_path/libpng16.16.dylib $APP_LIB_DIR/libcairo-gobject.2.dylib -relocate_dependency @loader_path/libz.1.dylib $APP_LIB_DIR/libcairo-gobject.2.dylib -relocate_dependency @loader_path/libgobject-2.0.0.dylib $APP_LIB_DIR/libcairo-gobject.2.dylib -relocate_dependency @loader_path/libglib-2.0.0.dylib $APP_LIB_DIR/libcairo-gobject.2.dylib -relocate_dependency @loader_path/libintl.9.dylib $APP_LIB_DIR/libcairo-gobject.2.dylib - -# patch libgmodule-2.0.0.dylib -relocate_dependency @loader_path/libglib-2.0.0.dylib $APP_LIB_DIR/libgmodule-2.0.0.dylib -relocate_dependency @loader_path/libintl.9.dylib $APP_LIB_DIR/libgmodule-2.0.0.dylib - ### install Python package: pySerial ########################################### pip3 install --install-option="--prefix=$APP_RES_DIR" --ignore-installed $PYTHON_PYSERIAL |
