btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / li / libfprint-2-tod1-goodix-550a / package.nix
blob16626fe0e227f491bc60d4e8bddb826ba19bbcca
1 { stdenv, lib, fetchzip, unzip, libfprint-tod }:
3 stdenv.mkDerivation {
4   pname = "libfprint-2-tod1-goodix-550a";
5   version = "0.0.9";
7   src = fetchzip {
8     url = "https://download.lenovo.com/pccbbs/mobiles/r1slg01w.zip";
9     sha256 = "sha256-6tp8Unu6rs27oB5VAqfRqHmv5D9N3njl5qv6We0b/Ec=";
10   };
12   nativeBuildInputs = [ unzip ];
14   unpackPhase = ''
15     unzip $src/libfprint-tod-goodix-550a-0.0.9.zip
16     cd libfprint-tod-goodix-550a-0.0.9
17     ar x libfprint-2-tod-goodix_amd64.deb
18     tar xf data.tar.xz
19   '';
21   buildPhase = ''
22     patchelf \
23       --set-rpath ${lib.makeLibraryPath [ libfprint-tod ]} \
24       usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-tod-goodix-550a-$version.so
25   '';
27   installPhase = ''
28     mkdir -p "$out/lib/libfprint-2/tod-1/"
29     mkdir -p "$out/lib/udev/rules.d/"
31     cp usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-tod-goodix-550a-$version.so "$out/lib/libfprint-2/tod-1/"
32     cp lib/udev/rules.d/60-libfprint-2-tod1-goodix.rules "$out/lib/udev/rules.d/"
33   '';
35   passthru.driverPath = "/lib/libfprint-2/tod-1";
37   meta = with lib; {
38     description = "Goodix 550a driver module for libfprint-2-tod Touch OEM Driver (from Lenovo)";
39     homepage = "https://support.lenovo.com/us/en/downloads/ds560884-goodix-fingerprint-driver-for-linux-thinkpad-e14-gen-4-e15-gen-4";
40     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
41     license = licenses.unfree;
42     platforms = platforms.linux;
43     maintainers = with maintainers; [ utkarshgupta137 ];
44   };