summary refs log tree commit diff
path: root/pkgs/tools/security/theharvester
diff options
context:
space:
mode:
authorRenaud <c0bw3b@users.noreply.github.com>2019-11-04 19:41:24 +0100
committerGitHub <noreply@github.com>2019-11-04 19:41:24 +0100
commitc4821a82f880df90987ff56a4e781fc42ed914b5 (patch)
tree632a2f5f2396e31ca26ef1e4e453a97d13e29c70 /pkgs/tools/security/theharvester
parentba765155b4848e38e8d44b03630c27c482a720f2 (diff)
downloadnixpkgs-c4821a82f880df90987ff56a4e781fc42ed914b5.tar
nixpkgs-c4821a82f880df90987ff56a4e781fc42ed914b5.tar.gz
nixpkgs-c4821a82f880df90987ff56a4e781fc42ed914b5.tar.bz2
nixpkgs-c4821a82f880df90987ff56a4e781fc42ed914b5.tar.lz
nixpkgs-c4821a82f880df90987ff56a4e781fc42ed914b5.tar.xz
nixpkgs-c4821a82f880df90987ff56a4e781fc42ed914b5.tar.zst
nixpkgs-c4821a82f880df90987ff56a4e781fc42ed914b5.zip
theharvester: 3.0.6 -> 3.1
+ use buildPythonApplication now that upstream ships a setup.py

(#72748)
Diffstat (limited to 'pkgs/tools/security/theharvester')
-rw-r--r--pkgs/tools/security/theharvester/default.nix44
1 files changed, 20 insertions, 24 deletions
diff --git a/pkgs/tools/security/theharvester/default.nix b/pkgs/tools/security/theharvester/default.nix
index 4a1e92e6104..4153ddafbf4 100644
--- a/pkgs/tools/security/theharvester/default.nix
+++ b/pkgs/tools/security/theharvester/default.nix
@@ -1,40 +1,36 @@
-{ stdenv, fetchFromGitHub, makeWrapper, python3Packages }:
+{ lib, fetchFromGitHub, python3 }:
 
-stdenv.mkDerivation rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "theHarvester";
-  version = "3.0.6";
+  version = "3.1";
 
   src = fetchFromGitHub {
     owner = "laramies";
     repo = pname;
-    rev = version;
-    sha256 = "0f33a7sfb5ih21yp1wspb03fxsls1m14yizgrw0srfirm2a6aa0c";
+    rev = "V${version}";
+    sha256 = "0lxzxfa9wbzim50d2jmd27i57szd0grm1dfayhnym86jn01qpvn3";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  propagatedBuildInputs = with python3.pkgs; [ 
+    aiodns beautifulsoup4 dns grequests netaddr
+    plotly pyyaml requests retrying shodan texttable
+  ];
 
-  # add dependencies
-  propagatedBuildInputs = with python3Packages; [ requests beautifulsoup4 plotly ];
+  checkInputs = [ python3.pkgs.pytest ];
 
-  installPhase = ''
-    # create dirs
-    mkdir -p $out/share/${pname} $out/bin
+  checkPhase = "runHook preCheck ; pytest tests/test_myparser.py ; runHook postCheck";
+  # We don't run other tests (discovery modules) because they require network access
 
-    # move project code
-    mv * $out/share/${pname}/
-
-    # make project runnable
-    chmod +x $out/share/${pname}/theHarvester.py
-    ln -s $out/share/${pname}/theHarvester.py $out/bin
-
-    wrapProgram "$out/bin/theHarvester.py" --prefix PYTHONPATH : $out/share/${pname}:$PYTHONPATH
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Gather E-mails, subdomains and names from different public sources";
+    longDescription = ''
+      theHarvester is a very simple, yet effective tool designed to be used in the early
+      stages of a penetration test. Use it for open source intelligence gathering and
+      helping to determine an entity's external threat landscape on the internet. The tool
+      gathers emails, names, subdomains, IPs, and URLs using multiple public data sources.
+    '';
     homepage = "https://github.com/laramies/theHarvester";
-    platforms = platforms.all;
-    maintainers = with maintainers; [ treemo ];
+    maintainers = with maintainers; [ c0bw3b treemo ];
     license = licenses.gpl2;
   };
 }