# Build the image using the --build-arg option, e.g.:
# docker build -t boret/myimage:0.1 --build-arg=mxe_sha=123ABC456 .
#

# Start from Ubuntu
From ubuntu:18.04
ARG mxe_sha=master
ENV _ver=${mxe_sha}

# update and set up the packages we need for this cross build
RUN apt-get update  &&  apt-get upgrade -y && \
apt-get install -y \
    autoconf \
    automake \
    autopoint \
    bash \
    binutils \
    bison \
    bzip2 \
    ca-certificates \
    flex \
    g++ \
    g++-multilib \
    gettext \
    git \
    gperf \
    intltool \
    libc6-dev-i386 \
    libgdk-pixbuf2.0-dev \
    libltdl-dev \
    libssl-dev \
    libtool \
    libtool-bin \
    libxml-parser-perl \
    make \
    openssl \
    p7zip-full \
    patch \
    perl \
    pkg-config \
    python \
    ruby \
    sed \
    unzip \
    wget \
    xz-utils \
    lzip \
    scons

# copy over the partial MXE settings (simply missing QtWebKit so we don't exceed the 6h limit)
RUN mkdir -p /win
ADD settings-stage1.mk /win/settings.mk
RUN cd /win ; git clone git://github.com/mxe/mxe ; \
    cd mxe ; \
    git checkout ${_ver} ;
# Patch the qtconnectivity build to explicilty enable native-win32-bluetooth and ensure another
# backend is not picked
ADD qtconnectivity-1.patch /win/qtconnectivity-1.patch
RUN mv /win/qtconnectivity-1.patch /win/mxe/src
RUN mv /win/settings.mk /win/mxe
RUN cd /win/mxe ; \
    make -j 6 2>&1 | tee build.log ;
RUN cd /win/mxe ; \
    make MXE_TARGETS=i686-w64-mingw32.static glib -j 6 2>&1 | tee -a build.log ;
