about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/security/pyrit/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/security/pyrit/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/security/pyrit/default.nix42
1 files changed, 42 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/security/pyrit/default.nix b/nixpkgs/pkgs/tools/security/pyrit/default.nix
new file mode 100644
index 000000000000..93ae86416e13
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/pyrit/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, lib, fetchFromGitHub, python2Packages, openssl, zlib, libpcap, opencl-headers, ocl-icd }:
+
+let
+  version = "2019-12-13";
+  src = fetchFromGitHub {
+    owner = "JPaulMora";
+    repo = "Pyrit";
+    rev = "f0f1913c645b445dd391fb047b812b5ba511782c";
+    sha256 = "1npkvngc4g3g6mpjip2wwhvcd4a75jy3dbddxhxhzrrz4p7259gr";
+  };
+
+  cpyrit_opencl = python2Packages.buildPythonPackage {
+    pname = "cpyrit-opencl";
+    inherit version;
+
+    src = "${src}/modules/cpyrit_opencl";
+
+    buildInputs = [ opencl-headers ocl-icd openssl zlib ];
+
+    postInstall = let
+      python = python2Packages.python;
+    in ''
+      # pyrit uses "import _cpyrit_cuda" so put the output in the root site-packages
+      mv $out/lib/${python.libPrefix}/site-packages/cpyrit/_cpyrit_opencl.so $out/lib/${python.libPrefix}/site-packages/
+    '';
+  };
+in
+python2Packages.buildPythonApplication rec {
+  pname = "pyrit";
+  inherit version src;
+
+  buildInputs = [ openssl zlib libpcap ];
+  propagatedBuildInputs = [ cpyrit_opencl ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/JPaulMora/Pyrit";
+    description = "GPGPU-driven WPA/WPA2-PSK key cracker";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ danielfullmer ];
+  };
+}