aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-11-21 00:34:32 +0100
committerLudovic Courtès <ludo@gnu.org>2015-11-21 00:36:23 +0100
commit06da1a6b4fa919a64020ebf1a001b7e66134bd97 (patch)
treed4ecec28ab52712b5a1753732180350a4d70b282
parentbb38ece4585679c27ecc1f5a063f75dfbf864a45 (diff)
downloadgnu-guix-06da1a6b4fa919a64020ebf1a001b7e66134bd97.tar
gnu-guix-06da1a6b4fa919a64020ebf1a001b7e66134bd97.tar.gz
gnu: Add qemu-minimal.
* gnu/packages/qemu.scm (qemu): Exchange with former QEMU-HEADLESS. (qemu-headless): Rename to... (qemu-minimal): ... this. New variable. Pass --target-list. * gnu/packages/debug.scm (qemu-2.3.0): Inherit from QEMU-MINIMAL. * gnu/packages/grub.scm (qemu-for-tests): Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm, qemu-image): Update to name change.
-rw-r--r--gnu/packages/debug.scm4
-rw-r--r--gnu/packages/grub.scm6
-rw-r--r--gnu/packages/qemu.scm39
-rw-r--r--gnu/system/vm.scm4
4 files changed, 31 insertions, 22 deletions
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 1e0034c100..dc94f97657 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -143,7 +143,7 @@ tools that process C/C++ code.")
(define qemu-2.3.0
(package
- (inherit qemu-headless)
+ (inherit qemu-minimal)
(version "2.3.0")
(source (origin
(method url-fetch)
@@ -157,7 +157,7 @@ tools that process C/C++ code.")
;; XXX: Disable tests because of GTester's rejection of duplicate test
;; names, which wasn't addressed in this version of QEMU.
`(#:tests? #f
- ,@(package-arguments qemu-headless)))))
+ ,@(package-arguments qemu-minimal)))))
(define-public american-fuzzy-lop
(let ((machine (match (or (%current-target-system)
diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm
index 7875a64186..79fc2f0aca 100644
--- a/gnu/packages/grub.scm
+++ b/gnu/packages/grub.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@@ -41,7 +41,7 @@
;; <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-headless)
+ (package (inherit qemu-minimal)
(version "1.3.1")
(source (origin
(method url-fetch)
@@ -55,7 +55,7 @@
;; 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)))
+ ,@(package-arguments qemu-minimal)))
;; The manual fails to build with Texinfo 5.x.
(native-inputs (alist-delete "texinfo" (package-native-inputs qemu)))))
diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index 71600b2347..a6abb48913 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -38,7 +38,8 @@
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages gl)
#:use-module (gnu packages sdl)
- #:use-module (gnu packages perl))
+ #:use-module (gnu packages perl)
+ #:use-module (srfi srfi-1))
(define (qemu-patch commit file-name sha256)
"Return an origin for COMMIT."
@@ -62,10 +63,9 @@
(base32
"1aicbplzdj5s5y13jmqyvfajay05x9dnkzd197waz8v6kha7d9d5")))
-(define-public qemu-headless
- ;; This is QEMU without GUI support.
+(define-public qemu
(package
- (name "qemu-headless")
+ (name "qemu")
(version "2.4.0.1")
(source (origin
(method url-fetch)
@@ -123,7 +123,11 @@
%standard-phases))))
(inputs ; TODO: Add optional inputs.
- `(;; ("libaio" ,libaio)
+ `(("sdl" ,sdl)
+ ("mesa" ,mesa)
+ ("libusb" ,libusb) ;USB pass-through support
+
+ ;; ("libaio" ,libaio)
("glib" ,glib)
("ncurses" ,ncurses)
("libpng" ,libpng)
@@ -143,7 +147,7 @@
("texinfo" ,texinfo)
("perl" ,perl)))
(home-page "http://www.qemu-project.org")
- (synopsis "Machine emulator and virtualizer (without GUI)")
+ (synopsis "Machine emulator and virtualizer")
(description
"QEMU is a generic machine emulator and virtualizer.
@@ -163,12 +167,17 @@ server and embedded PowerPC, and S390 guests.")
;; Several tests fail on MIPS; see <http://hydra.gnu.org/build/117914>.
(supported-systems (delete "mips64el-linux" %supported-systems))))
-(define-public qemu
- ;; QEMU with GUI support.
- (package (inherit qemu-headless)
- (name "qemu")
- (synopsis "Machine emulator and virtualizer")
- (inputs `(("sdl" ,sdl)
- ("mesa" ,mesa)
- ("libusb" ,libusb) ;USB pass-through support
- ,@(package-inputs qemu-headless)))))
+(define-public qemu-minimal
+ ;; QEMU without GUI support.
+ (package (inherit qemu)
+ (name "qemu-minimal")
+ (synopsis "Machine emulator and virtualizer (without GUI)")
+ (arguments
+ `(#:configure-flags
+ ;; Restrict to the targets supported by Guix.
+ '("--target-list=i386-softmmu,x86_64-softmmu,mips64el-softmmu,arm-softmmu")
+ ,@(package-arguments qemu)))
+
+ ;; Remove dependencies on optional libraries, notably GUI libraries.
+ (inputs (fold alist-delete (package-inputs qemu)
+ '("sdl" "mesa" "libusb")))))
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 96ff27f90b..1492a0bb1c 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -92,7 +92,7 @@
(system (%current-system))
(linux linux-libre)
initrd
- (qemu qemu-headless)
+ (qemu qemu-minimal)
(env-vars '())
(modules
'((gnu build vm)
@@ -185,7 +185,7 @@ made available under the /xchg CIFS share."
(define* (qemu-image #:key
(name "qemu-image")
(system (%current-system))
- (qemu qemu-headless)
+ (qemu qemu-minimal)
(disk-image-size (* 100 (expt 2 20)))
(disk-image-format "qcow2")
(file-system-type "ext4")