{ lib, buildPythonPackage, cargo, fetchFromGitHub, hypothesis, pytestCheckHook, pythonOlder, rustc, rustPlatform, }: buildPythonPackage rec { pname = "jh2"; version = "5.0.4"; pyproject = true; disabled = pythonOlder "3.10"; src = fetchFromGitHub { owner = "jawah"; repo = "h2"; rev = "refs/tags/v${version}"; hash = "sha256-la1tZ+t6HeGqaua1f858mT1IRyqS0hnoOiKr656vthQ="; fetchSubmodules = true; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; hash = "sha256-m1MkKhwTMDGsC0jt1skyFb23Ln5spa+vUEOyA5pHxP4="; }; build-system = [ cargo rustPlatform.cargoSetupHook rustPlatform.maturinBuildHook rustc ]; nativeCheckInputs = [ hypothesis pytestCheckHook ]; pythonImportsCheck = [ "jh2" ]; meta = { description = "HTTP/2 State-Machine based protocol implementation"; homepage = "https://github.com/jawah/h2"; changelog = "https://github.com/jawah/h2/blob/${src.rev}/CHANGELOG.rst"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; }