summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: c826bc776f973f4342200a19bb0a8718f6aad109 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Maintainer: AndyHazz <andy.nmc@gmail.com>
pkgname=libfprint-goodix53x5
pkgver=1.94.10
pkgrel=10
pkgdesc="libfprint with Goodix HTK32 (27c6:5335/5385/5395) driver - Dell XPS 13 9305 / XPS 13 7390 / XPS 15 9570"
arch=('x86_64')
url="https://github.com/AndyHazz/goodix53x5-libfprint"
license=('LGPL-2.1-or-later')
depends=('libusb' 'libgusb' 'pixman' 'cairo' 'glib2' 'nss'
         'libjpeg-turbo' 'openssl' 'opencv')
makedepends=('git' 'meson' 'ninja' 'gcc' 'pkgconf' 'gtk-doc'
             'gobject-introspection')
optdepends=('fprintd: fingerprint authentication daemon')
provides=('libfprint' 'libfprint-2' 'libfprint-2.so')
conflicts=('libfprint' 'libfprint-2')
options=(!debug)
install="$pkgname.install"
source=("git+https://gitlab.freedesktop.org/libfprint/libfprint.git#tag=v${pkgver}"
        "git+https://github.com/AndyHazz/goodix53x5-libfprint.git#commit=d37cf8cb002db8030b97badd044ffef4f36ff347")
sha256sums=('SKIP'
            'SKIP')

prepare() {
  cd "$srcdir/libfprint"

  # Copy driver sources into the libfprint tree
  cp -r "$srcdir/goodix53x5-libfprint/drivers/goodix53x5" libfprint/drivers/
  cp -r "$srcdir/goodix53x5-libfprint/sigfm" libfprint/

  # Patch meson build files to register the driver and SIGFM library
  patch -p1 < "$srcdir/goodix53x5-libfprint/meson-integration.patch"
}

build() {
  cd "$srcdir/libfprint"
  # introspection is disabled: with OpenCV 5, g-ir-scanner links libfprint-2
  # against the full OpenCV module set (opencv_viz/opencv_hdf ...), which pull
  # unmet VTK/HDF5 deps and break the introspection link. The driver does not
  # need the typelib, so skip it.
  meson setup builddir --prefix=/usr -Dinstalled-tests=false -Ddoc=false -Dintrospection=false
  ninja -C builddir
}

package() {
  cd "$srcdir/libfprint"
  DESTDIR="$pkgdir" ninja -C builddir install

  # The driver now detaches the cdc_acm kernel driver itself when claiming the
  # USB interface, so the old 91-goodix-fingerprint.rules unbind hack is no
  # longer needed or shipped.
}