From 3f50371a61eaffcccb3bb965b4fd5697921efbc4 Mon Sep 17 00:00:00 2001 From: wucke13 Date: Sat, 6 Jun 2020 19:15:27 +0200 Subject: [PATCH 1/3] python3Packages.pydsdl: init at 1.4.2 --- .../python-modules/pydsdl/default.nix | 37 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/python-modules/pydsdl/default.nix diff --git a/pkgs/development/python-modules/pydsdl/default.nix b/pkgs/development/python-modules/pydsdl/default.nix new file mode 100644 index 00000000000..655adecd5c8 --- /dev/null +++ b/pkgs/development/python-modules/pydsdl/default.nix @@ -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; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 00960b45725..451bcff62a1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1287,6 +1287,8 @@ in { pyscreenshot = callPackage ../development/python-modules/pyscreenshot { }; + pydsdl = callPackage ../development/python-modules/pydsdl { }; + pyside = callPackage ../development/python-modules/pyside { inherit (pkgs) mesa; }; From 1553a46f280e18e8960e8d64d251dc68b7f5e55a Mon Sep 17 00:00:00 2001 From: wucke13 Date: Sat, 6 Jun 2020 19:16:39 +0200 Subject: [PATCH 2/3] python3Packages.nunavut: init at 0.3.0 --- .../python-modules/nunavut/default.nix | 37 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/python-modules/nunavut/default.nix diff --git a/pkgs/development/python-modules/nunavut/default.nix b/pkgs/development/python-modules/nunavut/default.nix new file mode 100644 index 00000000000..96247c93000 --- /dev/null +++ b/pkgs/development/python-modules/nunavut/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 451bcff62a1..cd9d8de823e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1002,6 +1002,8 @@ in { nvchecker = callPackage ../development/python-modules/nvchecker { }; numericalunits = callPackage ../development/python-modules/numericalunits { }; + + nunavut = callPackage ../development/python-modules/nunavut { }; oath = callPackage ../development/python-modules/oath { }; From 8f1aac8c00dfaac0d725f947fd679860ed50f4ac Mon Sep 17 00:00:00 2001 From: wucke13 Date: Sat, 6 Jun 2020 19:18:58 +0200 Subject: [PATCH 3/3] python3Packages.pyuavcan: init at 1.1.0.dev1 --- .../python-modules/pyuavcan/default.nix | 50 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 11 ++++ 2 files changed, 61 insertions(+) create mode 100644 pkgs/development/python-modules/pyuavcan/default.nix diff --git a/pkgs/development/python-modules/pyuavcan/default.nix b/pkgs/development/python-modules/pyuavcan/default.nix new file mode 100644 index 00000000000..0c78b305959 --- /dev/null +++ b/pkgs/development/python-modules/pyuavcan/default.nix @@ -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; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index cd9d8de823e..333b589af3a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1617,6 +1617,17 @@ in { 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 { }; vdf = callPackage ../development/python-modules/vdf { };