Merge pull request #120766 from fabaff/meshtastic

python3Packages.meshtastic: init at 1.2.30
This commit is contained in:
Luke Granger-Brown 2021-05-03 10:20:36 +01:00 committed by GitHub
commit cdbc90b67a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 175 additions and 0 deletions

View File

@ -0,0 +1,30 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "dotmap";
version = "1.3.23";
src = fetchPypi {
inherit pname version;
sha256 = "0hy88kzzb7zhxfr7iyvl6rhmvz02538pbna7zypaard4a88bbbka";
};
checkInputs = [
pytestCheckHook
];
pytestFlagsArray = [ "dotmap/test.py" ];
pythonImportsCheck = [ "dotmap" ];
meta = with lib; {
description = "Python for dot-access dictionaries";
homepage = "https://github.com/drgrib/dotmap";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -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 ];
};
}

View File

@ -0,0 +1,48 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, mock
, nose
, pexpect
, pyserial
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "pygatt";
version = "4.0.5";
disabled = pythonOlder "3.5";
src = fetchFromGitHub {
owner = "peplin";
repo = pname;
rev = "v${version}";
sha256 = "1zdfxidiw0l8n498sy0l33n90lz49n25x889cx6jamjr7frlcihd";
};
propagatedBuildInputs = [
pexpect
pyserial
];
checkInputs = [
mock
nose
pytestCheckHook
];
postPatch = ''
# Not support for Python < 3.4
substituteInPlace setup.py --replace "'enum-compat'" ""
'';
pythonImportsCheck = [ "pygatt" ];
meta = with lib; {
description = "Python wrapper the BGAPI for accessing Bluetooth LE Devices";
homepage = "https://github.com/peplin/pygatt";
license = with licenses; [ asl20 mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,32 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "timeago";
version = "1.0.15";
src = fetchFromGitHub {
owner = "hustcc";
repo = pname;
rev = version;
sha256 = "03vm7c02l4g2d1x33w382i1psk8i3an7xchk69yinha33fjj1cag";
};
checkInputs = [
pytestCheckHook
];
pytestFlagsArray = [ "test/testcase.py" ];
pythonImportsCheck = [ "timeago" ];
meta = with lib; {
description = "Python module to format past datetime output";
homepage = "https://github.com/hustcc/timeago";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -2034,6 +2034,8 @@ in {
inherit (pkgs) graphviz;
};
dotmap = callPackage ../development/python-modules/dotmap { };
dparse = callPackage ../development/python-modules/dparse { };
dpath = callPackage ../development/python-modules/dpath { };
@ -4119,6 +4121,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;
@ -5549,6 +5553,8 @@ in {
pygame_sdl2 = callPackage ../development/python-modules/pygame_sdl2 { };
pygatt = callPackage ../development/python-modules/pygatt { };
pygbm = callPackage ../development/python-modules/pygbm { };
pygccxml = callPackage ../development/python-modules/pygccxml { };
@ -8053,6 +8059,8 @@ in {
tilestache = callPackage ../development/python-modules/tilestache { };
timeago = callPackage ../development/python-modules/timeago { };
timelib = callPackage ../development/python-modules/timelib { };
timeout-decorator = callPackage ../development/python-modules/timeout-decorator { };