Sign inSign up
pypy logo

pypy:3.12-slim-bookworm

Multi-platform
Also known as:
3.12-8-slim-bookworm
3.12-8.0-slim-bookworm
3.12-8.0.0-slim-bookworm
Languages & frameworks
Index digest

sha256:b164671068491b3c4f9d975ab42aa6bb15a0d8ce381e513506d689f3a14b86a2

OS/ARCH

Compressed size

63.31 MB

Last pushed

11 days by doijanky

Type

Image

Vulnerabilities

3
20
22
48
5

Manifest digest

sha256:1c5de47c6d351fe3dced7b7d5e7b20195e12d7341afb5d48eef9d7dc9b747ca8

Layers (7)

debian:aea273ffba9b53490515f5c7b8076f5d4c6609c16993c8a4c7d6734f2fe983d8
3
20
17
47
5
pypy:3.12-slim-bookworm
1
8
14
17
1

1

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates; rm -rf /var/lib/apt/lists/* # buildkit

3.52 MB


2

ENV LANG=C.UTF-8

0 B


3

ENV PATH=/opt/pypy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

0 B


4

ENV PYPY_VERSION=8.0.0

0 B


5

RUN /bin/sh -c set -eux; dpkgArch="$(dpkg --print-architecture)"; case "${dpkgArch##*-}" in 'amd64') url='https://downloads.python.org/pypy/pypy3.12-v8.0.0-linux64.tar.gz'; sha256='a1b4851459c2b3dffccab71cb08989534fab0839deddd34f0e6bf18add256fd7'; ;; 'arm64') url='https://downloads.python.org/pypy/pypy3.12-v8.0.0-aarch64.tar.gz'; sha256='72de008683246b0c18aeb8e163dc5d022d3f19b001e8cc5c258010968f10e336'; ;; 'i386') url='https://downloads.python.org/pypy/pypy3.12-v8.0.0-linux32.tar.gz'; sha256='228d793e57217f2516032db2c38e593914cb222f0d41660d1d8adbb571dcd4e3'; ;; *) 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 wget patch libfontconfig1 ; wget -O pypy.tar.gz "$url" --progress=dot:giga; echo "$sha256 *pypy.tar.gz" | sha256sum --check --strict -; mkdir /opt/pypy; tar -xzC /opt/pypy --strip-components=1 -f pypy.tar.gz; find /opt/pypy/lib* -depth -type d -a \( -name test -o -name tests \) -exec rm -rf '{}' +; rm pypy.tar.gz; rm -v /opt/pypy/lib/libtk*.so /opt/pypy/lib/libz.so*; ln -sv '/opt/pypy/bin/pypy3' /usr/local/bin/; pypy3 --version; wget -O cffi.patch 'https://github.com/pypy/pypy/commit/8c384bde537fd7742f3acc0e7ecaf55924f29b16.patch?full_index=1'; echo '957c091c80a5041d4faeb82d012ec494c8fea8d260ce5fe4a642c8c0eee03caf *cffi.patch' | sha256sum --check --strict -; patch -p2 -d /opt/pypy/lib/pypy3.12 < cffi.patch; rm cffi.patch; cd /opt/pypy/lib/pypy3.12; if [ -f _gdbm_build.py ]; then apt-get install -y --no-install-recommends gcc libc6-dev libgdbm-dev; pypy3 _gdbm_build.py; fi; if [ -f _ssl_build.py ]; then apt-get install -y --no-install-recommends gcc libc6-dev libssl-dev; pypy3 _ssl_build.py; fi; if [ -f _lzma_build.py ]; then apt-get install -y --no-install-recommends gcc libc6-dev liblzma-dev; pypy3 _lzma_build.py; fi; if [ -f _sqlite3_build.py ]; then apt-get install -y --no-install-recommends gcc libc6-dev libsqlite3-dev; pypy3 _sqlite3_build.py; fi; if [ -f _tkinter/tklib_build.py ]; then apt-get install -y --no-install-recommends gcc libc6-dev tk-dev; pypy3 _tkinter/tklib_build.py; fi; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; export shellPid="$$"; find /opt/pypy -type f -executable -exec ldd '{}' ';' | grep -vE 'lib(tcl|tk|X[a-z]*)[0-9]*[.]' | awk '/not found/ { print >> "/dev/stderr"; system("kill -9 -$shellPid") } /=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1 || index(so, "/opt/pypy/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; pypy3 --version; pypy3 -m ensurepip --default-pip; 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 '{}' + # buildkit

34.62 MB


6

CMD ["pypy3"]

0 B