From 27b224a217e3896488eb5210d466e08452541a18 Mon Sep 17 00:00:00 2001
From: Rutger Helling
Date: Thu, 26 Apr 2018 08:14:50 +0200
Subject: [PATCH 1/2] 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 address@hidden
* 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 address@hidden
instead.
* gnu/packages/debug.scm (american-fuzzy-lop): Inherit from moved hidden-package
qemu-minimal-2.10.
---
gnu/packages/bootloaders.scm | 16 ----------------
gnu/packages/debug.scm | 3 ++-
gnu/packages/virtualization.scm | 29 +++++++++++++++++++++++++----
3 files changed, 27 insertions(+), 21 deletions(-)
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 281bb98fa..4350ff3a5 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
-;; .
-;; 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 112c656ff..c12baf4e2 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier
;;; Copyright © 2016, 2017, 2018 Efraim Flashner
;;; Copyright © 2018 Tobias Geerinckx-Rice
+;;; Copyright © 2018 Rutger Helling
;;;
;;; 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 86f4d7136..74144b9db 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2016, 2017 Ricardo Wurmus
;;; Copyright © 2017 Alex Vong
;;; Copyright © 2017 Andy Patterson
-;;; Copyright © 2017 Rutger Helling
+;;; Copyright © 2017, 2018 Rutger Helling
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice
;;; Copyright © 2018 Danny Milosavljevic
;;; Copyright © 2018 Sou Bunnbu
@@ -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
+;; .
+;; 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")
--
2.17.0