aboutsummaryrefslogtreecommitdiffstats
path: root/.jenkins/mac-wheel.sh
diff options
context:
space:
mode:
Diffstat (limited to '.jenkins/mac-wheel.sh')
-rw-r--r--.jenkins/mac-wheel.sh61
1 files changed, 61 insertions, 0 deletions
diff --git a/.jenkins/mac-wheel.sh b/.jenkins/mac-wheel.sh
new file mode 100644
index 00000000..3a6bf64b
--- /dev/null
+++ b/.jenkins/mac-wheel.sh
@@ -0,0 +1,61 @@
+#!/bin/bash -xe
+# output the list of things we've installed as a point in time check of how up to date the builder is
+/usr/sbin/system_profiler SPInstallHistoryDataType
+# Jenkins logs in as a non-interactive shell, so we don't even have /usr/local/bin in PATH
+export PATH=/usr/local/bin:$PATH
+# pyenv is nothing but trouble with non-interactive shells so we can't eval "$(pyenv init -)"
+export PATH="/Users/jenkins/.pyenv/shims:${PATH}"
+export PYENV_SHELL=bash
+
+# TODO: upgrade wheel builder VM and run it on El Cap with python.org Pythons.
+if [[ "${label}" == "10.10" ]]; then
+ case "${TOXENV}" in
+ py26)
+ PYTHON=/usr/bin/python2.6
+ ;;
+ py27)
+ PYTHON=/usr/bin/python2.7
+ ;;
+ py27u)
+ PYTHON=python2.7
+ ;;
+ py33)
+ PYTHON=python3.3
+ ;;
+ py34)
+ PYTHON=python3.4
+ ;;
+ py35)
+ PYTHON=python3.5
+ ;;
+ pypy)
+ PYTHON=pypy
+ ;;
+ esac
+else
+ case "${TOXENV}" in
+ py27)
+ PYTHON=/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
+ ;;
+ py33)
+ PYTHON=/Library/Frameworks/Python.framework/Versions/3.3/bin/python3.3
+ ;;
+ py34)
+ PYTHON=/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4
+ ;;
+ py35)
+ PYTHON=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5
+ ;;
+ esac
+fi
+printenv
+
+virtualenv .venv -p $PYTHON
+source .venv/bin/activate
+pip install -U wheel # upgrade wheel to latest before we use it to build the wheel
+CRYPTOGRAPHY_OSX_NO_LINK_FLAGS="1" LDFLAGS="/usr/local/opt/openssl/lib/libcrypto.a /usr/local/opt/openssl/lib/libssl.a" CFLAGS="-I/usr/local/opt/openssl/include" pip wheel cryptography --wheel-dir=wheelhouse --no-use-wheel
+pip install -f wheelhouse cryptography --no-index
+python -c "from cryptography.hazmat.backends.openssl.backend import backend;print('Loaded: ' + backend.openssl_version_text());print('Linked Against: ' + backend._ffi.string(backend._lib.OPENSSL_VERSION_TEXT).decode('ascii'))"
+otool -L `find .venv -name '_openssl*.so'`
+lipo -info `find .venv -name '*.so'`
+otool -L `find .venv -name '_openssl*.so'` | grep -vG "libcrypto\|libssl"