at master 1.3 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 setuptools, 6 pytestCheckHook, 7}: 8 9buildPythonPackage rec { 10 pname = "pydsdl"; 11 version = "1.22.2"; 12 pyproject = true; 13 14 src = fetchFromGitHub { 15 owner = "OpenCyphal"; 16 repo = "pydsdl"; 17 tag = version; 18 hash = "sha256-JQE7e735arclu7avLu0Nf/ecULd0wuPmxyO3DtDsxLs="; 19 }; 20 21 build-system = [ setuptools ]; 22 23 # allow for writable directory for darwin 24 preBuild = '' 25 export HOME=$TMPDIR 26 ''; 27 28 pythonImportsCheck = [ "pydsdl" ]; 29 30 nativeCheckInputs = [ pytestCheckHook ]; 31 32 enabledTestPaths = [ "pydsdl/_test.py" ]; 33 34 meta = with lib; { 35 description = "Library to process Cyphal DSDL"; 36 longDescription = '' 37 PyDSDL is a Cyphal DSDL compiler front-end implemented in Python. It accepts 38 a DSDL namespace at the input and produces a well-annotated abstract syntax 39 tree (AST) at the output, evaluating all constant expressions in the process. 40 All DSDL features defined in the Cyphal Specification are supported. The 41 library should, in theory, work on any platform and with any Python 42 implementation. 43 ''; 44 homepage = "https://pydsdl.readthedocs.io/"; 45 license = licenses.mit; 46 maintainers = with maintainers; [ wucke13 ]; 47 }; 48}