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