diff --git a/3.9/bookworm/Dockerfile b/3.9/bookworm/Dockerfile deleted file mode 100644 index ccc6c67..0000000 --- a/3.9/bookworm/Dockerfile +++ /dev/null @@ -1,144 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:bookworm - -# runtime dependencies -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - tcl \ - tk \ - ; \ - rm -rf /var/lib/apt/lists/* - -# http://bugs.python.org/issue19846 -# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK. -ENV LANG C.UTF-8 - -# ensure local pypy3 is preferred over distribution pypy3 -ENV PATH /opt/pypy/bin:$PATH - -# Python 3.9.19 -ENV PYPY_VERSION 7.3.16 - -RUN set -eux; \ - \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - 'amd64') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-linux64.tar.bz2'; \ - sha256='16f9c5b808c848516e742986e826b833cdbeda09ad8764e8704595adbe791b23'; \ - ;; \ - 'arm64') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-aarch64.tar.bz2'; \ - sha256='de3f2ed3581b30555ac0dd3e4df78a262ec736a36fb2e8f28259f8539b278ef4'; \ - ;; \ - 'i386') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-linux32.tar.bz2'; \ - sha256='583b6d6dd4e8c07cbc04da04a7ec2bdfa6674825289c2378c5e018d5abe779ea'; \ - ;; \ - 's390x') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-s390x.tar.bz2'; \ - sha256='7a56ebb27dba3110dc1ff52d8e0449cdb37fe5c2275f7faf11432e4e164833ba'; \ - ;; \ - *) echo >&2 "error: current architecture ($dpkgArch) does not have a corresponding PyPy $PYPY_VERSION binary release"; exit 1 ;; \ - esac; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ -# sometimes "pypy3" itself is linked against libexpat1 / libncurses5, sometimes they're ".so" files in "/opt/pypy/lib/pypy3.9" - libexpat1 \ - libncurses5 \ - libncursesw6 \ - libsqlite3-0 \ -# (so we'll add them temporarily, then use "ldd" later to determine which to keep based on usage per architecture) - ; \ - \ - wget -O pypy.tar.bz2 "$url" --progress=dot:giga; \ - echo "$sha256 *pypy.tar.bz2" | sha256sum --check --strict -; \ - mkdir /opt/pypy; \ - tar -xjC /opt/pypy --strip-components=1 -f pypy.tar.bz2; \ - find /opt/pypy/lib* -depth -type d -a \( -name test -o -name tests \) -exec rm -rf '{}' +; \ - rm pypy.tar.bz2; \ - \ - ln -sv '/opt/pypy/bin/pypy3' /usr/local/bin/; \ - \ -# smoke test - pypy3 --version; \ - \ - cd /opt/pypy/lib/pypy3.9; \ -# on pypy3, rebuild gdbm ffi bits for compatibility with Debian Stretch+ - if [ -f _gdbm_build.py ]; then \ - pypy3 _gdbm_build.py; \ - fi; \ -# https://github.com/docker-library/pypy/issues/24#issuecomment-409408657 - if [ -f _ssl_build.py ]; then \ - pypy3 _ssl_build.py; \ - fi; \ -# https://github.com/docker-library/pypy/issues/42 - if [ -f _lzma_build.py ]; then \ - pypy3 _lzma_build.py; \ - fi; \ -# https://github.com/docker-library/pypy/issues/68 - if [ -f _sqlite3_build.py ]; then \ - pypy3 _sqlite3_build.py; \ - fi; \ -# TODO rebuild other cffi modules here too? (other _*_build.py files) - \ - apt-mark auto '.*' > /dev/null; \ - [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; \ - find /opt/pypy -type f -executable -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf /var/lib/apt/lists/*; \ -# smoke test again, to be sure - pypy3 --version; \ - \ - find /opt/pypy -depth \ - \( \ - \( -type d -a \( -name test -o -name tests \) \) \ - -o \ - \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ - \) -exec rm -rf '{}' + - -# https://github.com/pypa/get-pip -ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3843bff3a0a61da5b63ea0b7d34794c5c51a2f11/get-pip.py -ENV PYTHON_GET_PIP_SHA256 95c5ee602b2f3cc50ae053d716c3c89bea62c58568f64d7d25924d399b2d5218 - -RUN set -ex; \ - \ - wget -O get-pip.py "$PYTHON_GET_PIP_URL"; \ - echo "$PYTHON_GET_PIP_SHA256 *get-pip.py" | sha256sum --check --strict -; \ - \ - pipVersion="$(pypy3 -c 'import ensurepip; print(ensurepip._PIP_VERSION)')"; \ - setuptoolsVersion="$(pypy3 -c 'import ensurepip; print(ensurepip._SETUPTOOLS_VERSION)')"; \ - \ - pypy3 get-pip.py \ - --disable-pip-version-check \ - --no-cache-dir \ - "pip == $pipVersion" \ - "setuptools == $setuptoolsVersion" \ - ; \ -# smoke test - pip --version; \ - \ - find /opt/pypy -depth \ - \( \ - \( -type d -a \( -name test -o -name tests \) \) \ - -o \ - \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ - \) -exec rm -rf '{}' +; \ - rm -f get-pip.py - -CMD ["pypy3"] diff --git a/3.9/bullseye/Dockerfile b/3.9/bullseye/Dockerfile deleted file mode 100644 index f60ea84..0000000 --- a/3.9/bullseye/Dockerfile +++ /dev/null @@ -1,144 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM buildpack-deps:bullseye - -# runtime dependencies -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - tcl \ - tk \ - ; \ - rm -rf /var/lib/apt/lists/* - -# http://bugs.python.org/issue19846 -# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK. -ENV LANG C.UTF-8 - -# ensure local pypy3 is preferred over distribution pypy3 -ENV PATH /opt/pypy/bin:$PATH - -# Python 3.9.19 -ENV PYPY_VERSION 7.3.16 - -RUN set -eux; \ - \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - 'amd64') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-linux64.tar.bz2'; \ - sha256='16f9c5b808c848516e742986e826b833cdbeda09ad8764e8704595adbe791b23'; \ - ;; \ - 'arm64') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-aarch64.tar.bz2'; \ - sha256='de3f2ed3581b30555ac0dd3e4df78a262ec736a36fb2e8f28259f8539b278ef4'; \ - ;; \ - 'i386') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-linux32.tar.bz2'; \ - sha256='583b6d6dd4e8c07cbc04da04a7ec2bdfa6674825289c2378c5e018d5abe779ea'; \ - ;; \ - 's390x') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-s390x.tar.bz2'; \ - sha256='7a56ebb27dba3110dc1ff52d8e0449cdb37fe5c2275f7faf11432e4e164833ba'; \ - ;; \ - *) echo >&2 "error: current architecture ($dpkgArch) does not have a corresponding PyPy $PYPY_VERSION binary release"; exit 1 ;; \ - esac; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ -# sometimes "pypy3" itself is linked against libexpat1 / libncurses5, sometimes they're ".so" files in "/opt/pypy/lib/pypy3.9" - libexpat1 \ - libncurses5 \ - libncursesw6 \ - libsqlite3-0 \ -# (so we'll add them temporarily, then use "ldd" later to determine which to keep based on usage per architecture) - ; \ - \ - wget -O pypy.tar.bz2 "$url" --progress=dot:giga; \ - echo "$sha256 *pypy.tar.bz2" | sha256sum --check --strict -; \ - mkdir /opt/pypy; \ - tar -xjC /opt/pypy --strip-components=1 -f pypy.tar.bz2; \ - find /opt/pypy/lib* -depth -type d -a \( -name test -o -name tests \) -exec rm -rf '{}' +; \ - rm pypy.tar.bz2; \ - \ - ln -sv '/opt/pypy/bin/pypy3' /usr/local/bin/; \ - \ -# smoke test - pypy3 --version; \ - \ - cd /opt/pypy/lib/pypy3.9; \ -# on pypy3, rebuild gdbm ffi bits for compatibility with Debian Stretch+ - if [ -f _gdbm_build.py ]; then \ - pypy3 _gdbm_build.py; \ - fi; \ -# https://github.com/docker-library/pypy/issues/24#issuecomment-409408657 - if [ -f _ssl_build.py ]; then \ - pypy3 _ssl_build.py; \ - fi; \ -# https://github.com/docker-library/pypy/issues/42 - if [ -f _lzma_build.py ]; then \ - pypy3 _lzma_build.py; \ - fi; \ -# https://github.com/docker-library/pypy/issues/68 - if [ -f _sqlite3_build.py ]; then \ - pypy3 _sqlite3_build.py; \ - fi; \ -# TODO rebuild other cffi modules here too? (other _*_build.py files) - \ - apt-mark auto '.*' > /dev/null; \ - [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; \ - find /opt/pypy -type f -executable -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf /var/lib/apt/lists/*; \ -# smoke test again, to be sure - pypy3 --version; \ - \ - find /opt/pypy -depth \ - \( \ - \( -type d -a \( -name test -o -name tests \) \) \ - -o \ - \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ - \) -exec rm -rf '{}' + - -# https://github.com/pypa/get-pip -ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3843bff3a0a61da5b63ea0b7d34794c5c51a2f11/get-pip.py -ENV PYTHON_GET_PIP_SHA256 95c5ee602b2f3cc50ae053d716c3c89bea62c58568f64d7d25924d399b2d5218 - -RUN set -ex; \ - \ - wget -O get-pip.py "$PYTHON_GET_PIP_URL"; \ - echo "$PYTHON_GET_PIP_SHA256 *get-pip.py" | sha256sum --check --strict -; \ - \ - pipVersion="$(pypy3 -c 'import ensurepip; print(ensurepip._PIP_VERSION)')"; \ - setuptoolsVersion="$(pypy3 -c 'import ensurepip; print(ensurepip._SETUPTOOLS_VERSION)')"; \ - \ - pypy3 get-pip.py \ - --disable-pip-version-check \ - --no-cache-dir \ - "pip == $pipVersion" \ - "setuptools == $setuptoolsVersion" \ - ; \ -# smoke test - pip --version; \ - \ - find /opt/pypy -depth \ - \( \ - \( -type d -a \( -name test -o -name tests \) \) \ - -o \ - \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ - \) -exec rm -rf '{}' +; \ - rm -f get-pip.py - -CMD ["pypy3"] diff --git a/3.9/slim-bookworm/Dockerfile b/3.9/slim-bookworm/Dockerfile deleted file mode 100644 index 1dc3704..0000000 --- a/3.9/slim-bookworm/Dockerfile +++ /dev/null @@ -1,150 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:bookworm-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends ca-certificates; \ - rm -rf /var/lib/apt/lists/* - -# http://bugs.python.org/issue19846 -# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK. -ENV LANG C.UTF-8 - -# ensure local pypy3 is preferred over distribution pypy3 -ENV PATH /opt/pypy/bin:$PATH - -# Python 3.9.19 -ENV PYPY_VERSION 7.3.16 - -RUN set -eux; \ - \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - 'amd64') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-linux64.tar.bz2'; \ - sha256='16f9c5b808c848516e742986e826b833cdbeda09ad8764e8704595adbe791b23'; \ - ;; \ - 'arm64') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-aarch64.tar.bz2'; \ - sha256='de3f2ed3581b30555ac0dd3e4df78a262ec736a36fb2e8f28259f8539b278ef4'; \ - ;; \ - 'i386') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-linux32.tar.bz2'; \ - sha256='583b6d6dd4e8c07cbc04da04a7ec2bdfa6674825289c2378c5e018d5abe779ea'; \ - ;; \ - 's390x') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-s390x.tar.bz2'; \ - sha256='7a56ebb27dba3110dc1ff52d8e0449cdb37fe5c2275f7faf11432e4e164833ba'; \ - ;; \ - *) echo >&2 "error: current architecture ($dpkgArch) does not have a corresponding PyPy $PYPY_VERSION binary release"; exit 1 ;; \ - esac; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - wget \ -# sometimes "pypy3" itself is linked against libexpat1 / libncurses5, sometimes they're ".so" files in "/opt/pypy/lib/pypy3.9" - libexpat1 \ - libncurses5 \ - libncursesw6 \ - libsqlite3-0 \ -# (so we'll add them temporarily, then use "ldd" later to determine which to keep based on usage per architecture) - ; \ - \ - wget -O pypy.tar.bz2 "$url" --progress=dot:giga; \ - echo "$sha256 *pypy.tar.bz2" | sha256sum --check --strict -; \ - mkdir /opt/pypy; \ - tar -xjC /opt/pypy --strip-components=1 -f pypy.tar.bz2; \ - find /opt/pypy/lib* -depth -type d -a \( -name test -o -name tests \) -exec rm -rf '{}' +; \ - rm pypy.tar.bz2; \ - \ - ln -sv '/opt/pypy/bin/pypy3' /usr/local/bin/; \ - \ -# smoke test - pypy3 --version; \ - \ - cd /opt/pypy/lib/pypy3.9; \ -# on pypy3, rebuild gdbm ffi bits for compatibility with Debian Stretch+ - if [ -f _gdbm_build.py ]; then \ - apt-get install -y --no-install-recommends gcc libc6-dev libgdbm-dev; \ - pypy3 _gdbm_build.py; \ - fi; \ -# https://github.com/docker-library/pypy/issues/24#issuecomment-409408657 - if [ -f _ssl_build.py ]; then \ - apt-get install -y --no-install-recommends gcc libc6-dev libssl-dev; \ - pypy3 _ssl_build.py; \ - fi; \ -# https://github.com/docker-library/pypy/issues/42 - if [ -f _lzma_build.py ]; then \ - apt-get install -y --no-install-recommends gcc libc6-dev liblzma-dev; \ - pypy3 _lzma_build.py; \ - fi; \ -# https://github.com/docker-library/pypy/issues/68 - if [ -f _sqlite3_build.py ]; then \ - apt-get install -y --no-install-recommends gcc libc6-dev libsqlite3-dev; \ - pypy3 _sqlite3_build.py; \ - fi; \ -# TODO rebuild other cffi modules here too? (other _*_build.py files) - \ - apt-mark auto '.*' > /dev/null; \ - [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; \ - find /opt/pypy -type f -executable -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf /var/lib/apt/lists/*; \ -# smoke test again, to be sure - pypy3 --version; \ - \ - find /opt/pypy -depth \ - \( \ - \( -type d -a \( -name test -o -name tests \) \) \ - -o \ - \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ - \) -exec rm -rf '{}' + - -# https://github.com/pypa/get-pip -ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3843bff3a0a61da5b63ea0b7d34794c5c51a2f11/get-pip.py -ENV PYTHON_GET_PIP_SHA256 95c5ee602b2f3cc50ae053d716c3c89bea62c58568f64d7d25924d399b2d5218 - -RUN set -ex; \ - apt-get update; \ - apt-get install -y --no-install-recommends wget; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O get-pip.py "$PYTHON_GET_PIP_URL"; \ - echo "$PYTHON_GET_PIP_SHA256 *get-pip.py" | sha256sum --check --strict -; \ - \ - pipVersion="$(pypy3 -c 'import ensurepip; print(ensurepip._PIP_VERSION)')"; \ - setuptoolsVersion="$(pypy3 -c 'import ensurepip; print(ensurepip._SETUPTOOLS_VERSION)')"; \ - \ - pypy3 get-pip.py \ - --disable-pip-version-check \ - --no-cache-dir \ - "pip == $pipVersion" \ - "setuptools == $setuptoolsVersion" \ - ; \ - apt-get purge -y --auto-remove wget; \ -# smoke test - pip --version; \ - \ - find /opt/pypy -depth \ - \( \ - \( -type d -a \( -name test -o -name tests \) \) \ - -o \ - \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ - \) -exec rm -rf '{}' +; \ - rm -f get-pip.py - -CMD ["pypy3"] diff --git a/3.9/slim-bullseye/Dockerfile b/3.9/slim-bullseye/Dockerfile deleted file mode 100644 index 7c35f3e..0000000 --- a/3.9/slim-bullseye/Dockerfile +++ /dev/null @@ -1,150 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM debian:bullseye-slim - -RUN set -eux; \ - apt-get update; \ - apt-get install -y --no-install-recommends ca-certificates; \ - rm -rf /var/lib/apt/lists/* - -# http://bugs.python.org/issue19846 -# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK. -ENV LANG C.UTF-8 - -# ensure local pypy3 is preferred over distribution pypy3 -ENV PATH /opt/pypy/bin:$PATH - -# Python 3.9.19 -ENV PYPY_VERSION 7.3.16 - -RUN set -eux; \ - \ - dpkgArch="$(dpkg --print-architecture)"; \ - case "${dpkgArch##*-}" in \ - 'amd64') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-linux64.tar.bz2'; \ - sha256='16f9c5b808c848516e742986e826b833cdbeda09ad8764e8704595adbe791b23'; \ - ;; \ - 'arm64') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-aarch64.tar.bz2'; \ - sha256='de3f2ed3581b30555ac0dd3e4df78a262ec736a36fb2e8f28259f8539b278ef4'; \ - ;; \ - 'i386') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-linux32.tar.bz2'; \ - sha256='583b6d6dd4e8c07cbc04da04a7ec2bdfa6674825289c2378c5e018d5abe779ea'; \ - ;; \ - 's390x') \ - url='https://downloads.python.org/pypy/pypy3.9-v7.3.16-s390x.tar.bz2'; \ - sha256='7a56ebb27dba3110dc1ff52d8e0449cdb37fe5c2275f7faf11432e4e164833ba'; \ - ;; \ - *) echo >&2 "error: current architecture ($dpkgArch) does not have a corresponding PyPy $PYPY_VERSION binary release"; exit 1 ;; \ - esac; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - bzip2 \ - wget \ -# sometimes "pypy3" itself is linked against libexpat1 / libncurses5, sometimes they're ".so" files in "/opt/pypy/lib/pypy3.9" - libexpat1 \ - libncurses5 \ - libncursesw6 \ - libsqlite3-0 \ -# (so we'll add them temporarily, then use "ldd" later to determine which to keep based on usage per architecture) - ; \ - \ - wget -O pypy.tar.bz2 "$url" --progress=dot:giga; \ - echo "$sha256 *pypy.tar.bz2" | sha256sum --check --strict -; \ - mkdir /opt/pypy; \ - tar -xjC /opt/pypy --strip-components=1 -f pypy.tar.bz2; \ - find /opt/pypy/lib* -depth -type d -a \( -name test -o -name tests \) -exec rm -rf '{}' +; \ - rm pypy.tar.bz2; \ - \ - ln -sv '/opt/pypy/bin/pypy3' /usr/local/bin/; \ - \ -# smoke test - pypy3 --version; \ - \ - cd /opt/pypy/lib/pypy3.9; \ -# on pypy3, rebuild gdbm ffi bits for compatibility with Debian Stretch+ - if [ -f _gdbm_build.py ]; then \ - apt-get install -y --no-install-recommends gcc libc6-dev libgdbm-dev; \ - pypy3 _gdbm_build.py; \ - fi; \ -# https://github.com/docker-library/pypy/issues/24#issuecomment-409408657 - if [ -f _ssl_build.py ]; then \ - apt-get install -y --no-install-recommends gcc libc6-dev libssl-dev; \ - pypy3 _ssl_build.py; \ - fi; \ -# https://github.com/docker-library/pypy/issues/42 - if [ -f _lzma_build.py ]; then \ - apt-get install -y --no-install-recommends gcc libc6-dev liblzma-dev; \ - pypy3 _lzma_build.py; \ - fi; \ -# https://github.com/docker-library/pypy/issues/68 - if [ -f _sqlite3_build.py ]; then \ - apt-get install -y --no-install-recommends gcc libc6-dev libsqlite3-dev; \ - pypy3 _sqlite3_build.py; \ - fi; \ -# TODO rebuild other cffi modules here too? (other _*_build.py files) - \ - apt-mark auto '.*' > /dev/null; \ - [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; \ - find /opt/pypy -type f -executable -exec ldd '{}' ';' \ - | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ - | sort -u \ - | xargs -r dpkg-query --search \ - | cut -d: -f1 \ - | sort -u \ - | xargs -r apt-mark manual \ - ; \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf /var/lib/apt/lists/*; \ -# smoke test again, to be sure - pypy3 --version; \ - \ - find /opt/pypy -depth \ - \( \ - \( -type d -a \( -name test -o -name tests \) \) \ - -o \ - \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ - \) -exec rm -rf '{}' + - -# https://github.com/pypa/get-pip -ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3843bff3a0a61da5b63ea0b7d34794c5c51a2f11/get-pip.py -ENV PYTHON_GET_PIP_SHA256 95c5ee602b2f3cc50ae053d716c3c89bea62c58568f64d7d25924d399b2d5218 - -RUN set -ex; \ - apt-get update; \ - apt-get install -y --no-install-recommends wget; \ - rm -rf /var/lib/apt/lists/*; \ - \ - wget -O get-pip.py "$PYTHON_GET_PIP_URL"; \ - echo "$PYTHON_GET_PIP_SHA256 *get-pip.py" | sha256sum --check --strict -; \ - \ - pipVersion="$(pypy3 -c 'import ensurepip; print(ensurepip._PIP_VERSION)')"; \ - setuptoolsVersion="$(pypy3 -c 'import ensurepip; print(ensurepip._SETUPTOOLS_VERSION)')"; \ - \ - pypy3 get-pip.py \ - --disable-pip-version-check \ - --no-cache-dir \ - "pip == $pipVersion" \ - "setuptools == $setuptoolsVersion" \ - ; \ - apt-get purge -y --auto-remove wget; \ -# smoke test - pip --version; \ - \ - find /opt/pypy -depth \ - \( \ - \( -type d -a \( -name test -o -name tests \) \) \ - -o \ - \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ - \) -exec rm -rf '{}' +; \ - rm -f get-pip.py - -CMD ["pypy3"] diff --git a/3.9/windows/windowsservercore-1809/Dockerfile b/3.9/windows/windowsservercore-1809/Dockerfile deleted file mode 100644 index 9ee420f..0000000 --- a/3.9/windows/windowsservercore-1809/Dockerfile +++ /dev/null @@ -1,133 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM mcr.microsoft.com/windows/servercore:1809 - -# $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324 -SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] - -# PATH isn't actually set in the Docker image, so we have to set it from within the container -RUN $newPath = ('C:\pypy;C:\pypy\Scripts;{0}' -f $env:PATH); \ - Write-Host ('Updating PATH: {0}' -f $newPath); \ - [Environment]::SetEnvironmentVariable('PATH', $newPath, [EnvironmentVariableTarget]::Machine); \ - Write-Host 'Complete.' -# doing this first to share cache across versions more aggressively - -# install Microsoft Visual C++ Redistributable -RUN $url = 'https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x64.exe'; \ - Write-Host ('Downloading {0} ...' -f $url); \ - Invoke-WebRequest -Uri $url -OutFile 'vc.exe'; \ - \ - $sha256 = 'da66717784c192f1004e856bbcf7b3e13b7bf3ea45932c48e4c9b9a50ca80965'; \ - Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ - if ((Get-FileHash vc.exe -Algorithm sha256).Hash -ne $sha256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Installing ...'; \ - Start-Process \ - -NoNewWindow \ - -Wait \ - -FilePath .\vc.exe \ - -ArgumentList @( \ - '/install', \ - '/quiet', \ - '/norestart' \ - ); \ - \ - Write-Host 'Removing ...'; \ - Remove-Item vc.exe -Force; \ - \ - Write-Host 'Complete.' - -# Python 3.9.19 -ENV PYPY_VERSION 7.3.16 - -RUN $url = 'https://downloads.python.org/pypy/pypy3.9-v7.3.16-win64.zip'; \ - Write-Host ('Downloading {0} ...' -f $url); \ - Invoke-WebRequest -Uri $url -OutFile 'pypy.zip'; \ - \ - $sha256 = '06ec12a5e964dc0ad33e6f380185a4d295178dce6d6df512f508e7aee00a1323'; \ - Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ - if ((Get-FileHash pypy.zip -Algorithm sha256).Hash -ne $sha256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Expanding ...'; \ - Expand-Archive pypy.zip -DestinationPath C:\; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item pypy.zip -Force; \ - \ - Write-Host 'Renaming ...'; \ - Rename-Item -Path C:\pypy3.9-v7.3.16-win64 -NewName C:\pypy; \ - \ - Write-Host 'Verifying install ("pypy --version") ...'; \ - pypy --version; \ - \ - Write-Host 'Cleanup install ...'; \ - Get-ChildItem \ - -Path C:\pypy \ - -Include @( 'test', 'tests' ) \ - -Directory \ - -Recurse \ - | Remove-Item -Force -Recurse; \ - Get-ChildItem \ - -Path C:\pypy \ - -Include @( '*.pyc', '*.pyo' ) \ - -File \ - -Recurse \ - | Remove-Item -Force; \ - \ - Write-Host 'Complete.' - -# https://github.com/pypa/get-pip -ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3843bff3a0a61da5b63ea0b7d34794c5c51a2f11/get-pip.py -ENV PYTHON_GET_PIP_SHA256 95c5ee602b2f3cc50ae053d716c3c89bea62c58568f64d7d25924d399b2d5218 - -RUN Write-Host ('Downloading get-pip.py ({0}) ...' -f $env:PYTHON_GET_PIP_URL); \ - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ - Invoke-WebRequest -Uri $env:PYTHON_GET_PIP_URL -OutFile 'get-pip.py'; \ - Write-Host ('Verifying sha256 ({0}) ...' -f $env:PYTHON_GET_PIP_SHA256); \ - if ((Get-FileHash 'get-pip.py' -Algorithm sha256).Hash -ne $env:PYTHON_GET_PIP_SHA256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - $pipVersion = & pypy -c 'import ensurepip; print(ensurepip._PIP_VERSION)'; \ - $setuptoolsVersion = & pypy -c 'import ensurepip; print(ensurepip._SETUPTOOLS_VERSION)'; \ - \ - Write-Host ('Installing "pip == {0}", "setuptools == {1}" ...' -f $pipVersion, $setuptoolsVersion); \ - pypy get-pip.py \ - --disable-pip-version-check \ - --no-cache-dir \ - ('pip == {0}' -f $pipVersion) \ - ('setuptools == {0}' -f $setuptoolsVersion) \ - ; \ - Remove-Item get-pip.py -Force; \ - \ - Write-Host 'Verifying pip install ...'; \ - pip --version; \ - \ - Write-Host 'Cleanup install ...'; \ - Get-ChildItem \ - -Path C:\pypy \ - -Include @( 'test', 'tests' ) \ - -Directory \ - -Recurse \ - | Remove-Item -Force -Recurse; \ - Get-ChildItem \ - -Path C:\pypy \ - -Include @( '*.pyc', '*.pyo' ) \ - -File \ - -Recurse \ - | Remove-Item -Force; \ - \ - Write-Host 'Complete.' - -CMD ["pypy"] diff --git a/3.9/windows/windowsservercore-ltsc2022/Dockerfile b/3.9/windows/windowsservercore-ltsc2022/Dockerfile deleted file mode 100644 index e7eab13..0000000 --- a/3.9/windows/windowsservercore-ltsc2022/Dockerfile +++ /dev/null @@ -1,133 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM mcr.microsoft.com/windows/servercore:ltsc2022 - -# $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324 -SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] - -# PATH isn't actually set in the Docker image, so we have to set it from within the container -RUN $newPath = ('C:\pypy;C:\pypy\Scripts;{0}' -f $env:PATH); \ - Write-Host ('Updating PATH: {0}' -f $newPath); \ - [Environment]::SetEnvironmentVariable('PATH', $newPath, [EnvironmentVariableTarget]::Machine); \ - Write-Host 'Complete.' -# doing this first to share cache across versions more aggressively - -# install Microsoft Visual C++ Redistributable -RUN $url = 'https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x64.exe'; \ - Write-Host ('Downloading {0} ...' -f $url); \ - Invoke-WebRequest -Uri $url -OutFile 'vc.exe'; \ - \ - $sha256 = 'da66717784c192f1004e856bbcf7b3e13b7bf3ea45932c48e4c9b9a50ca80965'; \ - Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ - if ((Get-FileHash vc.exe -Algorithm sha256).Hash -ne $sha256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Installing ...'; \ - Start-Process \ - -NoNewWindow \ - -Wait \ - -FilePath .\vc.exe \ - -ArgumentList @( \ - '/install', \ - '/quiet', \ - '/norestart' \ - ); \ - \ - Write-Host 'Removing ...'; \ - Remove-Item vc.exe -Force; \ - \ - Write-Host 'Complete.' - -# Python 3.9.19 -ENV PYPY_VERSION 7.3.16 - -RUN $url = 'https://downloads.python.org/pypy/pypy3.9-v7.3.16-win64.zip'; \ - Write-Host ('Downloading {0} ...' -f $url); \ - Invoke-WebRequest -Uri $url -OutFile 'pypy.zip'; \ - \ - $sha256 = '06ec12a5e964dc0ad33e6f380185a4d295178dce6d6df512f508e7aee00a1323'; \ - Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ - if ((Get-FileHash pypy.zip -Algorithm sha256).Hash -ne $sha256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Expanding ...'; \ - Expand-Archive pypy.zip -DestinationPath C:\; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item pypy.zip -Force; \ - \ - Write-Host 'Renaming ...'; \ - Rename-Item -Path C:\pypy3.9-v7.3.16-win64 -NewName C:\pypy; \ - \ - Write-Host 'Verifying install ("pypy --version") ...'; \ - pypy --version; \ - \ - Write-Host 'Cleanup install ...'; \ - Get-ChildItem \ - -Path C:\pypy \ - -Include @( 'test', 'tests' ) \ - -Directory \ - -Recurse \ - | Remove-Item -Force -Recurse; \ - Get-ChildItem \ - -Path C:\pypy \ - -Include @( '*.pyc', '*.pyo' ) \ - -File \ - -Recurse \ - | Remove-Item -Force; \ - \ - Write-Host 'Complete.' - -# https://github.com/pypa/get-pip -ENV PYTHON_GET_PIP_URL https://github.com/pypa/get-pip/raw/3843bff3a0a61da5b63ea0b7d34794c5c51a2f11/get-pip.py -ENV PYTHON_GET_PIP_SHA256 95c5ee602b2f3cc50ae053d716c3c89bea62c58568f64d7d25924d399b2d5218 - -RUN Write-Host ('Downloading get-pip.py ({0}) ...' -f $env:PYTHON_GET_PIP_URL); \ - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ - Invoke-WebRequest -Uri $env:PYTHON_GET_PIP_URL -OutFile 'get-pip.py'; \ - Write-Host ('Verifying sha256 ({0}) ...' -f $env:PYTHON_GET_PIP_SHA256); \ - if ((Get-FileHash 'get-pip.py' -Algorithm sha256).Hash -ne $env:PYTHON_GET_PIP_SHA256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - $pipVersion = & pypy -c 'import ensurepip; print(ensurepip._PIP_VERSION)'; \ - $setuptoolsVersion = & pypy -c 'import ensurepip; print(ensurepip._SETUPTOOLS_VERSION)'; \ - \ - Write-Host ('Installing "pip == {0}", "setuptools == {1}" ...' -f $pipVersion, $setuptoolsVersion); \ - pypy get-pip.py \ - --disable-pip-version-check \ - --no-cache-dir \ - ('pip == {0}' -f $pipVersion) \ - ('setuptools == {0}' -f $setuptoolsVersion) \ - ; \ - Remove-Item get-pip.py -Force; \ - \ - Write-Host 'Verifying pip install ...'; \ - pip --version; \ - \ - Write-Host 'Cleanup install ...'; \ - Get-ChildItem \ - -Path C:\pypy \ - -Include @( 'test', 'tests' ) \ - -Directory \ - -Recurse \ - | Remove-Item -Force -Recurse; \ - Get-ChildItem \ - -Path C:\pypy \ - -Include @( '*.pyc', '*.pyo' ) \ - -File \ - -Recurse \ - | Remove-Item -Force; \ - \ - Write-Host 'Complete.' - -CMD ["pypy"] diff --git a/versions.json b/versions.json index 4b8b8d4..38f4c46 100644 --- a/versions.json +++ b/versions.json @@ -90,55 +90,5 @@ "windows/windowsservercore-1809" ], "version": "7.3.17" - }, - "3.9": { - "arches": { - "amd64": { - "sha256": "16f9c5b808c848516e742986e826b833cdbeda09ad8764e8704595adbe791b23", - "url": "https://downloads.python.org/pypy/pypy3.9-v7.3.16-linux64.tar.bz2" - }, - "arm64v8": { - "sha256": "de3f2ed3581b30555ac0dd3e4df78a262ec736a36fb2e8f28259f8539b278ef4", - "url": "https://downloads.python.org/pypy/pypy3.9-v7.3.16-aarch64.tar.bz2" - }, - "darwin-": { - "sha256": "88f824e7a2d676440d09bc90fc959ae0fd3557d7e2f14bfbbe53d41d159a47fe", - "url": "https://downloads.python.org/pypy/pypy3.9-v7.3.16-macos_arm64.tar.bz2" - }, - "darwin-amd64": { - "sha256": "fda015431621e7e5aa16359d114f2c45a77ed936992c1efff86302e768a6b21c", - "url": "https://downloads.python.org/pypy/pypy3.9-v7.3.16-macos_x86_64.tar.bz2" - }, - "i386": { - "sha256": "583b6d6dd4e8c07cbc04da04a7ec2bdfa6674825289c2378c5e018d5abe779ea", - "url": "https://downloads.python.org/pypy/pypy3.9-v7.3.16-linux32.tar.bz2" - }, - "s390x": { - "sha256": "7a56ebb27dba3110dc1ff52d8e0449cdb37fe5c2275f7faf11432e4e164833ba", - "url": "https://downloads.python.org/pypy/pypy3.9-v7.3.16-s390x.tar.bz2" - }, - "windows-amd64": { - "sha256": "06ec12a5e964dc0ad33e6f380185a4d295178dce6d6df512f508e7aee00a1323", - "url": "https://downloads.python.org/pypy/pypy3.9-v7.3.16-win64.zip" - } - }, - "get-pip": { - "sha256": "95c5ee602b2f3cc50ae053d716c3c89bea62c58568f64d7d25924d399b2d5218", - "url": "https://github.com/pypa/get-pip/raw/3843bff3a0a61da5b63ea0b7d34794c5c51a2f11/get-pip.py", - "version": "3843bff3a0a61da5b63ea0b7d34794c5c51a2f11" - }, - "python": { - "major": "3.9", - "version": "3.9.19" - }, - "variants": [ - "bookworm", - "slim-bookworm", - "bullseye", - "slim-bullseye", - "windows/windowsservercore-ltsc2022", - "windows/windowsservercore-1809" - ], - "version": "7.3.16" } }