diff --git a/gnu/packages/password-utils.scm 
b/gnu/packages/password-utils.scm
index f4f172d159..d16af605d7 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -1173,95 +1173,123 @@ (define-public john-the-ripper-jumbo
      (package
        (name "john-the-ripper-jumbo")
        (version (string-append official-version "-" jumbo-version))
-      (source
-       (origin
-         (method url-fetch)
-         (uri (string-append "http://www.openwall.com/john/j/john-"
-                             official-version "-jumbo-" jumbo-version 
".tar.xz"))
-         (sha256
-          (base32
- "0fvz3v41hnaiv1ggpxanfykyfjq79cwp9qcqqn63vic357w27lgm"))))
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "http://www.openwall.com/john/j/john-"
+                                    official-version "-jumbo-" 
jumbo-version
+                                    ".tar.xz"))
+                (sha256
+                 (base32
+ "0fvz3v41hnaiv1ggpxanfykyfjq79cwp9qcqqn63vic357w27lgm"))
+                (patches (search-patches
+ 
"john-the-ripper-jumbo-fix-gcc-11-struct-allignment-incompatibility.patch"))))
        (build-system gnu-build-system)
-      (native-inputs
-       (list perl))
-      (inputs
-       (list gmp
-             libpcap
-             nss
-             openssl
-             python-wrapper
-             ruby                       ; For genincstats.rb
-             zlib))
+      (native-inputs (list perl))
+      (inputs (list gmp
+                    libpcap
+                    nss
+                    openssl
+                    python-wrapper
+                    ruby ;For genincstats.rb
+                    zlib))
        (arguments
-       `(#:configure-flags
-         (list "--with-systemwide"
-               ;; Do not test for instruction set in configure, and do not
-               ;; pass '-march=native' to gcc:
-               "--disable-native-tests"
-               "--disable-native-march"
-               ,(string-append
-                 "--enable-simd="
-                 (let ((system (or (%current-target-system)
-                                   (%current-system))))
-                   (cond
-                    ((or (string-prefix? "x86_64" system)
-                         (string-prefix? "i686" system)) "sse2")
-                    ((string-prefix? "aarch" system) "neon")
-                    (else "no")))))
-         #:phases
-         (modify-phases %standard-phases
-           (add-before 'configure 'chdir-src
-             (lambda _ (chdir "src") #t))
-           (replace 'install
-             (lambda _
-               (let ((bindir (string-append %output "/bin"))
-                     (docdir (string-append %output "/share/doc/john"))
-                     (execdir (string-append %output "/libexec/john"))
-                     (datadir (string-append %output "/share/john"))
-                     (install-file-to (lambda (dir)
-                                        (lambda (f) (install-file f dir))))
-                     (symlink? (lambda (_ s) (eq? (stat:type s) 
'symlink))))
-                 (with-directory-excursion "../run"
-                   (for-each (install-file-to bindir)
-                             (cons*
-                              "john" "makechr" "cprepair" "SIPdump" 
"tgtsnarf"
-                              "genmkvpwd" "mkvcalcproba" "calc_stat" 
"raw2dyna"
-                              (find-files "." "(to|2)?john(-[^.]*)?$")))
-                   (for-each (lambda (f) ; Install symlinked aliases
-                               (let ((tgt (string-append bindir "/" 
(basename f))))
-                                 ;; The use of install-file above 
dereferences
-                                 ;; symlinks.  We'd rather have the 
symlinks
-                                 ;; for clarity, so remove tgt before 
linking.
-                                 (when (file-exists? tgt) (delete-file 
tgt))
-                                 (symlink "john" tgt)))
-                             (find-files "." symlink?))
-                   (for-each (install-file-to execdir)
-                             (cons* "mailer" "benchmark-unify" "relbench"
-                                    (find-files "." ".*\\.js")))
-                   (for-each (lambda (f)
-                               (let* ((base (basename f))
-                                      (name (substring base 0 
(string-index base #\.)))
-                                      (link (string-append bindir "/" 
name)))
-                                 (install-file f execdir)
-                                 (when (and (executable-file? f)
-                                            (not (file-exists? link)))
-                                   (symlink (string-append execdir "/" 
base) link))))
-                             (find-files "." ".*\\.(pl|py|rb|lua)"))
-                   (for-each (install-file-to datadir)
-                             (append (find-files "." 
"(stats|dictionary.*)")
-                                     (find-files "." "(.*\\.chr|.*\\.lst)")
-                                     (find-files "." ".*\\.conf")))
-                   (copy-recursively "rules" (string-append datadir 
"/rules")))
-                 (copy-recursively "../doc" docdir))))
-           (delete 'check) ; Tests need installed .conf files; move 
after install
-           (add-after 'install 'check
-             (lambda args
-               (setenv "HOME" "/tmp")   ; Some tests need to write to 
~/.john
-               (setenv "OMP_NUM_THREADS" (number->string 
(parallel-job-count)))
-               (apply (assoc-ref %standard-phases 'check) args))))))
+       `(#:configure-flags (list "--with-systemwide"
+                                 ;; Do not test for instruction set in 
configure, and do not
+                                 ;; pass '-march=native' to gcc:
+                                 "--disable-native-tests"
+                                 "--disable-native-march"
+                                 ,(string-append "--enable-simd="
+                                                 (let ((system (or 
(%current-target-system)
+ (%current-system))))
+                                                   (cond
+                                                     ((or (string-prefix?
+                                                           "x86_64" system)
+ (string-prefix?
+                                                           "i686" system))
+                                                      "sse2")
+ ((string-prefix? "aarch"
+ system)
+                                                      "neon")
+                                                     (else "no")))))
+         #:phases (modify-phases %standard-phases
+                    (add-before 'configure 'chdir-src
+                      (lambda _
+                        (chdir "src") #t))
+                    (replace 'install
+                      (lambda _
+                        (let ((bindir (string-append %output "/bin"))
+                              (docdir (string-append %output 
"/share/doc/john"))
+                              (execdir (string-append %output 
"/libexec/john"))
+                              (datadir (string-append %output 
"/share/john"))
+                              (install-file-to (lambda (dir)
+                                                 (lambda (f)
+                                                   (install-file f dir))))
+                              (symlink? (lambda (_ s)
+                                          (eq? (stat:type s)
+                                               'symlink))))
+                          (with-directory-excursion "../run"
+                            (for-each (install-file-to bindir)
+                                      (cons* "john"
+                                             "makechr"
+                                             "cprepair"
+                                             "SIPdump"
+                                             "tgtsnarf"
+                                             "genmkvpwd"
+                                             "mkvcalcproba"
+                                             "calc_stat"
+                                             "raw2dyna"
+                                             (find-files "."
+ "(to|2)?john(-[^.]*)?$")))
+                            (for-each (lambda (f)
+                                         ;Install symlinked aliases
+                                        (let ((tgt (string-append 
bindir "/"
+ (basename f))))
+                                          ;; The use of install-file 
above dereferences
+                                          ;; symlinks.  We'd rather 
have the symlinks
+                                          ;; for clarity, so remove tgt 
before linking.
+                                          (when (file-exists? tgt)
+                                            (delete-file tgt))
+                                          (symlink "john" tgt)))
+                                      (find-files "." symlink?))
+                            (for-each (install-file-to execdir)
+                                      (cons* "mailer" "benchmark-unify"
+                                             "relbench"
+                                             (find-files "." ".*\\.js")))
+                            (for-each (lambda (f)
+                                        (let* ((base (basename f))
+                                               (name (substring base 0
+ (string-index
+ base #\.)))
+                                               (link (string-append 
bindir "/"
+ name)))
+                                          (install-file f execdir)
+                                          (when (and (executable-file? f)
+                                                     (not (file-exists? 
link)))
+                                            (symlink (string-append execdir
+ "/" base)
+                                                     link))))
+                                      (find-files "." 
".*\\.(pl|py|rb|lua)"))
+                            (for-each (install-file-to datadir)
+                                      (append (find-files "."
+ "(stats|dictionary.*)")
+                                              (find-files "."
+ "(.*\\.chr|.*\\.lst)")
+                                              (find-files "." 
".*\\.conf")))
+                            (copy-recursively "rules"
+                                              (string-append datadir 
"/rules")))
+                          (copy-recursively "../doc" docdir))))
+                    (delete 'check) ;Tests need installed .conf files; 
move after install
+                    (add-after 'install 'check
+                      (lambda args
+                        (setenv "HOME" "/tmp") ;Some tests need to 
write to ~/.john
+                        (setenv "OMP_NUM_THREADS"
+                                (number->string (parallel-job-count)))
+                        (apply (assoc-ref %standard-phases
+                                          'check) args))))))
        (home-page "http://www.openwall.com/john/")
        (synopsis "Password cracker")
-      (description "John the Ripper is a fast password cracker. Its primary
+      (description
+       "John the Ripper is a fast password cracker.  Its primary
  purpose is to detect weak Unix passwords.  Besides several @code{crypt}
  password hash types most commonly found on various Unix systems, 
supported out
  of the box are Windows LM hashes, plus lots of other hashes and 
ciphers.  This
diff --git 
a/gnu/packages/patches/john-the-ripper-jumbo-fix-gcc-11-struct-allignment-incompatibility.patch 
b/gnu/packages/patches/john-the-ripper-jumbo-fix-gcc-11-struct-allignment-incompatibility.patch
new file mode 100644
index 0000000000..58bff27d31
--- /dev/null
