cask "musescore" do version "4.5.2.251141402,4.5.2" sha256 "cd607c4d08c37cc428ce759ad8687fdf2aa4507c96a71f60d96a01ca9af012b1" url "https://github.com/musescore/MuseScore/releases/download/v#{version.csv.second}/MuseScore-Studio-#{version.csv.first}.dmg", verified: "github.com/musescore/MuseScore/" name "MuseScore" desc "Open-source music notation software" homepage "https://musescore.org/" livecheck do url :url regex(%r{/v?(\d+(?:\.\d+)+)/MuseScore[._-]Studio[._-]v?(\d+(?:\.\d+)+)\.dmg}i) strategy :github_latest do |json, regex| json["assets"]&.map do |asset| match = asset["browser_download_url"]&.match(regex) next if match.blank? "#{match[2]},#{match[1]}" end end end no_autobump! because: :requires_manual_review auto_updates true depends_on macos: ">= :mojave" app "MuseScore #{version.major}.app" # shim script (https://github.com/caskroom/homebrew-cask/issues/18809) shimscript = "#{staged_path}/mscore.wrapper.sh" binary shimscript, target: "mscore" preflight do File.write shimscript, <<~EOS #!/bin/sh exec '#{appdir}/MuseScore #{version.major}.app/Contents/MacOS/mscore' "$@" EOS end zap trash: [ "~/Library/Application Support/MuseScore", "~/Library/Caches/MuseScore", "~/Library/Caches/org.musescore.MuseScore", "~/Library/Preferences/org.musescore.MuseScore*.plist", "~/Library/Saved Application State/org.musescore.MuseScore.savedState", ] end