summary refs log tree commit diff
diff options
context:
space:
mode:
authorRutger Helling <rhelling@mykolab.com>2018-04-26 08:14:50 +0200
committerRutger Helling <rhelling@mykolab.com>2018-04-26 12:45:57 +0200
commit27b52c1f6aa036ec99691a5c76ecf697e09cd62f (patch)
treece32dd873565a42b38f6ae51791cbbb5ab97d7bc
parent87bcd9bf655035bda31b2921a88ed14d9b6fa2e8 (diff)
downloadguix-27b52c1f6aa036ec99691a5c76ecf697e09cd62f.tar.gz
gnu: qemu: Build with Python 3 and SDL2 support.
* gnu/packages/bootloaders.scm (qemu-minimal-2.10): Remove variable.
* gnu/packages/virtualization.scm (qemu)[inputs]: Use sdl2 instead of sdl.
[native-inputs]: Use python-wrapper instead of python@2.
* gnu/packages/virtualization.scm (qemu-minimal)[inputs]: Remove sdl2 instead of
sdl from inherited packages.
* gnu/packages/virtualization.scm (qemu-minimal-2.10): Add variable.
[native-inputs]: Remove python-wrapper from inherited packages and use python@2
instead.
* gnu/packages/debug.scm (american-fuzzy-lop): Inherit from moved hidden-package
qemu-minimal-2.10.
-rw-r--r--gnu/packages/bootloaders.scm16
-rw-r--r--gnu/packages/debug.scm3
-rw-r--r--gnu/packages/virtualization.scm29
3 files changed, 27 insertions, 21 deletions
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 281bb98fa9..4350ff3a50 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -72,22 +72,6 @@
      (base32
       "0p2vhnc18cnbmb39vq4m7hzv4mhnm2l0a2s7gx3ar277fwng3hys"))))
 
-;; The GRUB test suite fails with later versions of Qemu, so we
-;; keep it at 2.10 for now.  See
-;; <https://lists.gnu.org/archive/html/bug-grub/2018-02/msg00004.html>.
-;; TODO: When grub no longer needs this version, move to gnu/packages/debug.scm.
-(define qemu-minimal-2.10
-  (package
-    (inherit qemu-minimal)
-    (version "2.10.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://download.qemu.org/qemu-"
-                                  version ".tar.xz"))
-              (sha256
-               (base32
-                "17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw"))))))
-
 (define-public grub
   (package
     (name "grub")
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 112c656ff8..c12baf4e2b 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -169,7 +170,7 @@ tools that process C/C++ code.")
       (inputs
        `(("custom-qemu"
           ;; The afl-qemu tool builds qemu 2.10.0 with a few patches applied.
-          ,(package (inherit (@@ (gnu packages bootloaders) qemu-minimal-2.10))
+          ,(package (inherit qemu-minimal-2.10)
              (name "afl-qemu")
              (inputs
               `(("afl-src" ,source)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 5e39fb9b9a..079b55da57 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2017 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
 ;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
@@ -187,7 +187,7 @@ exec smbd $@")))
        ;; ("pciutils" ,pciutils)
        ("pixman" ,pixman)
        ("pulseaudio" ,pulseaudio)
-       ("sdl" ,sdl)
+       ("sdl2" ,sdl2)
        ("spice" ,spice)
        ("usbredir" ,usbredir)
        ("util-linux" ,util-linux)
@@ -197,7 +197,7 @@ exec smbd $@")))
     (native-inputs `(("glib:bin" ,glib "bin") ; gtester, etc.
                      ("perl" ,perl)
                      ("pkg-config" ,pkg-config)
-                     ("python" ,python-2) ; incompatible with Python 3 according to error message
+                     ("python-wrapper" ,python-wrapper)
                      ("texinfo" ,texinfo)))
     (home-page "https://www.qemu.org")
     (synopsis "Machine emulator and virtualizer")
@@ -233,9 +233,30 @@ server and embedded PowerPC, and S390 guests.")
 
     ;; Remove dependencies on optional libraries, notably GUI libraries.
     (inputs (fold alist-delete (package-inputs qemu)
-                  '("libusb" "mesa" "sdl" "spice" "virglrenderer"
+                  '("libusb" "mesa" "sdl2" "spice" "virglrenderer"
                     "usbredir" "libdrm" "libepoxy" "pulseaudio")))))
 
+;; The GRUB test suite fails with later versions of Qemu, so we
+;; keep it at 2.10 for now.  See
+;; <https://lists.gnu.org/archive/html/bug-grub/2018-02/msg00004.html>.
+;; This package is hidden since we do not backport updates to it.
+(define-public qemu-minimal-2.10
+  (hidden-package
+   (package
+    (inherit qemu-minimal)
+    (version "2.10.2")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "https://download.qemu.org/qemu-"
+                                 version ".tar.xz"))
+             (sha256
+              (base32
+               "17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw"))))
+    ;; qemu-minimal-2.10 needs Python 2. Remove below once no longer necessary.
+    (native-inputs `(("python-2" ,python-2)
+                     ,@(fold alist-delete (package-native-inputs qemu)
+                             '("python-wrapper")))))))
+
 (define-public libosinfo
   (package
     (name "libosinfo")