1{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder }:
2
3 buildPythonPackage rec {
4 pname = "pydsdl";
5 version = "1.4.2";
6 disabled = pythonOlder "3.5"; # only python>=3.5 is supported
7
8 src = fetchFromGitHub {
9 owner = "UAVCAN";
10 repo = pname;
11 rev = version;
12 sha256 = "03kbpzdrjzj5vpgz5rhc110pm1axdn3ynv88b42zq6iyab4k8k1x";
13 };
14
15 propagatedBuildInputs = [
16 ];
17
18 # allow for writable directory for darwin
19 preBuild = ''
20 export HOME=$TMPDIR
21 '';
22
23 # repo doesn't contain tests, ensure imports aren't broken
24 pythonImportsCheck = [
25 "pydsdl"
26 ];
27
28 meta = with lib; {
29 description = "A UAVCAN DSDL compiler frontend implemented in Python";
30 longDescription = ''
31 It supports all DSDL features defined in the UAVCAN specification.
32 '';
33 homepage = "https://uavcan.org";
34 maintainers = with maintainers; [ wucke13 ];
35 license = licenses.mit;
36 };
37}