diff --git a/centos/Dockerfile b/centos/Dockerfile index be3c73eb87d8b71ff525973453a1cea11d37e0c8..c9318a289662e03db92aba07e60802599d28aae3 100644 --- a/centos/Dockerfile +++ b/centos/Dockerfile @@ -443,7 +443,6 @@ RUN version=3.7.12 && \ --enable-shared \ --with-ensurepip=install \ --with-system-expat \ - --with-system-ffi \ && \ make -j$(nproc) altinstall && \ cd .. && \ @@ -451,7 +450,7 @@ RUN version=3.7.12 && \ ldconfig # Python 3.8 -RUN version=3.8.12 && \ +RUN version=3.8.19 && \ source /etc/profile && \ cd /tmp && \ curl -sSLO https://www.python.org/ftp/python/${version}/Python-${version}.tgz && \ @@ -463,7 +462,6 @@ RUN version=3.8.12 && \ --enable-shared \ --with-ensurepip=install \ --with-system-expat \ - --with-system-ffi \ && \ make -j$(nproc) altinstall && \ cd .. && \ @@ -471,7 +469,7 @@ RUN version=3.8.12 && \ ldconfig # Python 3.9 -RUN version=3.9.9 && \ +RUN version=3.9.19 && \ source /etc/profile && \ cd /tmp && \ curl -sSLO https://www.python.org/ftp/python/${version}/Python-${version}.tgz && \ @@ -483,13 +481,53 @@ RUN version=3.9.9 && \ --enable-shared \ --with-ensurepip=install \ --with-system-expat \ - --with-system-ffi \ && \ make -j$(nproc) altinstall && \ cd .. && \ rm -rf Python-${version}* && \ ldconfig +# Python 3.10 +RUN version=3.10.14 && \ + source /etc/profile && \ + cd /tmp && \ + curl -sSLO https://www.python.org/ftp/python/${version}/Python-${version}.tgz && \ + tar -xf Python-${version}.tgz && \ + cd Python-${version} && \ + sed -i 's/PKG_CONFIG openssl /PKG_CONFIG openssl11 /g' configure && \ + ./configure \ + --prefix=/usr \ + --enable-optimizations \ + --enable-shared \ + --with-ensurepip=install \ + --with-system-expat \ + && \ + make -j$(nproc) altinstall && \ + cd .. && \ + rm -rf Python-${version}* && \ + ldconfig + +# Python 3.12 +RUN version=3.12.5 && \ + source /etc/profile && \ + cd /tmp && \ + curl -sSLO https://www.python.org/ftp/python/${version}/Python-${version}.tgz && \ + tar -xf Python-${version}.tgz && \ + cd Python-${version} && \ + sed -i 's/PKG_CONFIG openssl /PKG_CONFIG openssl11 /g' configure && \ + ./configure \ + --prefix=/usr \ + --enable-optimizations \ + --enable-shared \ + --with-ensurepip=install \ + --with-system-expat \ + && \ + make -j$(nproc) && \ + make -j$(nproc) altinstall && \ + cd .. && \ + rm -rf Python-${version}* && \ + ldconfig + # Python 3.7 packages RUN python3.7 -m pip --no-cache-dir install -U pip && \ python3.7 -m pip --no-cache-dir install 'cryptography<3.4' && \ @@ -538,6 +576,41 @@ RUN python3.9 -m pip --no-cache-dir install -U pip && \ h5py \ deprecation +# Python 3.10 packages +RUN python3.10 -m pip --no-cache-dir install -U pip && \ + python3.10 -m pip --no-cache-dir install 'cryptography<3.4' && \ + python3.10 -m pip --no-cache-dir install \ + wheel \ + twine \ + pytest \ + pytest-cov \ + pytest-testmon \ + pre-commit \ + testbook \ + jupyter \ + pandas \ + h5py \ + deprecation + +# Python 3.12 packages +RUN python3.12 -m pip --no-cache-dir install -U pip && \ + python3.12 -m pip --no-cache-dir install 'cryptography<3.4' && \ + python3.12 -m pip --no-cache-dir install \ + wheel \ + twine \ + pytest \ + pytest-cov \ + pytest-testmon \ + pre-commit \ + testbook \ + jupyter \ + pandas \ + h5py \ + deprecation + +# Remove non-vault yum repos +RUN rm /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-SCLo-scl.repo /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo + # Additional development dependencies RUN yum install -y \ patchelf \ @@ -546,9 +619,11 @@ RUN yum install -y \ && \ yum clean all -# Portable Python 3.8 +# Install portable python dependencies +ADD python/make-python-portable.py /usr/local/bin/make-python-portable.py -RUN version=3.8.12 && \ +# Portable Python 3.8 +RUN version=3.8.19 && \ source /etc/profile && \ cd /tmp && \ curl -sSLO https://www.python.org/ftp/python/${version}/Python-${version}.tgz && \ @@ -563,19 +638,12 @@ RUN version=3.8.12 && \ make -j$(nproc) altinstall && \ cd .. && \ rm -rf Python-${version}* - -ADD python/make-python-portable.py /usr/local/bin/make-python-portable.py -RUN yum install -y patchelf && \ - yum clean all && \ - source /etc/profile && \ +RUN source /etc/profile && \ make-python-portable.py /opt/python/3.8/bin/python3.8 - RUN tar -C /opt/python/3.8/ --numeric-owner --xattrs --xattrs-include='*' -cf /opt/python/python-3.8.tar . - # Portable Python 3.10 - -RUN version=3.10.2 && \ +RUN version=3.10.14 && \ source /etc/profile && \ cd /tmp && \ curl -sSLO https://www.python.org/ftp/python/${version}/Python-${version}.tgz && \ @@ -591,8 +659,28 @@ RUN version=3.10.2 && \ make -j$(nproc) altinstall && \ cd .. && \ rm -rf Python-${version}* - RUN source /etc/profile && \ make-python-portable.py /opt/python/3.10/bin/python3.10 - RUN tar -C /opt/python/3.10/ --numeric-owner --xattrs --xattrs-include='*' -cf /opt/python/python-3.10.tar . + +# Portable Python 3.12 +RUN version=3.12.5 && \ + source /etc/profile && \ + cd /tmp && \ + curl -sSLO https://www.python.org/ftp/python/${version}/Python-${version}.tgz && \ + tar -xf Python-${version}.tgz && \ + cd Python-${version} && \ + sed -i 's/PKG_CONFIG openssl /PKG_CONFIG openssl11 /g' configure && \ + CFLAGS="-fPIC" LDFLAGS="-fPIC" ./configure \ + --prefix=/opt/python/3.12 \ + --enable-optimizations \ + --enable-shared \ + --with-ensurepip=install \ + && \ + make -j$(nproc) && \ + make -j$(nproc) altinstall && \ + cd .. && \ + rm -rf Python-${version}* +RUN source /etc/profile && \ + make-python-portable.py /opt/python/3.12/bin/python3.12 +RUN tar -C /opt/python/3.12/ --numeric-owner --xattrs --xattrs-include='*' -cf /opt/python/python-3.12.tar . diff --git a/windows/base/Dockerfile b/windows/base/Dockerfile index 13fb16ed51648775180977cf03bd60a7797aa06f..aef450dd182cb27e2041f92b1d34fa06a1666c3e 100644 --- a/windows/base/Dockerfile +++ b/windows/base/Dockerfile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-3.0-or-later -FROM microsoft/dotnet-framework:3.5-runtime +FROM mcr.microsoft.com/dotnet/framework/runtime:3.5 LABEL maintainer="Moritz Maxeiner <moritz.maxeiner@fu-berlin.de>" LABEL authors="Moritz Maxeiner <moritz.maxeiner@fu-berlin.de>"