mirror of
https://github.com/bensuperpc/dockcross.git
synced 2024-11-09 20:57:26 +01:00
Add manylinux2010-x64 image
Since i686 image is not yet available in upstream project, this commit only add the x64 version.
This commit is contained in:
parent
1e0e89814b
commit
4793ea7c06
@ -326,6 +326,26 @@ jobs:
|
||||
- save_cache:
|
||||
key: manylinux1-x86-assets-{{ .Revision }}
|
||||
paths: ~/docker/manylinux1-x86.tar
|
||||
manylinux2010-x64:
|
||||
<<: *build-settings
|
||||
steps:
|
||||
- restore_cache:
|
||||
key: base-assets-{{ .Revision }}
|
||||
- run:
|
||||
name: manylinux2010-x64 build
|
||||
no_output_timeout: 1.5h
|
||||
command: |
|
||||
docker load -i ~/docker/base.tar
|
||||
make manylinux2010-x64
|
||||
tagged=$(docker images -q -f 'since=dockcross/manylinux2010-x64:latest' --format '{{.Repository}}:{{.Tag}}' | grep manylinux2010-x64)
|
||||
docker save -o ~/docker/manylinux2010-x64.tar dockcross/manylinux2010-x64:latest $tagged
|
||||
- run:
|
||||
name: manylinux2010-x64 test
|
||||
command: |
|
||||
make manylinux2010-x64.test
|
||||
- save_cache:
|
||||
key: manylinux2010-x64-assets-{{ .Revision }}
|
||||
paths: ~/docker/manylinux2010-x64.tar
|
||||
windows-static-x64:
|
||||
<<: *build-settings
|
||||
steps:
|
||||
@ -641,6 +661,18 @@ jobs:
|
||||
tagged=$(docker images -q -f 'since=dockcross/manylinux1-x86:latest' --format '{{.Repository}}:{{.Tag}}' | grep manylinux1-x86)
|
||||
docker push $tagged
|
||||
fi
|
||||
- restore_cache:
|
||||
key: manylinux2010-x64-assets-{{ .Revision }}
|
||||
- deploy:
|
||||
name: Deploy manylinux2010-x64
|
||||
command: |
|
||||
docker load -i ~/docker/manylinux2010-x64.tar
|
||||
if [ "${CIRCLE_BRANCH}" == "master" ]; then
|
||||
docker login -u $DOCKER_USER -p $DOCKER_PASS
|
||||
docker push dockcross/manylinux2010-x64:latest
|
||||
tagged=$(docker images -q -f 'since=dockcross/manylinux2010-x64:latest' --format '{{.Repository}}:{{.Tag}}' | grep manylinux2010-x64)
|
||||
docker push $tagged
|
||||
fi
|
||||
- restore_cache:
|
||||
key: windows-static-x64-assets-{{ .Revision }}
|
||||
- deploy:
|
||||
@ -766,6 +798,9 @@ workflows:
|
||||
- manylinux1-x86:
|
||||
requires:
|
||||
- base
|
||||
- manylinux2010-x64:
|
||||
requires:
|
||||
- base
|
||||
- windows-static-x64:
|
||||
requires:
|
||||
- base
|
||||
@ -803,6 +838,7 @@ workflows:
|
||||
- linux-x86
|
||||
- manylinux1-x64
|
||||
- manylinux1-x86
|
||||
- manylinux2010-x64
|
||||
- windows-static-x64
|
||||
- windows-static-x64-posix
|
||||
- windows-static-x86
|
||||
|
30
Makefile
30
Makefile
@ -16,11 +16,11 @@ BIN = ./bin
|
||||
STANDARD_IMAGES = linux-s390x android-arm android-arm64 linux-x86 linux-x64 linux-arm64 linux-armv5 linux-armv6 linux-armv7 linux-armv7a linux-mips linux-mipsel linux-ppc64le windows-static-x86 windows-static-x64 windows-static-x64-posix windows-shared-x86 windows-shared-x64 windows-shared-x64-posix
|
||||
|
||||
# Generated Dockerfiles.
|
||||
GEN_IMAGES = linux-s390x linux-mips manylinux1-x86 manylinux1-x64 web-wasm linux-arm64 windows-static-x86 windows-static-x64 windows-static-x64-posix windows-shared-x86 windows-shared-x64 windows-shared-x64-posix linux-armv7 linux-armv7a linux-armv5
|
||||
GEN_IMAGES = linux-s390x linux-mips manylinux1-x64 manylinux1-x86 manylinux2010-x64 web-wasm linux-arm64 windows-static-x86 windows-static-x64 windows-static-x64-posix windows-shared-x86 windows-shared-x64 windows-shared-x64-posix linux-armv7 linux-armv7a linux-armv5
|
||||
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES))
|
||||
|
||||
# These images are expected to have explicit rules for *both* build and testing
|
||||
NON_STANDARD_IMAGES = web-wasm manylinux1-x64 manylinux1-x86
|
||||
NON_STANDARD_IMAGES = web-wasm manylinux1-x64 manylinux1-x86 manylinux2010-x64
|
||||
|
||||
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux common.crosstool common.windows
|
||||
|
||||
@ -97,6 +97,32 @@ web-wasm.test: web-wasm
|
||||
$(BIN)/dockcross-web-wasm python test/run.py --exe-suffix ".js"
|
||||
rm -rf web-wasm/test
|
||||
|
||||
|
||||
#
|
||||
# manylinux2010-x64
|
||||
#
|
||||
|
||||
manylinux2010-x64: manylinux2010-x64/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux2010-x64:latest \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2010-x64 \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux2010-x64/Dockerfile .
|
||||
$(DOCKER) build -t $(ORG)/manylinux2010-x64:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2010-x64 \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux2010-x64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux2010-x64.test: manylinux2010-x64
|
||||
$(DOCKER) run $(RM) dockcross/manylinux2010-x64 > $(BIN)/dockcross-manylinux2010-x64 && chmod +x $(BIN)/dockcross-manylinux2010-x64
|
||||
$(BIN)/dockcross-manylinux2010-x64 /opt/python/cp35-cp35m/bin/python test/run.py
|
||||
|
||||
#
|
||||
# manylinux1-x64
|
||||
#
|
||||
|
@ -182,6 +182,14 @@ dockcross/linux-x86
|
||||
|linux-x86-images| Linux i686 cross compiler.
|
||||
|
||||
|
||||
.. |manylinux2010-x64-images| image:: https://images.microbadger.com/badges/image/dockcross/manylinux2010-x64.svg
|
||||
:target: https://microbadger.com/images/dockcross/manylinux2010-x64
|
||||
|
||||
dockcross/manylinux2010-x64
|
||||
|manylinux2010-x64-images| Docker `manylinux2010 <https://github.com/pypa/manylinux>`_ image for building Linux x86_64 / amd64 `Python wheel packages <http://pythonwheels.com/>`_. It includes Python 2.7, 3.4, 3.5, 3.6, 3.7 and 3.8.
|
||||
Also has support for the dockcross script, and it has installations of CMake, Ninja, and `scikit-build <http://scikit-build.org>`_
|
||||
|
||||
|
||||
.. |manylinux1-x64-images| image:: https://images.microbadger.com/badges/image/dockcross/manylinux1-x64.svg
|
||||
:target: https://microbadger.com/images/dockcross/manylinux1-x64
|
||||
|
||||
|
@ -18,9 +18,10 @@ RUN \
|
||||
&& \
|
||||
yum clean all && \
|
||||
/buildscripts/install-gosu-binary.sh && \
|
||||
# Remove sudo provided by "devtoolset-2" since it doesn't work with
|
||||
# Remove sudo provided by "devtoolset-2" and "devtoolset-8" since it doesn't work with
|
||||
# our sudo wrapper calling gosu.
|
||||
rm /opt/rh/devtoolset-2/root/usr/bin/sudo && \
|
||||
rm -f /opt/rh/devtoolset-2/root/usr/bin/sudo && \
|
||||
rm -f /opt/rh/devtoolset-8/root/usr/bin/sudo && \
|
||||
/buildscripts/install-python-packages.sh && \
|
||||
rm -rf /buildscripts
|
||||
|
||||
|
37
manylinux2010-x64/Dockerfile.in
Normal file
37
manylinux2010-x64/Dockerfile.in
Normal file
@ -0,0 +1,37 @@
|
||||
FROM scikitbuild/manylinux2010_x86_64:09d11d5f8
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux2010-x64
|
||||
|
||||
#include "common.manylinux"
|
||||
|
||||
#include "common.docker"
|
||||
|
||||
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
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
ARG IMAGE=dockcross/manylinux2010-x64
|
||||
ARG VERSION=latest
|
||||
ARG VCS_REF
|
||||
ARG VCS_URL
|
||||
LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.name=$IMAGE \
|
||||
org.label-schema.version=$VERSION \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
12
manylinux2010-x64/Toolchain.cmake
Normal file
12
manylinux2010-x64/Toolchain.cmake
Normal file
@ -0,0 +1,12 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
|
||||
set(cross_triple "x86_64-linux-gnu")
|
||||
|
||||
set(CMAKE_C_COMPILER /opt/rh/devtoolset-8/root/usr/bin/gcc)
|
||||
set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-8/root/usr/bin/g++)
|
||||
set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
|
||||
set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-8/root/usr/bin/gfortran)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/${cross_triple}-noop)
|
Loading…
Reference in New Issue
Block a user