mirror of
https://github.com/bensuperpc/dockcross.git
synced 2024-12-22 16:24:27 +01:00
Add manylinux_2_28-x64 and retire manylinux_2_24-x64
Replaces manylinux_2_24 (which has been deprecated). Based on AlmaLinux (RedHat-based) and GCC 11. Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
This commit is contained in:
parent
dd849908aa
commit
ada2c8dad6
4
.github/workflows/main.yml
vendored
4
.github/workflows/main.yml
vendored
@ -771,9 +771,9 @@ jobs:
|
|||||||
cpython: "no",
|
cpython: "no",
|
||||||
cpython_arg: "",
|
cpython_arg: "",
|
||||||
}
|
}
|
||||||
# manylinux_2_24 images
|
# manylinux_2_28 images
|
||||||
- {
|
- {
|
||||||
image: "manylinux_2_24-x64",
|
image: "manylinux_2_28-x64",
|
||||||
stockfish: "yes",
|
stockfish: "yes",
|
||||||
stockfish_arg: "ARCH=x86-64-modern",
|
stockfish_arg: "ARCH=x86-64-modern",
|
||||||
ninja: "yes",
|
ninja: "yes",
|
||||||
|
31
Makefile
31
Makefile
@ -27,7 +27,7 @@ STANDARD_IMAGES = android-arm android-arm64 android-x86 android-x86_64 \
|
|||||||
# Generated Dockerfiles.
|
# Generated Dockerfiles.
|
||||||
GEN_IMAGES = android-arm android-arm64 \
|
GEN_IMAGES = android-arm android-arm64 \
|
||||||
linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \
|
linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \
|
||||||
manylinux_2_24-x64 \
|
manylinux_2_28-x64 \
|
||||||
manylinux2014-x64 manylinux2014-x86 \
|
manylinux2014-x64 manylinux2014-x86 \
|
||||||
manylinux2014-aarch64 linux-arm64-lts \
|
manylinux2014-aarch64 linux-arm64-lts \
|
||||||
web-wasm web-wasi linux-mips linux-mips-lts windows-arm64 windows-armv7 \
|
web-wasm web-wasi linux-mips linux-mips-lts windows-arm64 windows-armv7 \
|
||||||
@ -42,11 +42,11 @@ GEN_IMAGES = android-arm android-arm64 \
|
|||||||
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES))
|
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES))
|
||||||
|
|
||||||
# These images are expected to have explicit rules for *both* build and testing
|
# These images are expected to have explicit rules for *both* build and testing
|
||||||
NON_STANDARD_IMAGES = manylinux_2_24-x64 manylinux2014-x64 manylinux2014-x86 \
|
NON_STANDARD_IMAGES = manylinux_2_28-x64 manylinux2014-x64 manylinux2014-x86 \
|
||||||
manylinux2014-aarch64 web-wasm
|
manylinux2014-aarch64 web-wasm
|
||||||
|
|
||||||
# Docker composite files
|
# Docker composite files
|
||||||
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_24 common.buildroot \
|
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.buildroot \
|
||||||
common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \
|
common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \
|
||||||
common.label-and-env
|
common.label-and-env
|
||||||
DOCKER_COMPOSITE_FOLDER_PATH = common/
|
DOCKER_COMPOSITE_FOLDER_PATH = common/
|
||||||
@ -99,7 +99,7 @@ $(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOS
|
|||||||
sed \
|
sed \
|
||||||
-e '/common.docker/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.docker' \
|
-e '/common.docker/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.docker' \
|
||||||
-e '/common.debian/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.debian' \
|
-e '/common.debian/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.debian' \
|
||||||
-e '/common.manylinux_2_24/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_24' \
|
-e '/common.manylinux_2_28/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_28' \
|
||||||
-e '/common.manylinux2014/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux2014' \
|
-e '/common.manylinux2014/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux2014' \
|
||||||
-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \
|
-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \
|
||||||
-e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \
|
-e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \
|
||||||
@ -158,23 +158,23 @@ manylinux2014-aarch64.test: manylinux2014-aarch64
|
|||||||
$(BIN)/dockcross-manylinux2014-aarch64 /opt/python/cp38-cp38/bin/python test/run.py
|
$(BIN)/dockcross-manylinux2014-aarch64 /opt/python/cp38-cp38/bin/python test/run.py
|
||||||
|
|
||||||
#
|
#
|
||||||
# manylinux_2_24-x64
|
# manylinux_2_28-x64
|
||||||
#
|
#
|
||||||
manylinux_2_24-x64: manylinux_2_24-x64/Dockerfile
|
manylinux_2_28-x64: manylinux_2_28-x64/Dockerfile
|
||||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||||
$(DOCKER) build -t $(ORG)/manylinux_2_24-x64:latest \
|
$(DOCKER) build -t $(ORG)/manylinux_2_28-x64:latest \
|
||||||
-t $(ORG)/manylinux_2_24-x64:$(TAG) \
|
-t $(ORG)/manylinux_2_28-x64:$(TAG) \
|
||||||
--build-arg IMAGE=$(ORG)/manylinux_2_24-x64 \
|
--build-arg IMAGE=$(ORG)/manylinux_2_28-x64 \
|
||||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||||
-f manylinux_2_24-x64/Dockerfile .
|
-f manylinux_2_28-x64/Dockerfile .
|
||||||
rm -rf $@/imagefiles
|
rm -rf $@/imagefiles
|
||||||
|
|
||||||
manylinux_2_24-x64.test: manylinux_2_24-x64
|
manylinux_2_28-x64.test: manylinux_2_28-x64
|
||||||
$(DOCKER) run $(RM) $(ORG)/manylinux_2_24-x64 > $(BIN)/dockcross-manylinux_2_24-x64 \
|
$(DOCKER) run $(RM) $(ORG)/manylinux_2_28-x64 > $(BIN)/dockcross-manylinux_2_28-x64 \
|
||||||
&& chmod +x $(BIN)/dockcross-manylinux_2_24-x64
|
&& chmod +x $(BIN)/dockcross-manylinux_2_28-x64
|
||||||
$(BIN)/dockcross-manylinux_2_24-x64 /opt/python/cp310-cp310/bin/python test/run.py
|
$(BIN)/dockcross-manylinux_2_28-x64 /opt/python/cp310-cp310/bin/python test/run.py
|
||||||
|
|
||||||
#
|
#
|
||||||
# manylinux2014-x64
|
# manylinux2014-x64
|
||||||
@ -214,6 +214,9 @@ manylinux2014-x86.test: manylinux2014-x86
|
|||||||
&& chmod +x $(BIN)/dockcross-manylinux2014-x86
|
&& chmod +x $(BIN)/dockcross-manylinux2014-x86
|
||||||
$(BIN)/dockcross-manylinux2014-x86 /opt/python/cp38-cp38/bin/python test/run.py
|
$(BIN)/dockcross-manylinux2014-x86 /opt/python/cp38-cp38/bin/python test/run.py
|
||||||
|
|
||||||
|
#
|
||||||
|
# base
|
||||||
|
#
|
||||||
base: Dockerfile imagefiles/
|
base: Dockerfile imagefiles/
|
||||||
$(DOCKER) build -t $(ORG)/base:latest \
|
$(DOCKER) build -t $(ORG)/base:latest \
|
||||||
-t $(ORG)/base:$(TAG) \
|
-t $(ORG)/base:$(TAG) \
|
||||||
|
10
README.md
10
README.md
@ -108,7 +108,7 @@ The dockcross script will execute the given command-line inside the container, a
|
|||||||
| dockcross/linux-riscv64 | riscv64 | GCC | Linux |
|
| dockcross/linux-riscv64 | riscv64 | GCC | Linux |
|
||||||
| dockcross/linux-m68k-uclibc | m68k | GCC + uclibc | Linux |
|
| dockcross/linux-m68k-uclibc | m68k | GCC + uclibc | Linux |
|
||||||
| dockcross/linux-xtensa-uclibc | xtensa | GCC + uclibc | Linux |
|
| dockcross/linux-xtensa-uclibc | xtensa | GCC + uclibc | Linux |
|
||||||
| dockcross/manylinux_2_24-x64 | x86_64 | GCC | Linux |
|
| dockcross/manylinux_2_28-x64 | x86_64 | GCC | Linux |
|
||||||
| dockcross/manylinux2014-x86 | x86 | GCC | Linux |
|
| dockcross/manylinux2014-x86 | x86 | GCC | Linux |
|
||||||
| dockcross/manylinux2014-x64 | x86_64 | GCC | Linux |
|
| dockcross/manylinux2014-x64 | x86_64 | GCC | Linux |
|
||||||
| dockcross/linux-x86 | x86 | GCC | Linux |
|
| dockcross/linux-x86 | x86 | GCC | Linux |
|
||||||
@ -138,10 +138,12 @@ The list of docker images that are **no longer maintained**.
|
|||||||
| dockcross/manylinux1-x64 | x86_64 | GCC| manylinux | [2021-08-05](54f73cbb6) |
|
| dockcross/manylinux1-x64 | x86_64 | GCC| manylinux | [2021-08-05](54f73cbb6) |
|
||||||
| dockcross/manylinux2010-x86 | x86 | GCC | manylinux | [2021-08-05](54f73cbb6) |
|
| dockcross/manylinux2010-x86 | x86 | GCC | manylinux | [2021-08-05](54f73cbb6) |
|
||||||
| dockcross/manylinux2010-x64 | x86_64 | GCC | manylinux | [2021-08-05](54f73cbb6) |
|
| dockcross/manylinux2010-x64 | x86_64 | GCC | manylinux | [2021-08-05](54f73cbb6) |
|
||||||
|
| dockcross/manylinux_2_28-x64 | x86_64 | GCC | manylinux | [2022-06-16](manylinux_2_24-eol) |
|
||||||
|
|
||||||
[1e0e89814]: https://github.com/dockcross/dockcross/commit/1e0e89814
|
[1e0e89814]: https://github.com/dockcross/dockcross/commit/1e0e89814
|
||||||
[a30e76d5c]: https://github.com/dockcross/dockcross/commit/a30e76d5c
|
[a30e76d5c]: https://github.com/dockcross/dockcross/commit/a30e76d5c
|
||||||
[54f73cbb6]: https://github.com/dockcross/dockcross/commit/54f73cbb6
|
[54f73cbb6]: https://github.com/dockcross/dockcross/commit/54f73cbb6
|
||||||
|
[manylinux_2_24-eol]: https://github.com/pypa/manylinux/issues/1332#issuecomment-1157666846
|
||||||
|
|
||||||
## Cross compilers
|
## Cross compilers
|
||||||
|
|
||||||
@ -348,11 +350,11 @@ Linux i686 cross compiler.
|
|||||||
|
|
||||||
Linux tcc compiler for C compiler, and GCC for C++ compiler, for linux x86_64/amd64 arch.
|
Linux tcc compiler for C compiler, and GCC for C++ compiler, for linux x86_64/amd64 arch.
|
||||||
|
|
||||||
### dockcross/manylinux_2_24-x64
|
### dockcross/manylinux_2_28-x64
|
||||||
|
|
||||||
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/manylinux_2_24-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/manylinux2014-x64)
|
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/manylinux_2_28-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/manylinux_2_28-x64)
|
||||||
|
|
||||||
Docker [manylinux_2_24](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.6, 3.7, 3.8, 3.9, 3.10 and 3.11. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_24** to \"TRUE\" in the toolchain.
|
Docker [manylinux_2_28](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.6, 3.7, 3.8, 3.9, 3.10 and 3.11. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_28** to \"TRUE\" in the toolchain.
|
||||||
|
|
||||||
### dockcross/manylinux2014-x64
|
### dockcross/manylinux2014-x64
|
||||||
|
|
||||||
|
@ -1,3 +1,16 @@
|
|||||||
|
RUN \
|
||||||
|
set -x && \
|
||||||
|
yum -y install \
|
||||||
|
gpg \
|
||||||
|
python3-devel \
|
||||||
|
zlib-devel \
|
||||||
|
gettext \
|
||||||
|
openssh-clients \
|
||||||
|
wget \
|
||||||
|
zip \
|
||||||
|
&& \
|
||||||
|
yum clean all
|
||||||
|
|
||||||
# Image build scripts
|
# Image build scripts
|
||||||
COPY \
|
COPY \
|
||||||
manylinux-common/install-python-packages.sh \
|
manylinux-common/install-python-packages.sh \
|
||||||
@ -5,20 +18,9 @@ COPY \
|
|||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
set -x && \
|
set -x && \
|
||||||
apt-get update -qq && \
|
# Remove sudo provided by devtoolset since it doesn't work with
|
||||||
apt-get -y install \
|
# our sudo wrapper calling gosu.
|
||||||
dirmngr \
|
rm -f /opt/rh/gcc-toolset-11/root/usr/bin/sudo && \
|
||||||
gnupg \
|
|
||||||
python3-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
gettext \
|
|
||||||
openssh-client \
|
|
||||||
pax \
|
|
||||||
wget \
|
|
||||||
zip \
|
|
||||||
&& \
|
|
||||||
apt-get clean -qq && \
|
|
||||||
rm -rf /var/lib/apt/lists/* && \
|
|
||||||
/buildscripts/install-python-packages.sh && \
|
/buildscripts/install-python-packages.sh && \
|
||||||
rm -rf /buildscripts
|
rm -rf /buildscripts
|
||||||
|
|
@ -1,11 +0,0 @@
|
|||||||
set(CMAKE_SYSTEM_NAME Linux)
|
|
||||||
set(CMAKE_CROSSCOMPILING FALSE)
|
|
||||||
set(CMAKE_SYSTEM_VERSION 1)
|
|
||||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
|
||||||
|
|
||||||
set(MANYLINUX_2_24 TRUE)
|
|
||||||
|
|
||||||
set(CMAKE_C_COMPILER /usr/bin/gcc)
|
|
||||||
set(CMAKE_CXX_COMPILER /usr/bin/g++)
|
|
||||||
set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
|
|
||||||
set(CMAKE_Fortran_COMPILER /usr/bin/gfortran)
|
|
@ -1,18 +1,18 @@
|
|||||||
# Recent versions address yum functionality
|
# Recent versions address yum functionality
|
||||||
FROM quay.io/pypa/manylinux_2_24_x86_64:latest
|
FROM quay.io/pypa/manylinux_2_28_x86_64:latest
|
||||||
|
|
||||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||||
|
|
||||||
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux_2_24-x64
|
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux_2_28-x64
|
||||||
|
|
||||||
#include "common.manylinux_2_24"
|
#include "common.manylinux_2_28"
|
||||||
|
|
||||||
#include "common.dockcross"
|
#include "common.dockcross"
|
||||||
|
|
||||||
#include "common.docker"
|
#include "common.docker"
|
||||||
|
|
||||||
ENV CROSS_TRIPLE x86_64-linux-gnu
|
ENV CROSS_TRIPLE x86_64-linux-gnu
|
||||||
ENV CROSS_ROOT /usr/bin
|
ENV CROSS_ROOT /opt/rh/gcc-toolset-11/root/bin/
|
||||||
ENV AS=${CROSS_ROOT}/as \
|
ENV AS=${CROSS_ROOT}/as \
|
||||||
AR=${CROSS_ROOT}/ar \
|
AR=${CROSS_ROOT}/ar \
|
||||||
CC=${CROSS_ROOT}/gcc \
|
CC=${CROSS_ROOT}/gcc \
|
||||||
@ -23,7 +23,7 @@ ENV AS=${CROSS_ROOT}/as \
|
|||||||
|
|
||||||
COPY linux-x64/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop
|
COPY linux-x64/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop
|
||||||
|
|
||||||
COPY manylinux_2_24-x64/Toolchain.cmake ${CROSS_ROOT}/../lib/
|
COPY manylinux_2_28-x64/Toolchain.cmake ${CROSS_ROOT}/../lib/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
12
manylinux_2_28-x64/Toolchain.cmake
Normal file
12
manylinux_2_28-x64/Toolchain.cmake
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
set(CMAKE_SYSTEM_NAME Linux)
|
||||||
|
set(CMAKE_CROSSCOMPILING FALSE)
|
||||||
|
set(CMAKE_SYSTEM_VERSION 1)
|
||||||
|
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||||
|
|
||||||
|
set(MANYLINUX_2_28 TRUE)
|
||||||
|
|
||||||
|
set(CROSS_ROOT /opt/rh/gcc-toolset-11/root/bin/)
|
||||||
|
set(CMAKE_C_COMPILER ${CROSS_ROOT}/gcc)
|
||||||
|
set(CMAKE_CXX_COMPILER ${CROSS_ROOT}/g++)
|
||||||
|
set(CMAKE_ASM_COMPILER ${CROSS_ROOT}/as)
|
||||||
|
set(CMAKE_Fortran_COMPILER ${CROSS_ROOT}/gfortran)
|
Loading…
Reference in New Issue
Block a user