Newer
Older
#!/bin/bash
set -e -x
mkdir -p /deps
cd /deps
yum install -y git yum
curl -L -O http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz
tar -xf ruby-2.1.2.tar.gz
cd ruby-2.1.2
./configure --disable-install-doc --disable-install-rdoc
make -j4
make install
cd ..
rm -rf ruby-2.1.2
git clone --branch v2.2.12 https://github.com/OCL-dev/ocl-icd
cd ocl-icd
curl -L -O https://raw.githubusercontent.com/conda-forge/ocl-icd-feedstock/22625432a0ae85920825dfeb103af9fe7bd6a950/recipe/install-headers.patch
git apply install-headers.patch
curl -L -O https://github.com/isuruf/ocl-icd/commit/3862386b51930f95d9ad1089f7157a98165d5a6b.patch
git apply 3862386b51930f95d9ad1089f7157a98165d5a6b.patch
autoreconf -i
chmod +x configure
./configure --prefix=/usr
make -j4
make install
# Compile wheels
for PYBIN in /opt/python/*/bin; do
if [[ "${PYBIN}" == *cp36* ]]; then
NUMPY_VERSION="1.11.3"
elif [[ "${PYBIN}" == *cp37* ]]; then
NUMPY_VERSION="1.14.5"
elif [[ "${PYBIN}" == *cp35* ]]; then
NUMPY_VERSION="1.9.3"
elif [[ "${PYBIN}" == *cp38* ]]; then
NUMPY_VERSION="1.17.3"
elif [[ "${PYBIN}" == *cp39* ]]; then
continue
else
NUMPY_VERSION="1.8.2"
fi
# Build with the oldest numpy available to be compatible with newer ones
"${PYBIN}/pip" install "numpy==${NUMPY_VERSION}" pybind11 mako
"${PYBIN}/pip" wheel /io/ -w wheelhouse/ --no-deps
done
# Bundle external shared libraries into the wheels
for whl in wheelhouse/pyopencl*.whl; do
auditwheel repair "$whl" -w /io/wheelhouse/
done
# Bundle license files
/opt/python/cp37-cp37m/bin/pip install delocate
/opt/python/cp37-cp37m/bin/python /io/travis/fix-wheel.py /deps/ocl-icd/COPYING
echo "TWINE_USERNAME not set. Skipping uploading wheels"
/opt/python/cp37-cp37m/bin/pip install twine
for WHEEL in /io/wheelhouse/pyopencl*.whl; do
# dev
# /opt/python/cp37-cp37m/bin/twine upload \
# --skip-existing \
# --repository-url https://test.pypi.org/legacy/ \
# -u "${TWINE_USERNAME}" -p "${TWINE_PASSWORD}" \
# "${WHEEL}"
# prod
/opt/python/cp37-cp37m/bin/twine upload \
--skip-existing \
-u "${TWINE_USERNAME}" -p "${TWINE_PASSWORD}" \
"${WHEEL}"
done