linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / python-modules / slither-analyzer / default.nix
blob43583416bb4089797a44eafa0ff8d40b652d5287
1 { lib
2 , stdenv
3 , buildPythonPackage
4 , fetchPypi
5 , makeWrapper
6 , pythonOlder
7 , crytic-compile
8 , prettytable
9 , setuptools
10 , solc
11   # solc is currently broken on Darwin, default to false
12 , withSolc ? !stdenv.isDarwin
15 buildPythonPackage rec {
16   pname = "slither-analyzer";
17   version = "0.7.0";
19   disabled = pythonOlder "3.6";
21   # No Python tests
22   doCheck = false;
24   src = fetchPypi {
25     inherit pname version;
26     sha256 = "10r479xidgxvas4wb0z6injp59jrn7rfq8d7bxlcalc2dy4mawr0";
27   };
29   nativeBuildInputs = [ makeWrapper ];
30   propagatedBuildInputs = [ crytic-compile prettytable setuptools ];
32   postFixup = lib.optionalString withSolc ''
33     wrapProgram $out/bin/slither \
34       --prefix PATH : "${lib.makeBinPath [ solc ]}"
35   '';
37   meta = with lib; {
38     description = "Static Analyzer for Solidity";
39     longDescription = ''
40       Slither is a Solidity static analysis framework written in Python 3. It
41       runs a suite of vulnerability detectors, prints visual information about
42       contract details, and provides an API to easily write custom analyses.
43     '';
44     homepage = "https://github.com/trailofbits/slither";
45     license = licenses.agpl3Plus;
46     maintainers = with maintainers; [ arturcygan ];
47   };