Skip to content

Commit

Permalink
Merge pull request #321158 from frogamic/spsdk-update
Browse files Browse the repository at this point in the history
python3Packages.spsdk 2.1.1 -> 2.2.0
  • Loading branch information
Lassulus authored Jul 18, 2024
2 parents 1045af6 + 719a79d commit 8b2a796
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 45 deletions.
25 changes: 13 additions & 12 deletions pkgs/development/python-modules/libusbsio/default.nix
Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
{
lib,
buildPythonPackage,
fetchPypi,
libusbsio,
}:

buildPythonPackage rec {
pname = "libusbsio";
format = "setuptools";
inherit (libusbsio) version;
version = "2.1.12";
# If the versions come back into sync switch back to inheriting from c lib
# inherit (libusbsio) version;

src = "${libusbsio.src}/python";

# The source includes both the python module directly and also a source tarball for it.
# The direct files lack setup information, the tarball includes unwanted binaries.
# This takes only the setup files from the tarball.
postUnpack = ''
tar -C python --strip-components=1 -xf python/dist/libusbsio-${version}.tar.gz libusbsio-${version}/{setup.py,setup.cfg,pyproject.toml}
rm -r python/dist
'';
src = fetchPypi {
inherit pname version;
hash = "sha256-RdUhwilBOwg19ay3Po3zsxqlBV9FTy3btJDbO4YEKS8=";
};

# The source includes both the python module directly and also prebuilt binaries
# Delete the binaries and patch the wrapper to use binary from Nixpkgs instead
postPatch = ''
rm -rf libusbsio/bin
substituteInPlace libusbsio/libusbsio.py \
--replace "dllpath = LIBUSBSIO._lookup_dll_path(dfltdir, dllname)" 'dllpath = "${libusbsio}/lib/" + dllname'
'';
Expand All @@ -31,8 +32,8 @@ buildPythonPackage rec {
pythonImportsCheck = [ "libusbsio" ];

meta = with lib; {
description = "NXP Secure Provisioning SDK";
homepage = "https://github.com/NXPmicro/spsdk";
description = "LIBUSBSIO Host Library for USB Enabled MCUs";
homepage = "https://www.nxp.com/design/design-center/software/development-software/libusbsio-host-library-for-usb-enabled-mcus:LIBUSBSIO";
license = licenses.bsd3;
maintainers = with maintainers; [
frogamic
Expand Down
19 changes: 9 additions & 10 deletions pkgs/development/python-modules/pyocd/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
pylink-square,
pyusb,
pyyaml,
setuptools,
setuptools-scm,
typing-extensions,
stdenv,
Expand All @@ -44,17 +43,11 @@ buildPythonPackage rec {
})
];

postPatch = ''
substituteInPlace setup.cfg \
--replace "libusb-package>=1.0,<2.0" ""
'';
pythonRemoveDeps = [ "libusb-package" ];

nativeBuildInputs = [
setuptools
setuptools-scm
];
build-system = [ setuptools-scm ];

propagatedBuildInputs = [
dependencies = [
capstone_4
cmsis-pack-manager
colorama
Expand All @@ -74,6 +67,12 @@ buildPythonPackage rec {

pythonImportsCheck = [ "pyocd" ];

disabledTests = [
# AttributeError: 'not_called' is not a valid assertion
# Upstream fix at https://github.com/pyocd/pyOCD/pull/1710
"test_transfer_err_not_flushed"
];

nativeCheckInputs = [ pytestCheckHook ];

meta = with lib; {
Expand Down
35 changes: 12 additions & 23 deletions pkgs/development/python-modules/spsdk/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
buildPythonPackage,
fetchFromGitHub,
asn1crypto,
astunparse,
bincopy,
bitstring,
click,
Expand All @@ -17,16 +16,14 @@
hexdump,
libusbsio,
oscrypto,
packaging,
platformdirs,
prettytable,
pylink-square,
pyocd,
pyocd-pemicro,
pypemicro,
pyserial,
requests,
ruamel-yaml,
setuptools,
setuptools-scm,
sly,
spsdk,
testers,
Expand All @@ -39,31 +36,30 @@

buildPythonPackage rec {
pname = "spsdk";
version = "2.1.1";
version = "2.2.0";
pyproject = true;

src = fetchFromGitHub {
owner = "nxp-mcuxpresso";
repo = "spsdk";
rev = "refs/tags/${version}";
hash = "sha256-cWz2zML/gb9l2C5VEBti+nX3ZLyGbLFyLZGjk5GfTJw=";
hash = "sha256-2CFxJAP87ysly0i4AfODbwUt5W287+OK7fatdPco7e4=";
};

nativeBuildInputs = [
setuptools
];
build-system = [ setuptools-scm ];

pythonRelaxDeps = [
"click"
"cryptography"
"platformdirs"
"requests"
"packaging"
"typing-extensions"
];

propagatedBuildInputs = [
# Remove unneeded unfree package. pyocd-pemicro is only used when
# generating a pyinstaller package, which we don't do.
pythonRemoveDeps = [ "pyocd-pemicro" ];

dependencies = [
asn1crypto
astunparse
bincopy
bitstring
click
Expand All @@ -77,12 +73,10 @@ buildPythonPackage rec {
hexdump
libusbsio
oscrypto
packaging
platformdirs
prettytable
pylink-square
pyocd
pyocd-pemicro
pypemicro
pyserial
requests
ruamel-yaml
Expand All @@ -97,11 +91,6 @@ buildPythonPackage rec {
voluptuous
];

disabledTests = [
"test_nxpcrypto_create_signature_algorithm"
"test_nxpimage_sb31_kaypair_not_matching"
];

pythonImportsCheck = [ "spsdk" ];

passthru.tests.version = testers.testVersion { package = spsdk; };
Expand Down

0 comments on commit 8b2a796

Please sign in to comment.