From 83a38934a476417f4566b0e02fb4ddb74f310044 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Feb 2026 22:13:54 +0000 Subject: [PATCH 1/7] Initial plan From ea881e5fbd0d2f211f23a0359d99f0a1aec80e81 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Feb 2026 22:16:51 +0000 Subject: [PATCH 2/7] Move Windows cibuildwheel configuration to pyproject.toml Co-authored-by: alexlib <747110+alexlib@users.noreply.github.com> --- .github/workflows/cibuildwheel.yml | 13 ------------- pyproject.toml | 7 ++++++- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/.github/workflows/cibuildwheel.yml b/.github/workflows/cibuildwheel.yml index 60a6219..7935252 100644 --- a/.github/workflows/cibuildwheel.yml +++ b/.github/workflows/cibuildwheel.yml @@ -40,19 +40,6 @@ jobs: - name: Build wheels env: CIBW_ENVIRONMENT_MACOS: EASYSBA_USE_ACCELERATE=1 EASYSBA_LAPACK_LIBS= - CIBW_BEFORE_ALL_WINDOWS: >- - if not exist C:\vcpkg\vcpkg.exe ( - git clone https://github.com/microsoft/vcpkg.git C:\vcpkg && - C:\vcpkg\bootstrap-vcpkg.bat -disableMetrics - ) && - C:\vcpkg\vcpkg.exe install openblas:x64-windows - CIBW_ENVIRONMENT_WINDOWS: | - EASYSBA_LAPACK_LIBS=openblas - EASYSBA_INCLUDE_DIRS=C:\\vcpkg\\installed\\x64-windows\\include - EASYSBA_LIBRARY_DIRS=C:\\vcpkg\\installed\\x64-windows\\lib - INCLUDE=C:\\vcpkg\\installed\\x64-windows\\include - LIB=C:\\vcpkg\\installed\\x64-windows\\lib - PATH=C:\\vcpkg\\installed\\x64-windows\\bin;{PATH} run: python -m cibuildwheel --output-dir wheelhouse - name: Upload wheels diff --git a/pyproject.toml b/pyproject.toml index c9686db..a27416e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,4 +23,9 @@ before-all = "yum -y install openblas-devel lapack-devel" environment = { EASYSBA_USE_ACCELERATE = "1", EASYSBA_LAPACK_LIBS = "" } [tool.cibuildwheel.windows] -environment = { EASYSBA_LAPACK_LIBS = "openblas" } +before-all = [ + "if not exist C:\\vcpkg\\vcpkg.exe (git clone https://github.com/microsoft/vcpkg.git C:\\vcpkg && C:\\vcpkg\\bootstrap-vcpkg.bat -disableMetrics)", + "C:\\vcpkg\\vcpkg.exe install openblas:x64-windows", +] +environment = { EASYSBA_LAPACK_LIBS = "openblas", EASYSBA_INCLUDE_DIRS = "C:\\vcpkg\\installed\\x64-windows\\include", EASYSBA_LIBRARY_DIRS = "C:\\vcpkg\\installed\\x64-windows\\lib" } +environment-pass = ["INCLUDE", "LIB"] From 0e31cb5cb7357350e2ac26f8f6e6ce7c5da6874b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Feb 2026 22:24:39 +0000 Subject: [PATCH 3/7] Fix Windows path escaping in pyproject.toml Co-authored-by: alexlib <747110+alexlib@users.noreply.github.com> --- pyproject.toml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index a27416e..305c91f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,5 +27,9 @@ before-all = [ "if not exist C:\\vcpkg\\vcpkg.exe (git clone https://github.com/microsoft/vcpkg.git C:\\vcpkg && C:\\vcpkg\\bootstrap-vcpkg.bat -disableMetrics)", "C:\\vcpkg\\vcpkg.exe install openblas:x64-windows", ] -environment = { EASYSBA_LAPACK_LIBS = "openblas", EASYSBA_INCLUDE_DIRS = "C:\\vcpkg\\installed\\x64-windows\\include", EASYSBA_LIBRARY_DIRS = "C:\\vcpkg\\installed\\x64-windows\\lib" } environment-pass = ["INCLUDE", "LIB"] + +[tool.cibuildwheel.windows.environment] +EASYSBA_LAPACK_LIBS = "openblas" +EASYSBA_INCLUDE_DIRS = 'C:\vcpkg\installed\x64-windows\include' +EASYSBA_LIBRARY_DIRS = 'C:\vcpkg\installed\x64-windows\lib' From 5cf6ff2a86af23ef1e1a882d15758ce9f2f44f1c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Feb 2026 22:34:28 +0000 Subject: [PATCH 4/7] Use forward slashes in Windows paths to avoid escaping issues Co-authored-by: alexlib <747110+alexlib@users.noreply.github.com> --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 305c91f..09b3337 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,5 +31,5 @@ environment-pass = ["INCLUDE", "LIB"] [tool.cibuildwheel.windows.environment] EASYSBA_LAPACK_LIBS = "openblas" -EASYSBA_INCLUDE_DIRS = 'C:\vcpkg\installed\x64-windows\include' -EASYSBA_LIBRARY_DIRS = 'C:\vcpkg\installed\x64-windows\lib' +EASYSBA_INCLUDE_DIRS = "C:/vcpkg/installed/x64-windows/include" +EASYSBA_LIBRARY_DIRS = "C:/vcpkg/installed/x64-windows/lib" From b252abf6531b8c6955e0cb6d669be5561949a26c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Feb 2026 22:40:10 +0000 Subject: [PATCH 5/7] Use quadruple backslashes for Windows paths to survive shell interpretation Co-authored-by: alexlib <747110+alexlib@users.noreply.github.com> --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 09b3337..29efbff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,5 +31,5 @@ environment-pass = ["INCLUDE", "LIB"] [tool.cibuildwheel.windows.environment] EASYSBA_LAPACK_LIBS = "openblas" -EASYSBA_INCLUDE_DIRS = "C:/vcpkg/installed/x64-windows/include" -EASYSBA_LIBRARY_DIRS = "C:/vcpkg/installed/x64-windows/lib" +EASYSBA_INCLUDE_DIRS = "C:\\\\vcpkg\\\\installed\\\\x64-windows\\\\include" +EASYSBA_LIBRARY_DIRS = "C:\\\\vcpkg\\\\installed\\\\x64-windows\\\\lib" From f3dc4e2688b349fae6eabe3230f2dcf7c83a37df Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Feb 2026 22:46:25 +0000 Subject: [PATCH 6/7] Use libopenblas as library name for Windows vcpkg installation Co-authored-by: alexlib <747110+alexlib@users.noreply.github.com> --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 29efbff..8d16ba3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,6 +30,6 @@ before-all = [ environment-pass = ["INCLUDE", "LIB"] [tool.cibuildwheel.windows.environment] -EASYSBA_LAPACK_LIBS = "openblas" +EASYSBA_LAPACK_LIBS = "libopenblas" EASYSBA_INCLUDE_DIRS = "C:\\\\vcpkg\\\\installed\\\\x64-windows\\\\include" EASYSBA_LIBRARY_DIRS = "C:\\\\vcpkg\\\\installed\\\\x64-windows\\\\lib" From 71b06b5512b523f88b82f167e77ef629ec4631b5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Feb 2026 22:56:31 +0000 Subject: [PATCH 7/7] Switch from vcpkg to pre-built OpenBLAS binaries and use delvewheel Co-authored-by: alexlib <747110+alexlib@users.noreply.github.com> --- .github/workflows/cibuildwheel.yml | 9 +-------- pyproject.toml | 12 ++++++------ 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/.github/workflows/cibuildwheel.yml b/.github/workflows/cibuildwheel.yml index 7935252..37a2149 100644 --- a/.github/workflows/cibuildwheel.yml +++ b/.github/workflows/cibuildwheel.yml @@ -25,14 +25,7 @@ jobs: - name: Install dependencies (macOS) if: runner.os == 'macOS' run: | - brew install uv - - - name: Cache vcpkg - if: runner.os == 'Windows' - uses: actions/cache@v4 - with: - path: C:\\vcpkg\\installed - key: vcpkg-openblas-${{ runner.os }} + brew install uv - name: Install cibuildwheel run: python -m pip install --upgrade pip cibuildwheel diff --git a/pyproject.toml b/pyproject.toml index 8d16ba3..b203888 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,13 +23,13 @@ before-all = "yum -y install openblas-devel lapack-devel" environment = { EASYSBA_USE_ACCELERATE = "1", EASYSBA_LAPACK_LIBS = "" } [tool.cibuildwheel.windows] -before-all = [ - "if not exist C:\\vcpkg\\vcpkg.exe (git clone https://github.com/microsoft/vcpkg.git C:\\vcpkg && C:\\vcpkg\\bootstrap-vcpkg.bat -disableMetrics)", - "C:\\vcpkg\\vcpkg.exe install openblas:x64-windows", +before-build = [ + "curl -L https://github.com/OpenMathLib/OpenBLAS/releases/download/v0.3.26/OpenBLAS-0.3.26-x64.zip -o openblas.zip", + "powershell Expand-Archive openblas.zip -DestinationPath C:\\openblas -Force" ] -environment-pass = ["INCLUDE", "LIB"] +repair-wheel-command = "pip install delvewheel && delvewheel repair --add-path C:\\openblas\\bin -w {dest_dir} {wheel}" [tool.cibuildwheel.windows.environment] EASYSBA_LAPACK_LIBS = "libopenblas" -EASYSBA_INCLUDE_DIRS = "C:\\\\vcpkg\\\\installed\\\\x64-windows\\\\include" -EASYSBA_LIBRARY_DIRS = "C:\\\\vcpkg\\\\installed\\\\x64-windows\\\\lib" +EASYSBA_INCLUDE_DIRS = "C:\\openblas\\include" +EASYSBA_LIBRARY_DIRS = "C:\\openblas\\lib"