Skip to content

Commit 9b806ce

Browse files
ax3lfranzpoeschelpre-commit-ci[bot]
authored
Wheels: 0.17.0 (#1833)
* ADIOS2: 2.11.0 & Campaigns Update ADIOS2 to v2.11.0 and enable campaign management. * openPMD-api: 0.17.0 * macOS 13 -> 14/15 GH runners EOL and removed * Build SQLite3 - [x] Linux/macOS - [x] Windows * Windows h_errno patch * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * GTKorvo patch * Revert "[pre-commit.ci] auto fixes from pre-commit.com hooks" This reverts commit 3ef0b01. * Exclude patches from pre-commit * Wrong path.. * Use a better patch for GTKorvo upstream * Fix Windows paths * Debug error * tmp: Use master branch of ADIOS2 * more paths * Try Greg's suggestion * Unix: `-DFFS_USE_DILL=FALSE` * Ouch * Ouch * Try fixing paths again.. * use downloaded patch.. * [Patch] ADIOS macOS DILL Trying ornladios/ADIOS2#4820 * Refresh ADIOS Patch w/ Diagnostics * Patch? * Patch? * Patchy patch * MACOSX_DEPLOYMENT_TARGET: 14.0/15.0 libcrypto.3.dylib and libssl.3.dylib pull this up * "git am" committer * Patch Cleanup/Simplify * macOS: keep master commit w/ EVPath Change * remove stray change --------- Co-authored-by: Franz Pöschel <franz.poeschel@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 2f70e31 commit 9b806ce

5 files changed

Lines changed: 132 additions & 39 deletions

File tree

.github/workflows/build.yml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,37 +40,37 @@ jobs:
4040
CMAKE_GENERATOR: "Visual Studio 17 2022"
4141
CMAKE_GENERATOR_PLATFORM: "Win32"
4242

43-
- os: macos-13
43+
- os: macos-15-intel
4444
arch: "x86_64"
4545
env:
46-
MACOSX_DEPLOYMENT_TARGET: 11.0
46+
MACOSX_DEPLOYMENT_TARGET: 15.0
4747

4848
# Apple Silicon M1/arm64/aarch64 builds:
4949
# https://cibuildwheel.readthedocs.io/en/stable/faq/#apple-silicon
5050
# https://github.com/pypa/cibuildwheel/pull/704
51-
- os: macos-13
51+
- os: macos-14
5252
arch: "arm64"
5353
env:
5454
CMAKE_OSX_ARCHITECTURES: "arm64"
55-
MACOSX_DEPLOYMENT_TARGET: 11.0
55+
MACOSX_DEPLOYMENT_TARGET: 14.0
5656

5757
# Apple universal builds that contain x86-64 and arm64 binary code
5858
# Needs extra treatment of all librarys that are not CMake
5959
# controlled the dependencies:
6060
# https://developer.apple.com/documentation/apple-silicon/building-a-universal-macos-binary
6161
# ADIOS1 tricky to build and HDF5 even with CMake as well (as of 1.12)
6262
# We could build them twice and use `lipo` to combine the lib artifacts.
63-
#- os: macos-13
63+
#- os: macos-15-intel
6464
# arch: "universal2"
6565
# env:
6666
# CMAKE_OSX_ARCHITECTURES: "arm64;x86_64"
67-
# MACOSX_DEPLOYMENT_TARGET: 11.0
67+
# MACOSX_DEPLOYMENT_TARGET: 14.0
6868

6969
steps:
7070
- uses: actions/checkout@v4
7171
with:
7272
path: 'src'
73-
ref: '0.16.1'
73+
ref: '0.17.0'
7474

7575
- uses: actions/checkout@v4
7676
with:
@@ -87,12 +87,12 @@ jobs:
8787
python -m pip install cibuildwheel==3.2.1
8888
8989
# 0.16.1.post1 bump
90-
- name: Download Patch 1/1
91-
uses: suisei-cn/actions-download-file@818d6b7dc8fe73f2f924b6241f2b1134ca1377d9 # 1.6.0
92-
id: setupversion
93-
with:
94-
url: "https://github.com/openPMD/openPMD-api/commit/f94a1d48eefbc81784a9c25f61c913cf30fe2ece.patch"
95-
target: src/.patch/
90+
# - name: Download Patch 1/1
91+
# uses: suisei-cn/actions-download-file@818d6b7dc8fe73f2f924b6241f2b1134ca1377d9 # 1.6.0
92+
# id: setupversion
93+
# with:
94+
# url: "https://github.com/openPMD/openPMD-api/commit/f94a1d48eefbc81784a9c25f61c913cf30fe2ece.patch"
95+
# target: src/.patch/
9696

9797
# # Patch: Fix versioning
9898
# - name: Download Patch 1/2
@@ -110,10 +110,10 @@ jobs:
110110
# url: "https://github.com/openPMD/openPMD-api/pull/1684.patch"
111111
# target: src/.patch/
112112

113-
- name: Apply Patches
114-
run: |
115-
cd src
116-
git apply .patch/f94a1d48eefbc81784a9c25f61c913cf30fe2ece.patch
113+
# - name: Apply Patches
114+
# run: |
115+
# cd src
116+
# git apply .patch/f94a1d48eefbc81784a9c25f61c913cf30fe2ece.patch
117117

118118
- name: Build wheel
119119
env:

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
# See https://pre-commit.com for more information
1414

1515
# See https://pre-commit.com/hooks.html for more hooks
16+
exclude: ^.*\.patch$
1617
repos:
1718
- repo: https://github.com/pre-commit/pre-commit-hooks
1819
rev: v2.4.0

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ branches:
88

99
env:
1010
global:
11-
- OPENPMD_GIT_REF="0.16.1"
11+
- OPENPMD_GIT_REF="0.17.0"
1212

1313
- CIBW_PROJECT_REQUIRES_PYTHON=">=3.10"
1414
# Install dependencies on Linux and OSX

library_builders.bat

Lines changed: 58 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,19 @@ exit /b 0
1717

1818
:build_adios2
1919
if exist adios2-stamp exit /b 0
20-
curl -sLo adios2-2.10.2.zip ^
21-
https://github.com/ornladios/ADIOS2/archive/v2.10.2.zip
22-
powershell Expand-Archive adios2-2.10.2.zip -DestinationPath dep-adios2
20+
curl -sLo adios2-2.11.0.zip ^
21+
https://github.com/ornladios/ADIOS2/archive/v2.11.0.zip
22+
powershell Expand-Archive adios2-2.11.0.zip -DestinationPath dep-adios2
2323

24-
curl -sLo dep-adios2/ADIOS2-2.10.2/patch.diff https://github.com/franzpoeschel/ADIOS2/commit/patches-fix-32-bit-builds.patch
24+
:: Patch Win32 on ADIOS 2.11.0 https://github.com/ornladios/ADIOS2/issues/4808
25+
curl -sLo dep-adios2/ADIOS2-2.11.0/patch.diff https://github.com/franzpoeschel/ADIOS2/commit/13e9747799e32841b29f166c2bcdfd82ee915f1a.patch
2526

2627
:: Use git-am for applying the patch,
2728
:: for some reason, python -m patch just silently does nothing.
2829
:: git-am requires a Git repository to apply a patch, but the release zip
2930
:: strips away any Git info, so we just quickly initialize a repository.
30-
cd dep-adios2/ADIOS2-2.10.2
31+
32+
cd dep-adios2/ADIOS2-2.11.0
3133
git init
3234
git config user.email "tooling@tools.com"
3335
git config user.name "Tooling"
@@ -39,7 +41,7 @@ exit /b 0
3941

4042
cmake --version
4143

42-
cmake -S dep-adios2/ADIOS2-2.10.2 -B build-adios2 ^
44+
cmake -S dep-adios2/ADIOS2-2.11.0 -B build-adios2 ^
4345
-DCMAKE_BUILD_TYPE=Release ^
4446
-DCMAKE_DISABLE_FIND_PACKAGE_LibFFI=TRUE ^
4547
-DBUILD_SHARED_LIBS=OFF ^
@@ -49,7 +51,7 @@ exit /b 0
4951
-DADIOS2_Blosc2_PREFER_SHARED=OFF ^
5052
-DADIOS2_USE_Blosc2=ON ^
5153
-DADIOS2_USE_BZip2=OFF ^
52-
-DADIOS2_USE_Campaign=OFF ^
54+
-DADIOS2_USE_Campaign=ON ^
5355
-DADIOS2_USE_Fortran=OFF ^
5456
-DADIOS2_USE_HDF5=OFF ^
5557
-DADIOS2_USE_MHS=OFF ^
@@ -58,7 +60,8 @@ exit /b 0
5860
-DADIOS2_USE_Python=OFF ^
5961
-DADIOS2_USE_ZeroMQ=OFF ^
6062
-DADIOS2_USE_ZFP=ON ^
61-
-DADIOS2_RUN_INSTALL_TEST=OFF
63+
-DADIOS2_RUN_INSTALL_TEST=OFF ^
64+
-DSQLite3_ROOT=%BUILD_PREFIX%/SQLite3
6265
if errorlevel 1 exit 1
6366
:: TODO: Could NOT find HDF5 (missing: HDF5_LIBRARIES C)
6467
:: -DADIOS2_USE_HDF5=ON
@@ -160,6 +163,52 @@ exit /b 0
160163
if errorlevel 1 exit 1
161164
exit /b 0
162165

166+
:build_sqlite
167+
if exist sqlite-stamp exit /b 0
168+
169+
set SQLITE_VERSION="3510200"
170+
171+
curl -sLo sqlite-amalgamation-%SQLITE_VERSION%.zip ^
172+
https://www.sqlite.org/2026/sqlite-amalgamation-%SQLITE_VERSION%.zip
173+
if errorlevel 1 exit 1
174+
175+
powershell Expand-Archive sqlite-amalgamation-%SQLITE_VERSION%.zip -DestinationPath '.'
176+
if errorlevel 1 exit 1
177+
178+
cd sqlite-amalgamation-%SQLITE_VERSION%
179+
if errorlevel 1 exit 1
180+
181+
REM Create a minimal CMakeLists.txt
182+
(
183+
echo cmake_minimum_required(VERSION 3.10^)
184+
echo project(sqlite3 C^)
185+
echo add_library(sqlite3 STATIC sqlite3.c^)
186+
echo target_compile_definitions(sqlite3 PRIVATE SQLITE_ENABLE_FTS3 SQLITE_ENABLE_FTS5 SQLITE_ENABLE_RTREE SQLITE_ENABLE_DBSTAT_VTAB SQLITE_ENABLE_RBU SQLITE_ENABLE_SESSION^)
187+
echo set_property(TARGET sqlite3 PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"^)
188+
echo install(TARGETS sqlite3 ARCHIVE DESTINATION lib^)
189+
echo install(FILES sqlite3.h DESTINATION include^)
190+
) > CMakeLists.txt
191+
192+
:: build and install
193+
cmake -S . -B build ^
194+
-DCMAKE_INSTALL_PREFIX=%BUILD_PREFIX%/SQLite3
195+
if errorlevel 1 exit 1
196+
197+
cmake --build build --config Release
198+
if errorlevel 1 exit 1
199+
200+
cmake --install build --config Release
201+
if errorlevel 1 exit 1
202+
203+
:: cleanup
204+
cd ..
205+
rmdir /s /q sqlite-amalgamation-%SQLITE_VERSION%
206+
if errorlevel 1 exit 1
207+
208+
break > sqlite-stamp
209+
if errorlevel 1 exit 1
210+
exit /b 0
211+
163212
:build_zfp
164213
if exist zfp-stamp exit /b 0
165214

@@ -225,6 +274,7 @@ exit /b 0
225274
:main
226275
call :install_buildessentials
227276
call :build_zlib
277+
call :build_sqlite
228278
:: build_bzip2
229279
:: build_szip
230280
call :build_zfp

library_builders.sh

Lines changed: 55 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ BUILD_PREFIX="${BUILD_PREFIX:-/usr/local}"
99
if [ "$(uname -s)" = "Darwin" ]
1010
then
1111
CPU_COUNT="${CPU_COUNT:-3}"
12+
SUDO="sudo"
1213
else
1314
CPU_COUNT="${CPU_COUNT:-2}"
15+
SUDO=""
1416
fi
1517

1618
function install_buildessentials {
@@ -75,11 +77,24 @@ function install_buildessentials {
7577
function build_adios2 {
7678
if [ -e adios2-stamp ]; then return; fi
7779

78-
curl -sLo adios2-2.10.2.tar.gz \
79-
https://github.com/ornladios/ADIOS2/archive/v2.10.2.tar.gz
80-
file adios2*.tar.gz
81-
tar -xzf adios2*.tar.gz
82-
rm adios2*.tar.gz
80+
# static build of macOS on ADIOS 2.11.0
81+
# https://github.com/ornladios/ADIOS2/issues/4807
82+
if [ "$(uname -s)" = "Darwin" ]
83+
then
84+
git clone https://github.com/ornladios/ADIOS2 ADIOS2-2.11.0
85+
cd ADIOS2-2.11.0
86+
git checkout 7a21e4ef2f5def6659e67084b5210a66582d4b1a
87+
curl -sLo 4820.diff https://github.com/ornladios/ADIOS2/pull/4820/commits/c7961dd9e12d72b279db75fd184d2b3b4f151560.diff
88+
GIT_COMMITTER_NAME="Greg Eisenhauer" GIT_COMMITTER_EMAIL="eisen@cc.gatech.edu" \
89+
patch -p1 < 4820.diff
90+
cd ..
91+
else
92+
curl -sLo adios2-2.11.0.tar.gz \
93+
https://github.com/ornladios/ADIOS2/archive/v2.11.0.tar.gz
94+
file adios2*.tar.gz
95+
tar -xzf adios2*.tar.gz
96+
rm adios2*.tar.gz
97+
fi
8398

8499
# build
85100
mkdir build-adios2
@@ -94,7 +109,7 @@ function build_adios2 {
94109
-DADIOS2_Blosc2_PREFER_SHARED=OFF \
95110
-DADIOS2_USE_BZip2=OFF \
96111
-DADIOS2_USE_Blosc2=ON \
97-
-DADIOS2_USE_Campaign=OFF \
112+
-DADIOS2_USE_Campaign=ON \
98113
-DADIOS2_USE_Fortran=OFF \
99114
-DADIOS2_USE_HDF5=OFF \
100115
-DADIOS2_USE_MHS=OFF \
@@ -112,11 +127,11 @@ function build_adios2 {
112127
-DCMAKE_INSTALL_PREFIX=${BUILD_PREFIX} ../ADIOS2-*
113128

114129
make -j${CPU_COUNT}
115-
make install
130+
${SUDO} make install
116131

117132
# CMake Config package of C-Blosc 2.10.1+ only
118133
# https://github.com/ornladios/ADIOS2/issues/3903
119-
rm -rf ${BUILD_PREFIX}/lib*/cmake/adios2/FindBlosc2.cmake
134+
${SUDO} rm -rf ${BUILD_PREFIX}/lib*/cmake/adios2/FindBlosc2.cmake
120135

121136
cd -
122137

@@ -163,14 +178,40 @@ function build_blosc2 {
163178
"${architecture_specific_flags[@]}" \
164179
../c-blosc2-*
165180
make -j${CPU_COUNT}
166-
make install
181+
${SUDO} make install
167182
cd -
168183

169184
rm -rf build-blosc2
170185

171186
touch blosc-stamp2
172187
}
173188

189+
function build_sqlite {
190+
if [ -e sqlite-stamp ]; then return; fi
191+
192+
SQLITE_VERSION="3510200" # "3.51.2"
193+
194+
curl -sLO https://www.sqlite.org/2026/sqlite-autoconf-${SQLITE_VERSION}.tar.gz
195+
file sqlite-autoconf*.tar.gz
196+
tar xzf sqlite-autoconf-${SQLITE_VERSION}.tar.gz
197+
rm sqlite-autoconf*.tar.gz
198+
199+
cd sqlite-autoconf-${SQLITE_VERSION}
200+
201+
./configure \
202+
--disable-shared \
203+
--prefix=${BUILD_PREFIX} \
204+
--all \
205+
--disable-readline
206+
make
207+
${SUDO} make install
208+
209+
cd -
210+
rm -rf sqlite-autoconf*
211+
212+
touch sqlite-stamp
213+
}
214+
174215
function build_zfp {
175216
if [ -e zfp-stamp ]; then return; fi
176217

@@ -192,7 +233,7 @@ function build_zfp {
192233
-DCMAKE_INSTALL_PREFIX=${BUILD_PREFIX} \
193234
../zfp-*
194235
make -j${CPU_COUNT}
195-
make install
236+
${SUDO} make install
196237
cd -
197238

198239
rm -rf build-zfp
@@ -220,8 +261,8 @@ function build_zlib {
220261
-DCMAKE_INSTALL_PREFIX=${BUILD_PREFIX}
221262

222263
PATH=${CMAKE_BIN}:${PATH} cmake --build build-zlib --parallel ${CPU_COUNT}
223-
PATH=${CMAKE_BIN}:${PATH} cmake --build build-zlib --target install
224-
rm -rf ${BUILD_PREFIX}/lib/libz.*dylib ${BUILD_PREFIX}/lib/libz.*so
264+
PATH=${CMAKE_BIN}:${PATH} ${SUDO} cmake --build build-zlib --target install
265+
${SUDO} rm -rf ${BUILD_PREFIX}/lib/libz.*dylib ${BUILD_PREFIX}/lib/libz.*so
225266

226267
rm -rf build-zlib
227268

@@ -292,7 +333,7 @@ function build_hdf5 {
292333
fi
293334

294335
make -j${CPU_COUNT}
295-
make install
336+
${SUDO} make install
296337
cd ..
297338

298339
touch hdf5-stamp
@@ -314,6 +355,7 @@ fi
314355

315356
install_buildessentials
316357
build_zlib
358+
build_sqlite
317359
build_zfp
318360
build_blosc2
319361
build_hdf5

0 commit comments

Comments
 (0)