summary refs log tree commit diff
diff options
context:
space:
mode:
authorJakob Kirsch <jakob.kirsch@web.de>2023-08-02 14:37:13 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2023-08-02 14:40:45 +0200
commit6ccfa48d83b9c513b40835ae0c5896102b4dd915 (patch)
treebd1bc83a056da7df813c9383248b73a0a48a5d57
parent84ea83e44f1db2d442462e712b71f7c6d1565681 (diff)
downloadguix-6ccfa48d83b9c513b40835ae0c5896102b4dd915.tar.gz
gnu: john-the-ripper-jumbo: Fix compilation with GCC 11+.
* gnu/packages/patches/john-the-ripper-jumbo-with-gcc-11.patch: New file.
* gnu/local.mk (dist_PATCH_DATA): Register it.
* gnu/packages/password-utils.scm (john-the-ripper-jumbo)[source]: Use it.

Co-authored-by: Guillaume Le Vaillant <glv@posteo.net>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/password-utils.scm4
-rw-r--r--gnu/packages/patches/john-the-ripper-jumbo-with-gcc-11.patch50
3 files changed, 53 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 2be8bbd594..393a773e17 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1431,6 +1431,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/jfsutils-add-sysmacros.patch		\
   %D%/packages/patches/jfsutils-gcc-compat.patch		\
   %D%/packages/patches/jfsutils-include-systypes.patch		\
+  %D%/packages/patches/john-the-ripper-jumbo-with-gcc-11.patch	\
   %D%/packages/patches/json-c-0.13-CVE-2020-12762.patch		\
   %D%/packages/patches/json-c-0.12-CVE-2020-12762.patch		\
   %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch	\
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index f4f172d159..4768b99750 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -1179,8 +1179,8 @@ between hosts and entries in the password store.")
          (uri (string-append "http://www.openwall.com/john/j/john-"
                              official-version "-jumbo-" jumbo-version ".tar.xz"))
          (sha256
-          (base32
-           "0fvz3v41hnaiv1ggpxanfykyfjq79cwp9qcqqn63vic357w27lgm"))))
+          (base32 "0fvz3v41hnaiv1ggpxanfykyfjq79cwp9qcqqn63vic357w27lgm"))
+         (patches (search-patches "john-the-ripper-jumbo-with-gcc-11.patch"))))
       (build-system gnu-build-system)
       (native-inputs
        (list perl))
diff --git a/gnu/packages/patches/john-the-ripper-jumbo-with-gcc-11.patch b/gnu/packages/patches/john-the-ripper-jumbo-with-gcc-11.patch
new file mode 100644
index 0000000000..67149f15a9
--- /dev/null
+++ b/gnu/packages/patches/john-the-ripper-jumbo-with-gcc-11.patch
@@ -0,0 +1,50 @@
+From 154ee1156d62dd207aff0052b04c61796a1fde3b Mon Sep 17 00:00:00 2001
+From: Ferry Huberts <ferry.huberts@pelagic.nl>
+Date: Tue, 9 Mar 2021 22:04:46 +0100
+Subject: [PATCH] Fix alignment compile errors on GCC 11
+
+Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
+---
+ src/blake2.h | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/blake2.h b/src/blake2.h
+index b05208117e..b4398f9e13 100644
+--- a/src/blake2.h
++++ b/src/blake2.h
+@@ -57,7 +57,7 @@ extern "C" {
+     uint8_t  personal[BLAKE2S_PERSONALBYTES];  // 32
+   } blake2s_param;
+
+-  JTR_ALIGN( 64 ) typedef struct __blake2s_state
++  typedef struct JTR_ALIGN( 64 ) __blake2s_state
+   {
+     uint32_t h[8];
+     uint32_t t[2];
+@@ -82,7 +82,7 @@ extern "C" {
+     uint8_t  personal[BLAKE2B_PERSONALBYTES];  // 64
+   } blake2b_param;
+
+-  JTR_ALIGN( 64 ) typedef struct __blake2b_state
++  typedef struct JTR_ALIGN( 64 ) __blake2b_state
+   {
+     uint64_t h[8];
+     uint64_t t[2];
+@@ -94,7 +94,7 @@ extern "C" {
+ #if defined(JOHN_NO_SIMD) || (!defined(__SSE2__) && !defined(__SSE4_1__) && !defined(__XOP__))
+   typedef struct __blake2sp_state
+ #else
+-  JTR_ALIGN( 64 ) typedef struct __blake2sp_state
++  typedef struct JTR_ALIGN( 64 ) __blake2sp_state
+ #endif
+   {
+     blake2s_state S[8][1];
+@@ -106,7 +106,7 @@ extern "C" {
+ #if defined(JOHN_NO_SIMD) || (!defined(__SSE2__) && !defined(__SSE4_1__) && !defined(__XOP__))
+   typedef struct __blake2bp_state
+ #else
+-  JTR_ALIGN( 64 ) typedef struct __blake2bp_state
++  typedef struct JTR_ALIGN( 64 ) __blake2bp_state
+ #endif
+   {
+     blake2b_state S[4][1];