diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index ee27343f4fb3..ddd4fd41604f 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -21463,6 +21463,12 @@ githubId = 4033651; name = "Keagan McClelland"; }; + prophetofxenu = { + email = "xenu@prophetofxenu.net"; + github = "prophetofxenu"; + githubId = 20529712; + name = "William Harrell"; + }; protoben = { email = "protob3n@gmail.com"; github = "protoben"; diff --git a/pkgs/by-name/py/pymcuprog/package.nix b/pkgs/by-name/py/pymcuprog/package.nix new file mode 100644 index 000000000000..4b03cc365872 --- /dev/null +++ b/pkgs/by-name/py/pymcuprog/package.nix @@ -0,0 +1 @@ +{ python3Packages }: with python3Packages; toPythonApplication pymcuprog diff --git a/pkgs/development/python-modules/pyedbglib/default.nix b/pkgs/development/python-modules/pyedbglib/default.nix new file mode 100644 index 000000000000..e07f2e825b4c --- /dev/null +++ b/pkgs/development/python-modules/pyedbglib/default.nix @@ -0,0 +1,57 @@ +{ + lib, + fetchFromGitHub, + buildPythonPackage, + + # build-system + setuptools, + + # dependencies + cython, + hidapi, + pyserial, + + # tests + pytestCheckHook, + mock, +}: + +buildPythonPackage { + pname = "pyedbglib"; + version = "2.24.2.18"; + pyproject = true; + + src = fetchFromGitHub { + owner = "microchip-pic-avr-tools"; + repo = "pyedbglib"; + # the repo currently does not tag releases, so using the + # commit ID for now + rev = "9bbeceba942772ef31b9c059b761460a782313e"; + hash = "sha256-iZB/+JEBy5n1zfajmJmEqRVQ2hPzJD/U85SvmyFiGhc="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + cython + hidapi + pyserial + ]; + + pythonImportsCheck = [ "pyedbglib" ]; + + nativeCheckInputs = [ + mock + pytestCheckHook + ]; + + meta = { + description = "Low-level protocol library for communicating with Microchip CMSIS-DAP based debuggers"; + homepage = "https://github.com/microchip-pic-avr-tools/pyedbglib"; + changelog = "https://github.com/microchip-pic-avr-tools/pyedbglib/blob/main/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ prophetofxenu ]; + }; +} diff --git a/pkgs/development/python-modules/pymcuprog/default.nix b/pkgs/development/python-modules/pymcuprog/default.nix new file mode 100644 index 000000000000..b80af5b4a8b0 --- /dev/null +++ b/pkgs/development/python-modules/pymcuprog/default.nix @@ -0,0 +1,69 @@ +{ + lib, + fetchFromGitHub, + buildPythonPackage, + + # build-system + setuptools, + + # dependencies + appdirs, + intelhex, + pyedbglib, + pyserial, + pyyaml, + + # tests + mock, + parameterized, + pytestCheckHook, + versionCheckHook, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage { + pname = "pymcuprog"; + version = "3.19.4.61"; + pyproject = true; + + src = fetchFromGitHub { + owner = "microchip-pic-avr-tools"; + repo = "pymcuprog"; + # the repo currently does not tag releases, so using the + # commit ID for now + rev = "e2fa9a7f0b9cc413367c51b9ccf19d93cdca6c8"; + hash = "sha256-RmFGQ6LbuwwM/WHr01nYGZYoWG7Qbasz/TL4r8l1NUk"; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + appdirs + intelhex + pyedbglib + pyserial + pyyaml + ]; + + pythonImportsCheck = [ "pymcuprog" ]; + + nativeCheckInputs = [ + mock + parameterized + pytestCheckHook + versionCheckHook + writableTmpDirAsHomeHook + ]; + versionCheckKeepEnvironment = "HOME"; + + meta = { + description = "Python utility for programming various Microchip MCU devices using Microchip CMSIS-DAP based debuggers"; + mainProgram = "pymcuprog"; + homepage = "https://github.com/microchip-pic-avr-tools/pymcuprog"; + changelog = "https://github.com/microchip-pic-avr-tools/pymcuprog/blob/main/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ prophetofxenu ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ad438a98e6fc..ebc940204178 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13428,6 +13428,8 @@ self: super: with self; { pyecowitt = callPackage ../development/python-modules/pyecowitt { }; + pyedbglib = callPackage ../development/python-modules/pyedbglib { }; + pyedflib = callPackage ../development/python-modules/pyedflib { }; pyedimax = callPackage ../development/python-modules/pyedimax { }; @@ -13976,6 +13978,8 @@ self: super: with self; { pymc = callPackage ../development/python-modules/pymc { }; + pymcuprog = callPackage ../development/python-modules/pymcuprog { }; + pymdown-extensions = callPackage ../development/python-modules/pymdown-extensions { }; pymdstat = callPackage ../development/python-modules/pymdstat { };