Skip to content

Building Linux Wheels

Erik Welch edited this page Jul 4, 2021 · 4 revisions
# docker run -it -v `pwd`:/io quay.io/pypa/manylinux2010_x86_64 /bin/bash
# docker run -it -v `pwd`:/io quay.io/pypa/manylinux2014_x86_64 /bin/bash
#
# Choose Python and NumPy versions according to:
# https://numpy.org/neps/nep-0029-deprecation_policy.html
# ============ ====== =====
# Date         Python NumPy
# ------------ ------ -----
# Jan 13, 2021 3.7+   1.17+
# Jul 26, 2021 3.7+   1.18+
# Dec 22, 2021 3.7+   1.19+
# Dec 26, 2021 3.8+   1.19+
# Jun 21, 2022 3.8+   1.20+
# Apr 14, 2023 3.9+   1.20+
# ============ ====== =====

export ORG="GraphBLAS"
export GITHUBNAME="python-suitesparse-graphblas"
export PACKAGENAME="suitesparse_graphblas"
export NAME="suitesparse-graphblas"
export VERSION="5.1.3.0"
export GBVERSION="5.1.3"
export NPVERSION="1.17.5"

cd /home
curl -L https://github.com/DrTimothyAldenDavis/GraphBLAS/archive/v${GBVERSION}.tar.gz > GraphBLAS-${GBVERSION}.tar.gz
tar -zxvf GraphBLAS-${GBVERSION}.tar.gz
cd GraphBLAS-${GBVERSION}
make library VERBOSE=1 JOBS=20 CMAKE_OPTIONS="-DCMAKE_BUILD_TYPE=Release"
make install VERBOSE=1 CMAKE_OPTIONS="-DCMAKE_BUILD_TYPE=Release"

cd /home
curl -L https://github.com/${ORG}/${GITHUBNAME}/archive/${VERSION}.tar.gz > ${GITHUBNAME}-${VERSION}.tar.gz
tar -zxvf ${GITHUBNAME}-${VERSION}.tar.gz
cd ${GITHUBNAME}-${VERSION}

/opt/python/cp37-cp37m/bin/python -m venv ./env37
. env37/bin/activate
pip install -U pip wheel setuptools
pip install cython numpy==${NPVERSION}
python setup.py bdist_wheel
pip install auditwheel
auditwheel repair dist/${PACKAGENAME}-${VERSION}-cp37-cp37m-linux_x86_64.whl
deactivate

/opt/python/cp38-cp38/bin/python -m venv ./env38
. env38/bin/activate
pip install -U pip wheel setuptools
pip install cython numpy==${NPVERSION}
python setup.py bdist_wheel
pip install auditwheel
auditwheel repair dist/${PACKAGENAME}-${VERSION}-cp38-cp38-linux_x86_64.whl
deactivate

/opt/python/cp39-cp39/bin/python -m venv ./env39
. env39/bin/activate
pip install -U pip wheel setuptools
pip install cython numpy==${NPVERSION}
python setup.py bdist_wheel
pip install auditwheel
auditwheel repair dist/${PACKAGENAME}-${VERSION}-cp39-cp39-linux_x86_64.whl
deactivate

cp wheelhouse/* /io/

# Source
/opt/python/cp37-cp37m/bin/python -m venv ./env37src
. env37src/bin/activate
pip install -U pip wheel setuptools
pip install cython numpy==${NPVERSION}
python setup.py sdist
deactivate
cp dist/${NAME}-${VERSION}.tar.gz /io/
Clone this wiki locally