phinze/homebrew-cask

View on GitHub
Casks/f/firefox.rb

Summary

Maintainability
A
2 hrs
Test Coverage
cask "firefox" do
  version "125.0.3"

  language "af" do
    sha256 "fcaf07984bb7f52a8666cc61a138d6b7449635bd15cc02acf8b8d56fd31b3cf1"
    "af"
  end
  language "ar" do
    sha256 "68e664d8b2eded46defc6cfd6c62c6b91ea66d42fb2cfc9ff453871e2d331109"
    "ar"
  end
  language "be" do
    sha256 "6e0e064c598b5b1585866b4bf2df1ba1ca312f70b85759efe0d2322bb4a12e02"
    "be"
  end
  language "bg" do
    sha256 "1289b008da874c7a20d5201159f079e2c9fe86ff31e7d065c7ff7ea156c98d4b"
    "bg"
  end
  language "bn" do
    sha256 "5e004898d542cad2156317e787968141ebc2fd8bb000ba7b8a9729e57cec5ced"
    "bn"
  end
  language "ca" do
    sha256 "01099db380cab60d5e82083435a4de7928dc0c1b652e4a566ae8dec44b593d85"
    "ca"
  end
  language "cs" do
    sha256 "f18879f1faecc274bb8a2217e64dd49a3b25eeb0de4c9ad59ab6ca01198d2bf1"
    "cs"
  end
  language "de" do
    sha256 "19b861ce2372627bffe66d1ec3f676ec8d683a953a7c1a963855ad4a1dd16060"
    "de"
  end
  language "en-CA" do
    sha256 "fd984a663141b64e036c237dcf991f1ae7fc6ce37d36db261ee540cb43c47322"
    "en-CA"
  end
  language "en-GB" do
    sha256 "625e30bedce936c562087316f664ef043337e87197f28e7ba7f971f35f7c7f51"
    "en-GB"
  end
  language "en", default: true do
    sha256 "a9b0903aaba0f2b4b79026f2ff1ef0ee3b4628469d674318d192af604aa2b0a0"
    "en-US"
  end
  language "eo" do
    sha256 "dbe3065e467a238d4ea57216888e4b630bc085efd79e7746f41ee04e9075c84b"
    "eo"
  end
  language "es-AR" do
    sha256 "4d8b62e38c2088c0092f3ac46e9899ac2b653797bfc675338c113ffe31183138"
    "es-AR"
  end
  language "es-CL" do
    sha256 "e9fd3b25a6a1591d3a48423a613c99f36c49f86f5c2f21a193df2dc09bceebb6"
    "es-CL"
  end
  language "es-ES" do
    sha256 "3e91be462847759417f8dee9e083a7d4199be5e8c56889e8743f4e760f2c0de8"
    "es-ES"
  end
  language "fa" do
    sha256 "1f6263eab46524df9b41894c1f1ea3386d3bf2fbfdd88fb3062ef36bcaf23398"
    "fa"
  end
  language "ff" do
    sha256 "567061b4ea9dcd04bdea8092b2dced0185ab445e4cbb0b5d120b3115917c9fb9"
    "ff"
  end
  language "fi" do
    sha256 "cc22432f4c647041062ee2db127991c908ea6b77790254918c1389b3d839f6f7"
    "fi"
  end
  language "fr" do
    sha256 "a405d69ccdd82cf3f8d90943f040692f263e97336b96251089cfcc2c5961deec"
    "fr"
  end
  language "gl" do
    sha256 "fe08b66a16fb82a5b571eecfd371998a0d99f9882803b6b927791f3b92f3b949"
    "gl"
  end
  language "gn" do
    sha256 "bc1cfee7c1a8a7d092f9088e2a7a1d42c3fda79023172e3a1341bd982bb82d21"
    "gn"
  end
  language "gu" do
    sha256 "70c241d20f9ed298d3e78d8481aa5bad202dcbd1924d3c1153e680bfe5855d8e"
    "gu-IN"
  end
  language "he" do
    sha256 "d142e8ad015933e4e15b7548bd8c5c1c6fbe20b4465bec86598158ab7c7cf631"
    "he"
  end
  language "hi" do
    sha256 "bec30786c5da8b3eff76dca31f33dbb9a23ea5bb715e0c3977d0fbf1da4abc6b"
    "hi-IN"
  end
  language "in" do
    sha256 "bec30786c5da8b3eff76dca31f33dbb9a23ea5bb715e0c3977d0fbf1da4abc6b"
    "hi-IN"
  end
  language "it" do
    sha256 "f4d0cf231630eeb4ce372a4a0b50f3a8a196a6b6113bec401da1593dc9f44f2d"
    "it"
  end
  language "ja" do
    sha256 "86090dc591f4a1b743ca9fcb3a5331f5e8b9a4a567fc33c857d55abafd46eea6"
    "ja-JP-mac"
  end
  language "ka" do
    sha256 "de5f9ef13ec9e9b0b5542bed6c9ba654145a47268a44419b2067d1654bbffcb9"
    "ka"
  end
  language "ko" do
    sha256 "cd8d18c2fcd37d1915210911a7b3707dbbe6ed278cf03f9c920636404f8a2e68"
    "ko"
  end
  language "mr" do
    sha256 "b756e54e1fe8858b3e4ab0aa3f03315bfb8b07d63af307a7d0c2d9cc1b42c9e2"
    "mr"
  end
  language "my" do
    sha256 "f125bbbd1bb083dfb4cb7bf2a08d980de2207ef21bc85d3dc1ef83ef6f8ecee5"
    "my"
  end
  language "ne" do
    sha256 "94acd9c8d3cff9703028433a6339aacebd45e028f226103ea4c10ce90e3bd85d"
    "ne-NP"
  end
  language "nl" do
    sha256 "6b7adc236b66d05765478cc75c77d38ca8122427b478c1830582b6223a02a4d1"
    "nl"
  end
  language "pa-IN" do
    sha256 "bfed8e2ac57107795d35ea1d8a90b83eb422a9ab63fdf37b1d7a2958557ce433"
    "pa-IN"
  end
  language "pl" do
    sha256 "f0c123215fb946f1344281eb2bbdf010afa35999274f4d9c775ce7b914aaa211"
    "pl"
  end
  language "pt-BR" do
    sha256 "b954bfb03eb1ba979c8d2f175707edc26eeb23f56d8577ac0e189432e87ec398"
    "pt-BR"
  end
  language "pt" do
    sha256 "373bd95cc99f8ee98c3490b25de9ea538068d6bde950f18fc368e7508833d969"
    "pt-PT"
  end
  language "ru" do
    sha256 "6b107bc3a93fb2492719ff291b3021069012d9ae9c57974490addc4fc46a381d"
    "ru"
  end
  language "si" do
    sha256 "f16c59caf2c9be622d161f547c1e251bc5b954b95ebb07b3843c0310a85e2639"
    "si"
  end
  language "sq" do
    sha256 "5183d96d8ef5840c1509cef392f7416bd6cfaad4443ea2b6b733cc47acff3955"
    "sq"
  end
  language "sr" do
    sha256 "d9fcdf6c79b9a64e70f7dfcd3ae49f3b00d017e51e547aa0c7d17190e10446d7"
    "sr"
  end
  language "sv" do
    sha256 "d284f6a673f10e345c545e880ed4a41be8eda26af268446def11ad356874d345"
    "sv-SE"
  end
  language "ta" do
    sha256 "0b17edb6b6c9a333964d0560a5b0f232b5d0095a3b142fddc4c4a3880e4f63fe"
    "ta"
  end
  language "te" do
    sha256 "7976459d3d4530e9fa766ed5c42446d82cb57d6018415f07ec9a1e49976914c8"
    "te"
  end
  language "th" do
    sha256 "5fb882e56d0e6af7779a0d0d00270c09446278f7ad33c4387d50bd3fdfff8ca3"
    "th"
  end
  language "tl" do
    sha256 "a7c0e0a69e2c1fc499b857aeae9992d12e371afcb1646ca2285814c9f1db73e6"
    "tl"
  end
  language "tr" do
    sha256 "e0e898fb59660d1a412c032360b5a21a41bd8ba9b5f41a8f580cfbbac2d37431"
    "tr"
  end
  language "uk" do
    sha256 "6d38068d8932c2ba60d85a716f6c3e01ca774382ba3a955ad0a038099844d5d3"
    "uk"
  end
  language "ur" do
    sha256 "a0110ea10a81a87e98026c5827bca18252566cac0f4c7a4eb07e0656747b5a95"
    "ur"
  end
  language "zh-TW" do
    sha256 "fb27654934f293d9be9a849f0c1ff68afae23365eec294bcc5dbf7cad5e2fee3"
    "zh-TW"
  end
  language "zh" do
    sha256 "81394f62812d3a4f0d441a4858b5e868e6d24bdf9f2aa652aa16fc2faa27c9f1"
    "zh-CN"
  end

  url "https://download-installer.cdn.mozilla.net/pub/firefox/releases/#{version}/mac/#{language}/Firefox%20#{version}.dmg",
      verified: "download-installer.cdn.mozilla.net/pub/firefox/releases/"
  name "Mozilla Firefox"
  desc "Web browser"
  homepage "https://www.mozilla.org/firefox/"

  livecheck do
    url "https://download.mozilla.org/?product=firefox-latest-ssl&os=osx"
    strategy :header_match
  end

  auto_updates true
  conflicts_with cask: [
    "firefox-beta",
    "firefox-cn",
    "firefox-esr",
  ]
  depends_on macos: ">= :catalina"

  app "Firefox.app"
  # shim script (https://github.com/Homebrew/homebrew-cask/issues/18809)
  shimscript = "#{staged_path}/firefox.wrapper.sh"
  binary shimscript, target: "firefox"

  preflight do
    File.write shimscript, <<~EOS
      #!/bin/bash
      exec '#{appdir}/Firefox.app/Contents/MacOS/firefox' "$@"
    EOS
  end

  uninstall quit: "org.mozilla.firefox"

  zap trash: [
        "/Library/Logs/DiagnosticReports/firefox_*",
        "~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/org.mozilla.firefox.sfl*",
        "~/Library/Application Support/CrashReporter/firefox_*",
        "~/Library/Application Support/Firefox",
        "~/Library/Caches/Firefox",
        "~/Library/Caches/Mozilla/updates/Applications/Firefox",
        "~/Library/Caches/org.mozilla.crashreporter",
        "~/Library/Caches/org.mozilla.firefox",
        "~/Library/Preferences/org.mozilla.crashreporter.plist",
        "~/Library/Preferences/org.mozilla.firefox.plist",
        "~/Library/Saved Application State/org.mozilla.firefox.savedState",
        "~/Library/WebKit/org.mozilla.firefox",
      ],
      rmdir: [
        "~/Library/Application Support/Mozilla", #  May also contain non-Firefox data
        "~/Library/Caches/Mozilla",
        "~/Library/Caches/Mozilla/updates",
        "~/Library/Caches/Mozilla/updates/Applications",
      ]
end