Omarchy's fingerprint setup installs libfprint-git, which built for x86_64 only, so an Apple Silicon Mac had no Omarchy libfprint at all. It now builds for aarch64 too, and there it carries Chris Kearney's aurora driver for Touch ID, which the aurora kernel's Secure Enclave driver exposes as /dev/sep-bio. The x86_64 build applies nothing new. The patch is his libfprint-1.94.100-apple-sep.patch from iconidentify/aurora-linux sep-7.1.12.aurora2-11.35, less its tests/meson.build hunk: libfprint 3f1e2817, already in this pin, made the same fix. The libfprint provide is now versioned, so aurora-touchid's libfprint>=1.94.100-1.1 still resolves when this replaces his build. Built on an M2 Max: 131 libfprint tests pass, none fail. Co-authored-by: Chris Kearney <303316+iconidentify@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
100 lines
2.5 KiB
Bash
100 lines
2.5 KiB
Bash
# Maintainer: Mikko Nyman <mikko@nyman.xyz>
|
|
# Based on the Arch libfprint package by Jan Alexander Steffens (heftig).
|
|
#
|
|
# Omarchy's fingerprint setup installs this in place of stock libfprint, so
|
|
# readers upstream supports ahead of an Arch release reach users by bumping
|
|
# the pin here. Pinned to the commit adding the Synaptics reader USB
|
|
# 06cb:010b, missing from stock libfprint 1.94.100; the FocalTech MOC support
|
|
# carried by the previous pin is retained.
|
|
#
|
|
# On aarch64 it also carries the aurora driver for Apple Touch ID, which the
|
|
# aurora kernel's Secure Enclave driver exposes as /dev/sep-bio
|
|
# (aurora-apple-sep.patch, by Chris Kearney). The x86_64 build is unchanged.
|
|
|
|
pkgname=libfprint-git
|
|
pkgver=1.94.100.r10.g6f9479c
|
|
pkgrel=2
|
|
# Retain the epoch used to supersede the previously published untested build.
|
|
epoch=1
|
|
pkgdesc="Library for fingerprint readers (pinned upstream snapshot with FocalTech and Synaptics 06cb:010b support, and Apple Touch ID on aarch64)"
|
|
url="https://fprint.freedesktop.org/"
|
|
arch=(x86_64 aarch64)
|
|
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
|
|
)
|
|
# Versioned, so a package that requires a libfprint version still installs.
|
|
provides=("libfprint=$pkgver" libfprint-2.so)
|
|
conflicts=(libfprint)
|
|
groups=(fprint)
|
|
source=(
|
|
"git+https://gitlab.freedesktop.org/libfprint/libfprint.git#commit=6f9479c3d55f847c1b3769f28ceb99227f9858cf"
|
|
"focaltech_moc-add-pid-0xA97A.patch"
|
|
)
|
|
source_aarch64=("aurora-apple-sep.patch")
|
|
b2sums=(
|
|
'SKIP'
|
|
'SKIP'
|
|
)
|
|
b2sums_aarch64=('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
|
|
|
|
if [[ $CARCH == "aarch64" && ! -f libfprint/drivers/aurora/aurora.c ]]; then
|
|
patch -p1 < "$srcdir/aurora-apple-sep.patch"
|
|
fi
|
|
}
|
|
|
|
build() {
|
|
local meson_options=(
|
|
-D drivers=all
|
|
-D installed-tests=false
|
|
)
|
|
arch-meson libfprint build "${meson_options[@]}"
|
|
meson compile -C build
|
|
}
|
|
|
|
check() {
|
|
meson test -C build --print-errorlogs
|
|
}
|
|
|
|
package() {
|
|
meson install -C build --destdir "$pkgdir"
|
|
}
|
|
|
|
# vim:set sw=2 sts=-1 et:
|