94 lines
2.2 KiB
Bash
94 lines
2.2 KiB
Bash
# Maintainer: Mikko Nyman <mikko@nyman.xyz>
|
|
# Based on the Arch libfprint package by Jan Alexander Steffens (heftig).
|
|
#
|
|
# Tracks libfprint master to expose the focaltech_moc driver updates for
|
|
# ASUS laptops with FocalTech MOC (Match-on-Chip) fingerprint sensors.
|
|
# Mainline libfprint releases (1.94.x) do not yet ship the latest device
|
|
# IDs, including USB ID 2808:a97a (FocalTech FT9349 ESS, ASUS ExpertBook
|
|
# Ultra B9406CAA). The patch for 2808:a97a has landed upstream; keep the
|
|
# fallback patch only for older refs where the ID is still missing.
|
|
#
|
|
# Once Arch's libfprint catches up, this package can be removed from the
|
|
# OPR repo and Omarchy can install stock libfprint.
|
|
|
|
pkgname=libfprint-git
|
|
pkgver=1.94.10.r12.gd79f157
|
|
pkgrel=1.1
|
|
pkgdesc="Library for fingerprint readers (libfprint master with FocalTech MOC updates)"
|
|
url="https://fprint.freedesktop.org/"
|
|
arch=(x86_64)
|
|
license=(LGPL-2.1-or-later)
|
|
depends=(
|
|
gcc-libs
|
|
glib2
|
|
glibc
|
|
libgudev
|
|
libgusb
|
|
openssl
|
|
pixman
|
|
)
|
|
makedepends=(
|
|
git
|
|
glib2-devel
|
|
gobject-introspection
|
|
gtk-doc
|
|
meson
|
|
python-cairo
|
|
python-gobject
|
|
systemd
|
|
)
|
|
checkdepends=(
|
|
cairo
|
|
umockdev
|
|
)
|
|
provides=(libfprint libfprint-2.so)
|
|
conflicts=(libfprint)
|
|
groups=(fprint)
|
|
source=(
|
|
"git+https://gitlab.freedesktop.org/libfprint/libfprint.git"
|
|
"focaltech_moc-add-pid-0xA97A.patch"
|
|
)
|
|
b2sums=(
|
|
'SKIP'
|
|
'SKIP'
|
|
)
|
|
|
|
pkgver() {
|
|
cd libfprint
|
|
( set -o pipefail
|
|
git describe --long --tags --abbrev=7 2>/dev/null \
|
|
| sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' \
|
|
|| printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
|
|
)
|
|
}
|
|
|
|
prepare() {
|
|
cd libfprint
|
|
|
|
if ! grep -qi 'pid = 0xa97a' libfprint/drivers/focaltech_moc/focaltech_moc.c; then
|
|
patch -p1 < "$srcdir/focaltech_moc-add-pid-0xA97A.patch"
|
|
fi
|
|
}
|
|
|
|
build() {
|
|
local meson_options=(
|
|
-D drivers=all
|
|
-D installed-tests=false
|
|
)
|
|
arch-meson libfprint build "${meson_options[@]}"
|
|
meson compile -C build
|
|
# Regenerate autosuspend.hwdb from the patched id_table[] so the
|
|
# udev-hwdb test in check() doesn't fail on the new PID 0xA97A.
|
|
ninja -C build sync-udev-hwdb
|
|
}
|
|
|
|
check() {
|
|
meson test -C build --print-errorlogs
|
|
}
|
|
|
|
package() {
|
|
meson install -C build --destdir "$pkgdir"
|
|
}
|
|
|
|
# vim:set sw=2 sts=-1 et:
|