summaryrefslogtreecommitdiff
path: root/pkgs/libfprint-2-tod1-vfs0090/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/libfprint-2-tod1-vfs0090/default.nix')
-rw-r--r--pkgs/libfprint-2-tod1-vfs0090/default.nix72
1 files changed, 72 insertions, 0 deletions
diff --git a/pkgs/libfprint-2-tod1-vfs0090/default.nix b/pkgs/libfprint-2-tod1-vfs0090/default.nix
new file mode 100644
index 0000000..7770833
--- /dev/null
+++ b/pkgs/libfprint-2-tod1-vfs0090/default.nix
@@ -0,0 +1,72 @@
+{
+ 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
+ ./0003-vfs0090-fix-calls-to-fpi_ssm_next_state_delayed.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 = "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 ];
+ };
+}