On 2019/11/04 17:19, Stuart Henderson wrote:
> Here's an update to pypy 7.2.0.
Updated to allow building on aarch64 with the bootstrap jit, many thanks
phessler for problem reports and building on the fast eMAG machines.
The build with bootstrap has ~3.5GB max RSS so building on OD1000 and
similar machines is feasible.
edd: do you have any tests you'd like to run? OK?
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/pypy/Makefile,v
retrieving revision 1.36
diff -u -p -r1.36 Makefile
--- Makefile 7 Oct 2019 16:16:09 -0000 1.36
+++ Makefile 7 Nov 2019 10:34:01 -0000
@@ -1,6 +1,6 @@
# $OpenBSD: Makefile,v 1.36 2019/10/07 16:16:09 sthen Exp $
-ONLY_FOR_ARCHS = amd64
+ONLY_FOR_ARCHS = aarch64 amd64
COMMENT = fast implementation of the Python language
@@ -10,22 +10,25 @@ COMMENT = fast implementation of the Py
# * make makesum
# * make plist (fix anything along the way)
# * make package
-# * Set BOOTSTRAP_V back to ${V} in the port Makefile
+# * Set BOOTSTRAP_V back to the new version in the port Makefile
# * make bootstrap && make makesum (which will put a new PyPy bootstrap
# into ${FULLDISTDIR} such that subsequent builds will use it)
# * make clean && make clean=packages
# * make package (using the new bootstrap build)
#
# If the old bootstrap no longer works (e.g. due to an ABI change), then
-# You can use the no_bootstrap FLAVOR to make a new bootstrap. This uses
-# CPython to build PyPy instead. Note this is slower.
+# you can use the no_bootstrap FLAVOR to make a new bootstrap. This uses
+# CPython to build PyPy instead, which is much slower and takes more RAM.
-V = 7.1.1
-REVISION = 0
-BOOTSTRAP_V = ${V}
+V = 7.2.0
+BOOTSTRAP_V = 7.2.0
DISTNAME = pypy2.7-v${V}-src
PKGNAME = pypy-${V}
BOOTSTRAP-amd64 = pypy-bootstrap-amd64-${BOOTSTRAP_V}.tar.xz
+BOOTSTRAP-aarch64 = pypy-bootstrap-aarch64-${BOOTSTRAP_V}.tar.xz
+# list bootstraps for all arches in SUPDISTFILES
+SUPDISTFILES += ${BOOTSTRAP-amd64}:0
+SUPDISTFILES += ${BOOTSTRAP-aarch64}:0
CATEGORIES = lang
@@ -51,17 +54,16 @@ FLAVOR ?=
DIST_SUBDIR = pypy
DISTFILES = ${DISTNAME}${EXTRACT_SUFX}
-.if defined(BOOTSTRAP-${MACHINE_ARCH}) && !${FLAVOR:Mno_bootstrap}
+.if !${FLAVOR:Mno_bootstrap}
DISTFILES += ${BOOTSTRAP-${MACHINE_ARCH}}:0
.endif
-# if adding archs, list *all* bootstraps in SUPDISTFILES
-SUPDISTFILES = ${BOOTSTRAP-amd64}:0
MODULES += lang/python x11/tk
MODPY_VERSION = 2.7
-
-COMPILER = base-clang ports-gcc
-COMPILER_LANGS = c
+UPDATE_PLIST_ARGS = -i MODPY_PY_PREFIX \
+ -i MODPY_PY0EXTENSION \
+ -i MODPY_VERSION \
+ -i MACHINE_ARCH
USE_GMAKE = Yes
BUILD_DEPENDS = textproc/py-sphinx \
@@ -145,16 +147,13 @@ PYPY_PKG = ${PACKAGE_REPOSITORY}/${MACHI
.include <bsd.port.mk>
-# The bootstrap-based build process uses less memory and is faster,
-# but if you need to build a new bootstrap because the existing one no
-# longer runs, use FLAVOR=no_bootstrap to do a cpython-based build.
-# Expect 6.5GB memory usage on amd64.
+# maintainer target to generate a new bootstrap.
bootstrap: ${PYPY_PKG}
- mkdir -p ${WRKDIR}/prepare/bootstrap/system-libs
- cd ${WRKDIR}/prepare/bootstrap && tar zxf ${PYPY_PKG}
- rm -rf ${WRKDIR}/prepare/bootstrap/{+*,info,man}
+ ${_PBUILD} mkdir -p ${WRKDIR}/prepare/bootstrap/system-libs
+ cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar zxf ${PYPY_PKG}
+ ${_PBUILD} rm -rf ${WRKDIR}/prepare/bootstrap/{+*,info,man}
for i in `LD_LIBRARY_PATH=${WRKDIR}/prepare/bootstrap/pypy/lib ldd
${WRKDIR}/prepare/bootstrap/bin/pypy | grep 'lib/' | grep -v 'libpypy-c' | \
awk '{ print $$7 }'` ; do \
- cp $$i ${WRKDIR}/prepare/bootstrap/system-libs; done
+ ${_PBUILD} cp $$i ${WRKDIR}/prepare/bootstrap/system-libs; done
cd ${WRKDIR}/prepare && tar cf - bootstrap | \
- xz > ${FULLDISTDIR}/${BOOTSTRAP-${MACHINE_ARCH}}
+ xz | ${_PFETCH} tee ${FULLDISTDIR}/${BOOTSTRAP-${MACHINE_ARCH}} >
/dev/null
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/pypy/distinfo,v
retrieving revision 1.20
diff -u -p -r1.20 distinfo
--- distinfo 22 Sep 2019 11:37:04 -0000 1.20
+++ distinfo 7 Nov 2019 10:34:01 -0000
@@ -1,4 +1,6 @@
-SHA256 (pypy/pypy-bootstrap-amd64-7.1.1.tar.xz) =
YiL+TnzkP23fiBBOyXQ/6D2Npwzo997i0BAlNGfCkJM=
-SHA256 (pypy/pypy2.7-v7.1.1-src.tar.bz2) =
Xwa+3m1x3Ojfv+eXqrJsjjXLmQ4WuCaRRlLcCTrXRFE=
-SIZE (pypy/pypy-bootstrap-amd64-7.1.1.tar.xz) = 24176976
-SIZE (pypy/pypy2.7-v7.1.1-src.tar.bz2) = 20027876
+SHA256 (pypy/pypy-bootstrap-aarch64-7.2.0.tar.xz) =
qW1WWSmM63PdtNS0a3rkgo7H3uNZp520J9XcFDd/xoQ=
+SHA256 (pypy/pypy-bootstrap-amd64-7.2.0.tar.xz) =
zq0jHcpbXs/vZfp9WdvEid6a9wglqgFCcymIZbiyFRk=
+SHA256 (pypy/pypy2.7-v7.2.0-src.tar.bz2) =
Vct3V3hPvjlSECRH9lsn2A5siFpGSnrxqc4mRJJDncw=
+SIZE (pypy/pypy-bootstrap-aarch64-7.2.0.tar.xz) = 19930212
+SIZE (pypy/pypy-bootstrap-amd64-7.2.0.tar.xz) = 22640452
+SIZE (pypy/pypy2.7-v7.2.0-src.tar.bz2) = 20219532
Index: patches/patch-rpython_jit_backend_detect_cpu_py
===================================================================
RCS file: patches/patch-rpython_jit_backend_detect_cpu_py
diff -N patches/patch-rpython_jit_backend_detect_cpu_py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-rpython_jit_backend_detect_cpu_py 7 Nov 2019 10:34:01
-0000
@@ -0,0 +1,13 @@
+$OpenBSD$
+
+Index: rpython/jit/backend/detect_cpu.py
+--- rpython/jit/backend/detect_cpu.py.orig
++++ rpython/jit/backend/detect_cpu.py
+@@ -71,6 +71,7 @@ def detect_model_from_host_platform():
+ 'AMD64': MODEL_X86, # win64
+ 'armv8l': MODEL_ARM, # 32-bit ARMv8
+ 'aarch64': MODEL_ARM64,
++ 'arm64': MODEL_ARM64,
+ 'armv7l': MODEL_ARM,
+ 'armv6l': MODEL_ARM,
+ 'arm': MODEL_ARM, # freebsd
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/lang/pypy/pkg/PLIST,v
retrieving revision 1.13
diff -u -p -r1.13 PLIST
--- pkg/PLIST 22 Sep 2019 11:37:04 -0000 1.13
+++ pkg/PLIST 7 Nov 2019 10:34:01 -0000
@@ -424,7 +424,7 @@ pypy/lib-python/2.7/distutils/command/up
pypy/lib-python/2.7/distutils/command/wininst-6.0.exe
pypy/lib-python/2.7/distutils/command/wininst-7.1.exe
pypy/lib-python/2.7/distutils/command/wininst-8.0.exe
-pypy/lib-python/2.7/distutils/command/wininst-9.0-${MACHINE_ARCH}.exe
+pypy/lib-python/2.7/distutils/command/wininst-9.0-amd64.exe
pypy/lib-python/2.7/distutils/command/wininst-9.0.exe
pypy/lib-python/2.7/distutils/config.py
pypy/lib-python/2.7/distutils/config.pyc
@@ -2183,6 +2183,7 @@ pypy/lib-python/2.7/test/capath/5ed36f99
pypy/lib-python/2.7/test/capath/6e88d7b8.0
pypy/lib-python/2.7/test/capath/99d0fa06.0
pypy/lib-python/2.7/test/capath/ce7b8643.0
+pypy/lib-python/2.7/test/capath/efa5f9c3.0
pypy/lib-python/2.7/test/cfgparser.1
pypy/lib-python/2.7/test/cjkencodings/
pypy/lib-python/2.7/test/cjkencodings/big5-utf8.txt
@@ -3041,6 +3042,297 @@ pypy/lib_pypy/__init__.pyc
pypy/lib_pypy/_audioop_build.py
pypy/lib_pypy/_audioop_build.pyc
pypy/lib_pypy/_audioop_cffi.pypy-41.so
+pypy/lib_pypy/_cffi_ssl/
+pypy/lib_pypy/_cffi_ssl/LICENSE
+pypy/lib_pypy/_cffi_ssl/README.md
+pypy/lib_pypy/_cffi_ssl/__init__.py
+pypy/lib_pypy/_cffi_ssl/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/
+pypy/lib_pypy/_cffi_ssl/_cffi_src/__init__.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/build_constant_time.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/build_constant_time.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/build_openssl.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/build_openssl.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/build_padding.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/build_padding.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/hazmat_src/
+pypy/lib_pypy/_cffi_ssl/_cffi_src/hazmat_src/constant_time.h
+pypy/lib_pypy/_cffi_ssl/_cffi_src/hazmat_src/padding.h
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/__init__.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/aes.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/aes.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/asn1.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/asn1.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/bignum.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/bignum.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/bio.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/bio.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/callbacks.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/callbacks.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/cmac.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/cmac.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/conf.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/conf.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/crypto.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/crypto.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/cryptography.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/cryptography.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/ct.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/dh.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/dh.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/dsa.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/dsa.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/ec.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/ec.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/ecdh.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/ecdh.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/ecdsa.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/ecdsa.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/engine.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/engine.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/err.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/err.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/evp.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/fips.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/fips.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/hmac.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/hmac.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/nid.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/nid.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/objects.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/objects.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/ocsp.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/ocsp.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/opensslv.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/opensslv.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/osrandom_engine.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/osrandom_engine.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/pem.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/pem.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/pkcs12.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/pkcs12.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/pkcs7.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/pkcs7.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/pypy_win32_extra.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/pypy_win32_extra.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/rand.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/rand.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/rsa.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/rsa.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/src/
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/src/osrandom_engine.h
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/ssl.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509_vfy.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509_vfy.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509name.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509name.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509v3.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/openssl/x509v3.pyc
+pypy/lib_pypy/_cffi_ssl/_cffi_src/utils.py
+pypy/lib_pypy/_cffi_ssl/_cffi_src/utils.pyc
+pypy/lib_pypy/_cffi_ssl/_stdssl/
+pypy/lib_pypy/_cffi_ssl/_stdssl/__init__.py
+pypy/lib_pypy/_cffi_ssl/_stdssl/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/_stdssl/certificate.py
+pypy/lib_pypy/_cffi_ssl/_stdssl/certificate.pyc
+pypy/lib_pypy/_cffi_ssl/_stdssl/error.py
+pypy/lib_pypy/_cffi_ssl/_stdssl/error.pyc
+pypy/lib_pypy/_cffi_ssl/_stdssl/errorcodes.py
+pypy/lib_pypy/_cffi_ssl/_stdssl/errorcodes.pyc
+pypy/lib_pypy/_cffi_ssl/_stdssl/utility.py
+pypy/lib_pypy/_cffi_ssl/_stdssl/utility.pyc
+pypy/lib_pypy/_cffi_ssl/_stdssl/win32_extra.py
+pypy/lib_pypy/_cffi_ssl/_stdssl/win32_extra.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/
+pypy/lib_pypy/_cffi_ssl/cryptography/__about__.py
+pypy/lib_pypy/_cffi_ssl/cryptography/__about__.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/__init__.py
+pypy/lib_pypy/_cffi_ssl/cryptography/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/exceptions.py
+pypy/lib_pypy/_cffi_ssl/cryptography/exceptions.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/fernet.py
+pypy/lib_pypy/_cffi_ssl/cryptography/fernet.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/__init__.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/_oid.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/_oid.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/__init__.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/interfaces.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/interfaces.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/__init__.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/aead.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/aead.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/backend.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/backend.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/ciphers.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/ciphers.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/cmac.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/cmac.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/decode_asn1.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/decode_asn1.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/dh.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/dh.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/dsa.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/dsa.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/ec.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/ec.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/ed25519.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/ed25519.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/ed448.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/ed448.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/encode_asn1.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/encode_asn1.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/hashes.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/hashes.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/hmac.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/hmac.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/ocsp.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/ocsp.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/poly1305.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/poly1305.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/rsa.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/rsa.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/utils.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/utils.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/x25519.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/x25519.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/x448.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/x448.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/x509.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/backends/openssl/x509.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/bindings/
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/bindings/__init__.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/bindings/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/bindings/openssl/
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/bindings/openssl/__init__.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/bindings/openssl/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/bindings/openssl/_conditional.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/bindings/openssl/_conditional.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/bindings/openssl/binding.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/bindings/openssl/binding.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/__init__.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/__init__.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/dh.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/dh.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/dsa.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/dsa.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/ec.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/ec.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/ed25519.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/ed25519.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/ed448.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/ed448.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/padding.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/padding.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/rsa.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/rsa.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/utils.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/utils.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/x25519.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/x25519.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/x448.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/asymmetric/x448.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/ciphers/
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/ciphers/__init__.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/ciphers/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/ciphers/aead.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/ciphers/aead.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/ciphers/algorithms.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/ciphers/algorithms.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/ciphers/base.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/ciphers/base.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/ciphers/modes.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/ciphers/modes.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/cmac.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/cmac.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/constant_time.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/constant_time.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/hashes.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/hashes.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/hmac.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/hmac.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/__init__.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/concatkdf.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/concatkdf.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/hkdf.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/hkdf.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/kbkdf.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/kbkdf.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/pbkdf2.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/pbkdf2.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/scrypt.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/scrypt.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/x963kdf.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/kdf/x963kdf.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/keywrap.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/keywrap.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/padding.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/padding.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/poly1305.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/poly1305.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/serialization/
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/serialization/__init__.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/serialization/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/serialization/base.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/serialization/base.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/serialization/pkcs12.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/serialization/pkcs12.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/serialization/ssh.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/serialization/ssh.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/twofactor/
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/twofactor/__init__.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/twofactor/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/twofactor/hotp.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/twofactor/hotp.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/twofactor/totp.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/twofactor/totp.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/twofactor/utils.py
+pypy/lib_pypy/_cffi_ssl/cryptography/hazmat/primitives/twofactor/utils.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/utils.py
+pypy/lib_pypy/_cffi_ssl/cryptography/utils.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/__init__.py
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/__init__.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/base.py
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/base.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/certificate_transparency.py
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/certificate_transparency.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/extensions.py
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/extensions.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/general_name.py
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/general_name.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/name.py
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/name.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/ocsp.py
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/ocsp.pyc
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/oid.py
+pypy/lib_pypy/_cffi_ssl/cryptography/x509/oid.pyc
+pypy/lib_pypy/_cffi_ssl/openssl/
+pypy/lib_pypy/_cffi_ssl/openssl/src/
+pypy/lib_pypy/_cffi_ssl/openssl/src/osrandom_engine.h
+pypy/lib_pypy/_cffi_ssl/osx-roots.diff
+pypy/lib_pypy/_cffi_ssl/tools/
+pypy/lib_pypy/_cffi_ssl/tools/make_ssl_data.py
+pypy/lib_pypy/_cffi_ssl/tools/make_ssl_data.pyc
pypy/lib_pypy/_codecs_cn.py
pypy/lib_pypy/_codecs_cn.pyc
pypy/lib_pypy/_codecs_hk.py
@@ -3097,6 +3389,9 @@ pypy/lib_pypy/_functools.pyc
pypy/lib_pypy/_gdbm_build.py
pypy/lib_pypy/_gdbm_build.pyc
pypy/lib_pypy/_gdbm_cffi.pypy-41.so
+pypy/lib_pypy/_hashlib/
+pypy/lib_pypy/_hashlib/__init__.py
+pypy/lib_pypy/_hashlib/__init__.pyc
pypy/lib_pypy/_marshal.py
pypy/lib_pypy/_marshal.pyc
pypy/lib_pypy/_md5.py
@@ -3108,6 +3403,7 @@ pypy/lib_pypy/_pypy_interact.py
pypy/lib_pypy/_pypy_interact.pyc
pypy/lib_pypy/_pypy_irc_topic.py
pypy/lib_pypy/_pypy_irc_topic.pyc
+pypy/lib_pypy/_pypy_openssl.pypy-41.so
pypy/lib_pypy/_pypy_testcapi.py
pypy/lib_pypy/_pypy_testcapi.pyc
pypy/lib_pypy/_pypy_wait.py
@@ -3132,6 +3428,11 @@ pypy/lib_pypy/_sqlite3.pyc
pypy/lib_pypy/_sqlite3_build.py
pypy/lib_pypy/_sqlite3_build.pyc
pypy/lib_pypy/_sqlite3_cffi.pypy-41.so
+pypy/lib_pypy/_ssl/
+pypy/lib_pypy/_ssl/__init__.py
+pypy/lib_pypy/_ssl/__init__.pyc
+pypy/lib_pypy/_ssl_build.py
+pypy/lib_pypy/_ssl_build.pyc
pypy/lib_pypy/_structseq.py
pypy/lib_pypy/_structseq.pyc
pypy/lib_pypy/_subprocess.py
@@ -3200,6 +3501,7 @@ pypy/lib_pypy/cffi/_pycparser/c_parser.p
pypy/lib_pypy/cffi/_pycparser/lextab.py
pypy/lib_pypy/cffi/_pycparser/lextab.pyc
pypy/lib_pypy/cffi/_pycparser/ply/
+pypy/lib_pypy/cffi/_pycparser/ply/LICENSE
pypy/lib_pypy/cffi/_pycparser/ply/__init__.py
pypy/lib_pypy/cffi/_pycparser/ply/__init__.pyc
pypy/lib_pypy/cffi/_pycparser/ply/cpp.py
@@ -3210,6 +3512,8 @@ pypy/lib_pypy/cffi/_pycparser/ply/lex.py
pypy/lib_pypy/cffi/_pycparser/ply/lex.pyc
pypy/lib_pypy/cffi/_pycparser/ply/yacc.py
pypy/lib_pypy/cffi/_pycparser/ply/yacc.pyc
+pypy/lib_pypy/cffi/_pycparser/ply/ygen.py
+pypy/lib_pypy/cffi/_pycparser/ply/ygen.pyc
pypy/lib_pypy/cffi/_pycparser/plyparser.py
pypy/lib_pypy/cffi/_pycparser/plyparser.pyc
pypy/lib_pypy/cffi/_pycparser/yacctab.py
@@ -3252,6 +3556,9 @@ pypy/lib_pypy/cffi/vengine_gen.py
pypy/lib_pypy/cffi/vengine_gen.pyc
pypy/lib_pypy/cffi/verifier.py
pypy/lib_pypy/cffi/verifier.pyc
+pypy/lib_pypy/crypt/
+pypy/lib_pypy/crypt/__init__.py
+pypy/lib_pypy/crypt/__init__.pyc
pypy/lib_pypy/ctypes_config_cache/
pypy/lib_pypy/ctypes_config_cache/.empty
pypy/lib_pypy/ctypes_support.py