diff --git a/pkgs/by-name/te/termineter/package.nix b/pkgs/by-name/te/termineter/package.nix new file mode 100644 index 000000000000..6de9c903cd36 --- /dev/null +++ b/pkgs/by-name/te/termineter/package.nix @@ -0,0 +1,41 @@ +{ + lib, + python3, + fetchFromGitHub, +}: + +python3.pkgs.buildPythonApplication rec { + pname = "termineter"; + version = "1.0.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "rsmusllp"; + repo = "termineter"; + rev = "refs/tags/v${version}"; + hash = "sha256-sJN1FNUCpQUMJNM6F2+v0NmGqu4LVYcsffwzl3Hr1CU="; + }; + + build-system = with python3.pkgs; [ setuptools ]; + + dependencies = with python3.pkgs; [ + crcelk + pluginbase + pyasn1 + pyserial + smoke-zephyr + tabulate + termcolor + ]; + + pythonImportsCheck = [ "termineter" ]; + + meta = { + description = "Smart Meter Security Testing Framework"; + homepage = "https://github.com/rsmusllp/termineter"; + changelog = "https://github.com/rsmusllp/termineter/releases/tag/v${version}"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "termineter"; + }; +} diff --git a/pkgs/development/python-modules/crcelk/default.nix b/pkgs/development/python-modules/crcelk/default.nix new file mode 100644 index 000000000000..f082899cfe03 --- /dev/null +++ b/pkgs/development/python-modules/crcelk/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pythonOlder, + setuptools, +}: + +buildPythonPackage rec { + pname = "crcelk"; + version = "1.3"; + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "zeroSteiner"; + repo = "crcelk"; + rev = "refs/tags/v${version}"; + hash = "sha256-eJt0qcG0ejTQJyjOSi6Au2jH801KOMnk7f6cLbd7ADw="; + }; + + build-system = [ setuptools ]; + + # Module has no tests + doCheck = false; + + pythonImportsCheck = [ "crcelk" ]; + + meta = { + description = "Implementation of the CRC algorithm"; + homepage = "https://github.com/zeroSteiner/crcelk"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/smoke-zephyr/default.nix b/pkgs/development/python-modules/smoke-zephyr/default.nix new file mode 100644 index 000000000000..0f85fae942de --- /dev/null +++ b/pkgs/development/python-modules/smoke-zephyr/default.nix @@ -0,0 +1,42 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pythonOlder, + unittestCheckHook, +}: + +buildPythonPackage rec { + pname = "smoke-zephyr"; + version = "2.0.1"; + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "zeroSteiner"; + repo = "smoke-zephyr"; + rev = "refs/tags/v${version}"; + hash = "sha256-XZj8sxEWYv5z1x7LKb0T3L7MWSZbWr7lAIyjWekN+WY="; + }; + + postPatch = '' + substituteInPlace tests/utilities.py \ + --replace-fail "assertEquals" "assertEqual" + ''; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ unittestCheckHook ]; + + pythonImportsCheck = [ "smoke_zephyr" ]; + + meta = { + description = "Python utility collection"; + homepage = "https://github.com/zeroSteiner/smoke-zephyr"; + changelog = "https://github.com/zeroSteiner/smoke-zephyr/releases/tag/v${version}"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index cd4e80b8a577..6b4ce7eebdcc 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2652,6 +2652,8 @@ self: super: with self; { crccheck = callPackage ../development/python-modules/crccheck { }; + crcelk = callPackage ../development/python-modules/crcelk { }; + crcmod = callPackage ../development/python-modules/crcmod { }; credstash = callPackage ../development/python-modules/credstash { }; @@ -14525,6 +14527,8 @@ self: super: with self; { smmap = callPackage ../development/python-modules/smmap { }; + smoke-zephyr = callPackage ../development/python-modules/smoke-zephyr { }; + smpplib = callPackage ../development/python-modules/smpplib { }; smpp-pdu = callPackage ../development/python-modules/smpp-pdu { };