mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
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.
This commit is contained in:
parent
bb38ece458
commit
06da1a6b4f
4 changed files with 31 additions and 22 deletions
|
@ -143,7 +143,7 @@ (define-public c-reduce
|
||||||
|
|
||||||
(define qemu-2.3.0
|
(define qemu-2.3.0
|
||||||
(package
|
(package
|
||||||
(inherit qemu-headless)
|
(inherit qemu-minimal)
|
||||||
(version "2.3.0")
|
(version "2.3.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -157,7 +157,7 @@ (define qemu-2.3.0
|
||||||
;; XXX: Disable tests because of GTester's rejection of duplicate test
|
;; XXX: Disable tests because of GTester's rejection of duplicate test
|
||||||
;; names, which wasn't addressed in this version of QEMU.
|
;; names, which wasn't addressed in this version of QEMU.
|
||||||
`(#:tests? #f
|
`(#:tests? #f
|
||||||
,@(package-arguments qemu-headless)))))
|
,@(package-arguments qemu-minimal)))))
|
||||||
|
|
||||||
(define-public american-fuzzy-lop
|
(define-public american-fuzzy-lop
|
||||||
(let ((machine (match (or (%current-target-system)
|
(let ((machine (match (or (%current-target-system)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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>
|
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -41,7 +41,7 @@ (define qemu-for-tests
|
||||||
;; <https://bugs.launchpad.net/bugs/947597> and fixed at
|
;; <https://bugs.launchpad.net/bugs/947597> and fixed at
|
||||||
;; <http://bzr.savannah.gnu.org/lh/grub/trunk/grub/revision/4828>.
|
;; <http://bzr.savannah.gnu.org/lh/grub/trunk/grub/revision/4828>.
|
||||||
;; Work around it by using an older QEMU.
|
;; Work around it by using an older QEMU.
|
||||||
(package (inherit qemu-headless)
|
(package (inherit qemu-minimal)
|
||||||
(version "1.3.1")
|
(version "1.3.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -55,7 +55,7 @@ (define qemu-for-tests
|
||||||
;; ERROR:tests/rtc-test.c:176:check_time: assertion failed (ABS(t - s) <= wiggle): (382597824 <= 2)
|
;; ERROR:tests/rtc-test.c:176:check_time: assertion failed (ABS(t - s) <= wiggle): (382597824 <= 2)
|
||||||
;; Simply disable the tests.
|
;; Simply disable the tests.
|
||||||
(arguments `(#:tests? #f
|
(arguments `(#:tests? #f
|
||||||
,@(package-arguments qemu)))
|
,@(package-arguments qemu-minimal)))
|
||||||
|
|
||||||
;; The manual fails to build with Texinfo 5.x.
|
;; The manual fails to build with Texinfo 5.x.
|
||||||
(native-inputs (alist-delete "texinfo" (package-native-inputs qemu)))))
|
(native-inputs (alist-delete "texinfo" (package-native-inputs qemu)))))
|
||||||
|
|
|
@ -38,7 +38,8 @@ (define-module (gnu packages qemu)
|
||||||
#:use-module (gnu packages xdisorg)
|
#:use-module (gnu packages xdisorg)
|
||||||
#:use-module (gnu packages gl)
|
#:use-module (gnu packages gl)
|
||||||
#:use-module (gnu packages sdl)
|
#: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)
|
(define (qemu-patch commit file-name sha256)
|
||||||
"Return an origin for COMMIT."
|
"Return an origin for COMMIT."
|
||||||
|
@ -62,10 +63,9 @@ (define %glib-duplicate-test-patch
|
||||||
(base32
|
(base32
|
||||||
"1aicbplzdj5s5y13jmqyvfajay05x9dnkzd197waz8v6kha7d9d5")))
|
"1aicbplzdj5s5y13jmqyvfajay05x9dnkzd197waz8v6kha7d9d5")))
|
||||||
|
|
||||||
(define-public qemu-headless
|
(define-public qemu
|
||||||
;; This is QEMU without GUI support.
|
|
||||||
(package
|
(package
|
||||||
(name "qemu-headless")
|
(name "qemu")
|
||||||
(version "2.4.0.1")
|
(version "2.4.0.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -123,7 +123,11 @@ (define-public qemu-headless
|
||||||
%standard-phases))))
|
%standard-phases))))
|
||||||
|
|
||||||
(inputs ; TODO: Add optional inputs.
|
(inputs ; TODO: Add optional inputs.
|
||||||
`(;; ("libaio" ,libaio)
|
`(("sdl" ,sdl)
|
||||||
|
("mesa" ,mesa)
|
||||||
|
("libusb" ,libusb) ;USB pass-through support
|
||||||
|
|
||||||
|
;; ("libaio" ,libaio)
|
||||||
("glib" ,glib)
|
("glib" ,glib)
|
||||||
("ncurses" ,ncurses)
|
("ncurses" ,ncurses)
|
||||||
("libpng" ,libpng)
|
("libpng" ,libpng)
|
||||||
|
@ -143,7 +147,7 @@ (define-public qemu-headless
|
||||||
("texinfo" ,texinfo)
|
("texinfo" ,texinfo)
|
||||||
("perl" ,perl)))
|
("perl" ,perl)))
|
||||||
(home-page "http://www.qemu-project.org")
|
(home-page "http://www.qemu-project.org")
|
||||||
(synopsis "Machine emulator and virtualizer (without GUI)")
|
(synopsis "Machine emulator and virtualizer")
|
||||||
(description
|
(description
|
||||||
"QEMU is a generic machine emulator and virtualizer.
|
"QEMU is a generic machine emulator and virtualizer.
|
||||||
|
|
||||||
|
@ -163,12 +167,17 @@ (define-public qemu-headless
|
||||||
;; Several tests fail on MIPS; see <http://hydra.gnu.org/build/117914>.
|
;; Several tests fail on MIPS; see <http://hydra.gnu.org/build/117914>.
|
||||||
(supported-systems (delete "mips64el-linux" %supported-systems))))
|
(supported-systems (delete "mips64el-linux" %supported-systems))))
|
||||||
|
|
||||||
(define-public qemu
|
(define-public qemu-minimal
|
||||||
;; QEMU with GUI support.
|
;; QEMU without GUI support.
|
||||||
(package (inherit qemu-headless)
|
(package (inherit qemu)
|
||||||
(name "qemu")
|
(name "qemu-minimal")
|
||||||
(synopsis "Machine emulator and virtualizer")
|
(synopsis "Machine emulator and virtualizer (without GUI)")
|
||||||
(inputs `(("sdl" ,sdl)
|
(arguments
|
||||||
("mesa" ,mesa)
|
`(#:configure-flags
|
||||||
("libusb" ,libusb) ;USB pass-through support
|
;; Restrict to the targets supported by Guix.
|
||||||
,@(package-inputs qemu-headless)))))
|
'("--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")))))
|
||||||
|
|
|
@ -92,7 +92,7 @@ (define* (expression->derivation-in-linux-vm name exp
|
||||||
(system (%current-system))
|
(system (%current-system))
|
||||||
(linux linux-libre)
|
(linux linux-libre)
|
||||||
initrd
|
initrd
|
||||||
(qemu qemu-headless)
|
(qemu qemu-minimal)
|
||||||
(env-vars '())
|
(env-vars '())
|
||||||
(modules
|
(modules
|
||||||
'((gnu build vm)
|
'((gnu build vm)
|
||||||
|
@ -185,7 +185,7 @@ (define builder
|
||||||
(define* (qemu-image #:key
|
(define* (qemu-image #:key
|
||||||
(name "qemu-image")
|
(name "qemu-image")
|
||||||
(system (%current-system))
|
(system (%current-system))
|
||||||
(qemu qemu-headless)
|
(qemu qemu-minimal)
|
||||||
(disk-image-size (* 100 (expt 2 20)))
|
(disk-image-size (* 100 (expt 2 20)))
|
||||||
(disk-image-format "qcow2")
|
(disk-image-format "qcow2")
|
||||||
(file-system-type "ext4")
|
(file-system-type "ext4")
|
||||||
|
|
Loading…
Reference in a new issue