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

56 lines
1.3 KiB
Bash

# ABOUTME: PKGBUILD for Moongreet — greetd greeter for Wayland.
# ABOUTME: Builds from git source with automatic version detection.
# Maintainer: Dominik Kressler
pkgname=moongreet-git
pkgver=0.8.3.r0.g48d363b
pkgrel=1
pkgdesc="A greetd greeter for Wayland with GTK4 and Layer Shell"
arch=('x86_64')
url="https://gitea.moonarch.de/nevaforget/greetd-moongreet"
license=('MIT')
depends=(
'gtk4'
'gtk4-layer-shell'
'greetd'
)
makedepends=(
'git'
'cargo'
'gtk4'
'gtk4-layer-shell'
'pkgconf'
)
provides=('moongreet')
conflicts=('moongreet')
install=moongreet.install
source=("git+${url}.git")
sha256sums=('SKIP')
pkgver() {
cd "$srcdir/greetd-moongreet"
git describe --long --tags | sed 's/^v//;s/-/.r/;s/-/./'
}
build() {
cd "$srcdir/greetd-moongreet"
cargo build --release
}
package() {
cd "$srcdir/greetd-moongreet"
install -Dm755 target/release/moongreet "$pkgdir/usr/bin/moongreet"
# Greeter config
install -Dm644 config/moongreet.toml "$pkgdir/etc/moongreet/moongreet.toml"
# Polkit rule — allow the greeter user to reboot/power off
install -Dm644 config/polkit/50-moongreet-power.rules \
"$pkgdir/usr/share/polkit-1/rules.d/50-moongreet-power.rules"
# Cache directories
install -dm700 "$pkgdir/var/cache/moongreet"
install -dm700 "$pkgdir/var/cache/moongreet/last-session"
}