Sign inSign up
pypy logo

pypy:3.12-8.0.0-slim

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

sha256:e228b06558edb56c448fbb83e2f1b34227b0cca2ef90f73e0a12f59fa6de7cde

OS/ARCH

Compressed size

62.25 MB

Last pushed

11 days by doijanky

Type

Image

Vulnerabilities

0
6
11
37
1

Manifest digest

sha256:e3d296045cd0df872781eb37dc2dcb13f4fdee5cd6edb181dabe270227557450

Layers (7)

debian:4e1ffbf910330360b626de4fa53b4eeefe86b9a63509820a7ff6677691438a71
0
6
6
36
1
pypy:3.12-8.0.0-slim
0
2
9
13
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

1.22 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.22 MB


6

CMD ["pypy3"]

0 B