From 9f041bf9951054e5e2ae954e427d6e6099ae4eff Mon Sep 17 00:00:00 2001 From: HugoMVale <57530119+HugoMVale@users.noreply.github.com> Date: Sun, 18 Oct 2026 12:05:14 +0200 Subject: [PATCH 1/6] chore: add default BLAS option for odrpack95 in Meson build --- meson.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index c5974d2..a0717ab 100644 --- a/meson.build +++ b/meson.build @@ -6,7 +6,8 @@ project( default_options: [ 'buildtype=release', 'b_ndebug=if-release', - 'cpp_std=c++17' + 'cpp_std=c++17', + 'odrpack95:blas_option=refblas' ], ) From 896f94956bff6a9ee8b28799695361c94cc6c8ed Mon Sep 17 00:00:00 2001 From: HugoMVale <57530119+HugoMVale@users.noreply.github.com> Date: Sun, 18 Oct 2026 12:11:45 +0200 Subject: [PATCH 2/6] comment out openblas install --- .github/workflows/test-linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml index beca64a..62c4244 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -43,8 +43,8 @@ jobs: - name: Install Ubuntu-build dependencies run: | - sudo apt-get update - sudo apt-get install -y libopenblas-dev + # sudo apt-get update + # sudo apt-get install -y libopenblas-dev gfortran --version gcc --version From a12a778ade9ba302c98e2dc813dfa3229483dd4f Mon Sep 17 00:00:00 2001 From: HugoMVale <57530119+HugoMVale@users.noreply.github.com> Date: Sun, 18 Oct 2026 12:24:29 +0200 Subject: [PATCH 3/6] fix: comment out unnecessary Windows setup for pkg-config and CMake in build workflow --- .github/workflows/build-wheels.yml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 05a2b49..a2a353a 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -35,13 +35,15 @@ jobs: echo "MACOSX_DEPLOYMENT_TARGET=$(sw_vers -productVersion | cut -d '.' -f 1-2)" >> $GITHUB_ENV # This does not work inside CIBW_BEFORE_ALL_MACOS; Without it, the wheel repair fails. - - name: Windows - Set up pkg-config and CMake - if: runner.os == 'windows' - shell: bash - run: | - choco install cmake --version=3.31.5 --allow-downgrade -y --no-progress - choco install -y --no-progress --stoponfirstfailure pkgconfiglite - echo "PKG_CONFIG_PATH=C:/mingw64/lib/pkgconfig" >> $GITHUB_ENV + # Windows - Set up pkg-config and CMake (not needed: pkg-config is only used to locate OpenBLAS + # and the build uses meson, which fetches nanobind and odrpack95 via wraps) + # - name: Windows - Set up pkg-config and CMake + # if: runner.os == 'windows' + # shell: bash + # run: | + # choco install cmake --version=3.31.5 --allow-downgrade -y --no-progress + # choco install -y --no-progress --stoponfirstfailure pkgconfiglite + # echo "PKG_CONFIG_PATH=C:/mingw64/lib/pkgconfig" >> $GITHUB_ENV - name: Build wheels uses: pypa/cibuildwheel@v4.3.1 @@ -59,8 +61,8 @@ jobs: bash {project}/cibw-scripts/before_all_linux.sh {project} # CIBW_ENVIRONMENT_WINDOWS: > # MESON_ARGS="-Dodrpack95:blas_option=refblas" - CIBW_BEFORE_ALL_WINDOWS: | - bash {project}/cibw-scripts/before_all_windows.sh + # CIBW_BEFORE_ALL_WINDOWS: | + # bash {project}/cibw-scripts/before_all_windows.sh CIBW_BEFORE_BUILD_WINDOWS: | pip install delvewheel CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: | From 64f4b30336456fd4ebe48759d711555254ee9da2 Mon Sep 17 00:00:00 2001 From: HugoMVale <57530119+HugoMVale@users.noreply.github.com> Date: Sun, 18 Oct 2026 12:44:18 +0200 Subject: [PATCH 4/6] fully remove logic to install openblas in windows --- .github/workflows/build-wheels.yml | 14 -------------- cibw-scripts/before_all_windows.sh | 29 ----------------------------- 2 files changed, 43 deletions(-) delete mode 100644 cibw-scripts/before_all_windows.sh diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index a2a353a..33fcafc 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -35,16 +35,6 @@ jobs: echo "MACOSX_DEPLOYMENT_TARGET=$(sw_vers -productVersion | cut -d '.' -f 1-2)" >> $GITHUB_ENV # This does not work inside CIBW_BEFORE_ALL_MACOS; Without it, the wheel repair fails. - # Windows - Set up pkg-config and CMake (not needed: pkg-config is only used to locate OpenBLAS - # and the build uses meson, which fetches nanobind and odrpack95 via wraps) - # - name: Windows - Set up pkg-config and CMake - # if: runner.os == 'windows' - # shell: bash - # run: | - # choco install cmake --version=3.31.5 --allow-downgrade -y --no-progress - # choco install -y --no-progress --stoponfirstfailure pkgconfiglite - # echo "PKG_CONFIG_PATH=C:/mingw64/lib/pkgconfig" >> $GITHUB_ENV - - name: Build wheels uses: pypa/cibuildwheel@v4.3.1 env: @@ -59,10 +49,6 @@ jobs: CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 CIBW_BEFORE_ALL_LINUX: | bash {project}/cibw-scripts/before_all_linux.sh {project} - # CIBW_ENVIRONMENT_WINDOWS: > - # MESON_ARGS="-Dodrpack95:blas_option=refblas" - # CIBW_BEFORE_ALL_WINDOWS: | - # bash {project}/cibw-scripts/before_all_windows.sh CIBW_BEFORE_BUILD_WINDOWS: | pip install delvewheel CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: | diff --git a/cibw-scripts/before_all_windows.sh b/cibw-scripts/before_all_windows.sh deleted file mode 100644 index 92b5a01..0000000 --- a/cibw-scripts/before_all_windows.sh +++ /dev/null @@ -1,29 +0,0 @@ -set -xe - -# Verify active compiler locations -which gcc -which gfortran - -# Update pacman database and upgrade system packages -PATH="/c/msys64/usr/bin:$PATH" -pacman -Sy --noconfirm -pacman -Suu --noconfirm - -# Install OpenBLAS -pacman -S --noconfirm mingw-w64-x86_64-openblas - -ls -l /c/msys64/mingw64/lib/pkgconfig/ -ls -l /c/msys64/mingw64/lib/libopenblas.* -ls -l /c/msys64/mingw64/bin - -# Copy OpenBLAS files to mingw64 (where the active compiler toolchain is) -# Without this, some dlls come from c/msys64/mingw64 and others from c/msys64/ resulting in -# a runtime failure -mkdir -p /c/mingw64/lib/pkgconfig -cp /c/msys64/mingw64/lib/pkgconfig/openblas.pc /c/mingw64/lib/pkgconfig/ -cp /c/msys64/mingw64/bin/libopenblas.dll /c/mingw64/bin/ -cp /c/msys64/mingw64/lib/libopenblas.* /c/mingw64/lib/ -cp -r /c/msys64/mingw64/include/openblas /c/mingw64/include - -# Verify OpenBLAS detection -pkg-config --modversion openblas From d54aa31513bfe3c67bf6c6afb5cb5ada317828b5 Mon Sep 17 00:00:00 2001 From: HugoMVale <57530119+HugoMVale@users.noreply.github.com> Date: Sun, 18 Oct 2026 12:48:17 +0200 Subject: [PATCH 5/6] fix: comment out CIBW_BEFORE_ALL_LINUX step in build workflow --- .github/workflows/build-wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 33fcafc..d3c8671 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -47,8 +47,8 @@ jobs: pytest {project}/tests CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux_2_28_x86_64 CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 - CIBW_BEFORE_ALL_LINUX: | - bash {project}/cibw-scripts/before_all_linux.sh {project} + # CIBW_BEFORE_ALL_LINUX: | + # bash {project}/cibw-scripts/before_all_linux.sh {project} CIBW_BEFORE_BUILD_WINDOWS: | pip install delvewheel CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: | From 17602206af38996f09ff991e6345ced04659b350 Mon Sep 17 00:00:00 2001 From: HugoMVale <57530119+HugoMVale@users.noreply.github.com> Date: Sun, 18 Oct 2026 13:08:05 +0200 Subject: [PATCH 6/6] fully remove logic to install openblas in linux --- .github/workflows/build-wheels.yml | 8 ++------ cibw-scripts/before_all_linux.sh | 13 ------------- 2 files changed, 2 insertions(+), 19 deletions(-) delete mode 100644 cibw-scripts/before_all_linux.sh diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index d3c8671..c2d182f 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -43,14 +43,10 @@ jobs: CIBW_BUILD_FRONTEND: build CIBW_BUILD_VERBOSITY: 3 CIBW_TEST_REQUIRES: pytest scipy - CIBW_TEST_COMMAND: | - pytest {project}/tests + CIBW_TEST_COMMAND: pytest {project}/tests CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux_2_28_x86_64 CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 - # CIBW_BEFORE_ALL_LINUX: | - # bash {project}/cibw-scripts/before_all_linux.sh {project} - CIBW_BEFORE_BUILD_WINDOWS: | - pip install delvewheel + CIBW_BEFORE_BUILD_WINDOWS: pip install delvewheel CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: | bash ./cibw-scripts/repair_wheel_command_windows.sh {wheel} {dest_dir} diff --git a/cibw-scripts/before_all_linux.sh b/cibw-scripts/before_all_linux.sh deleted file mode 100644 index eeb4344..0000000 --- a/cibw-scripts/before_all_linux.sh +++ /dev/null @@ -1,13 +0,0 @@ -set -xe - -PROJECT_DIR="$1" - -if [ -e /etc/alpine-release ]; then - # musllinux (Alpine Linux) - echo "Detected musllinux environment. Installing OpenBLAS using apk..." - apk add --no-cache build-base openblas-dev -else - # manylinux (CentOS) - echo "Detected manylinux environment. Installing OpenBLAS using yum..." - yum install -y openblas-devel -fi