mirror of
				https://github.com/bensuperpc/dockcross.git
				synced 2025-10-30 23:56:23 +01:00 
			
		
		
		
	ENH: Adding initial manylinux_2_34-x64 support.
This commit is contained in:
		
							
								
								
									
										27
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								Makefile
									
									
									
									
									
								
							| @@ -49,7 +49,7 @@ STANDARD_IMAGES := android-arm android-arm64 android-x86 android-x86_64 \ | ||||
| # Generated Dockerfiles. | ||||
| GEN_IMAGES := android-arm android-arm64 \ | ||||
| 	linux-i686 linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \ | ||||
| 	manylinux_2_28-x64 \ | ||||
| 	manylinux_2_28-x64 manylinux_2_34-x64 \ | ||||
| 	manylinux2014-x64 manylinux2014-x86 \ | ||||
| 	manylinux2014-aarch64 linux-arm64-lts \ | ||||
| 	web-wasm web-wasi web-wasi-emulated-threads web-wasi-threads linux-mips linux-mips-uclibc linux-mips-lts windows-arm64 windows-armv7 \ | ||||
| @@ -68,11 +68,11 @@ MULTIARCH_IMAGES :=  linux-arm64 \ | ||||
| GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES)) | ||||
|  | ||||
| # These images are expected to have explicit rules for *both* build and testing | ||||
| NON_STANDARD_IMAGES := manylinux_2_28-x64 manylinux2014-x64 manylinux2014-x86 \ | ||||
| NON_STANDARD_IMAGES := manylinux_2_28-x64 manylinux_2_34-x64 manylinux2014-x64 manylinux2014-x86 \ | ||||
| 		      manylinux2014-aarch64 web-wasm web-wasi-emulated-threads web-wasi-threads | ||||
|  | ||||
| # Docker composite files | ||||
| DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.buildroot \ | ||||
| DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.manylinux_2_34 common.buildroot \ | ||||
| 	common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \ | ||||
| 	common.label-and-env | ||||
| DOCKER_COMPOSITE_FOLDER_PATH = common/ | ||||
| @@ -128,6 +128,7 @@ $(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOS | ||||
| 		-e '/common.docker/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.docker' \ | ||||
| 		-e '/common.debian/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.debian' \ | ||||
| 		-e '/common.manylinux_2_28/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_28' \ | ||||
| 		-e '/common.manylinux_2_34/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_34' \ | ||||
| 		-e '/common.manylinux2014/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux2014' \ | ||||
| 		-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \ | ||||
| 		-e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \ | ||||
| @@ -230,6 +231,26 @@ manylinux_2_28-x64.test: manylinux_2_28-x64 | ||||
| 		&& chmod +x $(BIN)/dockcross-manylinux_2_28-x64 | ||||
| 	$(BIN)/dockcross-manylinux_2_28-x64 -i $(ORG)/manylinux_2_28-x64:latest /opt/python/cp310-cp310/bin/python test/run.py | ||||
|  | ||||
| # | ||||
| # manylinux_2_34-x64 | ||||
| # | ||||
| manylinux_2_34-x64: manylinux_2_34-x64/Dockerfile | ||||
| 	mkdir -p $@/imagefiles && cp -r imagefiles $@/ | ||||
| 	$(DOCKER) build -t $(ORG)/manylinux_2_34-x64:$(TAG) \ | ||||
| 		-t $(ORG)/manylinux_2_34-x64:latest \ | ||||
| 		--build-arg IMAGE=$(ORG)/manylinux_2_34-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 manylinux_2_34-x64/Dockerfile . | ||||
| 	rm -rf $@/imagefiles | ||||
|  | ||||
| manylinux_2_34-x64.test: manylinux_2_34-x64 | ||||
| 	$(DOCKER) run $(RM) $(ORG)/manylinux_2_34-x64:latest > $(BIN)/dockcross-manylinux_2_34-x64 \ | ||||
| 		&& chmod +x $(BIN)/dockcross-manylinux_2_34-x64 | ||||
| 	$(BIN)/dockcross-manylinux_2_34-x64 -i $(ORG)/manylinux_2_34-x64:latest /opt/python/cp310-cp310/bin/python test/run.py | ||||
|  | ||||
| # | ||||
| # manylinux2014-x64 | ||||
| # | ||||
|   | ||||
| @@ -116,6 +116,7 @@ The dockcross script will execute the given command-line inside the container, a | ||||
| | dockcross/linux-m68k-uclibc | m68k | GCC + uclibc | Linux | | ||||
| | dockcross/linux-xtensa-uclibc | xtensa | GCC + uclibc | Linux | | ||||
| | dockcross/manylinux_2_28-x64 | x86_64 | GCC | Linux | | ||||
| | dockcross/manylinux_2_34-x64 | x86_64 | GCC | Linux | | ||||
| | dockcross/manylinux2014-x86 | x86 | GCC | Linux | | ||||
| | dockcross/manylinux2014-x64 | x86_64 | GCC | Linux | | ||||
| | dockcross/linux-i686 | x86 | GCC | Linux | | ||||
| @@ -384,6 +385,12 @@ Standalone Linux i686 cross compiler. | ||||
|  | ||||
| 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/manylinux_2_34-x64 | ||||
|  | ||||
|   | ||||
|  | ||||
| Docker [manylinux_2_34](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.8.10+, 3.9.5+, 3.10.0+. 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_34** to \"TRUE\" in the toolchain. | ||||
|  | ||||
| ### dockcross/manylinux2014-x64 | ||||
|  | ||||
|   | ||||
|   | ||||
							
								
								
									
										30
									
								
								common/common.manylinux_2_34
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								common/common.manylinux_2_34
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| RUN \ | ||||
|   set -x && \ | ||||
|   yum upgrade -y almalinux-release && \ | ||||
|   yum -y install \ | ||||
|     gpg \ | ||||
|     python3-devel \ | ||||
|     zlib-devel \ | ||||
|     gettext \ | ||||
|     openssh-clients \ | ||||
|     wget \ | ||||
|     nasm \ | ||||
|     zip \ | ||||
|   && \ | ||||
|   yum clean all | ||||
|  | ||||
| # Image build scripts | ||||
| COPY \ | ||||
|   manylinux-common/install-python-packages.sh \ | ||||
|   /buildscripts/ | ||||
|  | ||||
| RUN \ | ||||
|   set -x && \ | ||||
|   # Remove sudo provided by devtoolset since it doesn't work with | ||||
|   # our sudo wrapper calling gosu. | ||||
|   rm -f /opt/rh/gcc-toolset-14/root/usr/bin/sudo && \ | ||||
|   /buildscripts/install-python-packages.sh && \ | ||||
|   rm -rf /buildscripts | ||||
|  | ||||
| # Runtime scripts | ||||
| COPY manylinux-common/pre_exec.sh /dockcross/ | ||||
							
								
								
									
										29
									
								
								manylinux_2_34-x64/Dockerfile.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								manylinux_2_34-x64/Dockerfile.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| # Recent versions address yum functionality | ||||
| FROM quay.io/pypa/manylinux_2_34_x86_64:2025-02-02-9ae4a5a | ||||
|  | ||||
| LABEL maintainer="Matt McCormick matt@mmmccormick.com" | ||||
|  | ||||
| ENV DEFAULT_DOCKCROSS_IMAGE=dockcross/manylinux_2_34-x64 | ||||
|  | ||||
| #include "common.manylinux_2_34" | ||||
|  | ||||
| #include "common.dockcross" | ||||
|  | ||||
| #include "common.docker" | ||||
|  | ||||
| ENV CROSS_TRIPLE=x86_64-linux-gnu | ||||
| ENV CROSS_ROOT=/opt/rh/gcc-toolset-14/root/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 manylinux_2_34-x64/Toolchain.cmake ${CROSS_ROOT}/../lib/ | ||||
| ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/../lib/Toolchain.cmake | ||||
|  | ||||
| #include "common.label-and-env" | ||||
							
								
								
									
										11
									
								
								manylinux_2_34-x64/Toolchain.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								manylinux_2_34-x64/Toolchain.cmake
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| set(CMAKE_SYSTEM_NAME Linux) | ||||
| set(CMAKE_CROSSCOMPILING FALSE) | ||||
| set(CMAKE_SYSTEM_VERSION 1) | ||||
| set(CMAKE_SYSTEM_PROCESSOR x86_64) | ||||
|  | ||||
| set(MANYLINUX_2_34 TRUE) | ||||
|  | ||||
| set(CROSS_ROOT /opt/rh/gcc-toolset-14/root/bin/) | ||||
| set(CMAKE_C_COMPILER ${CROSS_ROOT}/gcc) | ||||
| set(CMAKE_CXX_COMPILER ${CROSS_ROOT}/g++) | ||||
| set(CMAKE_Fortran_COMPILER ${CROSS_ROOT}/gfortran) | ||||
		Reference in New Issue
	
	Block a user
	 Hans Johnson
					Hans Johnson