From b24892b5b2a0e7f208874cef8acc03288aa010ef Mon Sep 17 00:00:00 2001 From: Will Lucas Date: Thu, 30 Jan 2025 20:33:43 -0600 Subject: [PATCH 1/2] python312Packages.py-datastruct: init at 1.1.0 --- .../python-modules/py-datastruct/default.nix | 33 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/development/python-modules/py-datastruct/default.nix diff --git a/pkgs/development/python-modules/py-datastruct/default.nix b/pkgs/development/python-modules/py-datastruct/default.nix new file mode 100644 index 000000000000..e735eacb5a56 --- /dev/null +++ b/pkgs/development/python-modules/py-datastruct/default.nix @@ -0,0 +1,33 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + poetry-core, +}: + +buildPythonPackage rec { + pname = "py-datastruct"; + version = "1.1.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "kuba2k2"; + repo = "datastruct"; + tag = "v${version}"; + hash = "sha256-KEIvibGnQnIDMpmodWN2Az/ypc37ZyGvgVPC7voFmlA="; + }; + + build-system = [ poetry-core ]; + + pythonImportsCheck = [ "datastruct" ]; + + # Add nativeCheckInputs = [ pytestCheckHook ]; once we update to v2.0.0 tag and remove below line + doCheck = false; + + meta = { + description = "Combination of struct and dataclasses for easy parsing of binary formats"; + homepage = "https://github.com/kuba2k2/datastruct"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ mevatron ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index fa5fc3f488fb..1582fc1a62c3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9380,6 +9380,8 @@ self: super: with self; { py-ccm15 = callPackage ../development/python-modules/py-ccm15 { }; + py-datastruct = callPackage ../development/python-modules/py-datastruct { }; + py-deprecate = callPackage ../development/python-modules/py-deprecate { }; py-ecc = callPackage ../development/python-modules/py-ecc { }; From 46188b82175b9061cb31f42cc37e25b85ae21e24 Mon Sep 17 00:00:00 2001 From: Will Lucas Date: Thu, 30 Jan 2025 20:34:09 -0600 Subject: [PATCH 2/2] python312Packages.bk7231tools: init at 2.0.2 --- .../python-modules/bk7231tools/default.nix | 46 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/python-modules/bk7231tools/default.nix diff --git a/pkgs/development/python-modules/bk7231tools/default.nix b/pkgs/development/python-modules/bk7231tools/default.nix new file mode 100644 index 000000000000..cde2416c8126 --- /dev/null +++ b/pkgs/development/python-modules/bk7231tools/default.nix @@ -0,0 +1,46 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + poetry-core, + pycryptodome, + py-datastruct, + pyserial, +}: + +buildPythonPackage rec { + pname = "bk7231tools"; + version = "2.0.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "tuya-cloudcutter"; + repo = "bk7231tools"; + tag = "v${version}"; + hash = "sha256-Ag63VNBSKEPDaxhS40SVB8rKIJRS1IsrZ9wSD0FglSU="; + }; + + pythonRelaxDeps = [ + "pycryptodome" + "py-datastruct" + "pyserial" + ]; + + build-system = [ poetry-core ]; + + dependencies = [ + pycryptodome + py-datastruct + pyserial + ]; + + pythonImportsCheck = [ "bk7231tools" ]; + + meta = { + description = "Tools to interact with and analyze artifacts for BK7231 MCUs"; + homepage = "https://github.com/tuya-cloudcutter/bk7231tools"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ mevatron ]; + mainProgram = "bk7231tools"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1582fc1a62c3..2e1db01a4d74 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1695,6 +1695,8 @@ self: super: with self; { bjoern = callPackage ../development/python-modules/bjoern { }; + bk7231tools = callPackage ../development/python-modules/bk7231tools { }; + bkcharts = callPackage ../development/python-modules/bkcharts { }; black = callPackage ../development/python-modules/black { };