sha256:0aa260eacfa45fd4e9c76f89b3ba64c5907f16316c61e927467b4c51ffb4760e
OS/ARCH
Compressed size
364.59 MB
Last pushed
11 days by doijanky
Type
Image
Vulnerabilities
Manifest digest
sha256:ca59fa516ed62f71a3ee6da488f3fbc8ee8fb1c9bc40682b1f7c6d3b3d9e40b5
4
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends tcl tk ; rm -rf /var/lib/apt/lists/* # buildkit
3 MB
5
ENV LANG=C.UTF-8
0 B
6
ENV PATH=/opt/pypy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
0 B
7
ENV PYPY_VERSION=8.0.0
0 B
8
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 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 pypy3 _gdbm_build.py; fi; if [ -f _ssl_build.py ]; then pypy3 _ssl_build.py; fi; if [ -f _lzma_build.py ]; then pypy3 _lzma_build.py; fi; if [ -f _sqlite3_build.py ]; then pypy3 _sqlite3_build.py; fi; if [ -f _tkinter/tklib_build.py ]; then apt-get install -y --no-install-recommends 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 '{}' ';' | 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
30.61 MB
9
CMD ["pypy3"]
0 B