Files

54 lines
2.0 KiB
Plaintext

# Homebrew Cask formula for Gridline.
#
# This file is the template; `scripts/render-cask.sh` substitutes
# @VERSION@ / @ARM_SHA256@ / @INTEL_SHA256@ on each release and pushes the
# rendered file to the `AdrianBonpin/homebrew-gridline` tap as
# `Casks/gridline.rb`. End users then install with
#
# brew install --cask AdrianBonpin/gridline/gridline
#
# or — after a one-time `brew tap AdrianBonpin/gridline` — with the short
#
# brew install --cask gridline
#
# QUARANTINE: Gridline is ad-hoc signed (not Developer-ID signed/notarized),
# so Homebrew casks (which deliberately set com.apple.quarantine on the
# downloaded artifact) would make Gatekeeper refuse to launch it. The
# `postflight` block strips the quarantine flag automatically — the standard
# GoReleaser-documented pattern for unsigned casks — so `brew install` works
# with no manual `xattr` step. This is a Gatekeeper bypass; drop the
# postflight once the app is properly signed + notarized.
cask "gridline" do
arch arm: "aarch64", intel: "x64"
version "@VERSION@"
sha256 arm: "@ARM_SHA256@",
intel: "@INTEL_SHA256@"
url "https://github.com/AdrianBonpin/gridline/releases/download/v#{version}/Gridline_#{version}_#{arch}.dmg"
name "Gridline"
desc "Open-source, cross-platform database GUI client for PostgreSQL"
homepage "https://github.com/AdrianBonpin/gridline"
depends_on macos: ">= :monterey"
app "Gridline.app"
# The "installation step" — strip the quarantine flag so the unsigned
# (ad-hoc signed) app launches without the Gatekeeper prompt.
postflight do
if OS.mac?
system_command "/usr/bin/xattr",
args: ["-dr", "com.apple.quarantine", "#{appdir}/Gridline.app"]
end
end
zap trash: [
"~/Library/Application Support/com.adrianbonpin.gridline",
"~/Library/Caches/com.adrianbonpin.gridline",
"~/Library/Preferences/com.adrianbonpin.gridline.plist",
"~/Library/Saved Application State/com.adrianbonpin.gridline.savedState",
"~/Library/WebKit/com.adrianbonpin.gridline",
]
end