summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/grub.scm30
1 files changed, 28 insertions, 2 deletions
diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm
index af9c135f2d..8c981bf88d 100644
--- a/gnu/packages/grub.scm
+++ b/gnu/packages/grub.scm
@@ -29,7 +29,33 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages qemu)
   #:use-module (gnu packages ncurses)
-  #:use-module (gnu packages cdrom))
+  #:use-module (gnu packages cdrom)
+  #:use-module (srfi srfi-1))
+
+(define qemu-for-tests
+  ;; Newer QEMU versions, such as 1.5.1, no longer support the 'shutdown'
+  ;; instruction.  This leads to test hangs, as reported at
+  ;; <https://bugs.launchpad.net/bugs/947597> and fixed at
+  ;; <http://bzr.savannah.gnu.org/lh/grub/trunk/grub/revision/4828>.
+  ;; Work around it by using an older QEMU.
+  (package (inherit qemu)
+    (version "1.3.1")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://wiki.qemu-project.org/download/qemu-"
+                                 version ".tar.bz2"))
+             (sha256
+              (base32
+               "1bqfrb5dlsxm8gxhkksz8qzi5fhj3xqhxyfwbqcphhcv1kpyfwip"))))
+
+    ;; With recent GLib versions, we get a test failure:
+    ;;   ERROR:tests/rtc-test.c:176:check_time: assertion failed (ABS(t - s) <= wiggle): (382597824 <= 2)
+    ;; Simply disable the tests.
+    (arguments `(#:tests? #f
+                          ,@(package-arguments qemu)))
+
+    ;; The manual fails to build with Texinfo 5.x.
+    (native-inputs (alist-delete "texinfo" (package-native-inputs qemu)))))
 
 (define-public grub
   (package
@@ -70,7 +96,7 @@
 
        ;; Dependencies for the test suite.  The "real" QEMU is needed here,
        ;; because several targets are used.
-       ("qemu" ,qemu)
+       ("qemu" ,qemu-for-tests)
        ("xorriso" ,xorriso)))
     (home-page "http://www.gnu.org/software/grub/")
     (synopsis "GRand unified boot loader")