| ... | ... |
@@ -708,12 +708,6 @@ source $TOP_DIR/tools/fixup_stuff.sh |
| 708 | 708 |
# Pre-build some problematic wheels |
| 709 | 709 |
if [[ -n ${WHEELHOUSE:-} && ! -d ${WHEELHOUSE:-} ]]; then
|
| 710 | 710 |
source $TOP_DIR/tools/build_wheels.sh |
| 711 |
- |
|
| 712 |
- # Due to https://bugs.launchpad.net/swift/+bug/1451992 we have to import |
|
| 713 |
- # this package with root once so the CFFI bindings can be built. We have |
|
| 714 |
- # to therefore install it so we can import it. |
|
| 715 |
- pip_install xattr |
|
| 716 |
- sudo python -c "import xattr" |
|
| 717 | 711 |
fi |
| 718 | 712 |
|
| 719 | 713 |
|
| ... | ... |
@@ -60,6 +60,18 @@ virtualenv $TMP_VENV_PATH |
| 60 | 60 |
# Install modern pip and wheel |
| 61 | 61 |
PIP_VIRTUAL_ENV=$TMP_VENV_PATH pip_install -U pip wheel |
| 62 | 62 |
|
| 63 |
+# BUG: cffi has a lot of issues. It has no stable ABI, if installed |
|
| 64 |
+# code is built with a different ABI than the one that's detected at |
|
| 65 |
+# load time, it tries to compile on the fly for the new ABI in the |
|
| 66 |
+# install location (which will probably be /usr and not |
|
| 67 |
+# writable). Also cffi is often included via setup_requires by |
|
| 68 |
+# packages, which have different install rules (allowing betas) than |
|
| 69 |
+# pip has. |
|
| 70 |
+# |
|
| 71 |
+# Because of this we must pip install cffi into the venv to build |
|
| 72 |
+# wheels. |
|
| 73 |
+PIP_VIRTUAL_ENV=$TMP_VENV_PATH pip_install_gr cffi |
|
| 74 |
+ |
|
| 63 | 75 |
# ``VENV_PACKAGES`` is a list of packages we want to pre-install |
| 64 | 76 |
VENV_PACKAGE_FILE=$FILES/venv-requirements.txt |
| 65 | 77 |
if [[ -r $VENV_PACKAGE_FILE ]]; then |