diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/security/hashcat/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/security/hashcat/default.nix | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/security/hashcat/default.nix b/nixpkgs/pkgs/tools/security/hashcat/default.nix new file mode 100644 index 000000000000..ed06ee992e4a --- /dev/null +++ b/nixpkgs/pkgs/tools/security/hashcat/default.nix @@ -0,0 +1,48 @@ +{ lib, stdenv +, fetchurl +, makeWrapper +, opencl-headers +, ocl-icd +, xxHash +}: + +stdenv.mkDerivation rec { + pname = "hashcat"; + version = "6.2.5"; + + src = fetchurl { + url = "https://hashcat.net/files/hashcat-${version}.tar.gz"; + sha256 = "sha256-b2iZ162Jlln3tDpNaAmFQ6tUbSFx+OUdaR0Iplk3iWk="; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ opencl-headers xxHash ]; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + "COMPTIME=1337" + "VERSION_TAG=${version}" + "USE_SYSTEM_OPENCL=1" + "USE_SYSTEM_XXHASH=1" + ]; + + preFixup = '' + for f in $out/share/hashcat/OpenCL/*.cl; do + # Rewrite files to be included for compilation at runtime for opencl offload + sed "s|#include \"\(.*\)\"|#include \"$out/share/hashcat/OpenCL/\1\"|g" -i "$f" + sed "s|#define COMPARE_\([SM]\) \"\(.*\.cl\)\"|#define COMPARE_\1 \"$out/share/hashcat/OpenCL/\2\"|g" -i "$f" + done + ''; + + postFixup = '' + wrapProgram $out/bin/hashcat --prefix LD_LIBRARY_PATH : ${ocl-icd}/lib + ''; + + meta = with lib; { + description = "Fast password cracker"; + homepage = "https://hashcat.net/hashcat/"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ kierdavis zimbatm ]; + }; +} |