Files
homebrew-ahfail/Formula/ahfail.rb

52 lines
1.6 KiB
Ruby

class Ahfail < Formula
desc "Plays 'ah ah ah, you didn't say the magic word' on failed screen lock attempts"
homepage "https://gitea.weircon.dk/agw/gtk-ahfail"
url "https://gitea.weircon.dk/agw/gtk-ahfail/archive/v0.1.0.tar.gz"
sha256 "d693e27933007023cfcbc1882187084e186435261c78461353457d5e765a9045"
license "AGPL-3.0-only"
depends_on "meson" => :build
depends_on "ninja" => :build
depends_on "rust" => :build
depends_on "gtk+3"
depends_on "gstreamer"
depends_on "gst-plugins-base"
depends_on "gst-plugins-good"
depends_on :macos
def install
# Pass libdir so the PAM module has DEFAULT_PATH baked in correctly for
# both Intel (/usr/local/lib) and Apple Silicon (/opt/homebrew/lib).
system "meson", "setup", "builddir",
"--buildtype=release",
"-Dlibdir=#{lib}"
system "meson", "compile", "-C", "builddir"
(lib/"ahfail").install "builddir/libahfail_pam.so"
(lib/"ahfail").install "builddir/ahfail-display"
end
def caveats
pam_file = if MacOS.version >= :ventura
"/etc/pam.d/screensaverui"
else
"/etc/pam.d/screensaver"
end
<<~EOS
To activate, add this line to #{pam_file} after the existing auth entries
(requires sudo this is a config file entry, not a shell command):
auth optional #{lib}/ahfail/libahfail_pam.so
To uninstall cleanly, remove that line before running `brew uninstall ahfail`:
sudo sed -i '' '/ahfail/d' #{pam_file}
brew uninstall ahfail
EOS
end
test do
assert_predicate lib/"ahfail/libahfail_pam.so", :exist?
assert_predicate lib/"ahfail/ahfail-display", :exist?
end
end