diff --git a/Formula/r/rust.rb b/Formula/r/rust.rb index da3b68098802..f235c8e8739c 100644 --- a/Formula/r/rust.rb +++ b/Formula/r/rust.rb @@ -2,42 +2,30 @@ class Rust < Formula desc "Safe, concurrent, practical language" homepage "https://www.rust-lang.org/" license any_of: ["Apache-2.0", "MIT"] - revision 2 stable do - # TODO: check if we can use unversioned `llvm` and `libgit2` at version bump. - # See comments below for details on `libgit2`. - url "https://static.rust-lang.org/dist/rustc-1.72.0-src.tar.gz" - sha256 "ea9d61bbb51d76b6ea681156f69f0e0596b59722f04414b01c6e100b4b5be3a1" + # TODO: try switching to `llvm` 17 at 1.73.0. + # See: https://github.com/rust-lang/rust/issues/116020 + url "https://static.rust-lang.org/dist/rustc-1.72.1-src.tar.gz" + sha256 "7f48845f6a52cdbb5d63fb0528fd5f520eb443275b55f98e328159f86568f895" # From https://github.com/rust-lang/rust/tree/#{version}/src/tools + # When bumping to a new version, check if we can use unversioned `libgit2`. + # See comments below for details. resource "cargo" do - url "https://github.com/rust-lang/cargo.git", - tag: "0.73.1", - revision: "26bba48309d080ef3a3a00053f4e1dc879ef1de9" - end - - # Fix for a compiler issue that may cause some builds to spin forever. - # Remove on 1.73.0 release. - # https://github.com/rust-lang/rust/pull/114948 - # https://github.com/rust-lang/rust/issues/115297 - # https://github.com/kpcyrd/sh4d0wup/issues/12 - patch do - url "https://github.com/rust-lang/rust/commit/0f7f6b70617fbcda9f73755fa9b560bfb0a588eb.patch?full_index=1" - sha256 "549f446612bef10a1a06a967f61655b59c1b6895d762d764ca89caf65c114fe9" + url "https://github.com/rust-lang/cargo/archive/refs/tags/0.73.1.tar.gz" + sha256 "976fb6f3e773319e60875772478645297d9eacc852857e288e8cec65399d2c88" end end bottle do - sha256 cellar: :any, arm64_sonoma: "8c4b3bceff159ef0302921ee2dde39b1fde602334ad4e06bbaf8a9bec2b3ca9f" - sha256 cellar: :any, arm64_ventura: "978d086a7856eb8b7bb482d5e81dd71143e766f0e5dac42cf6751a9237b74248" - sha256 cellar: :any, arm64_monterey: "2fa0718333121859bf2004cd41fa4c11662c7eff0e6f47ab2adb9702ef57fc5b" - sha256 cellar: :any, arm64_big_sur: "26cae92e11eed4491e0539437e8bcb9b6909d4646b632c2dfb695de02a5cd101" - sha256 cellar: :any, sonoma: "3708edb19eca2727fbd3344ceb510577c0fcba7b2c636dcc6d6359df981ffd18" - sha256 cellar: :any, ventura: "8ddd9fdb4a87318da3cf8738da78a2be4588b0dc327dc0be6c399ba867a56154" - sha256 cellar: :any, monterey: "f085460f847f4ded3206fb97ae7c629ca053bb2391eb8dfba2cdeebd638530a5" - sha256 cellar: :any, big_sur: "03a163badeaa7f8b812697a55e07ae3cb985a0a7f8a7272fceadaa68202ba839" - sha256 cellar: :any_skip_relocation, x86_64_linux: "3f631ff2c09e49f25fe956ef663ee2c1aacb6c7a03a5eb68fa174344ed220f84" + sha256 cellar: :any, arm64_ventura: "be9922a4b56016f18d209067f5a4d148d2aad4db3061092f848744aff41e337d" + sha256 cellar: :any, arm64_monterey: "a9ada0e355a336a55545a16e615daa051c5a675dc05c63793a77b8bac98ba04e" + sha256 cellar: :any, arm64_big_sur: "9bfc9baf003134053944ad145cc48155a23607ff73fecd6d45d1e4d3b429d6fd" + sha256 cellar: :any, ventura: "4cd3be4492eae97232dd1d868fb40f849882724688c4bd792f1e720d8710803d" + sha256 cellar: :any, monterey: "f7b8d6dc15d845f4ad715706542237386f97cf045e9168b34876bccb060e0e26" + sha256 cellar: :any, big_sur: "20214e26fbc77ef51e3be59c970ed9a109f3c13cfa7331a973d60d06b907760a" + sha256 cellar: :any_skip_relocation, x86_64_linux: "36b6bb23066fccd7b3c9311d5c671768133bbe5c27cce132376c4c0ec30abf9c" end head do @@ -48,7 +36,6 @@ class Rust < Formula end end - depends_on "python@3.11" => :build # To check for `libgit2` version: # 1. Search for `libgit2-sys` version at https://github.com/rust-lang/cargo/blob/#{cargo_version}/Cargo.lock # 2. If the version suffix of `libgit2-sys` is newer than +1.6.*, then: @@ -61,6 +48,7 @@ class Rust < Formula depends_on "openssl@3" depends_on "pkg-config" + uses_from_macos "python" => :build uses_from_macos "curl" uses_from_macos "zlib" @@ -90,8 +78,6 @@ class Rust < Formula end def install - ENV.prepend_path "PATH", Formula["python@3.11"].opt_libexec/"bin" - # Ensure that the `openssl` crate picks up the intended library. # https://docs.rs/openssl/latest/openssl/#manual ENV["OPENSSL_DIR"] = Formula["openssl@3"].opt_prefix @@ -208,7 +194,9 @@ def check_binary_linkage(binary, library) missing_linkage = [] expected_linkage.each do |binary, dylibs| dylibs.each do |dylib| - missing_linkage << "#{binary} => #{dylib}" unless check_binary_linkage(binary, dylib) + next if check_binary_linkage(binary, dylib) + + missing_linkage << "#{binary} => #{dylib}" end end assert missing_linkage.empty?, "Missing linkage: #{missing_linkage.join(", ")}"