nevaforget 8d056eac0f
All checks were successful
Build and publish packages / build-and-publish (push) Successful in 16m7s
fix(pkg): declare gtk4 build deps for GTK rust apps
moongreet/moonlock/moonset link against gtk4 headers at build time.
The CI workflow runs `makepkg -sfd` and only installs makedepends
explicitly — with gtk4 listed only in depends, the build container
had no cairo.pc / gtk4.pc and cairo-sys-rs failed to find the
system library. Add gtk4, gtk4-layer-shell, pkgconf (plus
gtk-session-lock + pam for moonlock) to makedepends.

This previously only worked because repeated `makepkg -s` runs
left the libs installed in the act_runner container filesystem.
Recreating the runner today exposed the latent gap.
2026-04-21 10:03:22 +02:00

57 lines
1.2 KiB
Bash

# ABOUTME: PKGBUILD for Moonlock — secure Wayland lockscreen.
# ABOUTME: Builds from git source with automatic version detection.
# Maintainer: Dominik Kressler
pkgname=moonlock-git
pkgver=0.6.9.r1.g3f4448c
pkgrel=5
pkgdesc="A secure Wayland lockscreen with GTK4, PAM and fingerprint support"
arch=('x86_64')
url="https://gitea.moonarch.de/nevaforget/moonlock"
license=('MIT')
depends=(
'gtk4'
'gtk4-layer-shell'
'gtk-session-lock'
'pam'
'systemd-libs'
)
makedepends=(
'git'
'cargo'
'gtk4'
'gtk4-layer-shell'
'gtk-session-lock'
'pam'
'pkgconf'
)
optdepends=(
'fprintd: fingerprint authentication support'
)
provides=('moonlock')
conflicts=('moonlock')
source=("git+${url}.git")
sha256sums=('SKIP')
pkgver() {
cd "$srcdir/moonlock"
git describe --long --tags | sed 's/^v//;s/-/.r/;s/-/./'
}
build() {
cd "$srcdir/moonlock"
cargo build --release
}
package() {
cd "$srcdir/moonlock"
install -Dm755 target/release/moonlock "$pkgdir/usr/bin/moonlock"
# PAM configuration
install -Dm644 config/moonlock-pam "$pkgdir/etc/pam.d/moonlock"
# Example config
install -Dm644 config/moonlock.toml.example "$pkgdir/etc/moonlock/moonlock.toml.example"
}