cask "xscreensaver" do version "6.16.2" sha256 "1e29a6ace38dc0c4a6b72daed3dc789ff3ac3599210ea983a071a7d6f2e4b19e" url "https://www.jwz.org/xscreensaver/xscreensaver-#{version}.dmg" name "XScreenSaver" desc "Screen savers" homepage "https://www.jwz.org/xscreensaver/" livecheck do url "https://www.jwz.org/xscreensaver/download.html" regex(/href=.*?xscreensaver[._-]v?(\d+(?:\.\d+)+)\.dmg/i) end depends_on :macos pkg "Install Everything.pkg" generated_script "uninstall-xscreensaver.sh", content: <<~'SH' #!/bin/bash for plist in /Library/Screen\ Savers/*.saver/Contents/Info.plist; do [[ -e "$plist" ]] || continue bundle_id=$(/usr/libexec/PlistBuddy -c 'Print :CFBundleIdentifier' "$plist") [[ "$bundle_id" == org.jwz* ]] || continue screensaver_name=$(/usr/libexec/PlistBuddy -c 'Print :CFBundleExecutable' "$plist") /bin/rm -rf "/Library/Screen Savers/${screensaver_name// /}.saver" done SH uninstall_postflight_steps do remove "uninstall-xscreensaver.sh" end uninstall script: { executable: "uninstall-xscreensaver.sh", sudo: true, }, pkgutil: "org.jwz.xscreensaver", delete: [ "/Applications/Apple2.app", "/Applications/Phosphor.app", "/Library/Screen Savers/XScreenSaverUpdater.app", ] zap trash: [ "~/Library/HTTPStorages/org.jwz.xscreensaver.XScreenSaverUpdater", "~/Library/Preferences/org.jwz.xscreensaver.*.plist", "~/Library/Saved Application State/org.jwz.xscreensaver.*.savedState", ] end