python312Packages.pycyphal: 1.15.4 -> 1.18.0
Also fixed the extra dependencies and the check phase
This commit is contained in:
parent
3f69783abd
commit
420827d7de
2 changed files with 63 additions and 23 deletions
|
@ -1,6 +1,6 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, fetchFromGitHub
|
||||
, pythonOlder
|
||||
, can
|
||||
, cobs
|
||||
|
@ -8,31 +8,80 @@
|
|||
, nunavut
|
||||
, numpy
|
||||
, pyserial
|
||||
, pytestCheckHook
|
||||
, pytest-asyncio
|
||||
, setuptools
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pycyphal";
|
||||
version = "1.15.4";
|
||||
format = "pyproject";
|
||||
version = "1.18.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-0Mp8d/rNOOPLg0gUPWdOgp/d5n148dxcLceW1VtjrkQ=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenCyphal";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-XkH0wss8ueh/Wwz0lhvQShOp3a4X9lNdosT/sMe7p4Q=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
can
|
||||
cobs
|
||||
libpcap
|
||||
numpy
|
||||
nunavut
|
||||
pyserial
|
||||
];
|
||||
|
||||
# Can't seem to run the tests on nix
|
||||
doCheck = false;
|
||||
passthru.optional-dependencies = {
|
||||
transport-can-pythoncan = [
|
||||
can
|
||||
] ++ can.optional-dependencies.serial;
|
||||
transport-serial = [
|
||||
cobs
|
||||
pyserial
|
||||
];
|
||||
transport-udp = [
|
||||
libpcap
|
||||
];
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
pytest-asyncio
|
||||
] ++ builtins.foldl' (x: y: x ++ y) [ ]
|
||||
(builtins.attrValues passthru.optional-dependencies)
|
||||
;
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR
|
||||
export PYTHONASYNCIODEBUG=1
|
||||
python -c ${lib.escapeShellArg ''
|
||||
import pycyphal
|
||||
pycyphal.dsdl.compile_all(
|
||||
[
|
||||
"demo/public_regulated_data_types/uavcan",
|
||||
"demo/custom_data_types/sirius_cyber_corp",
|
||||
],
|
||||
output_directory=".dsdl_compiled",
|
||||
)
|
||||
''}
|
||||
export PYTHONPATH="$(pwd)/.dsdl_compiled:$PYTHONPATH"
|
||||
'';
|
||||
|
||||
# These require extra permissions and/or actual hardware connected
|
||||
disabledTestPaths = [
|
||||
"pycyphal/application/__init__.py"
|
||||
"pycyphal/application/_transport_factory.py"
|
||||
"pycyphal/transport/udp/_ip/_link_layer.py"
|
||||
"pycyphal/transport/udp/_ip/_v4.py"
|
||||
"tests/application"
|
||||
"tests/demo"
|
||||
"tests/dsdl"
|
||||
"tests/presentation"
|
||||
"tests/transport"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pycyphal"
|
||||
];
|
||||
|
@ -43,6 +92,7 @@ buildPythonPackage rec {
|
|||
Cyphal is an open technology for real-time intravehicular distributed computing and communication based on modern networking standards (Ethernet, CAN FD, etc.).
|
||||
'';
|
||||
homepage = "https://opencyphal.org/";
|
||||
changelog = "https://github.com/OpenCyphal/pycyphal/blob/${version}/CHANGELOG.rst";
|
||||
license = licenses.mit;
|
||||
maintainers = teams.ororatech.members;
|
||||
};
|
||||
|
|
|
@ -10309,17 +10309,7 @@ self: super: with self; {
|
|||
|
||||
pycxx = callPackage ../development/python-modules/pycxx { };
|
||||
|
||||
pycyphal = callPackage ../development/python-modules/pycyphal {
|
||||
# Does not yet support nunavut 2+, use latest 1.X version instead
|
||||
# https://github.com/OpenCyphal/pycyphal/issues/277
|
||||
nunavut = self.nunavut.overridePythonAttrs (prev: rec {
|
||||
version = "1.9.0";
|
||||
src = prev.src.override {
|
||||
inherit version;
|
||||
hash = "sha256-KhgijXJ908uxM7VZdXo1WU/RGU0cfqctBCbpF2wOcy8=";
|
||||
};
|
||||
});
|
||||
};
|
||||
pycyphal = callPackage ../development/python-modules/pycyphal { };
|
||||
|
||||
pydaikin = callPackage ../development/python-modules/pydaikin { };
|
||||
|
||||
|
|
Loading…
Reference in a new issue