From 4832930b8d0a1e7295217ceb658b84862abfa6b6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 26 Apr 2021 18:47:55 +0200 Subject: [PATCH] python3Packages.meshtastic: init at 1.2.30 --- .../python-modules/meshtastic/default.nix | 57 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 59 insertions(+) create mode 100644 pkgs/development/python-modules/meshtastic/default.nix diff --git a/pkgs/development/python-modules/meshtastic/default.nix b/pkgs/development/python-modules/meshtastic/default.nix new file mode 100644 index 00000000000..c8a9d78e7c1 --- /dev/null +++ b/pkgs/development/python-modules/meshtastic/default.nix @@ -0,0 +1,57 @@ +{ lib +, buildPythonPackage +, dotmap +, fetchPypi +, pexpect +, protobuf +, pygatt +, pypubsub +, pyqrcode +, pyserial +, pythonOlder +, tabulate +, timeago +}: + +buildPythonPackage rec { + pname = "meshtastic"; + version = "1.2.30"; + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "1kjflc2jwnsgxyr2zx1gyykhak9fsgy6hxaxlggsz5sw9b8rdrby"; + }; + + propagatedBuildInputs = [ + dotmap + pexpect + protobuf + pygatt + pypubsub + pyqrcode + pyserial + tabulate + timeago + ]; + + postPatch = '' + # https://github.com/meshtastic/Meshtastic-python/pull/87 + substituteInPlace setup.py \ + --replace 'with open("README.md", "r") as fh:' "" \ + --replace "long_description = fh.read()" "" \ + --replace "long_description=long_description," 'long_description="",' + ''; + + # Project only provides PyPI releases which don't contain the tests + # https://github.com/meshtastic/Meshtastic-python/issues/86 + doCheck = false; + pythonImportsCheck = [ "meshtastic" ]; + + meta = with lib; { + description = "Python API for talking to Meshtastic devices"; + homepage = "https://meshtastic.github.io/Meshtastic-python/"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 76ae19d29f4..3be9ab1f776 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4111,6 +4111,8 @@ in { meshlabxml = callPackage ../development/python-modules/meshlabxml { }; + meshtastic = callPackage ../development/python-modules/meshtastic { }; + meson = toPythonModule ((pkgs.meson.override { python3 = python; }).overrideAttrs (oldAttrs: { # We do not want the setup hook in Python packages because the build is performed differently. setupHook = null;