Files
omarchy-pkgs/pkgbuilds/libfprint-git/PKGBUILD
T
6be6e98870 Build libfprint-git for aarch64 with the Apple Touch ID driver
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>
2026-10-05 00:51:34 -04:00

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: