mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-17 20:36:15 +00:00
build system: Docker image creation
Just like Android, Windows binaries are best created in a container. I still need to push the latest version to docker hub and use it on Travis, but this way at least the Dockerfile is here. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
9f433aa759
commit
f218768638
2 changed files with 90 additions and 0 deletions
75
scripts/docker/mxe-build-container/Dockerfile
Normal file
75
scripts/docker/mxe-build-container/Dockerfile
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
From ubuntu:18.04
|
||||||
|
|
||||||
|
RUN mkdir -p /win
|
||||||
|
ADD settings.mk /win
|
||||||
|
RUN apt-get update && apt-get upgrade -y && \
|
||||||
|
apt-get install -y \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
autopoint \
|
||||||
|
bash \
|
||||||
|
binutils \
|
||||||
|
bison \
|
||||||
|
bzip2 \
|
||||||
|
flex \
|
||||||
|
g++ \
|
||||||
|
g++-multilib \
|
||||||
|
gettext \
|
||||||
|
git \
|
||||||
|
gperf \
|
||||||
|
intltool \
|
||||||
|
libc6-dev-i386 \
|
||||||
|
libgdk-pixbuf2.0-dev \
|
||||||
|
libltdl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libtool-bin \
|
||||||
|
libxml-parser-perl \
|
||||||
|
make \
|
||||||
|
openssl \
|
||||||
|
p7zip-full \
|
||||||
|
patch \
|
||||||
|
perl \
|
||||||
|
pkg-config \
|
||||||
|
python \
|
||||||
|
ruby \
|
||||||
|
sed \
|
||||||
|
unzip \
|
||||||
|
wget \
|
||||||
|
xz-utils \
|
||||||
|
lzip \
|
||||||
|
scons ; \
|
||||||
|
cd /win ; git clone git://github.com/mxe/mxe ; \
|
||||||
|
cd mxe ; \
|
||||||
|
git checkout 9f6b9c6f58510bedfa0bf9f87de9a214abe6b653 ; \
|
||||||
|
mv ../settings.mk . ; \
|
||||||
|
make -j 6 2>&1 | tee build.log ; \
|
||||||
|
mkdir -p neolit ; cd neolit ; git clone -b wip/win http://code.qt.io/cgit/qt/qtconnectivity.git ; \
|
||||||
|
cd qtconnectivity ; \
|
||||||
|
PATH=/win/mxe/usr/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /win/mxe/usr/i686-w64-mingw32.shared/qt5/bin/qmake qtconnectivity.pro ; \
|
||||||
|
PATH=/win/mxe/usr/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make -j 6 ; \
|
||||||
|
PATH=/win/mxe/usr/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make install ; \
|
||||||
|
rm -rf /win/mxe/pkg ; \
|
||||||
|
apt-get purge -y --auto-remove \
|
||||||
|
autopoint \
|
||||||
|
bison \
|
||||||
|
flex \
|
||||||
|
g++ \
|
||||||
|
g++-multilib \
|
||||||
|
gettext \
|
||||||
|
gperf \
|
||||||
|
intltool \
|
||||||
|
libc6-dev-i386 \
|
||||||
|
libgdk-pixbuf2.0-dev \
|
||||||
|
libltdl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libtool-bin \
|
||||||
|
libxml-parser-perl \
|
||||||
|
openssl \
|
||||||
|
p7zip-full \
|
||||||
|
perl \
|
||||||
|
python \
|
||||||
|
ruby \
|
||||||
|
unzip \
|
||||||
|
xz-utils \
|
||||||
|
lzip \
|
||||||
|
scons
|
15
scripts/docker/mxe-build-container/settings.mk
Normal file
15
scripts/docker/mxe-build-container/settings.mk
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# This is a template of configuration file for MXE. See
|
||||||
|
# index.html for more extensive documentations.
|
||||||
|
|
||||||
|
# This variable controls the number of compilation processes
|
||||||
|
# within one package ("intra-package parallelism").
|
||||||
|
JOBS := 6
|
||||||
|
|
||||||
|
# This variable controls the targets that will build.
|
||||||
|
MXE_TARGETS := i686-w64-mingw32.shared
|
||||||
|
|
||||||
|
# The three lines below makes `make` build these "local packages" instead of all packages.
|
||||||
|
LOCAL_PKG_LIST := qtbase qtconnectivity qtdeclarative qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtscript qtsvg qttools qttranslations qtwebview qtwebkit libxml2 libxslt libusb1 libgit2 nsis curl libzip libftdi1
|
||||||
|
.DEFAULT local-pkg-list:
|
||||||
|
local-pkg-list: $(LOCAL_PKG_LIST)
|
||||||
|
|
Loading…
Add table
Reference in a new issue