mirror of
https://github.com/bensuperpc/dockcross.git
synced 2024-11-15 07:21:33 +01:00
105 lines
3.3 KiB
Docker
105 lines
3.3 KiB
Docker
FROM quay.io/pypa/manylinux2010_x86_64:latest
|
|
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
|
|
|
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux2010-x64
|
|
|
|
#include "common.manylinux"
|
|
# Image build scripts
|
|
COPY \
|
|
imagefiles/install-gosu-binary.sh \
|
|
imagefiles/install-gosu-binary-wrapper.sh \
|
|
manylinux-common/install-python-packages.sh \
|
|
/buildscripts/
|
|
|
|
RUN \
|
|
set -x && \
|
|
yum -y install \
|
|
epel-release \
|
|
gpg \
|
|
zlib-devel \
|
|
gettext \
|
|
openssh-clients \
|
|
pax \
|
|
wget \
|
|
zip \
|
|
&& \
|
|
yum clean all && \
|
|
/buildscripts/install-gosu-binary.sh && \
|
|
/buildscripts/install-gosu-binary-wrapper.sh && \
|
|
# Remove sudo provided by "devtoolset-2" and "devtoolset-8" since it doesn't work with
|
|
# our sudo wrapper calling gosu.
|
|
rm -f /opt/rh/devtoolset-2/root/usr/bin/sudo && \
|
|
rm -f /opt/rh/devtoolset-7/root/usr/bin/sudo && \
|
|
rm -f /opt/rh/devtoolset-8/root/usr/bin/sudo && \
|
|
/buildscripts/install-python-packages.sh && \
|
|
rm -rf /buildscripts
|
|
|
|
# Runtime scripts
|
|
COPY manylinux-common/pre_exec.sh /dockcross/
|
|
|
|
#include "common.dockcross"
|
|
|
|
#include "common.docker"
|
|
WORKDIR /usr/src
|
|
|
|
ARG GIT_VERSION=2.31.1
|
|
ARG CMAKE_VERSION=3.17.1
|
|
|
|
# Image build scripts
|
|
COPY \
|
|
imagefiles/build-and-install-cmake.sh \
|
|
imagefiles/build-and-install-curl.sh \
|
|
imagefiles/build-and-install-git.sh \
|
|
imagefiles/build-and-install-ninja.sh \
|
|
imagefiles/build-and-install-openssl.sh \
|
|
imagefiles/build-and-install-openssh.sh \
|
|
imagefiles/install-cmake-binary.sh \
|
|
imagefiles/install-liquidprompt-binary.sh \
|
|
imagefiles/install-python-packages.sh \
|
|
imagefiles/utils.sh \
|
|
/buildscripts/
|
|
|
|
RUN \
|
|
X86_FLAG=$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux1-x86" -o "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2010-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") && \
|
|
/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/
|
|
|
|
# Override yum to work around the problem with newly built libcurl.so.4
|
|
# https://access.redhat.com/solutions/641093
|
|
RUN echo $'#!/bin/bash\n\
|
|
LD_PRELOAD=/usr/lib64/libcurl.so.4 /usr/bin/yum "$@"' > /usr/local/bin/yum && chmod a+x /usr/local/bin/yum
|
|
|
|
ENV CROSS_TRIPLE x86_64-linux-gnu
|
|
ENV CROSS_ROOT /opt/rh/devtoolset-8/root/usr/bin
|
|
ENV AS=${CROSS_ROOT}/as \
|
|
AR=${CROSS_ROOT}/ar \
|
|
CC=${CROSS_ROOT}/gcc \
|
|
CPP=${CROSS_ROOT}/cpp \
|
|
CXX=${CROSS_ROOT}/g++ \
|
|
LD=${CROSS_ROOT}/ld \
|
|
FC=${CROSS_ROOT}/gfortran
|
|
|
|
COPY linux-x64/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop
|
|
|
|
COPY manylinux2010-x64/Toolchain.cmake ${CROSS_ROOT}/../lib/
|
|
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake
|
|
|
|
#include "common.label-and-env"
|