Merge pull request #89735 from wucke13/pyuavcan

Pyuavcan
This commit is contained in:
Benjamin Hipple 2020-07-05 19:55:20 -04:00 committed by GitHub
commit a35803f331
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 139 additions and 0 deletions

View File

@ -0,0 +1,37 @@
{ lib, buildPythonPackage, pythonOlder, fetchPypi, pydsdl }:
buildPythonPackage rec {
pname = "nunavut";
version = "0.3.0";
disabled = pythonOlder "3.5"; # only python>=3.5 is supported
src = fetchPypi {
inherit pname version;
sha256 = "1ycnxrw2qgm7kdapsnhz80jsqkghgvb5giqwapn0m30rplwc3s36";
};
propagatedBuildInputs = [
pydsdl
];
# allow for writable directory for darwin
preBuild = ''
export HOME=$TMPDIR
'';
# repo doesn't contain tests, ensure imports aren't broken
pythonImportsCheck = [
"nunavut"
];
meta = with lib; {
description = "A UAVCAN DSDL template engine";
longDescription = ''
It exposes a pydsdl abstract syntax tree to Jinja2 templates allowing
authors to generate code, schemas, metadata, documentation, etc.
'';
homepage = "https://nunavut.readthedocs.io/";
maintainers = with maintainers; [ wucke13 ];
license = with licenses; [ bsd3 mit ];
};
}

View File

@ -0,0 +1,37 @@
{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder }:
buildPythonPackage rec {
pname = "pydsdl";
version = "1.4.2";
disabled = pythonOlder "3.5"; # only python>=3.5 is supported
src = fetchFromGitHub {
owner = "UAVCAN";
repo = pname;
rev = version;
sha256 = "03kbpzdrjzj5vpgz5rhc110pm1axdn3ynv88b42zq6iyab4k8k1x";
};
propagatedBuildInputs = [
];
# allow for writable directory for darwin
preBuild = ''
export HOME=$TMPDIR
'';
# repo doesn't contain tests, ensure imports aren't broken
pythonImportsCheck = [
"pydsdl"
];
meta = with lib; {
description = "A UAVCAN DSDL compiler frontend implemented in Python";
longDescription = ''
It supports all DSDL features defined in the UAVCAN specification.
'';
homepage = "https://uavcan.org";
maintainers = with maintainers; [ wucke13 ];
license = licenses.mit;
};
}

View File

@ -0,0 +1,50 @@
{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, numpy, nunavut
, pyserial , pytest, ruamel_yaml}:
buildPythonPackage rec {
pname = "pyuavcan";
version = "1.1.0.dev1";
disabled = pythonOlder "3.7"; # only python>=3.7 is supported
src = fetchFromGitHub {
owner = "UAVCAN";
repo = pname;
rev = version;
sha256 = "0fmbmdnnh679zkllv5m6pkrasg7m9vjwabqnmz5m7flrgdh6h4qa";
};
propagatedBuildInputs = [
numpy
nunavut
pyserial
pytest
ruamel_yaml
];
# allow for writable directory for darwin
preBuild = ''
export HOME=$TMPDIR
export PYTHONASYNCIODEBUG=1
'';
# tests fail ATM.
doCheck = false;
# check at least that import works, as tests fail
pythonImportsCheck = [
"pyuavcan"
];
meta = with lib; {
description = "A full-featured implementation of the UAVCAN protocol stack";
longDescription = ''
It is intended for non-embedded, user-facing applications such as GUI
software, diagnostic tools, automation scripts, prototypes, and various
R&D cases. PyUAVCAN consists of a Python library (package) and a simple
CLI tool for basic diagnostics and shell script automation.
'';
homepage = "https://pyuavcan.readthedocs.io";
maintainers = with maintainers; [ wucke13 ];
license = licenses.mit;
};
}

View File

@ -1018,6 +1018,8 @@ in {
numericalunits = callPackage ../development/python-modules/numericalunits { }; numericalunits = callPackage ../development/python-modules/numericalunits { };
nunavut = callPackage ../development/python-modules/nunavut { };
oath = callPackage ../development/python-modules/oath { }; oath = callPackage ../development/python-modules/oath { };
oauthenticator = callPackage ../development/python-modules/oauthenticator { }; oauthenticator = callPackage ../development/python-modules/oauthenticator { };
@ -1304,6 +1306,8 @@ in {
pyscreenshot = callPackage ../development/python-modules/pyscreenshot { }; pyscreenshot = callPackage ../development/python-modules/pyscreenshot { };
pydsdl = callPackage ../development/python-modules/pydsdl { };
pyside = callPackage ../development/python-modules/pyside { pyside = callPackage ../development/python-modules/pyside {
inherit (pkgs) mesa; inherit (pkgs) mesa;
}; };
@ -1643,6 +1647,17 @@ in {
inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices CoreServices; inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices CoreServices;
}; };
pyuavcan = callPackage ../development/python-modules/pyuavcan {
# this version pinpoint to anold version is necessary due to a regression
nunavut = self.nunavut.overridePythonAttrs ( old: rec {
version = "0.2.3";
src = old.src.override {
inherit version;
sha256 = "0x8a9h4mc2r2yz49s9arsbs4bn3h25mvmg4zbgksm9hcyi9536x5";
};
});
};
pyunifi = callPackage ../development/python-modules/pyunifi { }; pyunifi = callPackage ../development/python-modules/pyunifi { };
vdf = callPackage ../development/python-modules/vdf { }; vdf = callPackage ../development/python-modules/vdf { };