subsurface/scripts/windows-container/before_install.sh
Salvador Cuñat faca48f2b6 windows-container: enable smtk2ssrf building
Enable building of SmartTrak divelogs importer.
A new, lighter, tarball for mxe static libraries has been built, as it
seems impossible to build mdbtools with shared libraries (see mxe's
build matrix). The tarball doesn't include prebuilt mdbtools and we
build from source via build script.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
2018-10-15 06:35:14 -04:00

60 lines
2.2 KiB
Bash

#!/bin/bash
set -x
set -e
# when running this locally, set TRAVIS_BUILD_DIR to the Subsurface
# directory inside your Windows build tree
TRAVIS_BUILD_DIR=${TRAVIS_BUILD_DIR:-$PWD}
git fetch --unshallow || true # if running locally, unshallow could fail
git pull --tags
git submodule init
git describe
# make sure we have libdivecomputer
echo "Get libdivecomputer"
cd ${TRAVIS_BUILD_DIR}
git submodule update --recursive
cd libdivecomputer
autoreconf --install
autoreconf --install
# the intended layout as seen inside the container is
# /win/subsurface # sources that we are testing
# /win32 # binaries that are build
# /grantlee
# /libzip
# /hidapi
# /googlemaps
#
# the first two are mounted as volumes (this way we get access to the
# build results outside of the container
cd ${TRAVIS_BUILD_DIR}/..
mkdir -p win32
# start the container and keep it running
docker run -v $PWD/win32:/win/win32 -v $PWD/subsurface:/win/subsurface --name=builder -w /win -d dirkhh/mxe-build-container:0.6 /bin/sleep 60m
# for some reason this package was installed but still isn't there?
# hmmmm. The container doesn't seem to have libtool installed
docker exec -t builder apt-get install -y ca-certificates libtool
# now set up our other dependencies
# these are either not available in MXE, or a version that's too old
docker exec -t builder bash subsurface/scripts/get-dep-lib.sh single . libzip
docker exec -t builder bash subsurface/scripts/get-dep-lib.sh single . hidapi
docker exec -t builder bash subsurface/scripts/get-dep-lib.sh single . googlemaps
docker exec -t builder bash subsurface/scripts/get-dep-lib.sh single . grantlee
# smtk2ssrf build
docker exec -t builder bash subsurface/scripts/get-dep-lib.sh single . mdbtools
# get prebuilt static mxe libraries for glib.
# do not overwrite upstream prebuilt mxe binaries if there is any coincidence.
echo -n "Downloading prebuilt static mxe ... "
docker exec -t builder wget -q https://www.dropbox.com/s/2ahfkyi6rhbihtn/mxe-static-minimal-a08b3225.tar.xz
echo -n "Untarring ... "
docker exec -t builder tar -C /win/mxe -xJf mxe-static-minimal-a08b3225.tar.xz --skip-old-files
echo "Done."
docker exec -t builder ln -vs /win/mxe /usr/src/mxe