A config generated on one machine pinned
/usr/share/fonts/google-noto/NotoSans-Regular.ttf; on another host the
same package installs under fonts/noto, so the shared config made the
fontloader thread panic ("Font file not found") and, with panic =
"abort", kill wldash before a window appeared.
resolve_font_path() now uses a pinned path only if the file exists,
otherwise asks fontconfig for the name (what fc-match does) and says so
on stderr. find_font() and FontLoader::from_path() return errors
instead of unwrapping, and an unresolvable font exits with one clear
line. Generated configs leave font_paths unset so names resolve per
machine; pinning remains possible by hand.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
41 lines
1.5 KiB
Bash
41 lines
1.5 KiB
Bash
# Maintainer: Bendik Aagaard Lynghaug <bendik.lynghaug@gmail.com>
|
|
# Built from the tagged checkout by .gitea/workflows/release.yml, once
|
|
# per architecture, and uploaded to the [uhhm] registry on
|
|
# project.uhhm.no (namespace bl). pkgver is the version; the tag has
|
|
# to agree with it and with Cargo.toml.
|
|
pkgname=wldash
|
|
pkgver=0.4.2
|
|
pkgrel=1
|
|
pkgdesc="Dashboard/launcher/control-panel for wlroots-style Wayland compositors (layer-shell)"
|
|
arch=('x86_64' 'aarch64')
|
|
url="https://project.uhhm.no/bl/wldash"
|
|
license=('GPL-3.0-only')
|
|
depends=('glibc' 'gcc-libs' 'dbus' 'libpulse' 'libxkbcommon' 'fontconfig' 'wayland')
|
|
makedepends=('cargo')
|
|
optdepends=('upower: battery widget'
|
|
'pipewire-pulse: volume widget (or pulseaudio)')
|
|
# !lto: Cargo.toml already does lto = "fat"; makepkg's -flto in RUSTFLAGS
|
|
# would only fight it. !debug: panic = "abort" release, nothing to strip.
|
|
options=('!debug' '!lto')
|
|
|
|
# Sources are the checkout itself: makepkg resolves local sources by
|
|
# basename next to the PKGBUILD, so the tagged tree CI builds from is
|
|
# the source of truth, as in uhhm/gdo.
|
|
|
|
build() {
|
|
cd "$startdir"
|
|
cargo build --release --locked
|
|
}
|
|
|
|
check() {
|
|
cd "$startdir"
|
|
cargo test --release --locked
|
|
}
|
|
|
|
package() {
|
|
cd "$startdir"
|
|
install -Dm755 "${CARGO_TARGET_DIR:-target}/release/wldash" "$pkgdir/usr/bin/wldash"
|
|
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
|
|
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
|
}
|