about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/spsdk
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-12-06 19:57:55 +0000
committerAlyssa Ross <hi@alyssa.is>2023-02-08 13:48:30 +0000
commitbf3aadfdd39aa197e18bade671fab6726349ffa4 (patch)
tree698567af766ed441d757b57a7b21e68d4a342a2b /nixpkgs/pkgs/development/python-modules/spsdk
parentf4afc5a01d9539ce09e47494e679c51f80723d07 (diff)
parent99665eb45f58d959d2cb9e49ddb960c79d596f33 (diff)
downloadnixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.gz
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.bz2
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.lz
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.xz
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.zst
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.zip
Merge commit '99665eb45f58d959d2cb9e49ddb960c79d596f33'
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/spsdk')
-rw-r--r--nixpkgs/pkgs/development/python-modules/spsdk/default.nix116
1 files changed, 116 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/spsdk/default.nix b/nixpkgs/pkgs/development/python-modules/spsdk/default.nix
new file mode 100644
index 000000000000..ce566fb94a89
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/spsdk/default.nix
@@ -0,0 +1,116 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, dos2unix
+, pythonRelaxDepsHook
+, asn1crypto
+, astunparse
+, bincopy
+, bitstring
+, click
+, click-option-group
+, cmsis-pack-manager
+, commentjson
+, crcmod
+, cryptography
+, deepmerge
+, fastjsonschema
+, hexdump
+, jinja2
+, libusbsio
+, oscrypto
+, pycryptodome
+, pylink-square
+, pyocd
+, pypemicro
+, pyserial
+, ruamel-yaml
+, sly
+, pytestCheckHook
+, voluptuous
+}:
+
+buildPythonPackage rec {
+  pname = "spsdk";
+  version = "1.6.3";
+
+  src = fetchFromGitHub {
+    owner = "NXPmicro";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-JMhd2XdbjEN6SUzFgcBHd/dStiuYeXXis6pfijSfUso=";
+  };
+
+  patches = [
+    # https://github.com/NXPmicro/spsdk/pull/43
+    (fetchpatch {
+      name = "cryptography-37-compat.patch";
+      url = "https://github.com/NXPmicro/spsdk/commit/a85b854de1093de593d27fa64de442224ab2e0fd.patch";
+      sha256 = "sha256-4pXV/8RaNuGl7KNdoGD/8YnPQ2ZmUQOjXWA/Yy0Kxu8=";
+    })
+    # https://github.com/NXPmicro/spsdk/pull/41
+    (fetchpatch {
+      name = "blhost-click-8-1-compat.patch";
+      url = "https://github.com/NXPmicro/spsdk/commit/5112b1b69aa681d265035475e73d28ea0c8cb6ab.patch";
+      sha256 = "sha256-Okz6Er6OVuAA5IlB5IabSa/gUSLa+E2Ltd+J3uoIg6o=";
+    })
+  ];
+
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
+  pythonRelaxDeps = [
+    "cmsis-pack-manager"
+    "cryptography"
+    "deepmerge"
+    "jinja2"
+    "pylink-square"
+    "pyocd"
+  ];
+  pythonRemoveDeps = [ "pyocd-pemicro" ];
+
+  propagatedBuildInputs = [
+    asn1crypto
+    astunparse
+    bincopy
+    bitstring
+    click
+    click-option-group
+    cmsis-pack-manager
+    commentjson
+    crcmod
+    cryptography
+    deepmerge
+    fastjsonschema
+    hexdump
+    jinja2
+    libusbsio
+    oscrypto
+    pycryptodome
+    pylink-square
+    pyocd
+    pypemicro
+    pyserial
+    ruamel-yaml
+    sly
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    voluptuous
+  ];
+
+  disabledTests = [
+    # tests also fail on debian, so presumable they are broken
+    "test_elftosb_mbi_signed"
+    "test_elftosb_sb31"
+  ];
+
+  pythonImportsCheck = [ "spsdk" ];
+
+  meta = with lib; {
+    description = "NXP Secure Provisioning SDK";
+    homepage = "https://github.com/NXPmicro/spsdk";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ frogamic sbruder ];
+  };
+}