Files
omarchy-pkgs/pkgbuilds/owe/PKGBUILD
T

59 lines
2.6 KiB
Bash

# Maintainer: owe contributors
pkgname=owe
pkgver=0.2.10
pkgrel=4
pkgdesc="High-performance wallpaper engine for Omarchy (mp4, gif, stills)"
arch=('x86_64' 'aarch64')
url="https://github.com/omacom/owe"
license=('MIT')
depends=('mpv' 'ffmpeg' 'wayland' 'libglvnd' 'libepoxy' 'systemd-libs' 'socat')
makedepends=('meson' 'ninja' 'gcc' 'pkgconf' 'wayland-protocols')
checkdepends=('python')
optdepends=('intel-media-driver: VAAPI hardware decode on Intel GPUs'
'libva-mesa-driver: VAAPI hardware decode on AMD GPUs')
source=("$pkgname-$pkgver.tar.gz::https://github.com/omacom/owe/archive/refs/tags/v$pkgver.tar.gz"
'lock-policy-timestamp.patch'
'90-owe-restart.hook'
'package-restart')
sha256sums=('b171397c24c0ffd6096781b3f744f674055a57f660a74db07a3b71a111a6980b'
'3ebf413093922b0917bca60c42720c6424c77b1695317364bf73f9fd745376d8'
'aee4a08132f0528575d3b7364defc070b8af1648cc48559238ba089c09504b62'
'ef1fc780425343623c4a4ddd36cc58cd89ba8a71c528641f4b421db834a349cd')
prepare() {
cd "$srcdir/owe-$pkgver"
# Upstream 9876702: make the invalidation test independent of filesystem timestamps.
patch -p1 -i "$srcdir/lock-policy-timestamp.patch"
}
build() {
meson setup build "$srcdir/owe-$pkgver" -Dbuildtype=release -Dprefix=/usr
ninja -C build
}
check() {
# transition's "both outputs show intermediate colors" wants at least three
# blended frames from a 250 ms fade rendered with software GL. aarch64
# builds run under QEMU user-mode emulation, which renders too few frames
# in that window (reproduced 3/3 locally); it passes natively. Run every
# other test there.
local -a tests=()
if [[ $CARCH == aarch64 ]]; then
mapfile -t tests < <(meson test -C build --list | sed 's/^owe://' | grep -vx transition)
(( ${#tests[@]} )) || return 1
fi
meson test -C build --print-errorlogs "${tests[@]}"
}
package() {
DESTDIR="$pkgdir" ninja -C build install
install -Dm644 "$srcdir/90-owe-restart.hook" "$pkgdir/usr/share/libalpm/hooks/90-owe-restart.hook"
install -Dm755 "$srcdir/package-restart" "$pkgdir/usr/lib/owe/package-restart"
install -d "$pkgdir/usr/lib/systemd/user"
sed 's|%h/.local/bin/owed|/usr/bin/owed|' "$srcdir/owe-$pkgver/systemd/owed.service" \
>"$pkgdir/usr/lib/systemd/user/owed.service"
install -Dm755 "$srcdir/owe-$pkgver/hooks/owe-idle" "$pkgdir/usr/bin/owe-idle"
install -Dm644 "$srcdir/owe-$pkgver/hooks/theme-set.d/10-owe-sync" "$pkgdir/usr/share/owe/10-owe-sync"
install -Dm644 "$srcdir/owe-$pkgver/config/config.toml" "$pkgdir/usr/share/doc/$pkgname/config.toml.example"
}