From a49b6d6a2d1e6e967f5c7b2b652aee1f4ca4be00 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Fri, 27 Mar 2026 15:38:10 -0400 Subject: [PATCH 1/2] Octave: New version 11.1.0 --- O/Octave/build_tarballs.jl | 48 +++++++++---------- .../patches/freebsd_sig_atomic_t.patch | 11 ----- .../patches/freebsd_sig_atomic_t.patch~ | 11 ----- 3 files changed, 22 insertions(+), 48 deletions(-) delete mode 100644 O/Octave/bundled/patches/freebsd_sig_atomic_t.patch delete mode 100644 O/Octave/bundled/patches/freebsd_sig_atomic_t.patch~ diff --git a/O/Octave/build_tarballs.jl b/O/Octave/build_tarballs.jl index d3a26537683..c243e1e5f93 100644 --- a/O/Octave/build_tarballs.jl +++ b/O/Octave/build_tarballs.jl @@ -1,21 +1,18 @@ using BinaryBuilder, Pkg name = "Octave" -version = v"9.4.0" +version = v"11.1.0" # Collection of sources required to build Octave sources = [ - ArchiveSource("https://ftpmirror.gnu.org/octave/octave-$(version).tar.gz", - "da9481205bfa717660b7d4a16732d8b2d58aadceab4993d41242a8e2848ea6c1"), - DirectorySource("./bundled"), + ArchiveSource("https://ftpmirror.gnu.org/octave/octave-$(version).tar.gz", + "c0e7e2c91bc573256431b2cc989290b9bd13851dbadd59d0ac74714f1334b0e6"), ] # Bash recipe for building across all platforms script = raw""" cd $WORKSPACE/srcdir/octave* -atomic_patch -p0 ../patches/freebsd_sig_atomic_t.patch - apk add texinfo export CPPFLAGS="-I${includedir}" @@ -42,15 +39,13 @@ FLAGS=( ./configure "${FLAGS[@]}" make -j${nproc} make install + +install_license COPYING """ platforms = supported_platforms() -# Disable RISC-V -filter!(p -> arch(p) != "riscv64", platforms) platforms = expand_cxxstring_abis(platforms) platforms = expand_gfortran_versions(platforms) -# Disable old libgfortran builds - only use libgfortran5 -filter!(p -> !(any(libgfortran_version(p) .== (v"4.0.0", v"3.0.0"))), platforms) # The products that we will ensure are always built products = [ @@ -63,30 +58,31 @@ dependencies = [ HostBuildDependency("flex_jll"), HostBuildDependency("Bison_jll"), HostBuildDependency("gperf_jll"), + BuildDependency("fast_float_jll"), Dependency("CompilerSupportLibraries_jll"), - Dependency("libblastrampoline_jll"; compat="5.11.0"), + Dependency("libblastrampoline_jll"; compat="5.11.2"), Dependency("OpenBLAS32_jll"), - Dependency("SuiteSparse32_jll"), - Dependency("Arpack32_jll"), - Dependency("Sundials32_jll"), - Dependency("QRupdate_ng_jll"), + Dependency("SuiteSparse32_jll"; compat="7.8.3"), + Dependency("Arpack32_jll"; compat="3.9.1"), + Dependency("Sundials32_jll"; compat="5.3.0"), + Dependency("QRupdate_ng_jll"; compat="1.1.5"), Dependency("CXSparse_jll"; compat="400.400.100"), Dependency("PCRE2_jll"), - Dependency("Readline_jll"), + Dependency("Readline_jll"; compat="8.2.13"), Dependency("Libiconv_jll"), - Dependency("Zlib_jll"), - Dependency("Bzip2_jll"), - Dependency("FFTW_jll"), - Dependency("GLPK_jll"), - Dependency("GMP_jll"; compat="6.2"), + Dependency("Zlib_jll"; compat="1.2.12"), + Dependency("Bzip2_jll"; compat="1.0.9"), + Dependency("FFTW_jll"; compat="3.3.11"), + Dependency("GLPK_jll"; compat="5.0.1"), + Dependency("GMP_jll"; compat="6.2.1"), Dependency("LibCURL_jll"; compat="7.73.0,8"), - Dependency("Qhull_jll"), - Dependency("HDF5_jll"), - Dependency("rapidjson_jll"), + Dependency("Qhull_jll"; compat="10008.0.1004"), + Dependency("HDF5_jll"; compat="2.0.0"), + Dependency("rapidjson_jll"; compat="1.1.1"), Dependency("libsndfile_jll"), - Dependency("GraphicsMagick_jll"), + Dependency("GraphicsMagick_jll"; compat="1.3.46"), ] # Build the tarballs. build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; - julia_compat="1.10", clang_use_lld=false, preferred_gcc_version=v"10") + clang_use_lld=false, julia_compat="1.10", preferred_gcc_version=v"10") diff --git a/O/Octave/bundled/patches/freebsd_sig_atomic_t.patch b/O/Octave/bundled/patches/freebsd_sig_atomic_t.patch deleted file mode 100644 index 598a1899664..00000000000 --- a/O/Octave/bundled/patches/freebsd_sig_atomic_t.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- liboctave/util/quit.h.orig 2025-02-22 05:49:55.536960056 +0000 -+++ liboctave/util/quit.h 2025-02-22 05:53:11.370493713 +0000 -@@ -224,7 +224,7 @@ - - #if defined (__cplusplus) - --extern OCTAVE_API std::atomic octave_interrupt_state; -+extern OCTAVE_API std::atomic octave_interrupt_state; - - extern OCTAVE_API volatile std::atomic octave_signal_caught; - diff --git a/O/Octave/bundled/patches/freebsd_sig_atomic_t.patch~ b/O/Octave/bundled/patches/freebsd_sig_atomic_t.patch~ deleted file mode 100644 index 98f6feca62c..00000000000 --- a/O/Octave/bundled/patches/freebsd_sig_atomic_t.patch~ +++ /dev/null @@ -1,11 +0,0 @@ ---- a/liboctave/util/quit.h -+++ b/liboctave/util/quit.h -@@ -224,7 +224,7 @@ namespace octave - // Signal handlers and the like need access to this - OCTAVE_API extern quit_debug* get_quit_debug (void); - -- extern OCTAVE_API std::atomic octave_interrupt_state; -+ extern OCTAVE_API std::atomic octave_interrupt_state; - - // Called from octave_quit () to run all the octave_exit functions like - // atexit () \ No newline at end of file From b1de45490de9e3735798f1774a5908be597081aa Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Fri, 27 Mar 2026 17:47:15 -0400 Subject: [PATCH 2/2] Octave: Correct Apple and musl builds --- O/Octave/build_tarballs.jl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/O/Octave/build_tarballs.jl b/O/Octave/build_tarballs.jl index c243e1e5f93..f92708265e3 100644 --- a/O/Octave/build_tarballs.jl +++ b/O/Octave/build_tarballs.jl @@ -1,4 +1,6 @@ using BinaryBuilder, Pkg +const YGGDRASIL_DIR = "../.." +include(joinpath(YGGDRASIL_DIR, "platforms", "macos_sdks.jl")) name = "Octave" version = v"11.1.0" @@ -11,7 +13,7 @@ sources = [ # Bash recipe for building across all platforms script = raw""" -cd $WORKSPACE/srcdir/octave* +cd ${WORKSPACE}/srcdir/octave* apk add texinfo @@ -27,13 +29,15 @@ fi # Base configure flags FLAGS=( - --prefix="$prefix" + --prefix="${prefix}" --build=${MACHTYPE} --host="${target}" --enable-shared --disable-static --with-blas="-L${libdir} -l${LBT}" --with-lapack="-L${libdir} -l${LBT}" + # Pretend to cross-compile all the time so that `configure` doesn't run programs built against libblastrampoline + cross_compiling=yes ) ./configure "${FLAGS[@]}" @@ -43,6 +47,8 @@ make install install_license COPYING """ +sources, script = require_macos_sdk("10.14", sources, script) + platforms = supported_platforms() platforms = expand_cxxstring_abis(platforms) platforms = expand_gfortran_versions(platforms)