Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ jobs:
- name: Install cibuildwheel
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install cibuildwheel==2.0.1
python -m pip install cibuildwheel==2.2.2

# - name: Download Patch 1/1
# uses: suisei-cn/actions-download-file@v1
Expand All @@ -93,9 +93,8 @@ jobs:
# typename T = lib::type_pack_element_t<I, Ts...>,
# (3) Disable PyPy (manylinux image: yum repo issues)
# https://github.com/pypa/manylinux/issues/899
# (4) musllinux: requires alternative to "yum" in library_builders.sh
# (5) CPython 3.10: requires 0.14.4+ (https://github.com/openPMD/openPMD-api/pull/1139)
CIBW_SKIP: "*-win32 *-manylinux_i686 pp*-manylinux* *-musllinux_* cp310-*"
# (4) CPython 3.10: requires 0.14.4+ (https://github.com/openPMD/openPMD-api/pull/1139)
CIBW_SKIP: "*-win32 *-manylinux_i686 pp*-manylinux* cp310-*"
CIBW_ARCHS: "${{ matrix.arch }}"
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.6"
# Install dependencies
Expand Down
37 changes: 37 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,18 @@ jobs:
env:
- CIBW_BUILD="*_aarch64"
- CIBW_SKIP="cp38-* cp39-* cp36-* cp37-* cp310-* *-musllinux_*"
- services: docker
arch: arm64
dist: focal
env:
- CIBW_BUILD="*-musllinux_aarch64"
- CIBW_SKIP="cp38-* cp39-* cp310-*"
- services: docker
arch: arm64
dist: focal
env:
- CIBW_BUILD="*-musllinux_aarch64"
- CIBW_SKIP="cp36-* cp37-* cp310-*"

# perform a linux PPC64LE build
- services: docker
Expand Down Expand Up @@ -66,6 +78,31 @@ jobs:
# dist: focal
# env:
# - CIBW_BUILD="cp310-manylinux_ppc64le"
- services: docker
arch: ppc64le
dist: focal
env:
- CIBW_BUILD="cp36-musllinux_ppc64le"
- services: docker
arch: ppc64le
dist: focal
env:
- CIBW_BUILD="cp37-musllinux_ppc64le"
- services: docker
arch: ppc64le
dist: focal
env:
- CIBW_BUILD="cp38-musllinux_ppc64le"
- services: docker
arch: ppc64le
dist: focal
env:
- CIBW_BUILD="cp39-musllinux_ppc64le"
# - services: docker
# arch: ppc64le
# dist: focal
# env:
# - CIBW_BUILD="cp310-musllinux_ppc64le"

# perform a linux S390X build
# blocked by https://github.com/GTkorvo/dill/issues/15
Expand Down
44 changes: 27 additions & 17 deletions library_builders.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,15 @@ function install_buildessentials {
rm -rf /usr/local/Cellar/hdf5
fi

# static libc, tar tool
if [ "$(uname -s)" = "Linux" ]
# musllinux: Alpine Linux
# pip, tar tool, cmath
APK_FOUND=$(which apk >/dev/null && { echo 0; } || { echo 1; })
if [ $APK_FOUND -eq 0 ]; then
apk add py3-pip tar

# manylinux: RHEL/Centos based
# static libc, tar tool, CMake dependencies
elif [ "$(uname -s)" = "Linux" ]
then
yum check-update -y || true
yum -y install \
Expand All @@ -43,20 +50,17 @@ function install_buildessentials {
cd ..
rm cmake-*.tar.gz
fi
fi

# avoid picking up a static libpthread in adios1 or blosc
# (also: those libs lack -fPIC)
if [ "$(uname -s)" = "Linux" ]
then
# manylinux: avoid picking up a static libpthread in adios1 or blosc
# (also: those libs lack -fPIC)
rm -f /usr/lib/libpthread.a /usr/lib/libm.a /usr/lib/librt.a
rm -f /usr/lib64/libpthread.a /usr/lib64/libm.a /usr/lib64/librt.a
fi

python -m pip install -U pip setuptools wheel
python -m pip install -U scikit-build
python -m pip install -U cmake
python -m pip install -U "patch==1.*"
python3 -m pip install -U pip setuptools wheel
python3 -m pip install -U scikit-build
python3 -m pip install -U cmake
python3 -m pip install -U "patch==1.*"

touch buildessentials-stamp
}
Expand Down Expand Up @@ -90,11 +94,11 @@ function build_adios2 {
# Patch PThread Propagation
curl -sLo adios-pthread.patch \
https://patch-diff.githubusercontent.com/raw/ornladios/ADIOS2/pull/2768.patch
python -m patch -p 1 -d ADIOS2-2.7.1 adios-pthread.patch
python3 -m patch -p 1 -d ADIOS2-2.7.1 adios-pthread.patch

mkdir build-ADIOS2
cd build-ADIOS2
PY_BIN=$(which python)
PY_BIN=$(which python3)
CMAKE_BIN="$(${PY_BIN} -m pip show cmake 2>/dev/null | grep Location | cut -d' ' -f2)/cmake/data/bin/"
if [ "$(uname -s)" = "Linux" ]
then
Expand Down Expand Up @@ -141,11 +145,11 @@ function build_blosc {
# Patch PThread Propagation
curl -sLo blosc-pthread.patch \
https://patch-diff.githubusercontent.com/raw/Blosc/c-blosc/pull/318.patch
python -m patch -p 1 -d c-blosc-1.21.0 blosc-pthread.patch
python3 -m patch -p 1 -d c-blosc-1.21.0 blosc-pthread.patch

mkdir build-c-blosc
cd build-c-blosc
PY_BIN=$(which python)
PY_BIN=$(which python3)
CMAKE_BIN="$(${PY_BIN} -m pip show cmake 2>/dev/null | grep Location | cut -d' ' -f2)/cmake/data/bin/"
PATH=${CMAKE_BIN}:${PATH} cmake \
-DDEACTIVATE_SNAPPY=ON \
Expand All @@ -170,11 +174,17 @@ function build_zfp {
file zfp*.tar.gz
tar -xzf zfp*.tar.gz
rm zfp*.tar.gz

mkdir build-zfp
cd build-zfp
PY_BIN=$(which python)
PY_BIN=$(which python3)
CMAKE_BIN="$(${PY_BIN} -m pip show cmake 2>/dev/null | grep Location | cut -d' ' -f2)/cmake/data/bin/"
PATH=${CMAKE_BIN}:${PATH} cmake -DBUILD_SHARED_LIBS=OFF -DZFP_WITH_OPENMP=OFF -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=${BUILD_PREFIX} ../zfp-*
PATH=${CMAKE_BIN}:${PATH} cmake \
-DBUILD_SHARED_LIBS=OFF \
-DZFP_WITH_OPENMP=OFF \
-DBUILD_TESTING=OFF \
-DCMAKE_INSTALL_PREFIX=${BUILD_PREFIX} \
../zfp-*
make -j${CPU_COUNT}
make install
cd -
Expand Down