summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-12-16 15:49:41 +0100
committerLudovic Courtès <ludo@gnu.org>2018-12-16 16:28:07 +0100
commitee8ee74820711fd1a517dbd082629d5182e190a9 (patch)
tree4792338b21cbd2f20b8b0dff009ad5cda4c8da61 /gnu/packages
parent92391eaf8df8fecbf6844c57ce5bcd3014eb5d28 (diff)
downloadguix-ee8ee74820711fd1a517dbd082629d5182e190a9.tar.gz
gnu: guile: Do not warn about 'madvise' ENOSYS on GNU/Hurd.
* gnu/packages/guile.scm (guile-2.2)[arguments]: When 'hurd-target?'
returns true, add 'allow-madvise-ENOSYS' phase.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/guile.scm15
1 files changed, 14 insertions, 1 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index c271c4b6a0..5a3ce44016 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -45,6 +45,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages hurd)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages flex)
@@ -288,7 +289,19 @@ without requiring the source code to be rewritten.")
                    (substitute* "module/Makefile.in"
                      (("language/elisp/boot\\.el")
                       "\n"))
-                   #t)))))
+                   #t))
+               ,@(if (hurd-target?)
+                     `((add-after 'unpack 'allow-madvise-ENOSYS
+                         (lambda _
+                           ;; Do not warn about ENOSYS on 'madvise'.  This is
+                           ;; what Guile commit
+                           ;; 45e4ace6603e00b297e6542362273041aebe7305 does.
+                           ;; TODO: Remove for Guile >= 2.2.5.
+                           (substitute* "libguile/vm.c"
+                             (("perror \\(\"madvise failed\"\\)")
+                              "if (errno != ENOSYS) perror (\"madvised failed\");"))
+                           #t)))
+                     '()))))
          (package-arguments guile-2.0)))))
 
 (define-public guile-2.2/fixed