{ lib, buildPythonPackage, fetchFromGitHub, rustPlatform, pytestCheckHook, pytest-benchmark, nix-update-script, }: let pname = "fastcrc"; version = "0.3.4"; src = fetchFromGitHub { owner = "overcat"; repo = "fastcrc"; tag = "v${version}"; hash = "sha256-iBbYiF0y/3Cax4P9+/gKS6FUBqZ3BleCwnpItsVd7Ps="; }; in buildPythonPackage { inherit pname version src; pyproject = true; nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ]; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; hash = "sha256-VbS5xTqj+Flxxdg06MO34AZCVozlNgFvc+yKemEmCzs="; }; pythonImportsCheck = [ "fastcrc" ]; nativeCheckInputs = [ pytestCheckHook pytest-benchmark ]; pytestFlags = [ "--benchmark-disable" ]; # Python source files interfere with testing preCheck = '' rm -r fastcrc ''; passthru.updateScript = nix-update-script { }; meta = { description = "Hyper-fast Python module for computing CRC(8, 16, 32, 64) checksum"; homepage = "https://fastcrc.readthedocs.io/en/latest/"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ pluiedev ]; }; }