mirror of
https://github.com/bensuperpc/dockcross.git
synced 2024-12-23 00:54:26 +01:00
Merge branch 'master' into update_web-wasm
This commit is contained in:
commit
629046cd37
25
Makefile
25
Makefile
@ -96,7 +96,7 @@ web-wasm: web-wasm/Dockerfile
|
||||
|
||||
web-wasm.test: web-wasm
|
||||
cp -r test web-wasm/
|
||||
$(DOCKER) run $(RM) dockcross/web-wasm > $(BIN)/dockcross-web-wasm && chmod +x $(BIN)/dockcross-web-wasm
|
||||
$(DOCKER) run $(RM) $(ORG)/web-wasm > $(BIN)/dockcross-web-wasm && chmod +x $(BIN)/dockcross-web-wasm
|
||||
$(BIN)/dockcross-web-wasm python test/run.py --exe-suffix ".js"
|
||||
rm -rf web-wasm/test
|
||||
|
||||
@ -121,7 +121,7 @@ manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux2014-aarch64.test: manylinux2014-aarch64
|
||||
$(DOCKER) run $(RM) dockcross/manylinux2014-aarch64 > $(BIN)/dockcross-manylinux2014-aarch64 && chmod +x $(BIN)/dockcross-manylinux2014-aarch64
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64 > $(BIN)/dockcross-manylinux2014-aarch64 && chmod +x $(BIN)/dockcross-manylinux2014-aarch64
|
||||
$(BIN)/dockcross-manylinux2014-aarch64 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
@ -145,7 +145,7 @@ manylinux2014-x64: manylinux2014-x64/Dockerfile
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux2014-x64.test: manylinux2014-x64
|
||||
$(DOCKER) run $(RM) dockcross/manylinux2014-x64 > $(BIN)/dockcross-manylinux2014-x64 && chmod +x $(BIN)/dockcross-manylinux2014-x64
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-x64 > $(BIN)/dockcross-manylinux2014-x64 && chmod +x $(BIN)/dockcross-manylinux2014-x64
|
||||
$(BIN)/dockcross-manylinux2014-x64 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
@ -169,7 +169,7 @@ manylinux2014-x86: manylinux2014-x86/Dockerfile
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux2014-x86.test: manylinux2014-x86
|
||||
$(DOCKER) run $(RM) dockcross/manylinux2014-x86 > $(BIN)/dockcross-manylinux2014-x86 && chmod +x $(BIN)/dockcross-manylinux2014-x86
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-x86 > $(BIN)/dockcross-manylinux2014-x86 && chmod +x $(BIN)/dockcross-manylinux2014-x86
|
||||
$(BIN)/dockcross-manylinux2014-x86 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
@ -219,7 +219,7 @@ manylinux2010-x86: manylinux2010-x86/Dockerfile
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux2010-x86.test: manylinux2010-x86
|
||||
$(DOCKER) run $(RM) dockcross/manylinux2010-x86 > $(BIN)/dockcross-manylinux2010-x86 && chmod +x $(BIN)/dockcross-manylinux2010-x86
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2010-x86 > $(BIN)/dockcross-manylinux2010-x86 && chmod +x $(BIN)/dockcross-manylinux2010-x86
|
||||
$(BIN)/dockcross-manylinux2010-x86 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
@ -244,7 +244,7 @@ manylinux1-x64: manylinux1-x64/Dockerfile
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux1-x64.test: manylinux1-x64
|
||||
$(DOCKER) run $(RM) dockcross/manylinux1-x64 > $(BIN)/dockcross-manylinux1-x64 && chmod +x $(BIN)/dockcross-manylinux1-x64
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux1-x64 > $(BIN)/dockcross-manylinux1-x64 && chmod +x $(BIN)/dockcross-manylinux1-x64
|
||||
$(BIN)/dockcross-manylinux1-x64 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
@ -269,7 +269,7 @@ manylinux1-x86: manylinux1-x86/Dockerfile
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux1-x86.test: manylinux1-x86
|
||||
$(DOCKER) run $(RM) dockcross/manylinux1-x86 > $(BIN)/dockcross-manylinux1-x86 && chmod +x $(BIN)/dockcross-manylinux1-x86
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux1-x86 > $(BIN)/dockcross-manylinux1-x86 && chmod +x $(BIN)/dockcross-manylinux1-x86
|
||||
$(BIN)/dockcross-manylinux1-x86 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
@ -288,7 +288,7 @@ base: Dockerfile imagefiles/
|
||||
.
|
||||
|
||||
base.test: base
|
||||
$(DOCKER) run $(RM) dockcross/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
|
||||
$(DOCKER) run $(RM) $(ORG)/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
|
||||
|
||||
#
|
||||
# display
|
||||
@ -319,12 +319,17 @@ $(STANDARD_IMAGES): %: %/Dockerfile base
|
||||
$@
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
clean:
|
||||
for d in $(STANDARD_IMAGES) ; do rm -rf $$d/imagefiles ; done
|
||||
for d in $(GEN_IMAGE_DOCKERFILES) ; do rm -f $$d/Dockerfile ; done
|
||||
rm -f Dockerfile
|
||||
|
||||
#
|
||||
# testing implicit rule
|
||||
#
|
||||
.SECONDEXPANSION:
|
||||
$(addsuffix .test,$(STANDARD_IMAGES)): $$(basename $$@)
|
||||
$(DOCKER) run $(RM) dockcross/$(basename $@) > $(BIN)/dockcross-$(basename $@) && chmod +x $(BIN)/dockcross-$(basename $@)
|
||||
$(DOCKER) run $(RM) $(ORG)/$(basename $@) > $(BIN)/dockcross-$(basename $@) && chmod +x $(BIN)/dockcross-$(basename $@)
|
||||
$(BIN)/dockcross-$(basename $@) python test/run.py $($@_ARGS)
|
||||
|
||||
#
|
||||
@ -335,4 +340,4 @@ test.prerequisites:
|
||||
|
||||
$(addsuffix .test,base $(IMAGES)): test.prerequisites
|
||||
|
||||
.PHONY: base images $(IMAGES) test %.test
|
||||
.PHONY: base images $(IMAGES) test %.test clean
|
||||
|
@ -30,8 +30,8 @@ RUN \
|
||||
ncurses-dev \
|
||||
pkg-config \
|
||||
pax \
|
||||
python \
|
||||
python-pip \
|
||||
# python3 \
|
||||
# python3-pip \
|
||||
rsync \
|
||||
sed \
|
||||
ssh \
|
||||
@ -41,5 +41,23 @@ RUN \
|
||||
xz-utils \
|
||||
zip \
|
||||
zlib1g-dev \
|
||||
# python build
|
||||
libncurses5-dev \
|
||||
libgdbm-dev \
|
||||
libnss3-dev \
|
||||
libssl-dev \
|
||||
libsqlite3-dev \
|
||||
libreadline-dev \
|
||||
libffi-dev \
|
||||
libbz2-dev\
|
||||
&& \
|
||||
apt-get clean --yes
|
||||
|
||||
# build and install python
|
||||
COPY \
|
||||
imagefiles/build-and-install-python.sh \
|
||||
/buildscripts/
|
||||
RUN \
|
||||
set -x && \
|
||||
/buildscripts/build-and-install-python.sh && \
|
||||
rm -rf /buildscripts
|
@ -8,6 +8,7 @@ RUN \
|
||||
yum -y install \
|
||||
$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2014-x86" ] && echo "" || echo "epel-release") \
|
||||
gpg \
|
||||
python3-devel \
|
||||
zlib-devel \
|
||||
gettext \
|
||||
openssh-clients \
|
||||
|
40
imagefiles/build-and-install-python.sh
Executable file
40
imagefiles/build-and-install-python.sh
Executable file
@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#
|
||||
# Configure, build and install python
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# build-and-install-python.sh [-version 3.9.5]
|
||||
|
||||
PYTHON_VERSION=3.9.5
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
-version|-v)
|
||||
PYTHON_VERSION=$2
|
||||
shift
|
||||
;;&
|
||||
*)
|
||||
echo "Usage: Usage: ${0##*/} [-version 3.9.5]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Download
|
||||
wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz
|
||||
tar xvf Python-${PYTHON_VERSION}.tgz
|
||||
# Configure, build and install
|
||||
cd Python-${PYTHON_VERSION}
|
||||
# Disable --enable-shared --enable-optimizations --prefix=/usr/local/python-${PYTHON_VERSION}
|
||||
./configure --with-ensurepip=install
|
||||
make -j$(nproc)
|
||||
make install #altinstall
|
||||
|
||||
ln -s /usr/local/bin/python3 /usr/local/bin/python
|
||||
ln -s /usr/local/bin/pip3 /usr/local/bin/pip
|
||||
|
||||
# Clean
|
||||
cd ..
|
||||
rm -rf Python-${PYTHON_VERSION}
|
@ -22,8 +22,8 @@ cd /tmp
|
||||
|
||||
# Todo: Need to update base image from Debian Stretch for the required Python
|
||||
# 3.6 or later
|
||||
# curl -# -LO https://bootstrap.pypa.io/pip/get-pip.py
|
||||
curl -# -LO https://bootstrap.pypa.io/pip/2.7/get-pip.py
|
||||
curl -# -LO https://bootstrap.pypa.io/pip/get-pip.py
|
||||
#curl -# -LO https://bootstrap.pypa.io/pip/2.7/get-pip.py
|
||||
${PYTHON} get-pip.py --ignore-installed
|
||||
rm get-pip.py
|
||||
|
||||
|
@ -431,7 +431,7 @@ CT_DEBUG_gdb=y
|
||||
CT_GDB_CROSS=y
|
||||
# CT_GDB_CROSS_STATIC is not set
|
||||
# CT_GDB_CROSS_SIM is not set
|
||||
CT_GDB_CROSS_PYTHON=y
|
||||
CT_GDB_CROSS_PYTHON=n
|
||||
CT_GDB_CROSS_PYTHON_BINARY=""
|
||||
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
|
||||
# CT_GDB_NATIVE is not set
|
||||
@ -449,7 +449,7 @@ CT_GDB_7_12_or_later=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_HAS_PYTHON=n
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
# CT_DEBUG_ltrace is not set
|
||||
# CT_DEBUG_strace is not set
|
||||
|
@ -428,7 +428,7 @@ CT_DEBUG_gdb=y
|
||||
CT_GDB_CROSS=y
|
||||
# CT_GDB_CROSS_STATIC is not set
|
||||
# CT_GDB_CROSS_SIM is not set
|
||||
CT_GDB_CROSS_PYTHON=y
|
||||
CT_GDB_CROSS_PYTHON=n
|
||||
CT_GDB_CROSS_PYTHON_BINARY=""
|
||||
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
|
||||
# CT_GDB_NATIVE is not set
|
||||
@ -446,7 +446,7 @@ CT_GDB_7_12_or_later=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_HAS_PYTHON=n
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
# CT_DEBUG_ltrace is not set
|
||||
# CT_DEBUG_strace is not set
|
||||
|
@ -428,7 +428,7 @@ CT_DEBUG_gdb=y
|
||||
CT_GDB_CROSS=y
|
||||
# CT_GDB_CROSS_STATIC is not set
|
||||
CT_GDB_CROSS_SIM=y
|
||||
CT_GDB_CROSS_PYTHON=y
|
||||
CT_GDB_CROSS_PYTHON=n
|
||||
CT_GDB_CROSS_PYTHON_BINARY=""
|
||||
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
|
||||
# CT_GDB_NATIVE is not set
|
||||
@ -446,7 +446,7 @@ CT_GDB_7_12_or_later=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_HAS_PYTHON=n
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
# CT_DEBUG_ltrace is not set
|
||||
# CT_DEBUG_strace is not set
|
||||
|
@ -514,7 +514,7 @@ CT_GDB_7_12_or_later=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_HAS_PYTHON=n
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
# CT_DEBUG_ltrace is not set
|
||||
# CT_DEBUG_strace is not set
|
||||
|
@ -442,7 +442,7 @@ CT_GDB_7_12_or_later=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_HAS_PYTHON=n
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
# CT_DEBUG_ltrace is not set
|
||||
# CT_DEBUG_strace is not set
|
||||
|
@ -441,7 +441,7 @@ CT_GDB_7_12_or_later=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_HAS_PYTHON=n
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
# CT_DEBUG_ltrace is not set
|
||||
# CT_DEBUG_strace is not set
|
||||
|
@ -443,7 +443,7 @@ CT_GDB_7_12_or_later=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_HAS_PYTHON=n
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
# CT_DEBUG_ltrace is not set
|
||||
# CT_DEBUG_strace is not set
|
||||
|
@ -4,87 +4,15 @@ 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.22.0
|
||||
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
|
||||
LD_PRELOAD=/usr/lib/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
|
||||
|
@ -449,7 +449,7 @@ CT_GDB_7_12_or_later=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
CT_GDB_HAS_PYTHON=y
|
||||
CT_GDB_HAS_PYTHON=n
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
# CT_DEBUG_ltrace is not set
|
||||
# CT_DEBUG_strace is not set
|
||||
|
Loading…
Reference in New Issue
Block a user