aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/guile.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/guile.scm')
-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