{ mkKdeDerivation, sources, corrosion, xapian, rustPlatform, cargo, rustc, # provided as callPackage input to enable easier overrides through overlays cargoHash ? "sha256-E+QaicYnFF79FDIhhvuEPQLikiLk5oKIjvLA132RUZo=", }: mkKdeDerivation rec { pname = "akonadi-search"; inherit (sources.${pname}) version; cargoRoot = "agent/rs/htmlparser"; cargoDeps = rustPlatform.fetchCargoTarball { # include version in the name so we invalidate the FOD name = "${pname}-${version}"; src = sources.${pname}; sourceRoot = "${pname}-${version}/${cargoRoot}"; hash = cargoHash; }; extraNativeBuildInputs = [ rustPlatform.cargoSetupHook cargo rustc ]; extraBuildInputs = [ corrosion xapian ]; }