at 24.11-pre 1.1 kB view raw
1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 fetchFromGitHub, 6 libiconv, 7 cargo, 8 rustPlatform, 9 rustc, 10 objsize, 11 pydantic, 12 pytestCheckHook, 13 y-py, 14}: 15 16buildPythonPackage rec { 17 pname = "pycrdt"; 18 version = "0.8.24"; 19 pyproject = true; 20 21 src = fetchFromGitHub { 22 owner = "jupyter-server"; 23 repo = "pycrdt"; 24 rev = "refs/tags/v${version}"; 25 hash = "sha256-3j5OhjeVE42n4EEOOMUGlQGdnQ/xia0KD543uCMFpCo="; 26 }; 27 28 postPatch = '' 29 cp ${./Cargo.lock} Cargo.lock 30 ''; 31 32 cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; }; 33 34 nativeBuildInputs = [ 35 cargo 36 rustPlatform.cargoSetupHook 37 rustPlatform.maturinBuildHook 38 rustc 39 ]; 40 41 buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; 42 43 pythonImportsCheck = [ "pycrdt" ]; 44 45 nativeCheckInputs = [ 46 objsize 47 pydantic 48 pytestCheckHook 49 y-py 50 ]; 51 52 meta = with lib; { 53 description = "CRDTs based on Yrs"; 54 homepage = "https://github.com/jupyter-server/pycrdt"; 55 changelog = "https://github.com/jupyter-server/pycrdt/releases/tag/${src.rev}"; 56 license = licenses.mit; 57 maintainers = teams.jupyter.members; 58 }; 59}