Libfprintd overlay not working

So im trying to modify the libfprintd package using an overlay to use a patched repo for elanmoc2 support.

Repo in question on the elanmoc2 branch

Overlay in configuration.nix

nixpkgs.overlays = [
  (final: prev:
{
  libfprint = prev.libfprint.overrideAttrs (old: {
    src = builtins.fetchGit {
      url = "https://gitlab.freedesktop.org/depau/libfprint.git";
      ref = "elanmoc2";
    };
    
  });
})
];

Running nixos-rebuild switch/boot causes the repo to get fetched and built properly however, the device remains undetected.

I have verified the fix in the repo works properly in a fresh install of fedora 40 where the only change required was replacing the libfprintd.so* binaries in /usr/lib64.

Am I missing something obvious here because as far as I can tell this should be working just fine

Ok it appears I had fprintd.tod set deep in my configuration file. Removing it so it uses the proper patched libfrintd causes fprintd to be rebuilt which seems more proper. However it fails during the checkPhase and im not sure how to go about debugging it.

Ill update if I find anything else out. Pointers would be greatly helpful as I hate feeling like im beating my head against the idiosyncrasies of the nix build system to get nowhere

Failed tests

  7/513 fprintd:daemon+fprintd+FPrintdManagerPreStartTests / FPrintdManagerPreStartTests.test_manager_get_no_default_device                                                                             FAIL            0.43s   exit status 1
>>> MALLOC_CHECK_=2 MALLOC_PERTURB_=78 TOPSRCDIR=/build/source G_SLICE=always-malloc ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 FPRINT_BUILD_DIR=/build/source/build/src UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 G_MESSAGES_DEBUG=all /nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/bin/python3 /build/source/tests/fprintd.py FPrintdManagerPreStartTests.test_manager_get_no_default_device

  8/513 fprintd:daemon+fprintd+FPrintdManagerPreStartTests / FPrintdManagerPreStartTests.test_manager_get_no_devices                                                                                    FAIL            0.43s   exit status 1
>>> MALLOC_CHECK_=2 TOPSRCDIR=/build/source ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 G_SLICE=always-malloc MALLOC_PERTURB_=24 FPRINT_BUILD_DIR=/build/source/build/src UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 G_MESSAGES_DEBUG=all /nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/bin/python3 /build/source/tests/fprintd.py FPrintdManagerPreStartTests.test_manager_get_no_devices

Im not entirely happy with this solution but the fingerprint reader now works as expected

nixpkgs.overlays = [
  (final: prev:
{
  libfprint = prev.libfprint.overrideAttrs (old: {
    src = builtins.fetchGit {
      url = "https://gitlab.freedesktop.org/depau/libfprint.git";
      ref = "elanmoc2";
      # rev = "f4439ce96b2938fea8d4f42223d7faea05bd4048";
    };
  });

  fprintd = prev.fprintd.overrideAttrs (old: {
    mesonCheckFlags = [
      # PAM related checks are timing out
      "--no-suite" "fprintd:TestPamFprintd" 
      # Tests FPrintdManagerPreStartTests.test_manager_get_no_default_device & FPrintdManagerPreStartTests.test_manager_get_no_devices are failing
      "--no-suite" "fprintd:FPrintdManagerPreStartTests"
    ];
  });
})
];