Casks/o/obs@beta.rb
cask "obs@beta" do
arch arm: "apple", intel: "intel"
livecheck_folder = on_arch_conditional arm: "arm64", intel: "x86_64"
version "30.2.0-rc1"
sha256 arm: "c4478865860efa21dc3f9db38224b3a40f77819b431ce151fdbb8fd6cbd1289f",
intel: "3d4a205a897af9d0487db3f03d48466f88b3320cdcdf0c3be2a027e72993432e"
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/forum/list/test-builds.20/"
livecheck do
url "https://obsproject.com/osx_update/updates_#{livecheck_folder}_v2.xml"
regex(/obs[._-]studio[._-](\d+(?:[.-]\d+)+(?:(?:-beta)|(?:-rc))\d+)[._-]macos/i)
strategy :sparkle do |items, regex|
items.find { |item| item.channel == "beta" }&.url&.scan(regex)&.flatten
end
end
auto_updates true
conflicts_with cask: "obs"
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