← asger.weirsøe.dk · Projekteropdateret 7. okt 2026 kl. 02:00

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 MB14. okt 2026 kl. 07:42
sha256 454f97eea9c02a4cab7b25e91b5ac050a608c4cf0143f895d7b6b01df2d34314
ahfail-0.10.2-c5726a1a42f8-x86_64.tar.zst0.10.29,7 MB01. 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-2

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=2
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=('7a437e3c813c0302ef9864d0ad6acbb7746aad4178e66f5a772c08d7808f07d2')

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.98.1-1

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

FilVersionStørrelseHentetBygget
jasp-desktop-0.98.1-b36ed75bbd4f-x86_64.tar.zstaktuel0.98.11,8 GB44. okt 2026 kl. 02:42
sha256 b36ed75bbd4ff5b91156362ac861fcf49df9cb30b0134009f4c8d2e187777dc8
jasp-desktop-0.98.1-64d3687ea2b0-x86_64.tar.zst0.98.11,7 GB03. okt 2026 kl. 23:41
sha256 64d3687ea2b0eca2df89f357185f81420f719bcbcee6ee942e25666c14d4573f
jasp-desktop-0.98.1-d09c455a6473-x86_64.tar.zst0.98.11,7 GB03. okt 2026 kl. 20:43
sha256 d09c455a6473e86cd1ef6bbb68103a39519218e4e4b565c34036574a461dbeeb
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.98.1, commit 077322e8269c1ace3bd14b6dfe7059f606fc0bc6) 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.98.1-b36ed75bbd4f-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.11.

pkgname=jasp-desktop-bin
pkgver=0.98.1
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'
  '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.98.1-b36ed75bbd4f-x86_64.tar.zst")
sha256sums=('b36ed75bbd4ff5b91156362ac861fcf49df9cb30b0134009f4c8d2e187777dc8')

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-2

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=2
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=('03e419bd280f27e408478304ee44ca8519efa47fb5101d6e796d632f455552b3')

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

ubl-tools 0.3.0

ubl-tools-bin 0.3.0-2

Read UBL e-invoices (Peppol BIS 3.0, OIOUBL) offline, in the terminal or as a printable page (prebuilt binary) · licens MIT OR Apache-2.0

FilVersionStørrelseHentetBygget
ubl-tools-0.3.0-d608f44fa566-x86_64.tar.zstaktuel0.3.0352,3 KB14. okt 2026 kl. 07:33
sha256 d608f44fa5667cb5243426c217ac74d50473621aaac92f24ee8d88b8529b3b1b
ubl-tools-0.3.0-cccfaa4c7831-x86_64.tar.zst0.3.0356,7 KB01. okt 2026 kl. 10:31
sha256 cccfaa4c7831be74e24f420212730604a48130dbd0c9fb0d119ec2e7db71a7ac
ubl-tools-0.2.0-8b5ec2a43cf5-x86_64.tar.zst0.2.0355,6 KB21. okt 2026 kl. 07:40
sha256 8b5ec2a43cf5921a5c0da8d317cc551ed5fd500b1fc80ac2925a6b26fd04a969
ubl-tools-bin.PKGBUILD
# Maintainer: Asger Geel Weirsoe <asger at weircon dot dk>
#
# ubl-tools-bin: the same release as ubl-tools, prebuilt.
#
# PROVENANCE OF THE BINARY
#
# Built by the ubl-tools release workflow from the tagged source, in an
# archlinux:base-devel container, with `cargo build --release --locked`.
#
#   build recipe:  https://gitea.weircon.dk/agw/ubl-tools
#   download:      https://asger.weirsoe.dk/tarballz/ubl-tools-0.3.0-d608f44fa566-x86_64.tar.zst

pkgname=ubl-tools-bin
pkgver=0.3.0
pkgrel=2
pkgdesc="Read UBL e-invoices (Peppol BIS 3.0, OIOUBL) offline, in the terminal or as a printable page (prebuilt binary)"
arch=('x86_64')
url="https://asger.weirsøe.dk/en/projects/ubl-tools"
license=('MIT OR Apache-2.0')
depends=('glibc' 'gcc-libs')
provides=("ubl-tools=$pkgver")
conflicts=('ubl-tools')
options=('!strip' '!debug')
source=("https://asger.weirsoe.dk/tarballz/ubl-tools-0.3.0-d608f44fa566-x86_64.tar.zst")
sha256sums=('d608f44fa5667cb5243426c217ac74d50473621aaac92f24ee8d88b8529b3b1b')

package() {
    # The tarball is a staged tree: usr/ at its root.
    cp -a "$srcdir/usr" "$pkgdir/"
}
Installér fra AURyay -S ubl-tools-bin

ubl-tools 0.3.0-2

Read UBL e-invoices (Peppol BIS 3.0, OIOUBL) offline, in the terminal or as a printable page · licens MIT OR Apache-2.0

ubl-tools.PKGBUILD
# Maintainer: Asger Geel Weirsoe <asger at weircon dot dk>
#
# ubl-tools: read UBL e-invoices (Peppol BIS 3.0, OIOUBL 2.1, EN 16931) offline,
# in the terminal or as a printable HTML page. Nothing is uploaded anywhere.
#
#   build recipe:  https://gitea.weircon.dk/agw/ubl-tools

pkgname=ubl-tools
pkgver=0.3.0
pkgrel=2
pkgdesc="Read UBL e-invoices (Peppol BIS 3.0, OIOUBL) offline, in the terminal or as a printable page"
arch=('x86_64')
url="https://asger.weirsøe.dk/en/projects/ubl-tools"
_repo="https://gitea.weircon.dk/agw/ubl-tools"
license=('MIT OR Apache-2.0')
depends=('glibc' 'gcc-libs')
makedepends=('cargo')
source=("$pkgname-$pkgver.tar.gz::$_repo/archive/v$pkgver.tar.gz")
sha256sums=('0ed5baba3e5e30fb934412d4da49e03a77d464127c67d3639990ac96568592f1')

prepare() {
    cd "$srcdir/$pkgname"
    export RUSTUP_TOOLCHAIN=stable
    cargo fetch --locked --target "$(rustc --print host-tuple)"
}

build() {
    cd "$srcdir/$pkgname"
    export RUSTUP_TOOLCHAIN=stable
    export CARGO_TARGET_DIR=target
    cargo build --frozen --release
}

check() {
    cd "$srcdir/$pkgname"
    export RUSTUP_TOOLCHAIN=stable
    cargo test --frozen
}

package() {
    cd "$srcdir/$pkgname"
    install -Dm755 target/release/ubl "$pkgdir/usr/bin/ubl"
    install -Dm644 LICENSE-MIT "$pkgdir/usr/share/licenses/$pkgname/LICENSE-MIT"
    install -Dm644 LICENSE-APACHE "$pkgdir/usr/share/licenses/$pkgname/LICENSE-APACHE"
    install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
}
Installér fra AURyay -S ubl-tools

ubl-tools 0.3.0 · Windows x64

FilVersionStørrelseHentetBygget
ubl-tools-0.3.0-1c0bc4789799-windows-x86_64.zipaktuel0.3.0346,3 KB01. okt 2026 kl. 10:33
sha256 1c0bc4789799c1d55d9dccf82fa90f909c1b313f4e1570280dcbfda8571497db
ubl-tools-0.2.0-b2876a51da58-windows-x86_64.zip0.2.0345,3 KB01. okt 2026 kl. 07:41
sha256 b2876a51da580dacb42713e4db1727a11fb43bd32ec50a966a879170f43611e9
Installér med Scoopscoop install https://asger.weirsoe.dk/tarballz/ubl-tools.json
Eller hent zip-filen, pak den ud og kør programmet. Det er ikke kodesigneret, så Windows kan spørge første gang.
PakkeVersionPakkerDownload
0.10.2binkildetar.zst 9,7 MB · 5× hentet
0.98.1bintar.zst 1,8 GB · 6× hentet
0.3.0kilde·
0.3.0binkildewindowstar.zst 352,3 KB · 6× hentet