From 64e4cf5045f632ea04518e5be8066ea12eeb1b12 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Wed, 26 Jun 2019 09:10:41 -0400 Subject: [PATCH] Only install custom pyutil for PyPy CI And add a comment explaining it --- .circleci/populate-wheelhouse.sh | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/.circleci/populate-wheelhouse.sh b/.circleci/populate-wheelhouse.sh index 05ac45e17..81d822f38 100755 --- a/.circleci/populate-wheelhouse.sh +++ b/.circleci/populate-wheelhouse.sh @@ -43,9 +43,23 @@ export PIP_FIND_LINKS="file://${WHEELHOUSE_PATH}" "${PROJECT_ROOT}"[test,tor,i2p] \ ${BASIC_DEPS} \ ${TEST_DEPS} \ - ${REPORTING_DEPS} \ - https://github.com/exarkun/pyutil/archive/good-version.zip#egg=pyutil # XXX see if these changes fix pyutil for pypy + ${REPORTING_DEPS} +# The latest pyutil doesn't compile on PyPy. Also, pyutil uses versioneer +# which gives a bogus version number when installed from a git snapshot (like +# 0+unknown or 0+untagged.59.ga55d206, neither of which plays nicely with pip +# dependency resolution). https://github.com/tpltnt/pyutil/pull/5 is for the +# branch "pypy" which fixes the PyPy SyntaxErrors. "good-version" is a branch +# of the "pypy" branch which hard-codes a version number instead of using +# versioneer. +# +# This hack is here for CI so that PyPy builds can at least finish installing +# and start the test suite. We can remove it when pyutil#5 is resolved and a +# release is made. Note we only install this version in the PyPy CI +# environment so it won't affect any of our CPython testing. +PYUTIL="https://github.com/exarkun/pyutil/archive/good-version.zip#egg=pyutil" +[ -e ${BOOTSTRAP_VENV}/bin/pypy ] && + "${PIP}" wheel --wheel-dir "${WHEELHOUSE_PATH}" "${PYUTIL}" # Not strictly wheelhouse population but ... Note we omit basic deps here. # They're in the wheelhouse if Tahoe-LAFS wants to drag them in but it will