biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / security / truecrack / default.nix
blob06a0d7e4f6b2eb06baf47951bfabfeda4d3a4702
1 { lib, gccStdenv, fetchFromGitLab, cudatoolkit
2 , config
3 , cudaSupport ? config.cudaSupport
4 , pkg-config }:
6 gccStdenv.mkDerivation rec {
7   pname = "truecrack";
8   version = "3.6";
10   src = fetchFromGitLab {
11     owner = "kalilinux";
12     repo = "packages/truecrack";
13     rev = "debian/${version}+git20150326-0kali1";
14     sha256 = "+Rw9SfaQtO1AJO6UVVDMCo8DT0dYEbv7zX8SI+pHCRQ=";
15   };
17   configureFlags = (if cudaSupport then [
18     "--with-cuda=${cudatoolkit}"
19   ] else [
20     "--enable-cpu"
21   ]);
23   nativeBuildInputs = [
24     pkg-config
25   ];
27   buildInputs = lib.optionals cudaSupport [
28     cudatoolkit
29   ];
31   # Workaround build failure on -fno-common toolchains like upstream
32   # gcc-10. Otherwise build fails as:
33   #   ld: CpuAes.o:/build/source/src/Crypto/CpuAes.h:1233: multiple definition of
34   #     `t_rc'; CpuCore.o:/build/source/src/Crypto/CpuAes.h:1237: first defined here
35   # TODO: remove on upstream fixes it:
36   #   https://gitlab.com/kalilinux/packages/truecrack/-/issues/1
37   env.NIX_CFLAGS_COMPILE = "-fcommon";
39   installFlags = [ "prefix=$(out)" ];
40   enableParallelBuilding = true;
42   meta = with lib; {
43     description = "Brute-force password cracker for TrueCrypt volumes, optimized for Nvidia Cuda technology";
44     mainProgram = "truecrack";
45     homepage = "https://gitlab.com/kalilinux/packages/truecrack";
46     broken = cudaSupport;
47     license = licenses.gpl3Plus;
48     platforms = platforms.unix;
49     maintainers = with maintainers; [ ethancedwards8 ];
50   };