diff --git a/pkgs/development/libraries/libfprint-2-tod1-goodix-550a/default.nix b/pkgs/development/libraries/libfprint-2-tod1-goodix-550a/default.nix new file mode 100644 index 00000000000..16626fe0e22 --- /dev/null +++ b/pkgs/development/libraries/libfprint-2-tod1-goodix-550a/default.nix @@ -0,0 +1,45 @@ +{ stdenv, lib, fetchzip, unzip, libfprint-tod }: + +stdenv.mkDerivation { + pname = "libfprint-2-tod1-goodix-550a"; + version = "0.0.9"; + + src = fetchzip { + url = "https://download.lenovo.com/pccbbs/mobiles/r1slg01w.zip"; + sha256 = "sha256-6tp8Unu6rs27oB5VAqfRqHmv5D9N3njl5qv6We0b/Ec="; + }; + + nativeBuildInputs = [ unzip ]; + + unpackPhase = '' + unzip $src/libfprint-tod-goodix-550a-0.0.9.zip + cd libfprint-tod-goodix-550a-0.0.9 + ar x libfprint-2-tod-goodix_amd64.deb + tar xf data.tar.xz + ''; + + buildPhase = '' + patchelf \ + --set-rpath ${lib.makeLibraryPath [ libfprint-tod ]} \ + usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-tod-goodix-550a-$version.so + ''; + + installPhase = '' + mkdir -p "$out/lib/libfprint-2/tod-1/" + mkdir -p "$out/lib/udev/rules.d/" + + cp usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-tod-goodix-550a-$version.so "$out/lib/libfprint-2/tod-1/" + cp lib/udev/rules.d/60-libfprint-2-tod1-goodix.rules "$out/lib/udev/rules.d/" + ''; + + passthru.driverPath = "/lib/libfprint-2/tod-1"; + + meta = with lib; { + description = "Goodix 550a driver module for libfprint-2-tod Touch OEM Driver (from Lenovo)"; + homepage = "https://support.lenovo.com/us/en/downloads/ds560884-goodix-fingerprint-driver-for-linux-thinkpad-e14-gen-4-e15-gen-4"; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + license = licenses.unfree; + platforms = platforms.linux; + maintainers = with maintainers; [ utkarshgupta137 ]; + }; +} diff --git a/pkgs/development/libraries/libfprint-2-tod1-goodix/default.nix b/pkgs/development/libraries/libfprint-2-tod1-goodix/default.nix index eb7de9bbc09..c7710ce1d19 100644 --- a/pkgs/development/libraries/libfprint-2-tod1-goodix/default.nix +++ b/pkgs/development/libraries/libfprint-2-tod1-goodix/default.nix @@ -1,4 +1,5 @@ { stdenv, lib, fetchgit, libfprint-tod }: + stdenv.mkDerivation { pname = "libfprint-2-tod1-goodix"; version = "0.0.6"; @@ -12,9 +13,7 @@ stdenv.mkDerivation { buildPhase = '' patchelf \ --set-rpath ${lib.makeLibraryPath [ libfprint-tod ]} \ - usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-tod-goodix-53xc-0.0.6.so - - ldd usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-tod-goodix-53xc-0.0.6.so + usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-tod-goodix-53xc-$version.so ''; installPhase = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 23b8a95b5a4..78704ffd515 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21377,6 +21377,8 @@ with pkgs; libfprint-2-tod1-goodix = callPackage ../development/libraries/libfprint-2-tod1-goodix { }; + libfprint-2-tod1-goodix-550a = callPackage ../development/libraries/libfprint-2-tod1-goodix-550a { }; + libfprint-2-tod1-vfs0090 = callPackage ../development/libraries/libfprint-2-tod1-vfs0090 { }; libfpx = callPackage ../development/libraries/libfpx { };