diff --git a/.travis.yml b/.travis.yml index 882e76504..d65665e9c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -99,9 +99,6 @@ matrix: - env: TOXENV=py33-cryptographyMaster - env: TOXENV=py34-cryptographyMaster - env: TOXENV=py35-cryptographyMaster - - env: TOXENV=pypy-cryptographyMaster - - env: TOXENV=pypy-cryptography1.1 - - env: TOXENV=pypy install: - | @@ -112,6 +109,15 @@ install: python get-pip.py --user pip install --user virtualenv else + # install our own pypy. This can be removed if and when Travis gets a reasonably up to date pypy + if [[ "${TOXENV}" = pypy* ]]; then + git clone https://github.com/yyuu/pyenv.git ~/.pyenv + PYENV_ROOT="$HOME/.pyenv" + PATH="$PYENV_ROOT/bin:$PATH" + eval "$(pyenv init -)" + pyenv install pypy-4.0.1 + pyenv global pypy-4.0.1 + fi pip install virtualenv fi python -m virtualenv ~/.venv @@ -126,6 +132,12 @@ script: export CFLAGS="-I/usr/local/opt/openssl/include" export PATH="/usr/local/opt/openssl/bin:$PATH" fi + # activate the pypy env we installed via our custom pyenv in the install stage + if [[ "${TOXENV}" == "pypy" ]]; then + PYENV_ROOT="$HOME/.pyenv" + PATH="$PYENV_ROOT/bin:$PATH" + eval "$(pyenv init -)" + fi # This section potentially downloads, compiles and installs openssl 0.9.8zg if [[ "${OPENSSL}" == "0.9.8" ]]; then # download, compile, and install if it's not already present via travis cache