mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +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…
Reference in a new issue