Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / ey / eyewitness / package.nix
blobcc13cb0e13a918af2dbfceef092e85df3391b955
1 { lib
2 , fetchFromGitHub
3 , python3Packages
4 , xvfb-run
5 , firefox-esr
6 , geckodriver
7 , makeWrapper
8 }:
10 python3Packages.buildPythonApplication rec {
11   pname = "eye-witness";
12   version = "20230525.1";
13   format = "other";
15   src = fetchFromGitHub {
16     owner = "redsiege";
17     repo = "EyeWitness";
18     rev = "v${version}";
19     hash = "sha256-nSPpPbwqagc5EadQ4AHgLhjQ0kDjmbdcwE/PL5FDL4I=";
20   };
22   build-system = with python3Packages; [
23     setuptools
24   ] ++ [
25     makeWrapper
26   ];
28   dependencies = with python3Packages; [
29     selenium
30     fuzzywuzzy
31     pyvirtualdisplay
32     pylev
33     netaddr
34     pydevtool
35   ] ++ [
36     firefox-esr
37     xvfb-run
38     geckodriver
39   ];
41   installPhase = ''
42     runHook preInstall
44     mkdir -p $out/{bin,share/eyewitness}
45     cp -R * $out/share/eyewitness
47     runHook postInstall
48   '';
50   fixupPhase = ''
51     runHook preFixup
53     makeWrapper "${python3Packages.python.interpreter}" "$out/bin/eyewitness" \
54       --set PYTHONPATH "$PYTHONPATH" \
55       --add-flags "$out/share/eyewitness/Python/EyeWitness.py"
57     runHook postFixup
58   '';
60   meta = with lib; {
61     description = "Take screenshots of websites, and identify admin interfaces";
62     homepage = "https://github.com/redsiege/EyeWitness";
63     changelog = "https://github.com/redsiege/EyeWitness/blob/${src.rev}/CHANGELOG";
64     license = licenses.gpl3Only;
65     maintainers = with maintainers; [ tochiaha ];
66     mainProgram = "eye-witness";
67     platforms = platforms.all;
68   };