truecrack: fix cuda
This commit is contained in:
@@ -1,15 +1,18 @@
|
||||
{
|
||||
lib,
|
||||
gccStdenv,
|
||||
cudaPackages,
|
||||
fetchFromGitLab,
|
||||
cudatoolkit,
|
||||
config,
|
||||
cudaSupport ? config.cudaSupport,
|
||||
pkg-config,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
gccStdenv.mkDerivation rec {
|
||||
let
|
||||
stdenv = if cudaSupport then cudaPackages.backendStdenv else gccStdenv;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "truecrack";
|
||||
version = "3.6";
|
||||
|
||||
@@ -22,12 +25,14 @@ gccStdenv.mkDerivation rec {
|
||||
|
||||
patches = [
|
||||
./fix-empty-return.patch
|
||||
./remove-opencc-options.patch
|
||||
./set-cuda-archs.patch
|
||||
];
|
||||
|
||||
configureFlags = (
|
||||
if cudaSupport then
|
||||
[
|
||||
"--with-cuda=${cudatoolkit}"
|
||||
"--with-cuda=${cudaPackages.cudatoolkit}"
|
||||
]
|
||||
else
|
||||
[
|
||||
@@ -40,7 +45,8 @@ gccStdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals cudaSupport [
|
||||
cudatoolkit
|
||||
cudaPackages.cudatoolkit
|
||||
cudaPackages.cuda_cudart
|
||||
];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString ([
|
||||
@@ -61,7 +67,7 @@ gccStdenv.mkDerivation rec {
|
||||
|
||||
installFlags = [ "prefix=$(out)" ];
|
||||
|
||||
doInstallCheck = true;
|
||||
doInstallCheck = !cudaSupport;
|
||||
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
@@ -88,7 +94,6 @@ gccStdenv.mkDerivation rec {
|
||||
description = "Brute-force password cracker for TrueCrypt volumes, optimized for Nvidia Cuda technology";
|
||||
mainProgram = "truecrack";
|
||||
homepage = "https://gitlab.com/kalilinux/packages/truecrack";
|
||||
broken = cudaSupport;
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ ethancedwards8 ];
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||
index e4cac89..50d9b02 100644
|
||||
--- a/src/Makefile.am
|
||||
+++ b/src/Makefile.am
|
||||
@@ -56,7 +56,7 @@ $(OBJ_CUDA):
|
||||
cat Cuda/Sha2.cu >> Cuda.cu
|
||||
cat Cuda/Whirlpool.cu >> Cuda.cu
|
||||
|
||||
- $(COMPILER) -c Cuda.cu $(CFLAGS) --opencc-options -OPT:Olimit=0 $< -o $@
|
||||
+ $(COMPILER) -c Cuda.cu $(CFLAGS) $< -o $@
|
||||
|
||||
$(OBJS_COMMON): %.o: Common/%.c
|
||||
$(COMPILER) -c $(CFLAGS) $< -o $@
|
||||
diff --git a/src/Makefile.in b/src/Makefile.in
|
||||
index 86f76ad..7a5c77b 100644
|
||||
--- a/src/Makefile.in
|
||||
+++ b/src/Makefile.in
|
||||
@@ -435,7 +435,7 @@ $(OBJ_CUDA):
|
||||
cat Cuda/Sha2.cu >> Cuda.cu
|
||||
cat Cuda/Whirlpool.cu >> Cuda.cu
|
||||
|
||||
- $(COMPILER) -c Cuda.cu $(CFLAGS) --opencc-options -OPT:Olimit=0 $< -o $@
|
||||
+ $(COMPILER) -c Cuda.cu $(CFLAGS) $< -o $@
|
||||
|
||||
$(OBJS_COMMON): %.o: Common/%.c
|
||||
$(COMPILER) -c $(CFLAGS) $< -o $@
|
||||
@@ -0,0 +1,32 @@
|
||||
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||
index e4cac89..599b7a3 100644
|
||||
--- a/src/Makefile.am
|
||||
+++ b/src/Makefile.am
|
||||
@@ -30,10 +30,7 @@ OBJ_CUDA=Cuda.o
|
||||
CFLAGS += -D_GPU_
|
||||
COMPILER=$(NVCC)
|
||||
# CUDA code generation flags
|
||||
-GENCODE_SM10= -gencode arch=compute_10,code=sm_10
|
||||
-GENCODE_SM20= -gencode arch=compute_20,code=sm_20
|
||||
-GENCODE_SM30= -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35
|
||||
-GENCODE_FLAGS= $(GENCODE_SM10) $(GENCODE_SM20) $(GENCODE_SM30)
|
||||
+GENCODE_FLAGS= -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_89,code=sm_89 -gencode arch=compute_90,code=sm_90 -gencode arch=compute_90a,code=sm_90a
|
||||
CFLAGS += $(GENCODE_FLAGS) -ftz=true -use_fast_math
|
||||
endif
|
||||
|
||||
diff --git a/src/Makefile.in b/src/Makefile.in
|
||||
index 86f76ad..123255b 100644
|
||||
--- a/src/Makefile.in
|
||||
+++ b/src/Makefile.in
|
||||
@@ -181,10 +181,7 @@ LFLAGS = -lm -O3
|
||||
@ENABLE_CPU_TRUE@COMPILER = $(CC)
|
||||
@ENABLE_CPU_FALSE@OBJ_CUDA = Cuda.o
|
||||
# CUDA code generation flags
|
||||
-@ENABLE_CPU_FALSE@GENCODE_SM10 = -gencode arch=compute_10,code=sm_10
|
||||
-@ENABLE_CPU_FALSE@GENCODE_SM20 = -gencode arch=compute_20,code=sm_20
|
||||
-@ENABLE_CPU_FALSE@GENCODE_SM30 = -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35
|
||||
-@ENABLE_CPU_FALSE@GENCODE_FLAGS = $(GENCODE_SM10) $(GENCODE_SM20) $(GENCODE_SM30)
|
||||
+@ENABLE_CPU_FALSE@GENCODE_FLAGS = -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_89,code=sm_89 -gencode arch=compute_90,code=sm_90 -gencode arch=compute_90a,code=sm_90a
|
||||
truecrack_SOURCES =
|
||||
truecrack_CFLAGS = $(CUDA_CFLAGS)
|
||||
truecrack_LDADD = $(CUDA_LIBS)
|
||||
Reference in New Issue
Block a user