Loading maintainers/maintainer-list.nix +8 −0 Original line number Diff line number Diff line Loading @@ -13993,6 +13993,14 @@ githubId = 4032; name = "Kristoffer Thømt Ravneberg"; }; krishnans2006 = { email = "krishnans2006@gmail.com"; matrix = "@krishnans2006:matrix.org"; github = "krishnans2006"; githubId = 62958782; name = "Krishnan Shankar"; keys = [ { fingerprint = "A30C 1843 F470 4843 5D54 3D68 29CB 06A8 40D0 E14A"; } ]; }; kristian-brucaj = { email = "kbrucaj@gmail.com"; github = "Flameslice"; Loading pkgs/development/python-modules/chipwhisperer/default.nix 0 → 100644 +112 −0 Original line number Diff line number Diff line { lib, buildPythonPackage, fetchFromGitHub, # build pythonAtLeast, setuptools, setuptools-scm, cython, # dependencies colorama, configobj, ecpy, fastdtw, libusb1, numpy, pyserial, tqdm, # install udevCheckHook, # check writableTmpDirAsHomeHook, pytestCheckHook, }: # Usage: # In NixOS, add the package to services.udev.packages for non-root plugdev # users to get device access permission: # services.udev.packages = [ pkgs.python3Packages.chipwhisperer ]; buildPythonPackage rec { pname = "chipwhisperer"; version = "5.7.0"; src = fetchFromGitHub { owner = "newaetech"; repo = "chipwhisperer"; tag = version; hash = "sha256-C7QP044QEP7vmz1lMseLtMTYoKn5SoFV/q9URY7yQ6I="; }; pyproject = true; build-system = [ setuptools setuptools-scm ]; nativeBuildInputs = [ cython ]; pythonRelaxDeps = [ "numpy" ]; dependencies = [ colorama configobj ecpy fastdtw libusb1 pyserial tqdm ]; nativeInstallCheckInputs = [ udevCheckHook ]; postInstall = '' # Install udev rules # The 50-newae.rules file from the repo isn't directly installed, since it # installs to the chipwhisperer group (and not to uaccess) mkdir -p $out/etc/udev/rules.d cat <<EOF > $out/etc/udev/rules.d/50-newae.rules SUBSYSTEMS=="usb", ATTRS{idVendor}=="2b3e", ATTRS{idProduct}=="*", TAG+="uaccess" SUBSYSTEM=="tty", ATTRS{idVendor}=="2b3e", ATTRS{idProduct}=="*", TAG+="uaccess", SYMLINK+="cw_serial%n" SUBSYSTEM=="tty", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", TAG+="uaccess", SYMLINK+="cw_bootloader%n" EOF ''; pythonImportsCheck = [ "chipwhisperer" ]; nativeCheckInputs = [ writableTmpDirAsHomeHook pytestCheckHook ]; enabledTestPaths = [ # All other tests require connected hardware # Error: "Could not find ChipWhisperer. Is it connected?" # See: https://chipwhisperer.readthedocs.io/en/latest/contributing.html#unit-tests "tests/test_api.py" ]; disabledTests = [ "TestCPA" ]; # Tries to open a tutorial project meta = { description = "Toolchain for side-channel power analysis and glitching attacks"; homepage = "https://github.com/newaetech/chipwhisperer"; changelog = "https://github.com/newaetech/chipwhisperer/releases/tag/${version}"; license = lib.licenses.asl20; maintainers = [ lib.maintainers.krishnans2006 ]; }; } pkgs/top-level/python-packages.nix +2 −0 Original line number Diff line number Diff line Loading @@ -2577,6 +2577,8 @@ self: super: with self; { chex = callPackage ../development/python-modules/chex { }; chipwhisperer = callPackage ../development/python-modules/chipwhisperer { }; chirpstack-api = callPackage ../development/python-modules/chirpstack-api { }; chispa = callPackage ../development/python-modules/chispa { }; Loading Loading
maintainers/maintainer-list.nix +8 −0 Original line number Diff line number Diff line Loading @@ -13993,6 +13993,14 @@ githubId = 4032; name = "Kristoffer Thømt Ravneberg"; }; krishnans2006 = { email = "krishnans2006@gmail.com"; matrix = "@krishnans2006:matrix.org"; github = "krishnans2006"; githubId = 62958782; name = "Krishnan Shankar"; keys = [ { fingerprint = "A30C 1843 F470 4843 5D54 3D68 29CB 06A8 40D0 E14A"; } ]; }; kristian-brucaj = { email = "kbrucaj@gmail.com"; github = "Flameslice"; Loading
pkgs/development/python-modules/chipwhisperer/default.nix 0 → 100644 +112 −0 Original line number Diff line number Diff line { lib, buildPythonPackage, fetchFromGitHub, # build pythonAtLeast, setuptools, setuptools-scm, cython, # dependencies colorama, configobj, ecpy, fastdtw, libusb1, numpy, pyserial, tqdm, # install udevCheckHook, # check writableTmpDirAsHomeHook, pytestCheckHook, }: # Usage: # In NixOS, add the package to services.udev.packages for non-root plugdev # users to get device access permission: # services.udev.packages = [ pkgs.python3Packages.chipwhisperer ]; buildPythonPackage rec { pname = "chipwhisperer"; version = "5.7.0"; src = fetchFromGitHub { owner = "newaetech"; repo = "chipwhisperer"; tag = version; hash = "sha256-C7QP044QEP7vmz1lMseLtMTYoKn5SoFV/q9URY7yQ6I="; }; pyproject = true; build-system = [ setuptools setuptools-scm ]; nativeBuildInputs = [ cython ]; pythonRelaxDeps = [ "numpy" ]; dependencies = [ colorama configobj ecpy fastdtw libusb1 pyserial tqdm ]; nativeInstallCheckInputs = [ udevCheckHook ]; postInstall = '' # Install udev rules # The 50-newae.rules file from the repo isn't directly installed, since it # installs to the chipwhisperer group (and not to uaccess) mkdir -p $out/etc/udev/rules.d cat <<EOF > $out/etc/udev/rules.d/50-newae.rules SUBSYSTEMS=="usb", ATTRS{idVendor}=="2b3e", ATTRS{idProduct}=="*", TAG+="uaccess" SUBSYSTEM=="tty", ATTRS{idVendor}=="2b3e", ATTRS{idProduct}=="*", TAG+="uaccess", SYMLINK+="cw_serial%n" SUBSYSTEM=="tty", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", TAG+="uaccess", SYMLINK+="cw_bootloader%n" EOF ''; pythonImportsCheck = [ "chipwhisperer" ]; nativeCheckInputs = [ writableTmpDirAsHomeHook pytestCheckHook ]; enabledTestPaths = [ # All other tests require connected hardware # Error: "Could not find ChipWhisperer. Is it connected?" # See: https://chipwhisperer.readthedocs.io/en/latest/contributing.html#unit-tests "tests/test_api.py" ]; disabledTests = [ "TestCPA" ]; # Tries to open a tutorial project meta = { description = "Toolchain for side-channel power analysis and glitching attacks"; homepage = "https://github.com/newaetech/chipwhisperer"; changelog = "https://github.com/newaetech/chipwhisperer/releases/tag/${version}"; license = lib.licenses.asl20; maintainers = [ lib.maintainers.krishnans2006 ]; }; }
pkgs/top-level/python-packages.nix +2 −0 Original line number Diff line number Diff line Loading @@ -2577,6 +2577,8 @@ self: super: with self; { chex = callPackage ../development/python-modules/chex { }; chipwhisperer = callPackage ../development/python-modules/chipwhisperer { }; chirpstack-api = callPackage ../development/python-modules/chirpstack-api { }; chispa = callPackage ../development/python-modules/chispa { }; Loading