<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/8cc069f9efff2bd0bf4e616389c13a3eaa9a1d7c">https://github.com/macports/macports-ports/commit/8cc069f9efff2bd0bf4e616389c13a3eaa9a1d7c</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 8cc069f9efff2bd0bf4e616389c13a3eaa9a1d7c
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Sat Nov 18 23:34:38 2023 +0000
<span style='display:block; white-space:pre;color:#404040;'> OpenBLAS: fix build with Xcode 15
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> OpenBLAS-devel is updated to 20231119-864c65b5, and non-devel subport
</span><span style='display:block; white-space:pre;color:#404040;'> had backported patch.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Anyway, to fix all issue I was forced to switch to cmake-based build.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/68225
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> See: https://github.com/macports/macports-ports/pull/21452
</span>---
math/OpenBLAS/Portfile | 183 +++++++++++++----------------
math/OpenBLAS/files/patch-xcode15-fix.diff | 14 +++
2 files changed, 94 insertions(+), 103 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/OpenBLAS/Portfile b/math/OpenBLAS/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 003060f5a81..337840bc457 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/OpenBLAS/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/OpenBLAS/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup github 1.0
</span> PortGroup muniversal 1.1
PortGroup compilers 1.0
PortGroup xcode_workaround 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup makefile 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup cmake 1.1
</span>
name OpenBLAS
categories math science
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,13 +27,13 @@ if {${os.major} < 9} {
</span> subport OpenBLAS-devel {}
if {[string first "-devel" $subport] > 0} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- github.setup OpenMathLib OpenBLAS 48b1b7cbc917bffa6f320b11783578ca6b525f38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.setup OpenMathLib OpenBLAS 864c65b526945604597ef9da1571a2f36b408054
</span> github.tarball_from archive
<span style='display:block; white-space:pre;background:#ffe0e0;'>- version 20230921-[string range ${github.version} 0 7]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- checksums rmd160 5910b6fdc4cb67f8e32f12fab303156aca5b330b \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 4fededf4eecb0def7d27217d098f44ba7029618fb46539b39e528de3a75c420b \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 24303945
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ version 20231119-[string range ${github.version} 0 7]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums rmd160 30577718a2f6880b2c9a799fa0dcf8830ef91c47 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 7be7acf6cc22c55a36980953942e1f6fecadf993bd6e02b793b70e15fbd25e9e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 24307835
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 0
</span>
conflicts OpenBLAS
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -52,11 +52,12 @@ if {[string first "-devel" $subport] > 0} {
</span> checksums rmd160 eea6fe2c33762df4c47c7241808dabbdb085eed3 \
sha256 4c25cb30c4bb23eddca05d7d0a85997b8db6144f5464ba7f8c09ce91e2f35543 \
size 24073168
<span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 2
</span>
conflicts OpenBLAS-devel
patchfiles patch-libnoarch.release.diff \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-xcode15-fix.diff \
</span> patch-OpenBLAS-i386-Apple.diff
if {![variant_isset native]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -79,122 +80,103 @@ variant native description "Force compilation on machine to get fully optimized
</span> archive_sites
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-use_configure no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # Workaround for test failure :-
# > ./sblat2 < ./sblat2.dat
# Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
xcode_workaround.fixed_xcode_version 11.2
xcode_workaround.type append_to_compiler_name
<span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-build {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set makeINC [open ${build.dir}/Makefile.rule "w"]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "VERSION = 1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "LIBNAMESUFFIX = "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "CC = ${configure.cc}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "FC = ${configure.fc}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${muniversal.build_arch} in [list arm64 ppc64 x86_64]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "BINARY = 64"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "BINARY = 32"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${muniversal.build_arch} in [list arm64 ppc64 x86_64]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBINARY64=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "COMMON_OPT = -O3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "COMMON_PROF = -pg"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cflags -O3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCOMMON_PROF=-pg
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![variant_isset lapack]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "NO_LAPACK = 1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![variant_isset lapack]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_WITHOUT_LAPACK=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![variant_isset native]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Do not limit threads to the number on buildbots
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "NUM_THREADS = 56"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![variant_isset native]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Do not limit threads to the number on buildbots
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DNUM_THREADS=56
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- switch ${muniversal.build_arch} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- arm64 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "TARGET = ARMV8"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- x86_64 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.major} >= 18} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "TARGET = NEHALEM"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "TARGET = CORE2"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- i386 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "TARGET = YONAH"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ppc {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "TARGET = PPCG4"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ppc64 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "TARGET = PPC970"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch ${muniversal.build_arch} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ arm64 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DTARGET=ARMV8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ x86_64 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.major} >= 18} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DTARGET=NEHALEM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DTARGET=CORE2
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- default {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ i386 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DTARGET=YONAH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ppc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DTARGET=PPCG4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ppc64 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DTARGET=PPC970
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default {
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # This fixes Rosetta build: https://trac.macports.org/ticket/64986
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.platform} eq "darwin" && ${os.major} == 10 && ${muniversal.build_arch} eq "ppc"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "HOSTARCH = PPCG4"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${muniversal.build_arch} ni [list i386 x86_64]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # not on x86 of some sort; just disable AVX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DNO_AVX=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DNO_AVX2=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DNO_AVX512=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![avx_compiler_isset]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DNO_AVX=ON
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${muniversal.build_arch} ni [list i386 x86_64]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # not on x86 of some sort; just disable AVX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "NO_AVX = 1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "NO_AVX2 = 1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "NO_AVX512 = 1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![avx_compiler_isset]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "NO_AVX = 1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Disable AVX2 on OSX10.6 and older only.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # On newer platforms AVX2 is now supported via
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # https://github.com/macports/macports-ports/pull/3486
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${os.major} <= 10 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "NO_AVX2 = 1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Deactivating AVX512 instructions which do not build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # at this point. Keeping them in -devel subport. See
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # https://trac.macports.org/ticket/57912
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[string first "-devel" $subport] < 1} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "NO_AVX512 = 1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Disable AVX2 on OSX10.6 and older only.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # On newer platforms AVX2 is now supported via
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://github.com/macports/macports-ports/pull/3486
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if { ${os.major} <= 10 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DNO_AVX2=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Deactivating AVX512 instructions which do not build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # at this point. Keeping them in -devel subport. See
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://trac.macports.org/ticket/57912
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[string first "-devel" $subport] < 1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DNO_AVX512=ON
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # Add configurations to build (not configurable yet as per original Makefile.rule)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "BUILD_SINGLE = 1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "BUILD_DOUBLE = 1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "BUILD_COMPLEX = 1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "BUILD_COMPLEX16 = 1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- close $makeINC
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args "AR=${prefix}/bin/ar RANLIB=${prefix}/bin/ranlib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_AR=${prefix}/bin/ar \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_RANLIB=${prefix}/bin/ranlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_build-append path:libexec/coreutils/libstdbuf.so:coreutils \
port:cctools
depends_skip_archcheck coreutils \
cctools
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_build-append port:gmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- build.cmd ${prefix}/bin/gmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_test-append port:gmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- test.cmd build.cmd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> muniversal.combine ${prefix}/lib/pkgconfig/openblas.pc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Avoid conflict with Atlas
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args-append OPENBLAS_INCLUDE_DIR=${prefix}/include/openblas
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.args-append OPENBLAS_INCLUDE_DIR=${prefix}/include/openblas
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-muniversal.equivalent ${prefix}/lib/cmake/OpenBLASConfig.cmake \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${prefix}/lib/cmake/OpenBLASConfigVersion.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Build a shared library, not static!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append -DBUILD_SHARED_LIBS=ON
</span>
post-destroot {
# For compatibility, put header files in ${prefix}/include
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -209,9 +191,4 @@ post-destroot {
</span> if {${muniversal.build_arch} ne ${configure.build_arch}} {
reinplace "s|^openblas_config=|#openblas_config=|" ${destroot}${prefix}/lib/pkgconfig/openblas.pc
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Correct library name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system "install_name_tool -id \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${prefix}/lib/libopenblas-r1.dylib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${destroot}${prefix}/lib/libopenblas-r1.dylib"
</span> }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/OpenBLAS/files/patch-xcode15-fix.diff b/math/OpenBLAS/files/patch-xcode15-fix.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..3c7d198d24c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/OpenBLAS/files/patch-xcode15-fix.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/OpenMathLib/OpenBLAS/pull/4328
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git Makefile.system Makefile.system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1b84195e4..ff06e503c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Makefile.system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Makefile.system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -407,6 +407,7 @@ XCVER = $(shell pkgutil --pkg-info=com.apple.pkg.CLTools_Executables |awk '/vers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ifeq (x$(XCVER), x 15)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CCOMMON_OPT += -Wl,-ld_classic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++FCOMMON_OPT += -Wl,-ld_classic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>
</pre>