evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / vi / villain / package.nix
blobab40f15b50ae97904ab3af52fac4b5ce06578f61
2   lib,
3   fetchFromGitHub,
4   python3,
5   python3Packages,
6   makeWrapper,
7 }:
9 python3Packages.buildPythonApplication rec {
10   pname = "villain";
11   version = "2.2.0";
12   pyproject = false;
14   src = fetchFromGitHub {
15     owner = "t3l3machus";
16     repo = "Villain";
17     rev = "v${version}";
18     hash = "sha256-7qZ91WEzQg9k9V/FlREW4YLlEnloeVkisDO8q/+bheo=";
19   };
21   nativeBuildInputs = [ makeWrapper ];
23   dependencies = with python3Packages; [
24     gnureadline
25     netifaces
26     pycryptodomex
27     pyperclip
28     requests
29   ];
31   installPhase = ''
32     runHook preInstall
33     mkdir -p $out/{bin,share/villain}
34     rm README.md requirements.txt LICENSE.md
35     cp -a * $out/share/villain/
36     makeWrapper ${python3}/bin/python $out/bin/villain \
37       --add-flags "$out/share/villain/Villain.py" \
38       --prefix PYTHONPATH : ${python3Packages.makePythonPath dependencies}
39     runHook postInstall
40   '';
42   meta = {
43     description = "High level stage 0/1 C2 framework that can handle multiple TCP socket & HoaxShell-based reverse shells";
44     homepage = "https://github.com/t3l3machus/Villain";
45     license = lib.licenses.cc-by-nc-nd-40;
46     mainProgram = "villain";
47     maintainers = with lib.maintainers; [ d3vil0p3r ];
48     platforms = lib.platforms.unix;
49   };