From 278e097eee0044aa0b4c5e867efea32fa3b2cc46 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 28 Apr 2025 13:16:51 +0200 Subject: [PATCH 1/5] python312Packages.t61codec: init at 2.0.0 --- .../python-modules/t61codec/default.nix | 38 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 40 insertions(+) create mode 100644 pkgs/development/python-modules/t61codec/default.nix diff --git a/pkgs/development/python-modules/t61codec/default.nix b/pkgs/development/python-modules/t61codec/default.nix new file mode 100644 index 000000000000..ea0d4d5e83d4 --- /dev/null +++ b/pkgs/development/python-modules/t61codec/default.nix @@ -0,0 +1,38 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + poetry-core, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "t61codec"; + version = "2.0.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "exhuma"; + repo = "t61codec"; + tag = "v${version}"; + hash = "sha256-PNUahn6NpNWdK3yhcQ23qb08lkZeNW61GosShLiyPc8="; + }; + + build-system = [ + poetry-core + ]; + + pythonImportsCheck = [ "t61codec" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + description = "Python codec for T.61 strings"; + homepage = "https://github.com/exhuma/t61codec"; + changelog = "https://github.com/exhuma/t61codec/blob/v${version}/CHANGES.rst"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 725886628211..a59a89f7c4d8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16888,6 +16888,8 @@ self: super: with self; { sysv-ipc = callPackage ../development/python-modules/sysv-ipc { }; + t61codec = callPackage ../development/python-modules/t61codec { }; + tabcmd = callPackage ../development/python-modules/tabcmd { }; tableaudocumentapi = callPackage ../development/python-modules/tableaudocumentapi { }; From 1d6017043dee40ca70a8b19eccbe2cfa418829e5 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 28 Apr 2025 13:17:02 +0200 Subject: [PATCH 2/5] python312Packages.x690: init at 1.0.0 --- .../python-modules/x690/default.nix | 53 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 55 insertions(+) create mode 100644 pkgs/development/python-modules/x690/default.nix diff --git a/pkgs/development/python-modules/x690/default.nix b/pkgs/development/python-modules/x690/default.nix new file mode 100644 index 000000000000..61ec38319a6b --- /dev/null +++ b/pkgs/development/python-modules/x690/default.nix @@ -0,0 +1,53 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + t61codec, + pytest-cov-stub, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "x690"; + version = "1.0.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "exhuma"; + repo = "x690"; + tag = "v${version}"; + hash = "sha256-yU4FABlTAFoj87SJXDA+sVCJT3pCbYxpTXp7Ja2ltGE="; + }; + + build-system = [ + setuptools + ]; + + pythonRelaxDeps = [ + "t61codec" + ]; + + dependencies = [ + t61codec + ]; + + pythonImportsCheck = [ "x690" ]; + + nativeCheckInputs = [ + pytest-cov-stub + pytestCheckHook + ]; + + disabledTests = [ + # AssertionError: "" != "" + "test_repr" + ]; + + meta = { + description = "Pure Python X.690 implementation"; + homepage = "https://github.com/exhuma/x690"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a59a89f7c4d8..eb7f4d9a94ca 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -19025,6 +19025,8 @@ self: super: with self; { x256 = callPackage ../development/python-modules/x256 { }; + x690 = callPackage ../development/python-modules/x690 { }; + xapian = callPackage ../development/python-modules/xapian { inherit (pkgs) xapian; }; xarray = callPackage ../development/python-modules/xarray { }; From 7b271fcfabdf29b3a7fca8b764434af35f6ba412 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 28 Apr 2025 13:24:49 +0200 Subject: [PATCH 3/5] python312Packages.spsdk-mcu-link: init at 0.6.0 --- .../python-modules/spsdk-mcu-link/default.nix | 80 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 82 insertions(+) create mode 100644 pkgs/development/python-modules/spsdk-mcu-link/default.nix diff --git a/pkgs/development/python-modules/spsdk-mcu-link/default.nix b/pkgs/development/python-modules/spsdk-mcu-link/default.nix new file mode 100644 index 000000000000..b62f2afd508a --- /dev/null +++ b/pkgs/development/python-modules/spsdk-mcu-link/default.nix @@ -0,0 +1,80 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + + # build-system + setuptools, + + # dependencies + hidapi, + pyusb, + + # tests + click, + pytestCheckHook, + spsdk, + writableTmpDirAsHomeHook, + + # passthru + spsdk-mcu-link, +}: + +buildPythonPackage rec { + pname = "spsdk-mcu-link"; + version = "0.6.0"; + pyproject = true; + + # Latest tag missing on GitHub + src = fetchPypi { + pname = "spsdk_mcu_link"; + inherit version; + hash = "sha256-x+aOfFdD0+IfDT7LA2QlYqR7kMOwPfvlMCcZvOYnM0Q="; + }; + + build-system = [ + setuptools + ]; + + pythonRemoveDeps = [ + # unpackaged + "libusb_package" + "wasmtime" + ]; + + pythonRelaxDeps = [ + "pyusb" + ]; + + dependencies = [ + hidapi + pyusb + ]; + + nativeCheckInputs = [ + click + pytestCheckHook + spsdk + writableTmpDirAsHomeHook + ]; + + # Cyclic dependency with spsdk + doCheck = false; + + passthru.tests = { + pytest = spsdk-mcu-link.overridePythonAttrs { + pythonImportsCheck = [ + "spsdk_mcu_link" + ]; + + doCheck = true; + }; + }; + + meta = { + description = "Debugger probe plugin for SPSDK supporting LPC-Link/MCU-Link from NXP"; + homepage = "https://pypi.org/project/spsdk-mcu-link"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index eb7f4d9a94ca..409ddc395268 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16435,6 +16435,8 @@ self: super: with self; { spsdk = callPackage ../development/python-modules/spsdk { }; + spsdk-mcu-link = callPackage ../development/python-modules/spsdk-mcu-link { }; + spur = callPackage ../development/python-modules/spur { }; spyder = callPackage ../development/python-modules/spyder { }; From 4e1898a28eb04a45f6d0f9d7aae7dce1cc3b4f8d Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 28 Apr 2025 13:35:28 +0200 Subject: [PATCH 4/5] python312Packages.spsdk-pyocd: init at 0.3.1 --- .../python-modules/spsdk-pyocd/default.nix | 71 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 73 insertions(+) create mode 100644 pkgs/development/python-modules/spsdk-pyocd/default.nix diff --git a/pkgs/development/python-modules/spsdk-pyocd/default.nix b/pkgs/development/python-modules/spsdk-pyocd/default.nix new file mode 100644 index 000000000000..87aa71450d14 --- /dev/null +++ b/pkgs/development/python-modules/spsdk-pyocd/default.nix @@ -0,0 +1,71 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + + # build-system + setuptools, + + # dependencies + pyocd, + pyocd-pemicro, + spsdk, + + # tests + pytestCheckHook, + writableTmpDirAsHomeHook, + + # passthru + spsdk-pyocd, +}: + +buildPythonPackage rec { + pname = "spsdk-pyocd"; + version = "0.3.1"; + pyproject = true; + + # Latest tag missing on GitHub + src = fetchPypi { + pname = "spsdk_pyocd"; + inherit version; + hash = "sha256-yVQtX2T1l0TmFwaZDSFCXMuoFxTalfOr3b4CCTeteKI="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + pyocd + ]; + + optional-dependencies = { + pemicro = [ + pyocd-pemicro + ]; + }; + + nativeCheckInputs = [ + pytestCheckHook + spsdk + writableTmpDirAsHomeHook + ]; + + # Cyclic dependency with spsdk + doCheck = false; + + passthru.tests = { + pytest = spsdk-pyocd.overridePythonAttrs { + pythonImportsCheck = [ "spsdk_pyocd" ]; + + doCheck = true; + }; + }; + + meta = { + description = "Debugger probe plugin for SPSDK"; + homepage = "https://pypi.org/project/spsdk-pyocd"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 409ddc395268..df5d8ba98ef1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16437,6 +16437,8 @@ self: super: with self; { spsdk-mcu-link = callPackage ../development/python-modules/spsdk-mcu-link { }; + spsdk-pyocd = callPackage ../development/python-modules/spsdk-pyocd { }; + spur = callPackage ../development/python-modules/spur { }; spyder = callPackage ../development/python-modules/spyder { }; From cf49c422319a86eefa738d05520ad9b7310276a1 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 28 Apr 2025 12:56:23 +0200 Subject: [PATCH 5/5] python312Packages.spsdk: 2.5.0 -> 2.6.1 Diff: https://github.com/nxp-mcuxpresso/spsdk/compare/refs/tags/v2.5.0...refs/tags/v2.6.1 Changelog: https://github.com/nxp-mcuxpresso/spsdk/blob/v2.6.1/docs/release_notes.rst --- .../python-modules/spsdk/default.nix | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/spsdk/default.nix b/pkgs/development/python-modules/spsdk/default.nix index e0569c52c982..cc518a0b3343 100644 --- a/pkgs/development/python-modules/spsdk/default.nix +++ b/pkgs/development/python-modules/spsdk/default.nix @@ -27,12 +27,16 @@ packaging, platformdirs, prettytable, + pyasn1, pyocd, pyserial, requests, ruamel-yaml, sly, + spsdk-mcu-link, + spsdk-pyocd, typing-extensions, + x690, # tests ipykernel, @@ -40,26 +44,25 @@ pytestCheckHook, voluptuous, versionCheckHook, + writableTmpDirAsHomeHook, }: buildPythonPackage rec { pname = "spsdk"; - version = "2.5.0"; + version = "2.6.1"; pyproject = true; src = fetchFromGitHub { owner = "nxp-mcuxpresso"; repo = "spsdk"; tag = "v${version}"; - hash = "sha256-Ua32c6hNjwfjsQIugiqtRL50AvOrPgqyKoG1Lb0NVqE="; + hash = "sha256-AdW19Zf5TZ6hChXbW9dLGcMpFTQOT1wrPzEqaSfWzDE="; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace-fail "setuptools>=72.1,<74" "setuptools" - - substituteInPlace setup.py \ - --replace-fail "setuptools>=72.1,<74" "setuptools" + --replace-fail "setuptools>=72.1,<74" "setuptools" \ + --replace-fail "setuptools_scm<8.2" "setuptools_scm" ''; build-system = [ @@ -69,8 +72,12 @@ buildPythonPackage rec { pythonRelaxDeps = [ "cryptography" - "requests" + "filelock" + "importlib-metadata" "packaging" + "prettytable" + "requests" + "setuptools_scm" "typing-extensions" ]; @@ -100,26 +107,27 @@ buildPythonPackage rec { packaging platformdirs prettytable + pyasn1 pyocd pyserial requests ruamel-yaml sly + spsdk-mcu-link + spsdk-pyocd typing-extensions + x690 ]; pythonImportsCheck = [ "spsdk" ]; - preInstallCheck = '' - export HOME="$(mktemp -d)" - ''; - nativeCheckInputs = [ ipykernel pytest-notebook pytestCheckHook voluptuous versionCheckHook + writableTmpDirAsHomeHook ]; versionCheckProgramArg = "--version"; @@ -129,7 +137,7 @@ buildPythonPackage rec { ]; meta = { - changelog = "https://github.com/nxp-mcuxpresso/spsdk/blob/${src.tag}/docs/release_notes.rst"; + changelog = "https://github.com/nxp-mcuxpresso/spsdk/blob/v${version}/docs/release_notes.rst"; description = "NXP Secure Provisioning SDK"; homepage = "https://github.com/nxp-mcuxpresso/spsdk"; license = lib.licenses.bsd3;