summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2020-12-19 23:55:01 +0100
committerMarius Bakke <marius@gnu.org>2020-12-20 23:40:45 +0100
commit3668405daa7291694114276165d1e5c5366ff9d7 (patch)
tree6ee92f3e5023cdcac0128f41f38fe935510e06f9
parentd69a4805229e391669bebe57888cfdccdd7dec23 (diff)
downloadguix-3668405daa7291694114276165d1e5c5366ff9d7.tar.gz
gnu: inetutils: Fix build with GCC 10.
* gnu/packages/admin.scm (inetutils)[source](modules, snippet): New fields.
-rw-r--r--gnu/packages/admin.scm15
1 files changed, 14 insertions, 1 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 6489e7462b..8424f77e4a 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -606,7 +606,20 @@ re-executing them as necessary.")
              (patches (search-patches "inetutils-hurd.patch"))
              (sha256
               (base32
-               "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy"))))
+               "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy"))
+             (modules '((guix build utils)))
+             (snippet
+              '(begin
+                 ;; Fix issues with GCC 10.  Can be removed for versions > 1.9.4.
+                 (substitute* "telnetd/utility.c"
+                   (("int not42;")
+                    "extern int not42;"))
+                 (substitute* "ftpd/extern.h"
+                   (("^jmp_buf errcatch;")
+                    "extern jmp_buf errcatch;"))
+                 (substitute* "ftpd/ftpd.c"
+                   (("struct credentials cred;" all)
+                    (string-append all "\njmp_buf errcatch;")))))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--localstatedir=/var"