diff --git a/pkgs/development/python-modules/slither-analyzer/default.nix b/pkgs/development/python-modules/slither-analyzer/default.nix new file mode 100644 index 000000000000..10241104ef33 --- /dev/null +++ b/pkgs/development/python-modules/slither-analyzer/default.nix @@ -0,0 +1,36 @@ +{ lib, buildPythonPackage, fetchPypi, makeWrapper, prettytable, pythonOlder, solc }: + +buildPythonPackage rec { + pname = "slither-analyzer"; + version = "0.3.0"; + + disabled = pythonOlder "3.6"; + + # No Python tests + doCheck = false; + + src = fetchPypi { + inherit pname version; + sha256 = "10vrcqm371kqmf702xmqmzimv3xgrn3k3ip06nr1l6gnj3jk138g"; + }; + + nativeBuildInputs = [ makeWrapper ]; + propagatedBuildInputs = [ prettytable ]; + + postFixup = '' + wrapProgram $out/bin/slither \ + --prefix PATH : "${lib.makeBinPath [ solc ]}" + ''; + + meta = with lib; { + description = "Static Analyzer for Solidity"; + longDescription = '' + Slither is a Solidity static analysis framework written in Python 3. It + runs a suite of vulnerability detectors, prints visual information about + contract details, and provides an API to easily write custom analyses. + ''; + homepage = https://github.com/trailofbits/slither; + license = licenses.agpl3; + maintainers = [ maintainers.asymmetric ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f6978a9e2501..fe72aa02a07f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5398,6 +5398,8 @@ in signal-desktop = callPackage ../applications/networking/instant-messengers/signal-desktop { }; + slither-analyzer = with python3Packages; toPythonApplication slither-analyzer; + signify = callPackage ../tools/security/signify { }; # aka., pgp-tools diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8c594faee530..8e159a6b1d53 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -716,6 +716,8 @@ in { slicerator = callPackage ../development/python-modules/slicerator { }; + slither-analyzer = callPackage ../development/python-modules/slither-analyzer { }; + snapcast = callPackage ../development/python-modules/snapcast { }; spglib = callPackage ../development/python-modules/spglib { };