From 9e2960d113012f8b11eb115b725b282b9650cc35 Mon Sep 17 00:00:00 2001 From: mattip Date: Wed, 29 Oct 2025 13:57:42 +0200 Subject: [PATCH 1/4] use gfortran-11 on macos-15-intel native build --- .github/workflows/posix.yml | 4 ++-- .gitmodules | 3 +++ gfortran-install | 1 + pyproject.toml | 2 +- tools/build_steps.sh | 9 ++++++++- 5 files changed, 15 insertions(+), 4 deletions(-) create mode 160000 gfortran-install diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index a6a1cf1f..06b9e92c 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -28,8 +28,8 @@ jobs: - { os: ubuntu-latest, PLAT: x86_64, INTERFACE64: '0', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} - { os: ubuntu-latest, PLAT: x86_64, INTERFACE64: '1', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} - - { os: macos-latest, PLAT: x86_64, INTERFACE64: '0', MB_ML_LIBC: macosx} - - { os: macos-latest, PLAT: x86_64, INTERFACE64: '1', MB_ML_LIBC: macosx} + - { os: macos-15-intel, PLAT: x86_64, INTERFACE64: '0', MB_ML_LIBC: macosx} + - { os: macos-15-intel, PLAT: x86_64, INTERFACE64: '1', MB_ML_LIBC: macosx} - { os: macos-latest, PLAT: arm64, INTERFACE64: '0', MB_ML_LIBC: macosx} - { os: macos-latest, PLAT: arm64, INTERFACE64: '1', MB_ML_LIBC: macosx} diff --git a/.gitmodules b/.gitmodules index 546361d9..7b8f5ca3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "OpenBLAS"] path = OpenBLAS url = https://github.com/xianyi/OpenBLAS.git +[submodule "gfortran-install"] + path = gfortran-install + url = https://github.com/MacPython/gfortran-install.git diff --git a/gfortran-install b/gfortran-install new file mode 160000 index 00000000..3dd38d9c --- /dev/null +++ b/gfortran-install @@ -0,0 +1 @@ +Subproject commit 3dd38d9ce78b3890598cb0eff18a7bec50c06f5e diff --git a/pyproject.toml b/pyproject.toml index a2a3b4df..9f6c047f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ build-backend = "setuptools.build_meta" [project] name = "scipy-openblas64" # v0.3.30 -version = "0.3.30.0.5" +version = "0.3.30.0.6" requires-python = ">=3.7" description = "Provides OpenBLAS for python packaging" readme = "README.md" diff --git a/tools/build_steps.sh b/tools/build_steps.sh index b651c825..f63d4f52 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -150,7 +150,14 @@ function do_build_lib { Darwin-x86_64) local bitness=64 local target="CORE2" - # Pick up the gfortran runtime libraries + # Use gfortran-11 + unalias gfortran + # Since install_fortran uses `uname -a` to determine arch, + # force the architecture + arch -${PLAT} bash -s << EOF +source ${ROOT_DIR}/gfortran-install/gfortran_utils.sh +install_gfortran +EOF export DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH CFLAGS="$CFLAGS -arch x86_64" export SDKROOT=${SDKROOT:-$(xcrun --show-sdk-path)} From 9e1339d03ba2db5ca961bf2288a415286a661b32 Mon Sep 17 00:00:00 2001 From: mattip Date: Wed, 29 Oct 2025 15:46:18 +0200 Subject: [PATCH 2/4] Use xcode 15.4 and dynamic_list for macos-x86_64 build --- .github/workflows/posix.yml | 15 +++++++++++---- tools/build_steps.sh | 1 + 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 06b9e92c..87290d9d 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -28,8 +28,8 @@ jobs: - { os: ubuntu-latest, PLAT: x86_64, INTERFACE64: '0', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} - { os: ubuntu-latest, PLAT: x86_64, INTERFACE64: '1', MB_ML_VER: '2014', MB_ML_LIBC: manylinux} - - { os: macos-15-intel, PLAT: x86_64, INTERFACE64: '0', MB_ML_LIBC: macosx} - - { os: macos-15-intel, PLAT: x86_64, INTERFACE64: '1', MB_ML_LIBC: macosx} + - { os: macos-14, PLAT: x86_64, INTERFACE64: '0', MB_ML_LIBC: macosx} + - { os: macos-14, PLAT: x86_64, INTERFACE64: '1', MB_ML_LIBC: macosx} - { os: macos-latest, PLAT: arm64, INTERFACE64: '0', MB_ML_LIBC: macosx} - { os: macos-latest, PLAT: arm64, INTERFACE64: '1', MB_ML_LIBC: macosx} @@ -58,11 +58,18 @@ jobs: submodules: recursive fetch-depth: 0 - - uses: maxim-lobanov/setup-xcode@v1.6.0 - if: ${{ contains(matrix.os, 'macos') }} + - uses: maxim-lobanov/setup-xcode@v1.6.0 + if: ${{ matrix.os == 'macos-latest' }} with: xcode-version: '16.0' + - uses: maxim-lobanov/setup-xcode@v1.6.0 + if: ${{ matrix.os == 'macos-14' }} + with: + xcode-version: '15.4' + + + - name: Print some Environment variable run: | echo "PLAT: ${PLAT}" diff --git a/tools/build_steps.sh b/tools/build_steps.sh index f63d4f52..0d77b933 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -161,6 +161,7 @@ EOF export DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH CFLAGS="$CFLAGS -arch x86_64" export SDKROOT=${SDKROOT:-$(xcrun --show-sdk-path)} + local dynamic_list="CORE2 NEHALEM SANDYBRIDGE HASWELL SKYLAKEX" ;; *-i686) local bitness=32 From d50522a91ff86d63960fae98b3b959986f801a64 Mon Sep 17 00:00:00 2001 From: mattip Date: Wed, 29 Oct 2025 16:06:26 +0200 Subject: [PATCH 3/4] fix yaml --- .github/workflows/posix.yml | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 87290d9d..606e11ca 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -58,17 +58,15 @@ jobs: submodules: recursive fetch-depth: 0 - - uses: maxim-lobanov/setup-xcode@v1.6.0 - if: ${{ matrix.os == 'macos-latest' }} - with: - xcode-version: '16.0' - - - uses: maxim-lobanov/setup-xcode@v1.6.0 - if: ${{ matrix.os == 'macos-14' }} - with: - xcode-version: '15.4' - - + - uses: maxim-lobanov/setup-xcode@v1.6.0 + if: ${{ matrix.os == 'macos-latest' }} + with: + xcode-version: '16.0' + + - uses: maxim-lobanov/setup-xcode@v1.6.0 + if: ${{ matrix.os == 'macos-14' }} + with: + xcode-version: '15.4' - name: Print some Environment variable run: | From 23bb8cd7c678ee54af83ccd46924e693f3f4ab29 Mon Sep 17 00:00:00 2001 From: mattip Date: Wed, 29 Oct 2025 16:07:33 +0200 Subject: [PATCH 4/4] fix yaml --- .github/workflows/posix.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 606e11ca..111508c7 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -59,14 +59,14 @@ jobs: fetch-depth: 0 - uses: maxim-lobanov/setup-xcode@v1.6.0 - if: ${{ matrix.os == 'macos-latest' }} - with: - xcode-version: '16.0' + if: ${{ matrix.os == 'macos-latest' }} + with: + xcode-version: '16.0' - uses: maxim-lobanov/setup-xcode@v1.6.0 - if: ${{ matrix.os == 'macos-14' }} - with: - xcode-version: '15.4' + if: ${{ matrix.os == 'macos-14' }} + with: + xcode-version: '15.4' - name: Print some Environment variable run: |