breadlock/packaging/arch/PKGBUILD
Breadway 4f513c9926 Document the hybrid GPU renderer and fix packaging
README claimed fully software / no EGL; the locker is GLES2 wallpaper
plus software chrome, with opt-in Ken Burns. Building needs git and
pkg-config. PKGBUILD pkgver matches 0.2.0, backs up /etc/pam.d/breadlock,
and notes both dev bins. Release CI runs check() instead of --nocheck.
2026-08-23 14:21:39 +08:00

44 lines
1.6 KiB
Bash

# Maintainer: Breadway <plasticbread849@gmail.com>
pkgname=breadlock
pkgver=0.2.0
pkgrel=1
pkgdesc="Session locker and greetd greeter for Hyprland / Wayland"
arch=('x86_64')
url="https://git.breadway.dev/Breadway/breadlock"
license=('MIT')
# Some Rust deps build vendored C/asm into static archives; makepkg's default
# -flto=auto emits GCC LTO bitcode the Rust (lld) link cannot read, causing
# undefined-symbol errors. Disable LTO. (Same issue as breadbar/breadbox.)
options=(!lto !debug)
depends=('pam' 'wayland' 'libxkbcommon' 'gtk4')
optdepends=(
'cage: minimal Wayland compositor to host breadgreet under greetd'
'hyprland: the session breadlock protects and breadgreet launches'
'upower: battery line on the lock screen'
)
makedepends=('rust' 'cargo')
backup=('etc/pam.d/breadlock')
source=("${pkgname}-${pkgver}.tar.gz")
sha256sums=('SKIP')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
# --bin (not -p breadlock) deliberately excludes the breadlock-auth-check
# and breadlock-preview dev harnesses, which share the breadlock package
# but aren't installed.
cargo build --release --locked --bin breadlock --bin breadgreet
}
check() {
cd "${srcdir}/${pkgname}-${pkgver}"
cargo test --release --locked --workspace
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
install -Dm755 target/release/breadlock "${pkgdir}/usr/bin/breadlock"
install -Dm755 target/release/breadgreet "${pkgdir}/usr/bin/breadgreet"
install -Dm644 packaging/pam.d/breadlock "${pkgdir}/etc/pam.d/breadlock"
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}