mirror of
https://github.com/bensuperpc/dockcross.git
synced 2025-01-22 14:15:44 +01:00
Merge pull request #235 from dockcross/more-script-tweaks
More script tweaks
This commit is contained in:
commit
85593886fd
5
Makefile
5
Makefile
@ -16,13 +16,13 @@ BIN = ./bin
|
||||
STANDARD_IMAGES = linux-s390x android-arm android-arm64 linux-x86 linux-x64 linux-arm64 linux-armv5 linux-armv6 linux-armv7 linux-mips linux-mipsel linux-ppc64le windows-x86 windows-x64
|
||||
|
||||
# Generated Dockerfiles.
|
||||
GEN_IMAGES = linux-s390x linux-mips manylinux-x86 manylinux-x64 browser-asmjs linux-arm64
|
||||
GEN_IMAGES = linux-s390x linux-mips manylinux-x86 manylinux-x64 browser-asmjs linux-arm64 windows-x86 windows-x64
|
||||
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES))
|
||||
|
||||
# These images are expected to have explicit rules for *both* build and testing
|
||||
NON_STANDARD_IMAGES = browser-asmjs manylinux-x64 manylinux-x86
|
||||
|
||||
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux common.crosstool
|
||||
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux common.crosstool common.windows
|
||||
|
||||
# This list all available images
|
||||
IMAGES = $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES)
|
||||
@ -59,6 +59,7 @@ $(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOS
|
||||
-e '/common.debian/ r common.debian' \
|
||||
-e '/common.manylinux/ r common.manylinux' \
|
||||
-e '/common.crosstool/ r common.crosstool' \
|
||||
-e '/common.windows/ r common.windows' \
|
||||
$< > $@
|
||||
|
||||
#
|
||||
|
@ -1,11 +1,13 @@
|
||||
RUN REPO=http://cdn-fastly.deb.debian.org && \
|
||||
echo "deb $REPO/debian jessie main\ndeb $REPO/debian jessie-updates main\ndeb $REPO/debian-security jessie/updates main" > /etc/apt/sources.list
|
||||
|
||||
COPY imagefiles/install-gosu-binary.sh /dockcross/
|
||||
# Image build scripts
|
||||
COPY imagefiles/install-gosu-binary.sh /buildscripts/
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
ARG REPO=http://cdn-fastly.deb.debian.org
|
||||
|
||||
RUN \
|
||||
bash -c "echo \"deb $REPO/debian jessie main\" > /etc/apt/sources.list" && \
|
||||
bash -c "echo \"deb $REPO/debian jessie-updates main\" >> /etc/apt/sources.list" && \
|
||||
bash -c "echo \"deb $REPO/debian-security jessie/updates main\" >> /etc/apt/sources.list" && \
|
||||
apt-get update --yes && \
|
||||
apt-get install --no-install-recommends --yes \
|
||||
automake \
|
||||
@ -39,6 +41,6 @@ RUN \
|
||||
zlib1g-dev \
|
||||
&& \
|
||||
apt-get clean --yes && \
|
||||
/dockcross/install-gosu-binary.sh && \
|
||||
rm /dockcross/install-gosu-binary.sh
|
||||
/buildscripts/install-gosu-binary.sh && \
|
||||
rm -rf /buildscripts
|
||||
|
||||
|
@ -3,62 +3,38 @@ WORKDIR /usr/src
|
||||
ARG GIT_VERSION=2.16.2
|
||||
ARG CMAKE_VERSION=3.11.0
|
||||
|
||||
# Image build scripts
|
||||
COPY \
|
||||
imagefiles/build-and-install-cmake.sh \
|
||||
imagefiles/build-and-install-curl.sh \
|
||||
imagefiles/build-and-install-git.sh \
|
||||
imagefiles/utils.sh \
|
||||
imagefiles/build-and-install-ninja.sh \
|
||||
imagefiles/build-and-install-openssl.sh \
|
||||
imagefiles/build-and-install-openssh.sh \
|
||||
imagefiles/build-and-install-cmake.sh \
|
||||
imagefiles/install-cmake-binary.sh \
|
||||
imagefiles/install-liquidprompt-binary.sh \
|
||||
imagefiles/build-and-install-curl.sh \
|
||||
imagefiles/build-and-install-ninja.sh \
|
||||
/dockcross/
|
||||
imagefiles/install-python-packages.sh \
|
||||
imagefiles/utils.sh \
|
||||
/buildscripts/
|
||||
|
||||
RUN \
|
||||
if [ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux-x86" ]; then \
|
||||
/dockcross/build-and-install-openssl.sh -32 && \
|
||||
/dockcross/build-and-install-openssh.sh && \
|
||||
/dockcross/build-and-install-curl.sh && \
|
||||
/dockcross/build-and-install-git.sh && \
|
||||
/dockcross/build-and-install-cmake.sh -32 || exit 1; \
|
||||
else \
|
||||
/dockcross/build-and-install-openssl.sh && \
|
||||
/dockcross/build-and-install-openssh.sh && \
|
||||
/dockcross/build-and-install-curl.sh && \
|
||||
/dockcross/build-and-install-git.sh && \
|
||||
/dockcross/install-cmake-binary.sh || exit 1; \
|
||||
fi; \
|
||||
/dockcross/install-liquidprompt-binary.sh && \
|
||||
X86_FLAG=$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux-x86" ] && echo "-32" || echo "") && \
|
||||
/buildscripts/build-and-install-openssl.sh $X86_FLAG && \
|
||||
/buildscripts/build-and-install-openssh.sh && \
|
||||
/buildscripts/build-and-install-curl.sh && \
|
||||
/buildscripts/build-and-install-git.sh && \
|
||||
/buildscripts/install-cmake-binary.sh $X86_FLAG && \
|
||||
/buildscripts/install-liquidprompt-binary.sh && \
|
||||
PYTHON=$([ -e /opt/python/cp35-cp35m/bin/python ] && echo "/opt/python/cp35-cp35m/bin/python" || echo "python") && \
|
||||
/dockcross/build-and-install-ninja.sh -python ${PYTHON} && \
|
||||
rm \
|
||||
/dockcross/build-and-install-git.sh \
|
||||
/dockcross/utils.sh \
|
||||
/dockcross/build-and-install-openssl.sh \
|
||||
/dockcross/build-and-install-openssh.sh \
|
||||
/dockcross/build-and-install-cmake.sh \
|
||||
/dockcross/install-cmake-binary.sh \
|
||||
/dockcross/install-liquidprompt-binary.sh \
|
||||
/dockcross/build-and-install-curl.sh \
|
||||
/dockcross/build-and-install-ninja.sh \
|
||||
&& \
|
||||
${PYTHON} -m pip install --ignore-installed conan
|
||||
|
||||
COPY imagefiles/cmake.sh /usr/local/bin/cmake
|
||||
COPY imagefiles/ccmake.sh /usr/local/bin/ccmake
|
||||
COPY imagefiles/sudo.sh /usr/bin/sudo
|
||||
|
||||
RUN if [ -e /opt/python/cp35-cp35m/bin/python ]; then \
|
||||
: nothing to do here since it is updated by manylinux-common/install-python-packages.sh ; \
|
||||
else \
|
||||
curl -# -LO https://bootstrap.pypa.io/get-pip.py && \
|
||||
python get-pip.py --ignore-installed && \
|
||||
rm get-pip.py || exit 1; \
|
||||
fi
|
||||
/buildscripts/install-python-packages.sh -python ${PYTHON} && \
|
||||
/buildscripts/build-and-install-ninja.sh -python ${PYTHON} && \
|
||||
rm -rf /buildscripts
|
||||
|
||||
RUN echo "root:root" | chpasswd
|
||||
WORKDIR /work
|
||||
ENTRYPOINT ["/dockcross/entrypoint.sh"]
|
||||
|
||||
# Runtime scripts
|
||||
COPY imagefiles/cmake.sh /usr/local/bin/cmake
|
||||
COPY imagefiles/ccmake.sh /usr/local/bin/ccmake
|
||||
COPY imagefiles/entrypoint.sh imagefiles/dockcross /dockcross/
|
||||
|
@ -1,8 +1,8 @@
|
||||
# Image build scripts
|
||||
COPY \
|
||||
imagefiles/install-gosu-binary.sh \
|
||||
manylinux-common/install-python-packages.sh \
|
||||
manylinux-common/pre_exec.sh \
|
||||
/dockcross/
|
||||
/buildscripts/
|
||||
|
||||
RUN \
|
||||
set -x && \
|
||||
@ -16,11 +16,12 @@ RUN \
|
||||
zip \
|
||||
&& \
|
||||
yum clean all && \
|
||||
/dockcross/install-gosu-binary.sh && \
|
||||
rm /dockcross/install-gosu-binary.sh && \
|
||||
/buildscripts/install-gosu-binary.sh && \
|
||||
# Remove sudo provided by "devtoolset-2" since it doesn't work with
|
||||
# our sudo wrapper calling gosu.
|
||||
rm /opt/rh/devtoolset-2/root/usr/bin/sudo && \
|
||||
/dockcross/install-python-packages.sh && \
|
||||
rm /dockcross/install-python-packages.sh
|
||||
/buildscripts/install-python-packages.sh && \
|
||||
rm -rf /buildscripts
|
||||
|
||||
# Runtime scripts
|
||||
COPY manylinux-common/pre_exec.sh /dockcross/
|
||||
|
115
common.windows
Normal file
115
common.windows
Normal file
@ -0,0 +1,115 @@
|
||||
|
||||
#
|
||||
# Before including this script, make sure to set:
|
||||
#
|
||||
# WINEARCH environment variable to either "win64" or "win32"
|
||||
# MXE_TARGET_ARCH argument to either "x86_64" or "i686". See http://mxe.cc/
|
||||
#
|
||||
# For example:
|
||||
#
|
||||
# ENV WINEARCH win64
|
||||
# ARG MXE_TARGET_ARCH=x86_64
|
||||
#
|
||||
|
||||
# mxe master 2017-10-25
|
||||
ARG MXE_GIT_TAG=994ad47302e8811614b7eb49fc05234942b95b89
|
||||
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/src/mxe/usr/${MXE_TARGET_ARCH}-w64-mingw32.static/share/cmake/mxe-conf.cmake
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
#
|
||||
# WINE is used as an emulator for try_run and tests with CMake.
|
||||
#
|
||||
# Other dependencies are from the listed MXE requirements:
|
||||
# http://mxe.cc/#requirements
|
||||
# 'cmake' is omitted because it is installed from source in the base image
|
||||
#
|
||||
RUN \
|
||||
apt-get update && \
|
||||
apt-get -y install \
|
||||
autoconf \
|
||||
automake \
|
||||
autopoint \
|
||||
bash \
|
||||
bison \
|
||||
bzip2 \
|
||||
flex \
|
||||
gettext \
|
||||
git \
|
||||
g++ \
|
||||
g++-multilib \
|
||||
gperf \
|
||||
intltool \
|
||||
libffi-dev \
|
||||
libgdk-pixbuf2.0-dev \
|
||||
libtool-bin \
|
||||
libltdl-dev \
|
||||
libssl-dev \
|
||||
libxml-parser-perl \
|
||||
libc6-dev-i386 \
|
||||
make \
|
||||
openssl \
|
||||
p7zip-full \
|
||||
patch \
|
||||
perl \
|
||||
pkg-config \
|
||||
python \
|
||||
ruby \
|
||||
scons \
|
||||
sed \
|
||||
unzip \
|
||||
wget \
|
||||
wine \
|
||||
xz-utils \
|
||||
&& \
|
||||
#
|
||||
# Install Wine
|
||||
#
|
||||
dpkg --add-architecture i386 && \
|
||||
apt-get update && \
|
||||
apt-get install -y wine32 && \
|
||||
wine hostname && \
|
||||
#
|
||||
# Download MXE sources
|
||||
#
|
||||
cd /usr/src && \
|
||||
git clone https://github.com/mxe/mxe.git && \
|
||||
cd mxe && \
|
||||
git checkout ${MXE_GIT_TAG} && \
|
||||
#
|
||||
# Configure "settings.mk" required to build MXE
|
||||
#
|
||||
cd /usr/src/mxe && \
|
||||
echo "MXE_TARGETS := ${MXE_TARGET_ARCH}-w64-mingw32.static" > settings.mk && \
|
||||
echo "LOCAL_PKG_LIST := gcc" >> settings.mk && \
|
||||
echo ".DEFAULT local-pkg-list:" >> settings.mk && \
|
||||
echo "local-pkg-list: \$(LOCAL_PKG_LIST)" >> settings.mk && \
|
||||
#
|
||||
# Build MXE
|
||||
#
|
||||
cd /usr/src/mxe && \
|
||||
make -j$(nproc) && \
|
||||
#
|
||||
# Update MXE toolchain file
|
||||
#
|
||||
echo 'set(CMAKE_CROSSCOMPILING_EMULATOR "/usr/bin/wine")' >> ${CMAKE_TOOLCHAIN_FILE} && \
|
||||
#
|
||||
# Replace cmake and cpack binaries
|
||||
#
|
||||
cd /usr/bin && \
|
||||
rm cmake cpack && \
|
||||
ln -s /usr/src/mxe/usr/bin/${MXE_TARGET_ARCH}-w64-mingw32.static-cmake cmake && \
|
||||
ln -s /usr/src/mxe/usr/bin/${MXE_TARGET_ARCH}-w64-mingw32.static-cpack cpack
|
||||
|
||||
ENV PATH ${PATH}:/usr/src/mxe/usr/bin
|
||||
ENV CROSS_TRIPLE ${MXE_TARGET_ARCH}-w64-mingw32.static
|
||||
ENV AS=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-as \
|
||||
AR=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gcc \
|
||||
CPP=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-cpp \
|
||||
CXX=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-g++ \
|
||||
LD=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
WORKDIR /work
|
@ -1,6 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
set -o pipefail
|
||||
|
||||
ARCH="x86_64"
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
-32)
|
||||
ARCH="x86"
|
||||
;;
|
||||
*)
|
||||
echo "Usage: Usage: ${0##*/} [-32]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if ! command -v curl &> /dev/null; then
|
||||
echo >&2 'error: "curl" not found!'
|
||||
@ -19,7 +35,7 @@ fi
|
||||
|
||||
cd /usr/src
|
||||
|
||||
CMAKE_ROOT=cmake-${CMAKE_VERSION}-Centos5-x86_64
|
||||
CMAKE_ROOT=cmake-${CMAKE_VERSION}-Centos5-${ARCH}
|
||||
url=https://github.com/dockbuild/CMake/releases/download/v${CMAKE_VERSION}/${CMAKE_ROOT}.tar.gz
|
||||
echo "Downloading $url"
|
||||
curl -# -LO $url
|
||||
|
@ -40,3 +40,15 @@ chmod +x /usr/local/bin/gosu
|
||||
|
||||
# verify that the binary works
|
||||
gosu nobody true
|
||||
|
||||
|
||||
cat << EOF >> /usr/bin/sudo
|
||||
#!/bin/sh
|
||||
|
||||
# Emulate the sudo command
|
||||
|
||||
exec gosu root:root "\$@"
|
||||
|
||||
EOF
|
||||
|
||||
chmod +x /usr/bin/sudo
|
||||
|
27
imagefiles/install-python-packages.sh
Executable file
27
imagefiles/install-python-packages.sh
Executable file
@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o pipefail
|
||||
|
||||
PYTHON=python
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
-python)
|
||||
PYTHON=$2
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
echo "Usage: Usage: ${0##*/} [-python /path/to/bin/python]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
cd /tmp
|
||||
|
||||
curl -# -LO https://bootstrap.pypa.io/get-pip.py
|
||||
${PYTHON} get-pip.py --ignore-installed
|
||||
rm get-pip.py
|
||||
|
||||
${PYTHON} -m pip install --ignore-installed conan
|
@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Emulate the sudo command
|
||||
|
||||
exec gosu root:root "$@"
|
@ -1,88 +0,0 @@
|
||||
FROM dockcross/base:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
|
||||
# WINE is used as an emulator for try_run and tests with CMake.
|
||||
# Other dependencies are from the listed MXE requirements:
|
||||
# http://mxe.cc/#requirements
|
||||
# 'cmake' is omitted because it is installed from source in the base image
|
||||
RUN apt-get update && apt-get -y install \
|
||||
autoconf \
|
||||
automake \
|
||||
autopoint \
|
||||
bash \
|
||||
bison \
|
||||
bzip2 \
|
||||
flex \
|
||||
gettext \
|
||||
git \
|
||||
g++ \
|
||||
g++-multilib \
|
||||
gperf \
|
||||
intltool \
|
||||
libffi-dev \
|
||||
libgdk-pixbuf2.0-dev \
|
||||
libtool-bin \
|
||||
libltdl-dev \
|
||||
libssl-dev \
|
||||
libxml-parser-perl \
|
||||
libc6-dev-i386 \
|
||||
make \
|
||||
openssl \
|
||||
p7zip-full \
|
||||
patch \
|
||||
perl \
|
||||
pkg-config \
|
||||
python \
|
||||
ruby \
|
||||
scons \
|
||||
sed \
|
||||
unzip \
|
||||
wget \
|
||||
wine \
|
||||
xz-utils
|
||||
# Set up wine
|
||||
RUN dpkg --add-architecture i386 && \
|
||||
apt-get update && \
|
||||
apt-get install -y wine32
|
||||
ENV WINEARCH win64
|
||||
RUN wine hostname
|
||||
|
||||
WORKDIR /usr/src
|
||||
# mxe master 2017-10-25
|
||||
RUN git clone https://github.com/mxe/mxe.git && \
|
||||
cd mxe && \
|
||||
git checkout 994ad47302e8811614b7eb49fc05234942b95b89
|
||||
WORKDIR /usr/src/mxe
|
||||
COPY settings.mk /usr/src/mxe/
|
||||
RUN make -j$(nproc)
|
||||
|
||||
ENV PATH ${PATH}:/usr/src/mxe/usr/bin
|
||||
ENV CROSS_TRIPLE x86_64-w64-mingw32.static
|
||||
ENV AS=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-as \
|
||||
AR=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gcc \
|
||||
CPP=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-cpp \
|
||||
CXX=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-g++ \
|
||||
LD=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/windows-x64
|
||||
WORKDIR /work
|
||||
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/src/mxe/usr/x86_64-w64-mingw32.static/share/cmake/mxe-conf.cmake
|
||||
RUN echo 'set(CMAKE_CROSSCOMPILING_EMULATOR "/usr/bin/wine")' >> ${CMAKE_TOOLCHAIN_FILE}
|
||||
RUN cd /usr/local/bin \
|
||||
&& rm cmake \
|
||||
&& ln -s /usr/src/mxe/usr/bin/x86_64-w64-mingw32.static-cmake cmake \
|
||||
&& ln -s /usr/src/mxe/usr/bin/x86_64-w64-mingw32.static-cpack cpack
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
ARG IMAGE
|
||||
ARG VCS_REF
|
||||
ARG VCS_URL
|
||||
LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.name=$IMAGE \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
20
windows-x64/Dockerfile.in
Normal file
20
windows-x64/Dockerfile.in
Normal file
@ -0,0 +1,20 @@
|
||||
FROM dockcross/base:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
|
||||
ENV WINEARCH win64
|
||||
ARG MXE_TARGET_ARCH=x86_64
|
||||
|
||||
#include "common.windows"
|
||||
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/windows-x64
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
ARG IMAGE
|
||||
ARG VCS_REF
|
||||
ARG VCS_URL
|
||||
LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.name=$IMAGE \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
@ -1,4 +0,0 @@
|
||||
MXE_TARGETS := x86_64-w64-mingw32.static
|
||||
LOCAL_PKG_LIST := gcc
|
||||
.DEFAULT local-pkg-list:
|
||||
local-pkg-list: $(LOCAL_PKG_LIST)
|
@ -1,88 +0,0 @@
|
||||
FROM dockcross/base:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
|
||||
# WINE is used as an emulator for try_run and tests with CMake.
|
||||
# Other dependencies are from the listed MXE requirements:
|
||||
# http://mxe.cc/#requirements
|
||||
# 'cmake' is omitted because it is installed from source in the base image
|
||||
RUN apt-get update && apt-get -y --force-yes install \
|
||||
autoconf \
|
||||
automake \
|
||||
autopoint \
|
||||
bash \
|
||||
bison \
|
||||
bzip2 \
|
||||
flex \
|
||||
gettext \
|
||||
git \
|
||||
g++ \
|
||||
g++-multilib \
|
||||
gperf \
|
||||
intltool \
|
||||
libffi-dev \
|
||||
libgdk-pixbuf2.0-dev \
|
||||
libtool-bin \
|
||||
libltdl-dev \
|
||||
libssl-dev \
|
||||
libxml-parser-perl \
|
||||
libc6-dev-i386 \
|
||||
make \
|
||||
openssl \
|
||||
p7zip-full \
|
||||
patch \
|
||||
perl \
|
||||
pkg-config \
|
||||
python \
|
||||
ruby \
|
||||
scons \
|
||||
sed \
|
||||
unzip \
|
||||
wget \
|
||||
wine \
|
||||
xz-utils
|
||||
# Set up wine
|
||||
RUN dpkg --add-architecture i386 && \
|
||||
apt-get update && \
|
||||
apt-get install -y wine32
|
||||
ENV WINEARCH win32
|
||||
RUN wine hostname
|
||||
|
||||
WORKDIR /usr/src
|
||||
# mxe master 2017-10-25
|
||||
RUN git clone https://github.com/mxe/mxe.git && \
|
||||
cd mxe && \
|
||||
git checkout 994ad47302e8811614b7eb49fc05234942b95b89
|
||||
WORKDIR /usr/src/mxe
|
||||
COPY settings.mk /usr/src/mxe/
|
||||
RUN make -j$(nproc)
|
||||
|
||||
ENV PATH ${PATH}:/usr/src/mxe/usr/bin
|
||||
ENV CROSS_TRIPLE i686-w64-mingw32.static
|
||||
ENV AS=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-as \
|
||||
AR=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gcc \
|
||||
CPP=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-cpp \
|
||||
CXX=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-g++ \
|
||||
LD=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/windows-x86
|
||||
WORKDIR /work
|
||||
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/src/mxe/usr/i686-w64-mingw32.static/share/cmake/mxe-conf.cmake
|
||||
RUN echo 'set(CMAKE_CROSSCOMPILING_EMULATOR "/usr/bin/wine")' >> ${CMAKE_TOOLCHAIN_FILE}
|
||||
RUN cd /usr/local/bin \
|
||||
&& rm cmake \
|
||||
&& ln -s /usr/src/mxe/usr/bin/i686-w64-mingw32.static-cmake cmake \
|
||||
&& ln -s /usr/src/mxe/usr/bin/i686-w64-mingw32.static-cpack cpack
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
ARG IMAGE
|
||||
ARG VCS_REF
|
||||
ARG VCS_URL
|
||||
LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.name=$IMAGE \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
21
windows-x86/Dockerfile.in
Normal file
21
windows-x86/Dockerfile.in
Normal file
@ -0,0 +1,21 @@
|
||||
FROM dockcross/base:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
|
||||
ENV WINEARCH win32
|
||||
ARG MXE_TARGET_ARCH=i686
|
||||
|
||||
#include "common.windows"
|
||||
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/windows-x86
|
||||
WORKDIR /work
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
ARG IMAGE
|
||||
ARG VCS_REF
|
||||
ARG VCS_URL
|
||||
LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.name=$IMAGE \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
@ -1,4 +0,0 @@
|
||||
MXE_TARGETS := i686-w64-mingw32.static
|
||||
LOCAL_PKG_LIST := gcc
|
||||
.DEFAULT local-pkg-list:
|
||||
local-pkg-list: $(LOCAL_PKG_LIST)
|
Loading…
x
Reference in New Issue
Block a user