diff --git a/Aliases/lld@21 b/Aliases/lld@21 new file mode 120000 index 0000000000000..789ca30241210 --- /dev/null +++ b/Aliases/lld@21 @@ -0,0 +1 @@ +../Formula/l/lld.rb \ No newline at end of file diff --git a/Aliases/llvm@21 b/Aliases/llvm@21 new file mode 120000 index 0000000000000..5251b0d981566 --- /dev/null +++ b/Aliases/llvm@21 @@ -0,0 +1 @@ +../Formula/l/llvm.rb \ No newline at end of file diff --git a/Formula/a/adaptivecpp.rb b/Formula/a/adaptivecpp.rb index db9c630c69c7f..6d75ee8aca82e 100644 --- a/Formula/a/adaptivecpp.rb +++ b/Formula/a/adaptivecpp.rb @@ -1,11 +1,21 @@ class Adaptivecpp < Formula desc "SYCL and C++ standard parallelism for CPUs and GPUs" homepage "https://adaptivecpp.github.io/" - url "https://github.com/AdaptiveCpp/AdaptiveCpp/archive/refs/tags/v25.02.0.tar.gz" - sha256 "8cc8a3be7bb38f88d7fd51597e0ec924b124d4233f64da62a31b9945b55612ca" license "BSD-2-Clause" + revision 1 head "https://github.com/AdaptiveCpp/AdaptiveCpp.git", branch: "develop" + stable do + url "https://github.com/AdaptiveCpp/AdaptiveCpp/archive/refs/tags/v25.02.0.tar.gz" + sha256 "8cc8a3be7bb38f88d7fd51597e0ec924b124d4233f64da62a31b9945b55612ca" + + # Backport support for LLVM 21 + patch do + url "https://github.com/AdaptiveCpp/AdaptiveCpp/commit/623aa0b1840c5ccd7a45d3e8b228f1bff5257056.patch?full_index=1" + sha256 "d3b8708ded954f04b87ad22254fd949c1d584d6de7a3f8a7e978ff715ca1a33d" + end + end + bottle do sha256 arm64_sequoia: "fa1c355b2af0934de4aae2fdb882f7befae852e5523ed4b3f4270d69bfd46edf" sha256 arm64_sonoma: "c01a61e3a4629d1c1c52ba7d9f5f0618f6b7f6a246d25da96c4e0ed481f0b6bc" diff --git a/Formula/a/afl++.rb b/Formula/a/afl++.rb index c0af0ad51a485..cda3e9cfb2865 100644 --- a/Formula/a/afl++.rb +++ b/Formula/a/afl++.rb @@ -5,6 +5,7 @@ class Aflxx < Formula version "4.33c" sha256 "98903c8036282c8908b1d8cc0d60caf3ea259db4339503a76449b47acce58d1d" license "Apache-2.0" + revision 1 livecheck do url :stable diff --git a/Formula/a/alive2.rb b/Formula/a/alive2.rb index f47a2b282ce3f..ec2d7926c6ce0 100644 --- a/Formula/a/alive2.rb +++ b/Formula/a/alive2.rb @@ -5,6 +5,7 @@ class Alive2 < Formula tag: "v21.0", revision: "913e1556032ee70a9ebf147b5a0c7e10086b7490" license "MIT" + revision 1 head "https://github.com/AliveToolkit/alive2.git", branch: "master" bottle do @@ -28,7 +29,12 @@ class Alive2 < Formula def install # Work around ir/state.cpp:730:40: error: reference to local binding # 'src_data' declared in enclosing function 'IR::State::copyUBFromBB' - ENV.llvm_clang if OS.mac? && MacOS.version <= :ventura + if OS.mac? && MacOS.version <= :ventura + ENV.llvm_clang + # Also link to LLVM libc++ due to `std::__hash_memory` availability in newer header + # https://github.com/llvm/llvm-project/commit/17d05695388128353662fbb80bbb7a13d172b41d + ENV.prepend "LDFLAGS", "-L#{Formula["llvm"].opt_lib}/c++ -L#{Formula["llvm"].opt_lib}/unwind -lunwind" + end system "cmake", "-S", ".", "-B", "build", "-DBUILD_LLVM_UTILS=ON", "-DBUILD_TV=ON", *std_cmake_args system "cmake", "--build", "build" diff --git a/Formula/c/castxml.rb b/Formula/c/castxml.rb index fac29f711c4fc..c3767d01b80fd 100644 --- a/Formula/c/castxml.rb +++ b/Formula/c/castxml.rb @@ -1,12 +1,25 @@ class Castxml < Formula desc "C-family Abstract Syntax Tree XML Output" homepage "https://github.com/CastXML/CastXML" - url "https://github.com/CastXML/CastXML/archive/refs/tags/v0.6.11.tar.gz" - sha256 "fc5b49f802b67f98ecea10564bc171c660020836a48cecefc416681a2d2e1d3d" license "Apache-2.0" - revision 1 + revision 2 head "https://github.com/CastXML/castxml.git", branch: "master" + stable do + url "https://github.com/CastXML/CastXML/archive/refs/tags/v0.6.11.tar.gz" + sha256 "fc5b49f802b67f98ecea10564bc171c660020836a48cecefc416681a2d2e1d3d" + + # Backport support for LLVM 21 + patch do + url "https://github.com/CastXML/CastXML/commit/f4fdb9eebe3a03c8c6479a1cf420761a97e86824.patch?full_index=1" + sha256 "33093a62dc22f98ab1f6b44a1eca7a668bc142e870069ea51fa5bbd44627dcae" + end + patch do + url "https://github.com/CastXML/CastXML/commit/e71d56d34d308f410ac6f5493c5622e9701e210f.patch?full_index=1" + sha256 "cab3ccec1795d8228a5f784c88b23846e2a90415d084513e9b8f237759a68da6" + end + end + livecheck do url :stable regex(/^v?(\d+(?:\.\d+)+)$/i) diff --git a/Formula/c/ccls.rb b/Formula/c/ccls.rb index 6478db745bd67..993db805d367a 100644 --- a/Formula/c/ccls.rb +++ b/Formula/c/ccls.rb @@ -7,7 +7,7 @@ class Ccls < Formula # https://github.com/MaskRay/ccls/issues/786 # https://github.com/MaskRay/ccls/issues/895 license "Apache-2.0" - revision 1 + revision 2 head "https://github.com/MaskRay/ccls.git", branch: "master" stable do @@ -19,6 +19,22 @@ class Ccls < Formula url "https://github.com/MaskRay/ccls/commit/4331c8958698d42933bf4e132f8a7d61f3cedb8c.patch?full_index=1" sha256 "5420b53cf912268688953a2863e86f6b88334ed548852eaedb9f8ce4871ee034" end + + # Backport reformat commit to cleanly apply later patches + patch do + url "https://github.com/MaskRay/ccls/commit/48f1a006b78944a944cdc0c98fb4b447e19fce7d.patch?full_index=1" + sha256 "2fa14b78e00b455138324034f876979f40c34e253b5b254ea794e60a38ac657b" + end + + # Backport support for LLVM 21 + patch do + url "https://github.com/MaskRay/ccls/commit/44fb405d00dead04de43891c9818d798f10fc41e.patch?full_index=1" + sha256 "40229b6bc013a6daf510b980a7b032bad159f43e95796467705042beeb70fe49" + end + patch do + url "https://github.com/MaskRay/ccls/commit/4427527ed8107719457b5260443e8cad024e446f.patch?full_index=1" + sha256 "16ba1cd3c18441054fcc54716e44e013ee01c21b25b796adc480620df511abe0" + end end bottle do diff --git a/Formula/c/clang-uml.rb b/Formula/c/clang-uml.rb index f8e11d294330b..0ef95af417c10 100644 --- a/Formula/c/clang-uml.rb +++ b/Formula/c/clang-uml.rb @@ -4,6 +4,7 @@ class ClangUml < Formula url "https://github.com/bkryza/clang-uml/archive/refs/tags/0.6.2.tar.gz" sha256 "004540c328699f81abebceb33a4661b548ab3a5f74096da2c025b9971b2b17ff" license "Apache-2.0" + revision 1 head "https://github.com/bkryza/clang-uml.git", branch: "master" bottle do diff --git a/Formula/c/clazy.rb b/Formula/c/clazy.rb index abc8b7b365cb1..f7b28c9abcdd4 100644 --- a/Formula/c/clazy.rb +++ b/Formula/c/clazy.rb @@ -4,6 +4,7 @@ class Clazy < Formula url "https://download.kde.org/stable/clazy/1.15/src/clazy-1.15.tar.xz" sha256 "43189460b366ea3126242878c36ee8a403e37ec4baef7e61ccfa124b1414e7a9" license "LGPL-2.0-or-later" + revision 1 head "https://invent.kde.org/sdk/clazy.git", branch: "master" livecheck do diff --git a/Formula/c/crystal.rb b/Formula/c/crystal.rb index dbba7b5b94d1e..caae7c7505000 100644 --- a/Formula/c/crystal.rb +++ b/Formula/c/crystal.rb @@ -2,6 +2,7 @@ class Crystal < Formula desc "Fast and statically typed, compiled language with Ruby-like syntax" homepage "https://crystal-lang.org/" license "Apache-2.0" + revision 1 stable do # TODO: Replace arm64 linux bootstrap with official when available @@ -12,6 +13,12 @@ class Crystal < Formula url "https://github.com/crystal-lang/shards/archive/refs/tags/v0.19.1.tar.gz" sha256 "2a49e7ffa4025e0b3e8774620fa8dbc227d3d1e476211fefa2e8166dcabf82b5" end + + # Backport support for LLVM 21 + patch do + url "https://github.com/crystal-lang/crystal/commit/0e3757edcf7f18c238841e2f2aa659ac302fee4a.patch?full_index=1" + sha256 "8f5f9682990a74405f7bbae3b20afcf6bd11f65826204fee77b52b69d0c34925" + end end livecheck do diff --git a/Formula/c/crystalline.rb b/Formula/c/crystalline.rb index e609bf16212ea..c6b945e168a08 100644 --- a/Formula/c/crystalline.rb +++ b/Formula/c/crystalline.rb @@ -4,6 +4,7 @@ class Crystalline < Formula url "https://github.com/elbywan/crystalline/archive/refs/tags/v0.17.1.tar.gz" sha256 "3e8f4c3f41830092300219ef91c3d03e15536774ef18a5395ff6a9fffc27be5b" license "MIT" + revision 1 bottle do sha256 arm64_sequoia: "87a66475cc7c310d5a9ca86451588753fa013793a29647adc860a722d44262b3" diff --git a/Formula/e/enzyme.rb b/Formula/e/enzyme.rb index af2d8c2db7530..1ecd5c27fb615 100644 --- a/Formula/e/enzyme.rb +++ b/Formula/e/enzyme.rb @@ -4,6 +4,7 @@ class Enzyme < Formula url "https://github.com/EnzymeAD/Enzyme/archive/refs/tags/v0.0.191.tar.gz" sha256 "5832f70fdbebc922c45da9e1d49985d96b91d54d12eac8e3f96aee9d3b09eb86" license "Apache-2.0" => { with: "LLVM-exception" } + revision 1 head "https://github.com/EnzymeAD/Enzyme.git", branch: "main" bottle do diff --git a/Formula/f/flang.rb b/Formula/f/flang.rb index f80026c49a8db..ba0d693c39e8c 100644 --- a/Formula/f/flang.rb +++ b/Formula/f/flang.rb @@ -1,8 +1,8 @@ class Flang < Formula desc "LLVM Fortran Frontend" homepage "https://flang.llvm.org/" - url "https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.8/llvm-project-20.1.8.src.tar.xz" - sha256 "6898f963c8e938981e6c4a302e83ec5beb4630147c7311183cf61069af16333d" + url "https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.0-rc3/llvm-project-21.1.0-rc3.src.tar.xz" + sha256 "7c61598f3902e61499b4a8d0302087ed2421c75bf504d084f2e6fa5450ab94d7" # The LLVM Project is under the Apache License v2.0 with LLVM Exceptions license "Apache-2.0" => { with: "LLVM-exception" } head "https://github.com/llvm/llvm-project.git", branch: "main" @@ -24,6 +24,9 @@ class Flang < Formula depends_on "cmake" => :build depends_on "llvm" + # Keep broken symlink if `llvm` has been unlinked on Linux. + skip_clean "lib/LLVMgold.so" + # Building with GCC fails at linking with an obscure error. fails_with :gcc @@ -32,68 +35,70 @@ def llvm end def install - # Generate omp_lib.h and omp_lib.F90 to be used by flang build - system "cmake", "-S", "openmp", "-B", "build/projects/openmp", *std_cmake_args + resource_dir = Pathname(Utils.safe_popen_read(llvm.opt_bin/"clang", "-print-resource-dir").chomp) + relative_resource_dir = resource_dir.relative_path_from(llvm.prefix.realpath) + + common_args = %W[ + -DBUILD_SHARED_LIBS=ON + -DLLVM_DIR=#{llvm.opt_lib}/cmake/llvm + -DLLVM_ENABLE_FATLTO=ON + -DLLVM_ENABLE_LTO=ON + ] - args = %W[ + flang_args = %W[ -DCLANG_DIR=#{llvm.opt_lib}/cmake/clang -DFLANG_INCLUDE_TESTS=OFF -DFLANG_REPOSITORY_STRING=#{tap&.issues_url} -DFLANG_VENDOR=#{tap&.user} - -DLLVM_DIR=#{llvm.opt_lib}/cmake/llvm - -DLLVM_ENABLE_FATLTO=ON - -DLLVM_ENABLE_LTO=ON -DLLVM_TOOL_OPENMP_BUILD=ON -DLLVM_USE_SYMLINKS=ON -DMLIR_DIR=#{llvm.opt_lib}/cmake/mlir -DMLIR_LINK_MLIR_DYLIB=ON ] - args << "-DFLANG_VENDOR_UTI=sh.brew.flang" if tap&.official? - # FIXME: Setting `BUILD_SHARED_LIBS=ON` causes the just-built flang to throw ICE on macOS - args << "-DBUILD_SHARED_LIBS=ON" if OS.linux? + flang_args << "-DFLANG_VENDOR_UTI=sh.brew.flang" if tap&.official? + + flang_rt_args = %W[ + -DCMAKE_Fortran_COMPILER_WORKS=ON + -DCMAKE_Fortran_COMPILER=#{bin}/flang + -DFLANG_RT_ENABLE_SHARED=ON + -DFLANG_RT_ENABLE_STATIC=OFF + -DFLANG_RT_INCLUDE_TESTS=OFF + -DLLVM_BINARY_DIR=#{llvm.opt_prefix} + -DLLVM_ENABLE_RUNTIMES=flang-rt + ] + + # Generate omp_lib.h and omp_lib.F90 to be used by flang build + system "cmake", "-S", "openmp", "-B", "build/projects/openmp", *std_cmake_args - system "cmake", "-S", "flang", "-B", "build", *args, *std_cmake_args + system "cmake", "-S", "flang", "-B", "build", *flang_args, *common_args, *std_cmake_args system "cmake", "--build", "build" system "cmake", "--install", "build" - return if OS.linux? + + system "cmake", "-S", "runtimes", "-B", "build-rt", *flang_rt_args, *common_args, *std_cmake_args + system "cmake", "--build", "build-rt" + system "cmake", "--install", "build-rt" + + # Add symlink for runtime library as it won't be found when resource-dir is + # overridden by flang.cfg. This also allows shared `flang-rt` on Linux to + # avoid extra RPATH. See if the upstream provides a better way of handling: + # https://github.com/llvm/llvm-project/blob/main/flang-rt/CMakeLists.txt#L120-L130 + lib.install_symlink (prefix/relative_resource_dir).glob("**/#{shared_library("*")}") + + if OS.linux? + # Allow flang -flto to work on Linux as it expects library relative to driver. + # The HOMEBREW_PREFIX path is used so that `brew link` skips creating a symlink. + lib.install_symlink HOMEBREW_PREFIX/"lib/LLVMgold.so" + return + end libexec.install bin.children bin.install_symlink libexec.children # Help `flang` driver find `libLTO.dylib` and runtime libraries - resource_dir = Utils.safe_popen_read(llvm.opt_bin/"clang", "-print-resource-dir").chomp - resource_dir.gsub!(llvm.prefix.realpath, llvm.opt_prefix) (libexec/"flang.cfg").atomic_write <<~CONFIG -Wl,-lto_library,#{llvm.opt_lib}/libLTO.dylib - -resource-dir=#{resource_dir} + -resource-dir=#{llvm.opt_prefix/relative_resource_dir} CONFIG - - # Convert LTO-generated bitcode in our static archives to MachO. - # Not needed on Linux because of `-ffat-lto-objects` - # See equivalent code in `llvm.rb`. - lib.glob("*.a").each do |static_archive| - mktemp do - system llvm.opt_bin/"llvm-ar", "x", static_archive - rebuilt_files = [] - - Pathname.glob("*.o").each do |bc_file| - file_type = Utils.safe_popen_read("file", "--brief", bc_file) - next unless file_type.match?(/^LLVM (IR )?bitcode/) - - rebuilt_files << bc_file - system ENV.cc, "-fno-lto", "-Wno-unused-command-line-argument", - "-x", "ir", bc_file, "-c", "-o", bc_file - end - - system llvm.opt_bin/"llvm-ar", "r", static_archive, *rebuilt_files if rebuilt_files.present? - end - end - end - - def post_install - # Allow flang -flto to work on Linux as it expects library relative to driver. - # The HOMEBREW_PREFIX path is used so that `brew link` skips creating a symlink. - lib.install_symlink HOMEBREW_PREFIX/"lib/LLVMgold.so" if OS.linux? end test do @@ -159,13 +164,9 @@ def post_install system bin/"flang", "-v", "runtimes.f90" return if OS.linux? + return unless (etc/"clang").exist? # https://github.com/Homebrew/homebrew-test-bot/issues/805 assert_match %r{^Configuration file: #{Regexp.escape(etc)}/clang/.*\.cfg$}i, shell_output("#{bin}/flang --version") - - system "ar", "x", lib/"libFortranCommon.a" - testpath.glob("*.o").each do |object_file| - refute_match(/LLVM (IR )?bitcode/, shell_output("file --brief #{object_file}")) - end end end diff --git a/Formula/l/lld.rb b/Formula/l/lld.rb index d1de9dd875eb0..b806728a11c0c 100644 --- a/Formula/l/lld.rb +++ b/Formula/l/lld.rb @@ -1,8 +1,8 @@ class Lld < Formula desc "LLVM Project Linker" homepage "https://lld.llvm.org/" - url "https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.8/llvm-project-20.1.8.src.tar.xz" - sha256 "6898f963c8e938981e6c4a302e83ec5beb4630147c7311183cf61069af16333d" + url "https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.0-rc3/llvm-project-21.1.0-rc3.src.tar.xz" + sha256 "7c61598f3902e61499b4a8d0302087ed2421c75bf504d084f2e6fa5450ab94d7" # The LLVM Project is under the Apache License v2.0 with LLVM Exceptions license "Apache-2.0" => { with: "LLVM-exception" } head "https://github.com/llvm/llvm-project.git", branch: "main" diff --git a/Formula/l/llvm.rb b/Formula/l/llvm.rb index 3eadc8f220fbd..1140deb097d00 100644 --- a/Formula/l/llvm.rb +++ b/Formula/l/llvm.rb @@ -6,8 +6,8 @@ class Llvm < Formula head "https://github.com/llvm/llvm-project.git", branch: "main" stable do - url "https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.8/llvm-project-20.1.8.src.tar.xz" - sha256 "6898f963c8e938981e6c4a302e83ec5beb4630147c7311183cf61069af16333d" + url "https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.0-rc3/llvm-project-21.1.0-rc3.src.tar.xz" + sha256 "7c61598f3902e61499b4a8d0302087ed2421c75bf504d084f2e6fa5450ab94d7" # Fix triple config loading for clang-cl # https://github.com/llvm/llvm-project/pull/111397 @@ -64,6 +64,14 @@ def clang_config_file_dir end def install + # Work around OOM error on arm64 linux runner by reducing number of jobs + github_arm64_linux = OS.linux? && Hardware::CPU.arm? && + ENV["HOMEBREW_GITHUB_ACTIONS"].present? && + ENV["GITHUB_ACTIONS_HOMEBREW_SELF_HOSTED"].blank? + if github_arm64_linux && (jobs = ENV.make_jobs - 1).positive? + ENV["CMAKE_BUILD_PARALLEL_LEVEL"] = ENV["HOMEBREW_MAKE_JOBS"] = jobs.to_s + end + # The clang bindings need a little help finding our libclang. inreplace "clang/bindings/python/clang/cindex.py", /^(\s*library_path\s*=\s*)None$/, @@ -80,7 +88,6 @@ def install libcxx libcxxabi libunwind - pstl ] unless versioned_formula? @@ -192,6 +199,7 @@ def install args << "-DLLVM_BINUTILS_INCDIR=#{Formula["binutils"].opt_include}" # Parts of Polly fail to correctly build with PIC when being used for DSOs. args << "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" + runtimes_cmake_args += %w[ -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON diff --git a/Formula/m/mesa.rb b/Formula/m/mesa.rb index db84e6708082c..e3a303d877529 100644 --- a/Formula/m/mesa.rb +++ b/Formula/m/mesa.rb @@ -20,6 +20,7 @@ class Mesa < Formula { "GPL-1.0-or-later" => { with: "Linux-syscall-note" } }, # include/drm-uapi/sync_file.h { "GPL-2.0-only" => { with: "Linux-syscall-note" } }, # include/drm-uapi/{d3dkmthk.h,dma-buf.h,etnaviv_drm.h} ] + revision 1 head "https://gitlab.freedesktop.org/mesa/mesa.git", branch: "main" bottle do @@ -141,6 +142,9 @@ def install -Dvideo-codecs=all ] args += if OS.mac? + # Work around .../rusticl_system_bindings.h:1:10: fatal error: 'stdio.h' file not found + ENV["SDKROOT"] = MacOS.sdk_for_formula(self).path + %W[ -Dgallium-drivers=llvmpipe,zink -Dmoltenvk-dir=#{Formula["molten-vk"].prefix} @@ -149,8 +153,13 @@ def install -Dvulkan-layers=intel-nullhw,overlay,screenshot,vram-report-limit ] else - %w[ + # Not all supported drivers are being auto-enabled on x86 Linux. + # TODO: Determine the explicit drivers list for ARM Linux. + drivers = Hardware::CPU.intel? ? "all" : "auto" + + %W[ -Degl=enabled + -Dgallium-drivers=#{drivers} -Dgallium-extra-hud=true -Dgallium-va=enabled -Dgallium-vdpau=enabled @@ -164,27 +173,12 @@ def install -Dplatforms=x11,wayland -Dtools=drm-shim,etnaviv,freedreno,glsl,intel,nir,nouveau,lima,panfrost,asahi,imagination,dlclose-skip -Dvalgrind=enabled + -Dvulkan-drivers=#{drivers} -Dvulkan-layers=device-select,intel-nullhw,overlay,screenshot,vram-report-limit --force-fallback-for=indexmap,paste,pest_generator,roxmltree,rustc-hash,syn ] end - # Not all supported drivers are being auto-enabled on x86 Linux. - # TODO: Determine the explicit drivers list for ARM Linux. - if OS.linux? - args += if Hardware::CPU.intel? - %w[ - -Dgallium-drivers=all - -Dvulkan-drivers=all - ] - else - %w[ - -Dgallium-drivers=auto - -Dvulkan-drivers=auto - ] - end - end - system "meson", "setup", "build", *args, *std_meson_args system "meson", "compile", "-C", "build", "--verbose" system "meson", "install", "-C", "build" diff --git a/Formula/n/nvc.rb b/Formula/n/nvc.rb index e8acb9250ae8b..17039cbb54996 100644 --- a/Formula/n/nvc.rb +++ b/Formula/n/nvc.rb @@ -4,6 +4,7 @@ class Nvc < Formula url "https://github.com/nickg/nvc/releases/download/r1.17.2/nvc-1.17.2.tar.gz" sha256 "f330dc736d579df7ab494ff0853fe8929243c4234f7cc4d1e9df55d2ea41fbfb" license "GPL-3.0-or-later" + revision 1 bottle do sha256 arm64_sequoia: "87e7db44ec8aafac1756149821faae990bcc3e5282e5a59239ba6c93c6dfeeb7" diff --git a/Formula/r/rust.rb b/Formula/r/rust.rb index aeb46f81cf691..de9c8b9445606 100644 --- a/Formula/r/rust.rb +++ b/Formula/r/rust.rb @@ -2,6 +2,7 @@ class Rust < Formula desc "Safe, concurrent, practical language" homepage "https://www.rust-lang.org/" license any_of: ["Apache-2.0", "MIT"] + revision 1 stable do url "https://static.rust-lang.org/dist/rustc-1.89.0-src.tar.gz" diff --git a/Formula/s/spirv-headers.rb b/Formula/s/spirv-headers.rb index ef395abc6ddde..f85a4d181d444 100644 --- a/Formula/s/spirv-headers.rb +++ b/Formula/s/spirv-headers.rb @@ -1,11 +1,21 @@ class SpirvHeaders < Formula desc "Headers for SPIR-V" homepage "https://github.com/KhronosGroup/SPIRV-Headers" - url "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-1.4.321.0.tar.gz" - sha256 "5bbea925663d4cd2bab23efad53874f2718248a73dcaf9dd21dff8cb48e602fc" license "MIT" + revision 1 head "https://github.com/KhronosGroup/SPIRV-Headers.git", branch: "main" + stable do + url "https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-1.4.321.0.tar.gz" + sha256 "5bbea925663d4cd2bab23efad53874f2718248a73dcaf9dd21dff8cb48e602fc" + + # Backport SPV_INTEL_function_variants for SPIRV LLVM Translator >= 21 + patch do + url "https://github.com/KhronosGroup/SPIRV-Headers/commit/9e3836d7d6023843a72ecd3fbf3f09b1b6747a9e.patch?full_index=1" + sha256 "44eff041125f59dce93272be22226ab5e48fe4cf2397e422692d0c8679f40d51" + end + end + livecheck do url :stable regex(/^(?:vulkan[._-])?sdk[._-]v?(\d+(?:\.\d+)+)$/i) diff --git a/Formula/s/spirv-llvm-translator.rb b/Formula/s/spirv-llvm-translator.rb index 13a1c266bdeae..1130bdee1c9c2 100644 --- a/Formula/s/spirv-llvm-translator.rb +++ b/Formula/s/spirv-llvm-translator.rb @@ -1,8 +1,8 @@ class SpirvLlvmTranslator < Formula desc "Tool and a library for bi-directional translation between SPIR-V and LLVM IR" homepage "https://github.com/KhronosGroup/SPIRV-LLVM-Translator" - url "https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags/v20.1.5.tar.gz" - sha256 "83048509774d865dab7631c887b0673753f59f337256bb56829ea32f30d7584b" + url "https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags/v21.1.0.tar.gz" + sha256 "4f7019a06c731daebbc18080db338964002493ead4cfb440fef95d120c50a170" license "Apache-2.0" => { with: "LLVM-exception" } bottle do diff --git a/Formula/s/symengine.rb b/Formula/s/symengine.rb index 5863c681f539c..cf0c06a68e172 100644 --- a/Formula/s/symengine.rb +++ b/Formula/s/symengine.rb @@ -4,7 +4,7 @@ class Symengine < Formula url "https://github.com/symengine/symengine/archive/refs/tags/v0.14.0.tar.gz" sha256 "11c5f64e9eec998152437f288b8429ec001168277d55f3f5f1df78e3cf129707" license "MIT" - revision 3 + revision 4 bottle do sha256 cellar: :any, arm64_sequoia: "b413d0e962039cc33ce647e56b64d1e14e0485e9fb03aa9bb05c2a8815f2c77c" diff --git a/Formula/w/wasi-runtimes.rb b/Formula/w/wasi-runtimes.rb index e4f26f1ccf908..3e9eb9e35fff7 100644 --- a/Formula/w/wasi-runtimes.rb +++ b/Formula/w/wasi-runtimes.rb @@ -1,8 +1,8 @@ class WasiRuntimes < Formula desc "Compiler-RT and libc++ runtimes for WASI" homepage "https://wasi.dev" - url "https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.8/llvm-project-20.1.8.src.tar.xz" - sha256 "6898f963c8e938981e6c4a302e83ec5beb4630147c7311183cf61069af16333d" + url "https://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.0-rc3/llvm-project-21.1.0-rc3.src.tar.xz" + sha256 "7c61598f3902e61499b4a8d0302087ed2421c75bf504d084f2e6fa5450ab94d7" license "Apache-2.0" => { with: "LLVM-exception" } head "https://github.com/llvm/llvm-project.git", branch: "main" diff --git a/audit_exceptions/unstable_allowlist.json b/audit_exceptions/unstable_allowlist.json index accf34288e516..e7da5feebeed1 100644 --- a/audit_exceptions/unstable_allowlist.json +++ b/audit_exceptions/unstable_allowlist.json @@ -2,13 +2,17 @@ "aalib": "1.4rc", "automysqlbackup": "3.0-rc", "aview": "1.3.0rc", + "flang": "21.1.0-rc", "ftgl": "2.1.3-rc", "libcaca": "0.99b", "librasterlite2": "1.1.0-beta", + "lld": "21.1.0-rc", + "llvm": "21.1.0-rc", "premake": "5.0.0-beta", "pwnat": "0.3-beta", "recode": "3.7-beta", "spatialite-gui": "2.1.0-beta", "tcptraceroute": "1.5beta", - "vbindiff": "3.0_beta" + "vbindiff": "3.0_beta", + "wasi-runtimes": "21.1.0-rc" }