← asger.weirsøe.dk · Projekteropdateret 12. nov 2026 kl. 13:15
Tarballs
Arch Linux-pakker jeg vedligeholder. Byggeopskrifterne ligger offentligt på Gitea og bygges automatisk i Gitea Actions. Prækompilerede binærer ligger her, med samme kontrolsum som i PKGBUILD'en.
ahfail 0.10.2
ahfail-bin 0.10.2-2
Screen locker that says 'ah ah ah, you didn't say the magic word' on a wrong password (prebuilt binary) · licens AGPL-3.0-only
| Fil | Version | Størrelse | Hentet | Bygget |
|---|---|---|---|---|
| ahfail-0.10.2-454f97eea9c0-x86_64.tar.zstaktuel | 0.10.2 | 9,7 MB | 2 | 4. okt 2026 kl. 07:42 |
sha256 454f97eea9c02a4cab7b25e91b5ac050a608c4cf0143f895d7b6b01df2d34314 | ||||
| ahfail-0.10.2-c5726a1a42f8-x86_64.tar.zst | 0.10.2 | 9,7 MB | 1 | 1. okt 2026 kl. 08:57 |
sha256 c5726a1a42f8cd5ae24bf4e4d9131fcd556485006bf81bb48110ccb85e84a6ee | ||||
| ahfail-0.10.1-88d34cf1c07d-x86_64.tar.zst | 0.10.1 | 9,7 MB | 1 | 1. okt 2026 kl. 08:24 |
sha256 88d34cf1c07dcf9b7b536efaaf72c7bd0c2c4e8b7a81a7236fdfd11ff53c46ec | ||||
ahfail-bin.PKGBUILD
# Maintainer: Asger Geel Weirsoe <asger at weircon dot 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.
#
# PROVENANCE OF THE BINARY
#
# Built by the gtk-ahfail release workflow from the tagged source, in an
# archlinux:base-devel container, with --prefix=/usr and without the Gitea
# update check. The same recipe builds the source package `ahfail`.
#
# build recipe: https://gitea.weircon.dk/agw/gtk-ahfail
# download: https://asger.weirsoe.dk/tarballz/ahfail-0.10.2-454f97eea9c0-x86_64.tar.zst
pkgname=ahfail-bin
pkgver=0.10.2
pkgrel=2
pkgdesc="Screen locker that says 'ah ah ah, you didn't say the magic word' on a wrong password (prebuilt binary)"
arch=('x86_64')
url="https://asger.weirsøe.dk/en/projects/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')
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)')
provides=("ahfail=$pkgver")
conflicts=('ahfail')
backup=('etc/pam.d/ahfail')
install=ahfail.install
options=('!strip' '!debug')
source=("https://asger.weirsoe.dk/tarballz/ahfail-0.10.2-454f97eea9c0-x86_64.tar.zst")
sha256sums=('454f97eea9c02a4cab7b25e91b5ac050a608c4cf0143f895d7b6b01df2d34314')
package() {
# The tarball is a staged `meson install` tree: usr/ and etc/ at its root.
cp -a "$srcdir/usr" "$srcdir/etc" "$pkgdir/"
}
Installér fra AUR
yay -S ahfail-binahfail 0.10.2-3
Screen locker that says 'ah ah ah, you didn't say the magic word' on a wrong password · licens AGPL-3.0-only
ahfail.PKGBUILD
# Maintainer: Asger Geel Weirsoe <asger at weircon dot dk>
# build recipe: https://gitea.weircon.dk/agw/gtk-ahfail
#
# 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.10.2
pkgrel=3
pkgdesc="Screen locker that says 'ah ah ah, you didn't say the magic word' on a wrong password"
arch=('x86_64')
url="https://asger.weirsøe.dk/en/projects/ahfail"
_repo="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::$_repo/archive/v$pkgver.tar.gz")
sha256sums=('12e0a50cbb9634f71b48346839ffdee2c1d9c32cf95adea970632d6824dbe3c8')
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"
}
Installér fra AUR
yay -S ahfailjasp-desktop-bin 0.99.0-1
JASP Desktop - a fresh way to do statistics (prebuilt binary) · licens AGPL-3.0-or-later
| Fil | Version | Størrelse | Hentet | Bygget |
|---|---|---|---|---|
| jasp-desktop-0.99.0-e4f1bafa3b31-x86_64.tar.zstaktuel | 0.99.0 | 1,8 GB | 39 | 22. okt 2026 kl. 02:35 |
sha256 e4f1bafa3b31557d064d213a522acbef953fd2f52d064ceee94236c8e8434884 | ||||
| jasp-desktop-0.98.8-4b07f349b04b-x86_64.tar.zst | 0.98.8 | 1,9 GB | 8 | 14. okt 2026 kl. 04:01 |
sha256 4b07f349b04b258798301f83076484dfe24a1ed28a98e5cdf27b870908658f2c | ||||
| jasp-desktop-0.98.1-b36ed75bbd4f-x86_64.tar.zst | 0.98.1 | 1,8 GB | 17 | 4. okt 2026 kl. 02:42 |
sha256 b36ed75bbd4ff5b91156362ac861fcf49df9cb30b0134009f4c8d2e187777dc8 | ||||
jasp-desktop-bin.PKGBUILD
# Maintainer: Asger Geel Weirsoe <asger at weircon dot dk>
#
# PROVENANCE OF THE BINARY
#
# Upstream JASP publishes installers for Windows and macOS only; the official
# Linux channel is Flathub. The binary this package installs is therefore NOT an
# upstream release artifact. It is compiled from the tagged JASP sources
# (v0.99.0, commit 1204d1892b1233af145bb548fe80719f331ea693) against an Arch Linux userland, in an
# archlinux:base-devel container, by an automated pipeline:
#
# build recipe: https://gitea.weircon.dk/agw/jasp-desktop-bin
# download: https://asger.weirsoe.dk/tarballz/jasp-desktop-0.99.0-e4f1bafa3b31-x86_64.tar.zst
#
# It bundles its own R 4.5.3 and the non-system libraries it links against
# under /opt/jasp-desktop, so it does not constrain the versions of anything on
# your system. Built against Qt 6.12.
pkgname=jasp-desktop-bin
pkgver=0.99.0
pkgrel=1
pkgdesc="JASP Desktop - a fresh way to do statistics (prebuilt binary)"
arch=('x86_64')
url="https://jasp-stats.org/"
license=('AGPL-3.0-or-later')
provides=("jasp-desktop=${pkgver}")
conflicts=('jasp-desktop')
# This package ships its own R 4.5.3 plus the non-system libraries it and
# the JASP R modules link against (ICU, jsoncpp, glpk, JAGS, readstat, librdata,
# BLAS/LAPACK ...) under /opt/jasp-desktop/lib, with rpath pointing there.
#
# That is deliberate, and it is why nothing below is version-pinned: on a rolling
# distro a pin like 'icu<79' would make pacman refuse to upgrade ICU while JASP
# is installed, blocking the user's entire system upgrade. Bundling means JASP
# never constrains the system.
#
# Qt6 is the exception and stays a system dependency: Qt guarantees binary
# compatibility across Qt 6 minor releases, and bundling QtWebEngine would add
# ~500 MB for no real gain. A Qt 7 transition will need a rebuild.
depends=(
'qt6-base' 'qt6-declarative' 'qt6-svg' 'qt6-positioning' 'qt6-webchannel'
'qt6-webengine' 'qt6-5compat' 'qt6-httpserver' 'qt6-networkauth'
'fontconfig' 'freetype2' 'libxkbcommon' 'hicolor-icon-theme'
)
# The tarball is a complete, already-verified /opt + /usr install tree, so every
# one of makepkg's tidying steps is unwanted here: they would modify content
# that was tested in exactly this form. Stripping in particular would be slow
# and is a good way to break a bundled R plus several hundred compiled R
# modules, and the rpath set at build time must survive untouched.
options=('!strip' '!debug' '!libtool' '!staticlibs' '!zipman' '!purge' '!emptydirs')
# The remote name is content-addressed, so it is kept as the local name too: a
# stale download left in the build directory can never be mistaken for the
# current tarball and fail the checksum.
source=("https://asger.weirsoe.dk/tarballz/jasp-desktop-0.99.0-e4f1bafa3b31-x86_64.tar.zst")
sha256sums=('e4f1bafa3b31557d064d213a522acbef953fd2f52d064ceee94236c8e8434884')
package() {
cp -a "${srcdir}/opt" "${pkgdir}/opt"
cp -a "${srcdir}/usr" "${pkgdir}/usr"
# The application lives under /opt; give it a name on PATH.
install -d "${pkgdir}/usr/bin"
ln -s /opt/jasp-desktop/bin/JASP "${pkgdir}/usr/bin/jasp"
}
Installér fra AUR
yay -S jasp-desktop-binpi3-smart-workspace 0.3.0-3
Switch i3 workspaces based on which output your mouse cursor is on · licens Apache-2.0
pi3-smart-workspace.PKGBUILD
# Maintainer: Asger Geel Weirsoe <asger at weircon dot dk>
# build recipe: https://gitea.weircon.dk/agw/pi3-smart-workspace
pkgname=pi3-smart-workspace
pkgver=0.3.0
pkgrel=3
pkgdesc="Switch i3 workspaces based on which output your mouse cursor is on"
arch=('any')
url="https://asger.weirsøe.dk/en/projects/pi3-smart-workspace"
_repo="https://gitea.weircon.dk/agw/pi3-smart-workspace"
license=('Apache-2.0')
depends=('python' 'i3-wm' 'python-i3ipc' 'python-pynput')
makedepends=('python-build' 'python-installer' 'python-hatchling' 'python-wheel')
source=("$pkgname-$pkgver.tar.gz::$_repo/archive/v$pkgver.tar.gz")
sha256sums=('4b9494044c674b1dd0b7bab5c6adc5fad23a3e0e6da9225d50cfab3d38f3cf4c')
build() {
cd "$srcdir/$pkgname"
python -m build --wheel --no-isolation
}
package() {
cd "$srcdir/$pkgname"
python -m installer --destdir="$pkgdir" dist/*.whl
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
Installér fra AUR
yay -S pi3-smart-workspace| Pakke | Version | Pakker | Download | |
|---|---|---|---|---|
| ahfailScreen locker that says 'ah ah ah, you didn't say the magic word' on a wrong password | 0.10.2 | binkilde | tar.zst 9,7 MB · 7× hentet | |
| jasp-desktop-binJASP Desktop - a fresh way to do statistics (prebuilt binary) | 0.99.0 | bin | tar.zst 1,8 GB · 66× hentet | |
| pi3-smart-workspaceSwitch i3 workspaces based on which output your mouse cursor is on | 0.3.0 | kilde | · |