diff --git a/Formula/o/open-mpi.rb b/Formula/o/open-mpi.rb index 90528147e7815..0e5d3d045ec25 100644 --- a/Formula/o/open-mpi.rb +++ b/Formula/o/open-mpi.rb @@ -1,10 +1,9 @@ class OpenMpi < Formula desc "High performance message passing library" homepage "https://www.open-mpi.org/" - url "https://download.open-mpi.org/release/open-mpi/v5.0/openmpi-5.0.3.tar.bz2" - sha256 "990582f206b3ab32e938aa31bbf07c639368e4405dca196fabe7f0f76eeda90b" + url "https://download.open-mpi.org/release/open-mpi/v5.0/openmpi-5.0.5.tar.bz2" + sha256 "6588d57c0a4bd299a24103f4e196051b29e8b55fbda49e11d5b3d32030a32776" license "BSD-3-Clause" - revision 1 livecheck do url :homepage @@ -12,18 +11,17 @@ class OpenMpi < Formula end bottle do - sha256 arm64_sequoia: "8fc089be34f447968039f7408a51e65ace25124ba417de52e950facce7e47475" - sha256 arm64_sonoma: "2eb8af01260123ac14e6c47dc0c2d6533ae846b93805e95940fd991af286b228" - sha256 arm64_ventura: "41fbd96be69b9cd6f06f29acb9e29d7f182af84ee9a35ccb2b60b3fea526cbea" - sha256 arm64_monterey: "e62156754013d4acf586032f28da661f0ff0275a664347a77a616ac76dede707" - sha256 sonoma: "963cccb887f66a3da95feb19098e65309c46219491cb080d0bf864ea45e7fcdc" - sha256 ventura: "ee9132e624c3e74d153362aedac38bc327937ca8c99e45aea4e19a7c188aade1" - sha256 monterey: "d3e7aa52538f37cfae1da06cdf23d04bdfe29fc9e3c9c6ad7c8c4cf2c2f6523e" - sha256 x86_64_linux: "96f0736d212d804309eebd055632619b99242e895e195013be2b01ba742fa798" + sha256 arm64_sequoia: "e0235a4d1d504248e8d736e9ad92b785789b06c26d5f6634168ba0bf31fd9bce" + sha256 arm64_sonoma: "522592a0f5a23e7b719808ec3f61abcbb0c6f046356ab23c24de4ff948c616f2" + sha256 arm64_ventura: "42ef2bda5d4586176bdd9046d2cfb235b4cd8bf3fdab09c2f65d84af52977cfd" + sha256 sonoma: "d38cae4c45c360f7d5e0b536ae0f792d3b7363c895acc2c60519b64685fed2f2" + sha256 ventura: "624f0f7c7be4be5ad2d89b583d2b0294c70fedd89ed33552f5a7fe1061262638" + sha256 x86_64_linux: "08d155c685dfe497ceecf98d4d703e19af6643bca8ce1981ddc38ae6dbb6a752" end head do url "https://github.com/open-mpi/ompi.git", branch: "main" + depends_on "autoconf" => :build depends_on "automake" => :build depends_on "libtool" => :build @@ -37,34 +35,28 @@ class OpenMpi < Formula conflicts_with "mpich", because: "both install MPI compiler wrappers" def install - if OS.mac? - # Otherwise libmpi_usempi_ignore_tkr gets built as a static library - ENV["MACOSX_DEPLOYMENT_TARGET"] = MacOS.version + # Backport https://github.com/open-mpi/ompi/commit/2d3ad2b2a777ffe70511426808a5c5ca5693c443 + # TODO: Remove on the next release (inreplace will fail) + inreplace "configure", "$LDFLAGS_xcode_save", "$LDFLAGS_save_xcode" if build.stable? - # Work around asm incompatibility with new linker (FB13194320) - # https://github.com/open-mpi/ompi/issues/12427 - ENV.append "LDFLAGS", "-Wl,-ld_classic" if DevelopmentTools.clang_build_version >= 1500 - end + ENV.runtime_cpu_detection + # Otherwise libmpi_usempi_ignore_tkr gets built as a static library + ENV["MACOSX_DEPLOYMENT_TARGET"] = MacOS.version if OS.mac? + + # Remove bundled copies of libraries that shouldn't be used + unbundled_packages = %w[hwloc libevent openpmix].join(",") + rm_r Dir["3rd-party/{#{unbundled_packages}}*"] # Avoid references to the Homebrew shims directory inreplace_files = %w[ ompi/tools/ompi_info/param.c oshmem/tools/oshmem_info/param.c ] - inreplace_files_cc = %w[ - 3rd-party/openpmix/src/tools/pmix_info/support.c - 3rd-party/prrte/src/tools/prte_info/param.c - ] - cxx = OS.linux? ? "g++" : ENV.cxx - inreplace inreplace_files, "OMPI_CXX_ABSOLUTE", "\"#{cxx}\"" - cc = OS.linux? ? "gcc" : ENV.cc - inreplace inreplace_files, /(OPAL|PMIX)_CC_ABSOLUTE/, "\"#{cc}\"" - inreplace inreplace_files_cc, /(PMIX|PRTE)_CC_ABSOLUTE/, "\"#{cc}\"" - - ENV.cxx11 - ENV.runtime_cpu_detection + inreplace inreplace_files, "OMPI_CXX_ABSOLUTE", "\"#{cxx}\"" + inreplace inreplace_files, "OPAL_CC_ABSOLUTE", "\"#{cc}\"" + inreplace "3rd-party/prrte/src/tools/prte_info/param.c", "PRTE_CC_ABSOLUTE", "\"#{cc}\"" args = %W[ --disable-silent-rules @@ -76,14 +68,13 @@ def install --with-pmix=#{Formula["pmix"].opt_prefix} --with-sge ] - args << "--with-platform-optimized" if build.head? - # Work around asm incompatibility with new linker (FB13194320) - # https://github.com/open-mpi/ompi/issues/11935 - args << "--with-wrapper-fcflags=-Wl,-ld_classic" if DevelopmentTools.clang_build_version >= 1500 + if build.head? + args << "--with-platform-optimized" + system "./autogen.pl", "--force", "--no-3rdparty=#{unbundled_packages}" + end - system "./autogen.pl", "--force" if build.head? - system "./configure", *std_configure_args, *args + system "./configure", *args, *std_configure_args system "make", "all" system "make", "check" system "make", "install" diff --git a/Formula/o/opencoarrays.rb b/Formula/o/opencoarrays.rb index 167c34b685b10..27a0ebd9f31e3 100644 --- a/Formula/o/opencoarrays.rb +++ b/Formula/o/opencoarrays.rb @@ -4,18 +4,16 @@ class Opencoarrays < Formula url "https://github.com/sourceryinstitute/OpenCoarrays/releases/download/2.10.2/OpenCoarrays-2.10.2.tar.gz" sha256 "e13f0dc54b966b0113deed7f407514d131990982ad0fe4dea6b986911d26890c" license "BSD-3-Clause" - revision 4 + revision 5 head "https://github.com/sourceryinstitute/opencoarrays.git", branch: "main" bottle do - sha256 cellar: :any, arm64_sequoia: "a8634f6bc3f046ae96451e906eb6d687ac2a29dd969b81130dd23cfca14ec72b" - sha256 cellar: :any, arm64_sonoma: "184ee097de916fb71dbe738503878b7065b08b18f7f6d845ed840c1965fdf911" - sha256 cellar: :any, arm64_ventura: "99a88e8b98865f4e49a6b45668ae9ce17a2cb16a16a27601592867431f0556ed" - sha256 cellar: :any, arm64_monterey: "2a75417b713d0ac5bd92e3fa3f8c9b5f6d2d6ce3112e760bca0857d9204cbcb4" - sha256 cellar: :any, sonoma: "789d54b40e2e9e7d887f579e7fda857a85ee724ebb719c476acf0515276cab07" - sha256 cellar: :any, ventura: "849c075171928fac437f75c62e716a0fbb646ddcdfab88852d4919d9309fde25" - sha256 cellar: :any, monterey: "19bc44371dbcb4bd9fc179ce0e5c2e4d29658dfb36d37017d85188c80c6b0411" - sha256 cellar: :any_skip_relocation, x86_64_linux: "0b39e050aa00ddf5a88737051b4984cac7ea0550058ab6c036872c2252cffaa9" + sha256 cellar: :any, arm64_sequoia: "e263b0b0243719cdaf1ef02de84c8d70c52b1ba4b75254e75eec540daba88fde" + sha256 cellar: :any, arm64_sonoma: "8c6e809fff5e543d60f2ee038ca04aa99e398a69b3aec9db067249c84b2beef0" + sha256 cellar: :any, arm64_ventura: "343c2414094be734db3423e6c2fab208320996971c0475f27e9b4328e20307a3" + sha256 cellar: :any, sonoma: "bf66d20a900e5b7880971a9d5c0801cc9b18f3f4fded8be925bf482fb9b86d00" + sha256 cellar: :any, ventura: "6918670d6f5c0b401d2aaea00dc994ac8a5879ec7430c0212c058c7a8654f90e" + sha256 cellar: :any_skip_relocation, x86_64_linux: "3be56cc15f1203f55853c88f265444b90868d9228e88fc3c405b5219e401eab5" end depends_on "cmake" => :build @@ -26,6 +24,12 @@ def install system "cmake", "-S", ".", "-B", "build", *std_cmake_args system "cmake", "--build", "build" system "cmake", "--install", "build" + + # Replace `open-mpi` Cellar path that breaks on `open-mpi` version/revision bumps. + # CMake FindMPI uses REALPATH so there isn't a clean way to handle during generation. + openmpi = Formula["open-mpi"] + inreplace_files = [bin/"caf", lib/"cmake/opencoarrays/OpenCoarraysTargets.cmake"] + inreplace inreplace_files, openmpi.prefix.realpath, openmpi.opt_prefix end test do @@ -51,6 +55,6 @@ def install EOS system bin/"caf", "tally.f90", "-o", "tally" system bin/"cafrun", "-np", "3", "--oversubscribe", "./tally" - assert_match Formula["open-mpi"].lib.realpath.to_s, shell_output("#{bin}/caf --show") + assert_match Formula["open-mpi"].opt_lib.to_s, shell_output("#{bin}/caf --show") end end diff --git a/Formula/v/vineyard.rb b/Formula/v/vineyard.rb index 4877a46aed7d9..e07aef92c7447 100644 --- a/Formula/v/vineyard.rb +++ b/Formula/v/vineyard.rb @@ -6,15 +6,15 @@ class Vineyard < Formula url "https://github.com/v6d-io/v6d/releases/download/v0.23.2/v6d-0.23.2.tar.gz" sha256 "2a2788ed77b9459477b3e90767a910e77e2035a34f33c29c25b9876568683fd4" license "Apache-2.0" - revision 4 + revision 5 bottle do - sha256 arm64_sequoia: "ebd164c30de30f51cefc78f6165adaab64c948cc450e070222a54db3537867ce" - sha256 arm64_sonoma: "00185d582b4b9a344dc472b3332184f3f7f9d76afdbf49b0a78030f99611733f" - sha256 arm64_ventura: "58786d9ca5ca75691ac5faaa39573f5e5c94413229026bb71b5fb6d57b013af7" - sha256 sonoma: "f948f3507459bb690c6b49db7c79562883fb40ea7f22f03ebbc4c536325af97f" - sha256 ventura: "a4bf0d6921bc3055df1d5a351437e3d48e31f6962cbfbaa44bab1fc1a6d43e85" - sha256 cellar: :any_skip_relocation, x86_64_linux: "f3fb8643a6869b233f54960511fea4a365891525644e991f5d0742efd5d55dd7" + sha256 arm64_sequoia: "0a4c7a287dc84c6b6a8d145417f73ed2f29b8a67117a3be26ce2d04eefe797a3" + sha256 arm64_sonoma: "85e45b63d6a9e5ab1a1e0ea89cb2b53244bd6506354e3417fe53e931973001d4" + sha256 arm64_ventura: "6796cd52bf0417e7623908c733ea43cce3d0d5e42f645a797303bc125bfd81ff" + sha256 sonoma: "d89b7489800fe95f4baf35b757c8256d27d05c68e8ae8da0e996ca391740815d" + sha256 ventura: "1be8793b2288dd5b35ba36f6b0155fb0da166732a0190cfcf7ebefc6c694f78c" + sha256 cellar: :any_skip_relocation, x86_64_linux: "0552a3a41bf3818d22cc29402590d13d39b5ebc09c94b02081b90165e59058b6" end depends_on "cmake" => [:build, :test] @@ -79,6 +79,11 @@ def install *std_cmake_args system "cmake", "--build", "build" system "cmake", "--install", "build" + + # Replace `open-mpi` Cellar path that breaks on `open-mpi` version/revision bumps. + # CMake FindMPI uses REALPATH so there isn't a clean way to handle during generation. + openmpi = Formula["open-mpi"] + inreplace lib/"cmake/vineyard/vineyard-targets.cmake", openmpi.prefix.realpath, openmpi.opt_prefix end test do