summaryrefslogtreecommitdiff
path: root/gnu/packages/virtualization.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/virtualization.scm')
-rw-r--r--gnu/packages/virtualization.scm90
1 files changed, 46 insertions, 44 deletions
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 9880acf085..309a29ce86 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -129,21 +130,19 @@
(define-public qemu
(package
(name "qemu")
- (version "5.0.0")
+ (version "5.1.0")
(source (origin
- (method url-fetch)
- (uri (string-append "https://download.qemu.org/qemu-"
- version ".tar.xz"))
- (sha256
- (base32
- "1dlcwyshdp94fwd30pddxf9bn2q8dfw5jsvry2gvdj551wmaj4rg"))))
+ (method url-fetch)
+ (uri (string-append "https://download.qemu.org/qemu-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1rd41wwlvp0vpialjp2czs6i3lsc338xc72l3zkbb7ixjfslw5y9"))
+ (patches (search-patches "qemu-build-info-manual.patch"))))
+ (outputs '("out" "doc")) ;4.7 MiB of HTML docs
(build-system gnu-build-system)
(arguments
- `(;; Running tests in parallel can occasionally lead to failures, like:
- ;; boot_sector_test: assertion failed (signature == SIGNATURE): (0x00000000 == 0x0000dead)
- #:parallel-tests? #f
-
- ;; FIXME: Disable tests on i686 to work around
+ `(;; FIXME: Disable tests on i686 to work around
;; <https://bugs.gnu.org/40527>.
#:tests? ,(or (%current-target-system)
(not (string=? "i686-linux" (%current-system))))
@@ -178,6 +177,24 @@
'("include")
input-directories)
#t)))
+ (add-after 'unpack 'disable-unusable-tests
+ (lambda _
+ (substitute* "tests/Makefile.include"
+ ;; Comment out the test-qga test, which needs /sys and
+ ;; fails within the build environment.
+ (("check-unit-.* tests/test-qga" all)
+ (string-append "# " all))
+ ;; Comment out the test-char test, which needs networking and
+ ;; fails within the build environment.
+ (("check-unit-.* tests/test-char" all)
+ (string-append "# " all)))
+ (substitute* "tests/qtest/Makefile.include"
+ ;; Disable the following test, which triggers a crash on some
+ ;; x86 CPUs (see https://issues.guix.info/43048 and
+ ;; https://bugs.launchpad.net/qemu/+bug/1896263).
+ (("check-qtest-i386-y \\+= bios-tables-test" all)
+ (string-append "# " all)))
+ #t))
(add-after 'patch-source-shebangs 'patch-/bin/sh-references
(lambda _
;; Ensure the executables created by these source files reference
@@ -188,7 +205,7 @@
#t))
(replace 'configure
(lambda* (#:key inputs outputs (configure-flags '())
- #:allow-other-keys)
+ #:allow-other-keys)
;; The `configure' script doesn't understand some of the
;; GNU options. Thus, add a new phase that's compatible.
(let ((out (assoc-ref outputs "out")))
@@ -218,23 +235,12 @@
,(string-append "--prefix=" out)
,(string-append "--sysconfdir=/etc")
,@configure-flags)))))
- (add-after 'install 'install-info
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; Install the Info manual, unless Texinfo is missing.
- (when (assoc-ref inputs "texinfo")
- (let* ((out (assoc-ref outputs "out"))
- (dir (string-append out "/share/info")))
- (invoke "make" "info")
- (for-each (lambda (info)
- (install-file info dir))
- (find-files "." "\\.info"))))
- #t))
;; Create a wrapper for Samba. This allows QEMU to use Samba without
;; pulling it in as an input. Note that you need to explicitly install
;; Samba in your Guix profile for Samba support.
- (add-after 'install-info 'create-samba-wrapper
+ (add-after 'install 'create-samba-wrapper
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref %outputs "out"))
+ (let* ((out (assoc-ref outputs "out"))
(libexec (string-append out "/libexec")))
(call-with-output-file "samba-wrapper"
(lambda (port)
@@ -243,18 +249,14 @@ exec smbd $@")))
(chmod "samba-wrapper" #o755)
(install-file "samba-wrapper" libexec))
#t))
- (add-before 'check 'disable-unusable-tests
+ (add-after 'install 'move-html-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* "tests/Makefile.include"
- ;; Comment out the test-qga test, which needs /sys and
- ;; fails within the build environment.
- (("check-unit-.* tests/test-qga" all)
- (string-append "# " all)))
- (substitute* "tests/Makefile.include"
- ;; Comment out the test-char test, which needs networking and
- ;; fails within the build environment.
- (("check-unit-.* tests/test-char" all)
- (string-append "# " all)))
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc"))
+ (qemu-doc (string-append doc "/share/doc/qemu-" ,version)))
+ (mkdir-p qemu-doc)
+ (rename-file (string-append out "/share/doc/qemu")
+ (string-append qemu-doc "/html")))
#t)))))
(inputs ; TODO: Add optional inputs.
`(("alsa-lib" ,alsa-lib)
@@ -679,7 +681,7 @@ server and embedded PowerPC, and S390 guests.")
;; For the documentation.
("python-docutils" ,python-docutils)
("sphinx" ,python-sphinx)
- ("pandoc" ,ghc-pandoc)
+ ("pandoc" ,pandoc)
("dot" ,graphviz)
;; Test dependencies.
@@ -1590,16 +1592,16 @@ Open Container Initiative (OCI) image layout and its tagged images.")
(define-public skopeo
(package
(name "skopeo")
- (version "0.1.40")
+ (version "1.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/projectatomic/skopeo")
+ (url "https://github.com/containers/skopeo")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1bagirzdzjhicn5dr691092ac3q6lhz3xngjzgqiqkxnvpz7p6cn"))))
+ "1v7k3ki10i6082r7zswblyirx6zck674y6bw3plssw4p1l2611rd"))))
(build-system go-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -1613,7 +1615,7 @@ Open Container Initiative (OCI) image layout and its tagged images.")
("glib" ,glib)
("gpgme" ,gpgme)))
(arguments
- '(#:import-path "github.com/projectatomic/skopeo"
+ '(#:import-path "github.com/containers/skopeo"
#:install-source? #f
#:tests? #f ; The tests require Docker
#:phases
@@ -1622,13 +1624,13 @@ Open Container Initiative (OCI) image layout and its tagged images.")
(lambda* (#:key import-path #:allow-other-keys)
(chdir (string-append "src/" import-path))
;; TODO: build manpages with 'go-md2man'.
- (invoke "make" "binary-local")))
+ (invoke "make" "bin/skopeo")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(invoke "make" "install-binary" "install-completions"
(string-append "PREFIX=" out))))))))
- (home-page "https://github.com/projectatomic/skopeo")
+ (home-page "https://github.com/containers/skopeo")
(synopsis "Interact with container images and container image registries")
(description
"@command{skopeo} is a command line utility providing various operations