about summary refs log tree commit diff
path: root/pkgs/tools/security/crackxls
diff options
context:
space:
mode:
authorSergei Trofimovich <slyich@gmail.com>2022-06-04 06:14:54 +0100
committerSergei Trofimovich <slyich@gmail.com>2022-06-04 06:14:54 +0100
commit27d4a6453f6f056e47bab9f6ea9f23a80871917a (patch)
tree9532b4d21ef941729af6f2edbcbfbe6ddf0edad3 /pkgs/tools/security/crackxls
parent99b94f9522a37a305bc32f598c61d20fb9e53ff6 (diff)
crackxls: pull patch pending upstream inclusion for -fno-common toolchains
Without the change build fails on upstream gcc-10 as:

  ld: decrypt.o:/build/crackxls2003/decrypt.c:50: multiple definition of
    `real_key'; crackxls2003.o:/build/crackxls2003/crackxls2003.c:64: first defined here

While at it dropped -O5 -march=native default optimization flags.
Diffstat (limited to 'pkgs/tools/security/crackxls')
-rw-r--r--pkgs/tools/security/crackxls/default.nix15
1 files changed, 14 insertions, 1 deletions
diff --git a/pkgs/tools/security/crackxls/default.nix b/pkgs/tools/security/crackxls/default.nix
index 456ea0890cac6..f3c1745321eb6 100644
--- a/pkgs/tools/security/crackxls/default.nix
+++ b/pkgs/tools/security/crackxls/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, autoconf, automake, openssl, libgsf, gmp }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, autoconf, automake, openssl, libgsf, gmp }:
 
 stdenv.mkDerivation rec {
 
@@ -12,9 +12,22 @@ stdenv.mkDerivation rec {
     sha256 = "0q5jl7hcds3f0rhly3iy4fhhbyh9cdrfaw7zdrazzf1wswwhyssz";
   };
 
+  patches = [
+    # Pull patch pending upstream inclusion for -fno-common support:
+    #   https://github.com/GavinSmith0123/crackxls2003/pull/3
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/GavinSmith0123/crackxls2003/commit/613d6c1844f76c7b67671aaa265375fed56c2a56.patch";
+      sha256 = "1pk67x67d9wji576mc57z5bzqlf9ygvn9m1z47w12mad7qmj9h1n";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config autoconf automake ];
   buildInputs = [ openssl libgsf gmp ];
 
+  # Avoid "-O5 -march=native"
+  makeFlags = [ "OPTIM_FLAGS=" ];
+
   installPhase =
   ''
     mkdir -p $out/bin