summaryrefslogtreecommitdiffstats
path: root/packaging/macos/020-vars.sh
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/macos/020-vars.sh')
-rw-r--r--packaging/macos/020-vars.sh44
1 files changed, 34 insertions, 10 deletions
diff --git a/packaging/macos/020-vars.sh b/packaging/macos/020-vars.sh
index 3a82cbbd6..59e2e49df 100644
--- a/packaging/macos/020-vars.sh
+++ b/packaging/macos/020-vars.sh
@@ -21,12 +21,28 @@
### name #######################################################################
SELF_NAME=$(basename $0)
+SELF_DIR=$(cd $(dirname "$0"); pwd -P)
### multithreading #############################################################
CORES=$(sysctl -n hw.ncpu) # use all available cores
export MAKEFLAGS="-j $CORES"
+### target OS version ##########################################################
+
+# There are a lot of ways to appraoch this. I recommend:
+# - OS X El Capitan (10.11)
+# - Xcode 8.2.1 (latest Xcode to support 10.11) for its clang 8.x
+# - MacOSX10.11.sdk from Xcode 7.3.1
+
+export MACOSX_DEPLOYMENT_TARGET=10.11 # minimum version Mavericks
+
+FLAG_MMACOSXVERSIONMIN="-mmacosx-version-min=$MACOSX_DEPLOYMENT_TARGET"
+
+export CFLAGS="$CFLAGS $FLAG_MMACOSXVERSIONMIN"
+export CXXFLAGS="$CXXFLAGS $FLAG_MMACOSXVERSIONMIN"
+export CPPFLAGS="$CPPFLAGS $FLAG_MMACOSXVERSIONMIN"
+
### ramdisk ####################################################################
RAMDISK_ENABLE=true # mount ramdisk to $WRK_DIR
@@ -98,6 +114,17 @@ LIB_DIR=$OPT_DIR/lib
SRC_DIR=$OPT_DIR/src
TMP_DIR=$OPT_DIR/tmp
+### Inkscape Git repository directory ##########################################
+
+# Location is different when run as GitLab CI job.
+
+if [ -z $CI_JOB_ID ]; then
+ INK_DIR=$SRC_DIR/inkscape
+else
+ INK_DIR=$SELF_DIR/../..
+ INK_DIR=$(cd $INK_DIR; pwd -P) # make path canoncial
+fi
+
### artifact path ##############################################################
# This is the location where the final product - like application bundle or
@@ -110,6 +137,7 @@ ARTIFACT_DIR=$WRK_DIR/artifacts
APP_DIR=$ARTIFACT_DIR/Inkscape.app
APP_CON_DIR=$APP_DIR/Contents
APP_RES_DIR=$APP_CON_DIR/Resources
+APP_FRA_DIR=$APP_CON_DIR/Frameworks
APP_BIN_DIR=$APP_RES_DIR/bin
APP_ETC_DIR=$APP_RES_DIR/etc
APP_EXE_DIR=$APP_CON_DIR/MacOS
@@ -123,6 +151,7 @@ APP_PLIST=$APP_CON_DIR/Info.plist
URL_BOOST=https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.tar.bz2
URL_CPPUNIT=https://dev-www.libreoffice.org/src/cppunit-1.14.0.tar.gz
+URL_CURL_CACERT=https://curl.haxx.se/ca/cacert.pem
URL_DOUBLE_CONVERSION=https://github.com/google/double-conversion/archive/v3.1.4.tar.gz
URL_FREETYPE=https://download.savannah.gnu.org/releases/freetype/freetype-2.10.0.tar.bz2
URL_GC=https://github.com/ivmai/bdwgc/releases/download/v8.0.4/gc-8.0.4.tar.gz
@@ -135,14 +164,6 @@ URL_GTK_OSX_MODULESET=$URL_GTK_OSX/modulesets-stable/gtk-osx.modules
URL_IMAGEMAGICK=https://github.com/ImageMagick/ImageMagick6/archive/6.9.7-10.tar.gz
# Inkscape Git repository
URL_INKSCAPE=https://gitlab.com/inkscape/inkscape
-# TODO icon in icns format
-# This is the only binary file in the build pipeline and it's roughly 1 MiB in
-# size. I do not want to merge that to Inkscape because it's a temporary
-# workarond: a future version of the build pipeline will generate the icns from
-# an already present png file on-the-fly. But until that's been implemented,
-# download the icns from the original "macOS Inkscape build and package"
-# repository.
-URL_INKSCAPE_ICNS=https://github.com/dehesselle/mibap/raw/master/inkscape.icns
URL_LCMS2=https://netcologne.dl.sourceforge.net/project/lcms/lcms/2.9/lcms2-2.9.tar.gz
URL_LIBCDR=https://github.com/LibreOffice/libcdr/archive/libcdr-0.1.5.tar.gz
URL_LIBPSL=https://github.com/rockdaboot/libpsl/releases/download/libpsl-0.20.2/libpsl-0.20.2.tar.gz
@@ -152,9 +173,12 @@ URL_LIBVISIO=https://github.com/LibreOffice/libvisio/archive/libvisio-0.1.6.tar.
URL_LIBWPG=https://netcologne.dl.sourceforge.net/project/libwpg/libwpg/libwpg-0.3.3/libwpg-0.3.3.tar.xz
URL_OPENJPEG=https://github.com/uclouvain/openjpeg/archive/v2.3.0.tar.gz
URL_OPENMP=https://github.com/llvm/llvm-project/releases/download/llvmorg-7.1.0/openmp-7.1.0.src.tar.xz
-URL_OPENSSL=https://www.openssl.org/source/openssl-1.1.1b.tar.gz
+# use OpenSSL version as in gtk-osx moduleset
+URL_OPENSSL=https://www.openssl.org/source/old/1.1.0/openssl-1.1.0g.tar.gz
+URL_PNG2ICNS=https://github.com/bitboss-ca/png2icns/archive/v0.1.tar.gz
URL_POPPLER=https://gitlab.freedesktop.org/poppler/poppler/-/archive/poppler-0.74.0/poppler-poppler-0.74.0.tar.gz
URL_POTRACE=http://potrace.sourceforge.net/download/1.15/potrace-1.15.tar.gz
+URL_PYTHON3=https://github.com/dehesselle/py3framework/releases/download/py368.4/py368_framework_4.tar.xz
# A pre-built version of the complete toolset.
-URL_TOOLSET_CACHE=https://github.com/dehesselle/mibap/releases/download/v0.10/mibap_v0.10.tar.xz
+URL_TOOLSET_CACHE=https://github.com/dehesselle/mibap/releases/download/v0.11/mibap_v0.11.tar.xz