biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / security / routersploit / default.nix
blob3f656e8e457873b04d6e7d3ddbee8d49a6607c48
1 { lib
2 , fetchFromGitHub
3 , python3
4 }:
6 python3.pkgs.buildPythonApplication rec {
7   pname = "routersploit";
8   version = "unstable-2021-02-06";
9   format = "setuptools";
11   src = fetchFromGitHub {
12     owner = "threat9";
13     repo = pname;
14     rev = "3fd394637f5566c4cf6369eecae08c4d27f93cda";
15     hash = "sha256-IET0vL0VVP9ZNn75hKdTCiEmOZRHHYICykhzW2g3LEg=";
16   };
18   propagatedBuildInputs = with python3.pkgs; [
19     future
20     paramiko
21     pycryptodome
22     pysnmp
23     requests
24     setuptools
25   ];
27   nativeCheckInputs = with python3.pkgs; [
28     pytest-xdist
29     pytestCheckHook
30     threat9-test-bed
31   ];
33   postInstall = ''
34     mv $out/bin/rsf.py $out/bin/rsf
35   '';
37   pythonImportsCheck = [
38     "routersploit"
39   ];
41   pytestFlagsArray = [
42     "-n"
43     "$NIX_BUILD_CORES"
44     # Run the same tests as upstream does in the first round
45     "tests/core/"
46     "tests/test_exploit_scenarios.py"
47     "tests/test_module_info.py"
48   ];
50   meta = with lib; {
51     description = "Exploitation Framework for Embedded Devices";
52     homepage = "https://github.com/threat9/routersploit";
53     license = with licenses; [ bsd3 ];
54     maintainers = with maintainers; [ fab ];
55     mainProgram = "rsf";
56   };