cask "virtualbox" do arch arm: "macOSArm64", intel: "OSX" version "7.1.10,169112" sha256 arm: "15ff0ae76005a2a77e8f40ea2a87095a645899fadaf798aabbe8dafd130de5d6", intel: "cd63aa9d056b15589152b0304368dfae6930b47ebb465873d0c33fd648cd64c5" url "https://download.virtualbox.org/virtualbox/#{version.csv.first}/VirtualBox-#{version.csv.first}-#{version.csv.second}-#{arch}.dmg" name "Oracle VirtualBox" desc "Virtualiser for x86 hardware" homepage "https://www.virtualbox.org/" livecheck do url "https://www.virtualbox.org/wiki/Downloads" regex(/href=.*?VirtualBox[._-]v?(\d+(?:\.\d+)+)[._-](\d+)[._-]OSX\.dmg/i) strategy :page_match do |page, regex| match = page.match(regex) next if match.blank? "#{match[1]},#{match[2]}" end end conflicts_with cask: [ "virtualbox@6", "virtualbox@beta", ] depends_on macos: ">= :catalina" pkg "VirtualBox.pkg", choices: [ { "choiceIdentifier" => "choiceVBoxKEXTs", "choiceAttribute" => "selected", "attributeSetting" => 1, }, { "choiceIdentifier" => "choiceVBox", "choiceAttribute" => "selected", "attributeSetting" => 1, }, { "choiceIdentifier" => "choiceVBoxCLI", "choiceAttribute" => "selected", "attributeSetting" => 1, }, { "choiceIdentifier" => "choiceOSXFuseCore", "choiceAttribute" => "selected", "attributeSetting" => 0, }, ] postflight do # If VirtualBox is installed before `/usr/local/lib/pkgconfig` is created by Homebrew, it creates it itself # with incorrect permissions that break other packages # See https://github.com/Homebrew/homebrew-cask/issues/68730#issuecomment-534363026 set_ownership "/usr/local/lib/pkgconfig" end uninstall script: { executable: "VirtualBox_Uninstall.tool", args: ["--unattended"], sudo: true, }, pkgutil: "org.virtualbox.pkg.*", delete: "/usr/local/bin/vboximg-mount" zap trash: [ "/Library/Application Support/VirtualBox", "~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/org.virtualbox.app.virtualbox*", "~/Library/Preferences/org.virtualbox.app.VirtualBox*", "~/Library/Saved Application State/org.virtualbox.app.VirtualBox*", "~/Library/VirtualBox", ], rmdir: "~/VirtualBox VMs" end