summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-08-21 00:41:53 +0200
committerLudovic Courtès <ludo@gnu.org>2013-08-21 02:19:36 +0200
commit6facbc7590bf5c32c02394a060e890c8a666b487 (patch)
tree79ad1485e2577d4dab7eba8d916041846a196399
parentbbc08c7940a364fb1084defbb8f6f4d51673fb40 (diff)
downloadguix-6facbc7590bf5c32c02394a060e890c8a666b487.tar.gz
gnu: grub: Use older QEMU to run the test suite.
Fixes build failure <http://hydra.gnu.org/build/16064>.

* gnu/packages/grub.scm (qemu-for-tests): New variable.
  (grub): Use it.
-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")