The xenial build of pypy on Travis CI links against OpenSSL 1.0.2, which causes pip install cryptography to fail with

RuntimeError: You are linking against OpenSSL 1.0.2, which is no longer
supported by the OpenSSL project. To use this version of cryptography
you need to upgrade to a newer version of OpenSSL. For this version only
you can also set the environment variable CRYPTOGRAPHY_ALLOW_OPENSSL_102
to allow OpenSSL 1.0.2.

Marius found the solution, see https://github.com/zopefoundation/transaction/pull/96

solution

Use a newer Ubuntu version, e.g. focal, but make sure to rename pypy to pypy2.

language: python
dist: focal
python:
    - 2.7
    - 3.5
    - 3.6
    - 3.7
    - 3.8
    - pypy2
    - pypy3
...