← 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

FilVersionStørrelseHentetBygget
ahfail-0.10.2-454f97eea9c0-x86_64.tar.zstaktuel0.10.29,7 MB24. okt 2026 kl. 07:42
sha256 454f97eea9c02a4cab7b25e91b5ac050a608c4cf0143f895d7b6b01df2d34314
ahfail-0.10.2-c5726a1a42f8-x86_64.tar.zst0.10.29,7 MB11. okt 2026 kl. 08:57
sha256 c5726a1a42f8cd5ae24bf4e4d9131fcd556485006bf81bb48110ccb85e84a6ee
ahfail-0.10.1-88d34cf1c07d-x86_64.tar.zst0.10.19,7 MB11. 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 AURyay -S ahfail-bin

ahfail 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 AURyay -S ahfail

jasp-desktop-bin 0.99.0-1

JASP Desktop - a fresh way to do statistics (prebuilt binary) · licens AGPL-3.0-or-later

FilVersionStørrelseHentetBygget
jasp-desktop-0.99.0-e4f1bafa3b31-x86_64.tar.zstaktuel0.99.01,8 GB3922. okt 2026 kl. 02:35
sha256 e4f1bafa3b31557d064d213a522acbef953fd2f52d064ceee94236c8e8434884
jasp-desktop-0.98.8-4b07f349b04b-x86_64.tar.zst0.98.81,9 GB814. okt 2026 kl. 04:01
sha256 4b07f349b04b258798301f83076484dfe24a1ed28a98e5cdf27b870908658f2c
jasp-desktop-0.98.1-b36ed75bbd4f-x86_64.tar.zst0.98.11,8 GB174. 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 AURyay -S jasp-desktop-bin

pi3-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 AURyay -S pi3-smart-workspace
PakkeVersionPakkerDownload
0.10.2binkildetar.zst 9,7 MB · 7× hentet
0.99.0bintar.zst 1,8 GB · 66× hentet
0.3.0kilde·