The PKGBUILD states what the package is: a real screen locker provided as is, and parody media from Jurassic Park that the AGPL does not cover. The ahfail command has only been tested on Linux, so macOS builds keep the PAM hook and skip it; the README no longer promises it there. Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
63 lines
2.6 KiB
Bash
63 lines
2.6 KiB
Bash
# Maintainer: Asger Geel Weirsoe <asger@weircon.dk>
|
|
#
|
|
# DISCLAIMER
|
|
#
|
|
# ahfail is a joke with a real screen locker underneath. Two things to know
|
|
# before installing it:
|
|
#
|
|
# 1. Security. It sits in the authentication path of your session. It is
|
|
# provided as is, without any warranty (see the AGPL-3.0 license). On
|
|
# Wayland a crash leaves the session locked; on X11, as with i3lock, a
|
|
# killed locker leaves it open. /etc/pam.d/ahfail includes `login`, so
|
|
# the system's pam_faillock policy applies to wrong guesses.
|
|
#
|
|
# 2. Media. The sprite frames and the audio clip are a parody of the
|
|
# "ah ah ah, you didn't say the magic word" scene from Jurassic Park
|
|
# (1993). The film and its characters belong to their respective rights
|
|
# holders; they are used here non-commercially for parody, and the
|
|
# AGPL-3.0 license covers the code, not those assets. Rights holders who
|
|
# object can reach the maintainer at the address above and the assets
|
|
# will be replaced.
|
|
pkgname=ahfail
|
|
pkgver=0.0.0
|
|
pkgrel=1
|
|
pkgdesc="Screen locker that says 'ah ah ah, you didn't say the magic word' on a wrong password"
|
|
arch=('x86_64')
|
|
url="https://gitea.weircon.dk/agw/gtk-ahfail"
|
|
license=('AGPL-3.0-only')
|
|
# gst-plugins-bad-libs: libgstplayer. gst-plugins-base/-good are runtime plugins
|
|
# (audio conversion, the mpg123 mp3 decoder) that namcap cannot see being used.
|
|
depends=('gtk3' 'gtk-session-lock' 'gstreamer' 'gst-plugins-bad-libs' 'gst-plugins-base'
|
|
'gst-plugins-good' 'pam' 'glib2' 'gdk-pixbuf2' 'cairo' 'pango' 'at-spi2-core' 'gst-plugins-base-libs' 'glibc' 'libgcc' 'libx11')
|
|
makedepends=('meson' 'ninja' 'cargo')
|
|
optdepends=('pipewire-pulse: raise the volume to 100% on a failed attempt (or libpulse)'
|
|
'libpulse: raise the volume to 100% on a failed attempt'
|
|
'swayidle: lock automatically on Wayland'
|
|
'xss-lock: lock automatically on X11'
|
|
'gtklock: legacy gtklock module (/usr/lib/gtklock/ahfail-module.so)')
|
|
backup=('etc/pam.d/ahfail')
|
|
install=ahfail.install
|
|
options=('!lto')
|
|
source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
|
|
sha256sums=('SKIP')
|
|
|
|
prepare() {
|
|
cd "$srcdir/gtk-ahfail"
|
|
export RUSTUP_TOOLCHAIN=stable
|
|
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
|
|
}
|
|
|
|
build() {
|
|
cd "$srcdir/gtk-ahfail"
|
|
export RUSTUP_TOOLCHAIN=stable
|
|
export CARGO_NET_OFFLINE=true
|
|
arch-meson . build -Dupdate_check=false
|
|
meson compile -C build
|
|
}
|
|
|
|
package() {
|
|
cd "$srcdir/gtk-ahfail"
|
|
meson install -C build --destdir "$pkgdir"
|
|
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
|
}
|