Casks/o/obs.rb
cask "obs" do
arch arm: "Apple", intel: "Intel"
livecheck_folder = on_arch_conditional arm: "arm64", intel: "x86_64"
version "30.2.3"
sha256 arm: "6714f8fcbc8dc1f6b92ac1da58e2c7570dc65fefb819d68536375711973be0fb",
intel: "656e7b06bf6060e6bee101e7917ca50701656fb6fe9788bceb3376f24595e9d3"
url "https://cdn-fastly.obsproject.com/downloads/OBS-Studio-#{version}-macOS-#{arch}.dmg"
name "OBS"
desc "Open-source software for live streaming and screen recording"
homepage "https://obsproject.com/"
livecheck do
url "https://obsproject.com/osx_update/updates_#{livecheck_folder}_v2.xml"
regex(/obs[._-]studio[._-]v?(\d+(?:\.\d+)+)[._-]macos[._-]#{arch}\.dmg/i)
strategy :sparkle do |items, regex|
items.find { |item| item.channel == "stable" }&.url&.scan(regex)&.flatten
end
end
auto_updates true
conflicts_with cask: "obs@beta"
depends_on macos: ">= :big_sur"
app "OBS.app"
# shim script (https://github.com/Homebrew/homebrew-cask/issues/18809)
shimscript = "#{staged_path}/obs.wrapper.sh"
binary shimscript, target: "obs"
preflight do
File.write shimscript, <<~EOS
#!/bin/bash
exec '#{appdir}/OBS.app/Contents/MacOS/OBS' "$@"
EOS
end
uninstall delete: "/Library/CoreMediaIO/Plug-Ins/DAL/obs-mac-virtualcam.plugin"
zap trash: [
"~/Library/Application Support/obs-studio",
"~/Library/HTTPStorages/com.obsproject.obs-studio",
"~/Library/Preferences/com.obsproject.obs-studio.plist",
"~/Library/Saved Application State/com.obsproject.obs-studio.savedState",
]
end