From 2e61922fc25591dc9ea475db6dd08288a149be5b Mon Sep 17 00:00:00 2001 From: Simon Bruder Date: Wed, 27 Jul 2022 10:58:29 +0200 Subject: [PATCH] pyocd: init at 0.34.1 --- pkgs/development/embedded/pyocd/default.nix | 72 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 74 insertions(+) create mode 100644 pkgs/development/embedded/pyocd/default.nix diff --git a/pkgs/development/embedded/pyocd/default.nix b/pkgs/development/embedded/pyocd/default.nix new file mode 100644 index 000000000000..52cf703a71aa --- /dev/null +++ b/pkgs/development/embedded/pyocd/default.nix @@ -0,0 +1,72 @@ +{ lib +, buildPythonPackage +, fetchPypi +, fetchpatch +, capstone +, cmsis-pack-manager +, colorama +, intelhex +, intervaltree +, natsort +, prettytable +, pyelftools +, pylink-square +, pyusb +, pyyaml +, typing-extensions +, stdenv +, hidapi +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "pyocd"; + version = "0.34.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-Fpa2IEsLOQ8ylGI/5D6h+22j1pvrvE9IMIyhCtyM6qU="; + }; + + patches = [ + # https://github.com/pyocd/pyOCD/pull/1332 + (fetchpatch { + name = "libusb-package-optional.patch"; + url = "https://github.com/pyocd/pyOCD/commit/0b980cf253e3714dd2eaf0bddeb7172d14089649.patch"; + sha256 = "sha256-B2+50VntcQELeakJbCeJdgI1iBU+h2NkXqba+LRYa/0="; + }) + ]; + + propagatedBuildInputs = [ + capstone + cmsis-pack-manager + colorama + intelhex + intervaltree + natsort + prettytable + pyelftools + pylink-square + pyusb + pyyaml + typing-extensions + ] ++ lib.optionals (!stdenv.isLinux) [ + hidapi + ]; + + checkInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "pyocd" ]; + + postPatch = '' + substituteInPlace setup.cfg \ + --replace "libusb-package>=1.0,<2.0" "" + ''; + + meta = with lib; { + description = "Python library for programming and debugging Arm Cortex-M microcontrollers"; + homepage = "https://pyocd.io/"; + license = licenses.asl20; + maintainers = with maintainers; [ frogamic sbruder ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ee3167e45ea1..3b5530f47b64 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10032,6 +10032,8 @@ with pkgs; pympress = callPackage ../applications/office/pympress { }; + pyocd = python3Packages.callPackage ../development/embedded/pyocd { }; + pyspread = libsForQt5.callPackage ../applications/office/pyspread { }; teapot = callPackage ../applications/office/teapot { };