Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at litex 1.5 kB view raw
1{ lib 2, pythonOlder 3, fetchPypi 4, buildPythonPackage 5, rustPlatform 6, pytestCheckHook 7, psutil 8, cbor2 9}: 10 11buildPythonPackage rec { 12 pname = "pycddl"; 13 version = "0.4.0"; 14 format = "pyproject"; 15 16 disabled = pythonOlder "3.7"; 17 18 src = fetchPypi { 19 inherit pname version; 20 hash = "sha256-w0CGbPeiXyS74HqZXyiXhvaAMUaIj5onwjl9gWKAjqY="; 21 }; 22 23 nativeBuildInputs = with rustPlatform; [ maturinBuildHook cargoSetupHook ]; 24 25 postPatch = '' 26 # We don't place pytest-benchmark in the closure because we have no 27 # intention of running the benchmarks. Make sure pip doesn't fail as a 28 # result of it being missing by removing it from the requirements list. 29 sed -i -e /pytest-benchmark/d requirements-dev.txt 30 31 # Now that we've gotten rid of pytest-benchmark we need to get rid of the 32 # benchmarks too, otherwise they fail at import time due to the missing 33 # dependency. 34 rm tests/test_benchmarks.py 35 ''; 36 37 cargoDeps = rustPlatform.fetchCargoTarball { 38 inherit src; 39 name = "${pname}-${version}"; 40 hash = "sha256-g96eeaqN9taPED4u+UKUcoitf5aTGFrW2/TOHoHEVHs="; 41 }; 42 43 nativeCheckInputs = [ pytestCheckHook psutil cbor2 ]; 44 pythonImportsCheck = [ "pycddl" ]; 45 46 meta = with lib; { 47 description = "Python bindings for the Rust cddl crate"; 48 homepage = "https://gitlab.com/tahoe-lafs/pycddl"; 49 changelog = "https://gitlab.com/tahoe-lafs/pycddl/-/tree/v${version}#release-notes"; 50 license = licenses.mit; 51 maintainers = [ maintainers.exarkun ]; 52 }; 53}