diff --git a/pkgs/development/libraries/libfprint-2-tod1-vfs0090/0001-vfs0090-add-missing-explicit-dependencies-in-meson.b.patch b/pkgs/development/libraries/libfprint-2-tod1-vfs0090/0001-vfs0090-add-missing-explicit-dependencies-in-meson.b.patch new file mode 100644 index 00000000000..ac06e83ab93 --- /dev/null +++ b/pkgs/development/libraries/libfprint-2-tod1-vfs0090/0001-vfs0090-add-missing-explicit-dependencies-in-meson.b.patch @@ -0,0 +1,28 @@ +From c02f2e040dd1e7664777c5a705272e4eb7bfb569 Mon Sep 17 00:00:00 2001 +From: Vincent Breitmoser +Date: Thu, 10 Jun 2021 14:09:19 +0200 +Subject: [PATCH] vfs0090: add missing explicit dependencies in meson.build + +Make all dependencies explicit, so they can be found when building with Nix. + +--- + meson.build | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/meson.build b/meson.build +index 54a7ca4..88f8793 100644 +--- a/meson.build ++++ b/meson.build +@@ -17,6 +17,9 @@ udev_dep = dependency('udev') + vfs009x_deps += libfprint_tod_dep + vfs009x_deps += dependency('nss') + vfs009x_deps += dependency('openssl') ++vfs009x_deps += dependency('gusb') ++vfs009x_deps += dependency('libfprint-2') ++vfs009x_deps += dependency('glib-2.0') + + vfs0090_deps += dependency('pixman-1') + +-- +2.31.1 + diff --git a/pkgs/development/libraries/libfprint-2-tod1-vfs0090/0002-vfs0090-add-missing-linux-limits.h-include.patch b/pkgs/development/libraries/libfprint-2-tod1-vfs0090/0002-vfs0090-add-missing-linux-limits.h-include.patch new file mode 100644 index 00000000000..6111cf0ad29 --- /dev/null +++ b/pkgs/development/libraries/libfprint-2-tod1-vfs0090/0002-vfs0090-add-missing-linux-limits.h-include.patch @@ -0,0 +1,26 @@ +From 5405e02c629e689449e852424aed8cca217ed309 Mon Sep 17 00:00:00 2001 +From: Vincent Breitmoser +Date: Thu, 10 Jun 2021 14:10:52 +0200 +Subject: [PATCH] vfs0090: add missing include + +This header is needed for the NAME_MAX constant used in this file. + +--- + vfs0090.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/vfs0090.c b/vfs0090.c +index 8034faf..6070df7 100644 +--- a/vfs0090.c ++++ b/vfs0090.c +@@ -24,6 +24,7 @@ + + #include + #include ++#include + #include + #include + #include +-- +2.31.1 + diff --git a/pkgs/development/libraries/libfprint-2-tod1-vfs0090/default.nix b/pkgs/development/libraries/libfprint-2-tod1-vfs0090/default.nix new file mode 100644 index 00000000000..840f8e22715 --- /dev/null +++ b/pkgs/development/libraries/libfprint-2-tod1-vfs0090/default.nix @@ -0,0 +1,42 @@ +{ stdenv, lib, fetchFromGitLab, pkg-config, libfprint, libfprint-tod, gusb, udev, nss, openssl, meson, pixman, ninja, glib }: +stdenv.mkDerivation { + pname = "libfprint-2-tod1-vfs0090"; + version = "0.8.5"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "3v1n0"; + repo = "libfprint-tod-vfs0090"; + rev = "6084a1545589beec0c741200b18b0902cca225ba"; + sha256 = "sha256-tSML/8USd/LuHF/YGLvNgykixF6VYtfE4SXzeV47840="; + }; + + patches = [ + # TODO remove once https://gitlab.freedesktop.org/3v1n0/libfprint-tod-vfs0090/-/merge_requests/1 is merged + ./0001-vfs0090-add-missing-explicit-dependencies-in-meson.b.patch + # TODO remove once https://gitlab.freedesktop.org/3v1n0/libfprint-tod-vfs0090/-/merge_requests/2 is merged + ./0002-vfs0090-add-missing-linux-limits.h-include.patch + ]; + + nativeBuildInputs = [ pkg-config meson ninja ]; + buildInputs = [ libfprint libfprint-tod glib gusb udev nss openssl pixman ]; + + installPhase = '' + runHook preInstall + + install -D -t "$out/lib/libfprint-2/tod-1/" libfprint-tod-vfs009x.so + install -D -t "$out/lib/udev/rules.d/" $src/60-libfprint-2-tod-vfs0090.rules + + runHook postInstall + ''; + + passthru.driverPath = "/lib/libfprint-2/tod-1"; + + meta = with lib; { + description = "A libfprint-2-tod Touch OEM Driver for 2016 ThinkPad's fingerprint readers"; + homepage = "https://gitlab.freedesktop.org/3v1n0/libfprint-tod-vfs0090"; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ valodim ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 89e316fbcd0..e86fa51ae96 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16111,6 +16111,8 @@ in libfprint-2-tod1-goodix = callPackage ../development/libraries/libfprint-2-tod1-goodix { }; + libfprint-2-tod1-vfs0090 = callPackage ../development/libraries/libfprint-2-tod1-vfs0090 { }; + libfpx = callPackage ../development/libraries/libfpx { }; libgadu = callPackage ../development/libraries/libgadu { };