python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / security / hashcat / default.nix
blobec078d4695a8f272c69aa9d21e4f635d4521a4b2
1 { lib, stdenv
2 , fetchurl
3 , makeWrapper
4 , opencl-headers
5 , ocl-icd
6 , xxHash
7 }:
9 stdenv.mkDerivation rec {
10   pname   = "hashcat";
11   version = "6.2.6";
13   src = fetchurl {
14     url = "https://hashcat.net/files/hashcat-${version}.tar.gz";
15     sha256 = "sha256-sl4Qd7zzSQjMjxjBppouyYsEeyy88PURRNzzuh4Leyo=";
16   };
18   nativeBuildInputs = [ makeWrapper ];
19   buildInputs = [ opencl-headers xxHash ];
21   makeFlags = [
22     "PREFIX=${placeholder "out"}"
23     "COMPTIME=1337"
24     "VERSION_TAG=${version}"
25     "USE_SYSTEM_OPENCL=1"
26     "USE_SYSTEM_XXHASH=1"
27   ];
29   preFixup = ''
30     for f in $out/share/hashcat/OpenCL/*.cl; do
31       # Rewrite files to be included for compilation at runtime for opencl offload
32       sed "s|#include \"\(.*\)\"|#include \"$out/share/hashcat/OpenCL/\1\"|g" -i "$f"
33       sed "s|#define COMPARE_\([SM]\) \"\(.*\.cl\)\"|#define COMPARE_\1 \"$out/share/hashcat/OpenCL/\2\"|g" -i "$f"
34     done
35   '';
37   postFixup = ''
38     wrapProgram $out/bin/hashcat --prefix LD_LIBRARY_PATH : ${ocl-icd}/lib
39   '';
41   meta = with lib; {
42     description = "Fast password cracker";
43     homepage    = "https://hashcat.net/hashcat/";
44     license     = licenses.mit;
45     platforms   = platforms.linux;
46     maintainers = with maintainers; [ kierdavis zimbatm ];
47   };