Working on updating libfprint to 1.90

A huge rewrite of libfprint (fingerprint reader library) has been merged and released recently. It adds supports for USB connected fingerprint readers. (Which will add support for latest ThinkPad laptops).

I’m currently working on updating the version in nixpkgs, but I’ve encountered an issue that I’m not quite sure on how I should handle.

As of today, libfprint and libfprint-thinkpad are completly bound together. But it seems that with the merged code it’s not the case anymore. For instance, the dependency to libusb can be removed, since it uses gusb instead, but I believe this change could break the thinkpad version. I’ve managed to port the 1.90 and make it work locally.

My questions are the following :

  • Should I split them in two different derivations (libfprint and libfprint-thinkpad) ?
  • If I do so, is there anything I should be aware of on the way to add new packages (even if they come from the repository itself).
  • If I do not split them, how should I handle the dependencies mismatch ?
  • Is there any guidelines I can take reference from ? I’m currently following this guide from the wiki.

This is my first time working on nixpkgs, so any advice is good to take ! :slight_smile:

EDIT : I’ve made the split (I will revert it if needed) and I have opened a pull request here. Unfortunatly, Lenovo removed the firmware upgrade required from fwupd because it was causing issues. I haven’t been able to test it. I’ve opened the pull request so it can be tested by somebody else (I will do the hardware test part as soon as the firmware is available again).