{ lib, fetchPypi, buildPythonPackage, rustPlatform, nix-update-script, # build-system maturin, # nativeCheckInputs pytestCheckHook, pytest-benchmark, pytest-codspeed, pytest-xdist, }: buildPythonPackage rec { pname = "libipld"; version = "3.3.2"; pyproject = true; # use pypi, GitHub does not include Cargo.lock src = fetchPypi { inherit pname version; hash = "sha256-foXM2RNhEOY5Q9lSMrGTyJPjacQGJz0jUWDlzEs5yc4="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit src; hash = "sha256-BtFIX6xCJWBkIOzYEr8XohA1jsXC9rhiaMd87pe101w="; }; build-system = [ maturin ]; nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ]; nativeCheckInputs = [ pytestCheckHook pytest-benchmark pytest-codspeed pytest-xdist ]; pytestFlags = [ "--benchmark-disable" ]; disabledTests = [ # touches network "test_decode_car" ]; pythonImportsCheck = [ "libipld" ]; passthru.updateScript = nix-update-script { }; meta = { description = "Fast Python library to work with IPLD: DAG-CBOR, CID, CAR, multibase"; homepage = "https://github.com/MarshalX/python-libipld"; changelog = "https://github.com/MarshalX/python-libipld/releases/tag/v${version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ vji ]; }; }