summaryrefslogtreecommitdiff
path: root/gnu/packages/guile.scm
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/guile.scm
parent92391eaf8df8fecbf6844c57ce5bcd3014eb5d28 (diff)
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/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