+ 13 more
sha256:d7885fc5fd9e45c637e75e7400ed58ac37347efaba0197e7ec0208b568151172
OS/ARCH
Compressed size
63.25 MB
Last pushed
23 days by doijanky
Type
Image
Vulnerabilities
Manifest digest
sha256:6bfea3288028b10b1c824be1118282589f480e4cfc4b99cc1fbecf37896dfeef
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.23 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=7.3.23
0 B
5
RUN /bin/sh -c set -eux; dpkgArch="$(dpkg --print-architecture)"; case "${dpkgArch##*-}" in 'amd64') url='https://downloads.python.org/pypy/pypy3.11-v7.3.23-linux64.tar.bz2'; sha256='16f9f56e82d1f4ec95a324c1a8cacfd78afc7f0656c0a809a18725ef4391453a'; ;; 'arm64') url='https://downloads.python.org/pypy/pypy3.11-v7.3.23-aarch64.tar.bz2'; sha256='5433ac0ad526aeb35025ef8509bed65cd62ea35cb9e21ac649c69a5eff4eecb6'; ;; 'i386') url='https://downloads.python.org/pypy/pypy3.11-v7.3.23-linux32.tar.bz2'; sha256='c7e2ffb173dcadbe4708a2e606e0b705474c1c33f25a09a4084f265d538172e4'; ;; *) 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 libfontconfig1 ; 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; rm -v /opt/pypy/lib/libtk*.so /opt/pypy/lib/libz.so*; ln -sv '/opt/pypy/bin/pypy3' /usr/local/bin/; pypy3 --version; cd /opt/pypy/lib/pypy3.11; 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; pip install --disable-pip-version-check --no-cache-dir --no-compile 'wheel<0.46'; 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
33.79 MB
6
CMD ["pypy3"]
0 B