blob: d793ca8976f3d7adcb970d84f06b5f5c7e9b45c3 [file] [log] [blame]
# typed: false
# frozen_string_literal: true
class Dart < Formula
desc "SDK"
homepage "https://dart.dev"
head do
version "3.0.0-277.0.dev"
if OS.mac? && Hardware::CPU.intel?
url "https://storage.googleapis.com/dart-archive/channels/dev/release/3.0.0-277.0.dev/sdk/dartsdk-macos-x64-release.zip"
sha256 "01184d443f42ded720c8abd9830f4ff340b6c91b7fcd5cd1c85018fa369502bb"
elsif OS.mac? && Hardware::CPU.arm?
url "https://storage.googleapis.com/dart-archive/channels/dev/release/3.0.0-277.0.dev/sdk/dartsdk-macos-arm64-release.zip"
sha256 "7bfbeb800d4cfaa990ded9dd42ac1a16157d98f12dae5ef3868b98a059ab1c1d"
elsif OS.linux? && Hardware::CPU.intel?
if Hardware::CPU.is_64_bit?
url "https://storage.googleapis.com/dart-archive/channels/dev/release/3.0.0-277.0.dev/sdk/dartsdk-linux-x64-release.zip"
sha256 "f2ed05b9c72172fa1c562f054fb1f4dd3fd1dfce7e0b4d92879c62656bfb96ee"
else
url "https://storage.googleapis.com/dart-archive/channels/dev/release/3.0.0-277.0.dev/sdk/dartsdk-linux-ia32-release.zip"
sha256 "3b8497a8eb60c3da9bce26396fa3aea9f998fb352bb5b10139b555f3838d438c"
end
elsif OS.linux? && Hardware::CPU.arm?
if Hardware::CPU.is_64_bit?
url "https://storage.googleapis.com/dart-archive/channels/dev/release/3.0.0-277.0.dev/sdk/dartsdk-linux-arm64-release.zip"
sha256 "b8fbdbdf2a1de3a3ee5eb608b930d200c45d623d0ea2f0431477a0ec0f1bc501"
else
url "https://storage.googleapis.com/dart-archive/channels/dev/release/3.0.0-277.0.dev/sdk/dartsdk-linux-arm-release.zip"
sha256 "8ccd773e8deedf3efee535ff8af9a327779adc677c428f4536fdb9a090824337"
end
end
end
conflicts_with "dart-beta", because: "dart-beta ships the same binaries"
if OS.mac? && Hardware::CPU.intel?
url "https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.3/sdk/dartsdk-macos-x64-release.zip"
sha256 "9b44776fada33221228ce86ea4cb03a809bb9e16fff78eff429aaf234d7170a4"
elsif OS.mac? && Hardware::CPU.arm?
url "https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.3/sdk/dartsdk-macos-arm64-release.zip"
sha256 "dc2e0f7b8b15602cedbfaed01180628f40b2c14500af2db891816ae626a2602c"
elsif OS.linux? && Hardware::CPU.intel?
if Hardware::CPU.is_64_bit?
url "https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.3/sdk/dartsdk-linux-x64-release.zip"
sha256 "93b5db66868b0a0fd7f3615f2ae279985430de57f5e925e498d35b7d79ab0747"
else
url "https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.3/sdk/dartsdk-linux-ia32-release.zip"
sha256 "0011b8070a5a78c560ce5e362508cc0859935ea3af3fe6b7fccb3847828e7a76"
end
elsif OS.linux? && Hardware::CPU.arm?
if Hardware::CPU.is_64_bit?
url "https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.3/sdk/dartsdk-linux-arm64-release.zip"
sha256 "af6e4aa9a146aab0844bca502c3bb3ebad33895d78f48743ff3513a7ef3dd163"
else
url "https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.3/sdk/dartsdk-linux-arm-release.zip"
sha256 "7f0d6dc9d79dc5168ce3000389b91039b1273104546eee6104d1e428e12fe72c"
end
end
def install
libexec.install Dir["*"]
bin.install_symlink "#{libexec}/bin/dart"
bin.write_exec_script Dir["#{libexec}/bin/{pub,dart?*}"]
end
def caveats
<<~EOS
Please note the path to the Dart SDK:
#{opt_libexec}
EOS
end
test do
(testpath/"sample.dart").write <<~EOS
void main() {
print(r"test message");
}
EOS
assert_equal "test message\n", shell_output("#{bin}/dart sample.dart")
end
end