gnu: qemu: Update to 5.2.0.
* gnu/packages/virtualization.scm (qemu): Update to 5.2.0. [source]: Re-indent and break long lines, to appease 'guix lint'. [arguments]{disable-unusable-tests}: Adjust for the new Meson build system. Remove patching for a test workaround that has been resolved in 5.2.0. {patch-test-shebangs, patch-/bin/sh-references}: Combine into... {patch-embedded-shebangs}: ... this new phase. Patch the SHELL variable in the Makefile. {fix-optionrom-makefile}: New phase. {install-user-static}: Adjust as the binaries are now symbolic links pointing to their actual build path. [native-inputs]: Add ninja. * gnu/packages/patches/qemu-build-info-manual.patch: Update patch. Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>master
parent
77c2f4e206
commit
d15fdb66f3
|
@ -1,90 +1,29 @@
|
||||||
From 07303a0a4daa83a0555ac4abad7a5d65584307ad Mon Sep 17 00:00:00 2001
|
From 2793f47c066ed396b38893c10533202fceb1a05f Mon Sep 17 00:00:00 2001
|
||||||
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
Date: Thu, 17 Sep 2020 13:28:19 -0400
|
Date: Thu, 17 Sep 2020 13:28:19 -0400
|
||||||
Subject: [PATCH] build: Build and install the info manual.
|
Subject: [PATCH] build: Build and install a Texinfo version of the manual.
|
||||||
|
|
||||||
Take advantage of the Sphinx texinfo backend to generate a QEMU info
|
Take advantage of the Sphinx texinfo backend to generate a QEMU info
|
||||||
manual. The texinfo format allows for more structure and info readers
|
manual. The Texinfo format allows for more structure and info readers
|
||||||
provide more advanced navigation capabilities compared to manpages
|
provide more advanced navigation capabilities compared to manpages
|
||||||
readers.
|
readers.
|
||||||
|
|
||||||
* configure (infodir): Add the --infodir option, which allows
|
* configure (infodir): Add an --infodir option, which allows
|
||||||
configuring the directory under which the info manuals are installed.
|
configuring the directory under which the info manuals are installed.
|
||||||
* docs/index.rst: Include the top level documents to prevent
|
* docs/meson.build (texi, info): New targets.
|
||||||
warnings (treated as errors by sphinx-build).
|
|
||||||
* Makefile (sphinxdocs-info, $(MANUAL_BUILDDIR)/QEMU.texi)): New targets.
|
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
(info): Depend on sphinxdocs-info.
|
---
|
||||||
(install-doc): Install the info manual.
|
configure | 7 ++++++-
|
||||||
---
|
docs/meson.build | 21 +++++++++++++++++++++
|
||||||
Makefile | 13 +++++++++++--
|
meson.build | 2 ++
|
||||||
configure | 7 +++++++
|
3 files changed, 29 insertions(+), 1 deletion(-)
|
||||||
docs/index.rst | 2 ++
|
|
||||||
3 files changed, 20 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/Makefile b/Makefile
|
|
||||||
index 13dd708c..da78612d 100644
|
|
||||||
--- a/Makefile
|
|
||||||
+++ b/Makefile
|
|
||||||
@@ -864,12 +864,14 @@ endef
|
|
||||||
# Note that we deliberately do not install the "devel" manual: it is
|
|
||||||
# for QEMU developers, and not interesting to our users.
|
|
||||||
.PHONY: install-sphinxdocs
|
|
||||||
-install-sphinxdocs: sphinxdocs
|
|
||||||
+install-sphinxdocs: sphinxdocs sphinxdocs-info
|
|
||||||
$(call install-manual,interop)
|
|
||||||
$(call install-manual,specs)
|
|
||||||
$(call install-manual,system)
|
|
||||||
$(call install-manual,tools)
|
|
||||||
$(call install-manual,user)
|
|
||||||
+ $(INSTALL_DIR) "$(DESTDIR)$(infodir)"
|
|
||||||
+ $(INSTALL_DATA) $(MANUAL_BUILDDIR)/QEMU.info "$(DESTDIR)$(infodir)"
|
|
||||||
|
|
||||||
install-doc: $(DOCS) install-sphinxdocs
|
|
||||||
$(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)"
|
|
||||||
@@ -1067,6 +1069,13 @@ sphinxdocs: $(MANUAL_BUILDDIR)/devel/index.html \
|
|
||||||
$(MANUAL_BUILDDIR)/tools/index.html \
|
|
||||||
$(MANUAL_BUILDDIR)/user/index.html
|
|
||||||
|
|
||||||
+# Build the complete info manual.
|
|
||||||
+.PHONE: sphinxdocs-info
|
|
||||||
+sphinxdocs-info: $(MANUAL_BUILDDIR)/QEMU.info
|
|
||||||
+
|
|
||||||
+$(MANUAL_BUILDDIR)/QEMU.texi: $(call manual-deps,*) $(wildcard $(SRC_PATH)/docs/*.rst)
|
|
||||||
+ $(call build-manual,,texinfo)
|
|
||||||
+
|
|
||||||
# Canned command to build a single manual
|
|
||||||
# Arguments: $1 = manual name, $2 = Sphinx builder ('html' or 'man')
|
|
||||||
# Note the use of different doctree for each (manual, builder) tuple;
|
|
||||||
@@ -1126,7 +1135,7 @@ docs/interop/qemu-ga-qapi.texi: qga/qapi-generated/qga-qapi-doc.texi
|
|
||||||
@cp -p $< $@
|
|
||||||
|
|
||||||
html: docs/interop/qemu-qmp-ref.html docs/interop/qemu-ga-ref.html sphinxdocs
|
|
||||||
-info: docs/interop/qemu-qmp-ref.info docs/interop/qemu-ga-ref.info
|
|
||||||
+info: docs/interop/qemu-qmp-ref.info docs/interop/qemu-ga-ref.info sphinxdocs-info
|
|
||||||
pdf: docs/interop/qemu-qmp-ref.pdf docs/interop/qemu-ga-ref.pdf
|
|
||||||
txt: docs/interop/qemu-qmp-ref.txt docs/interop/qemu-ga-ref.txt
|
|
||||||
|
|
||||||
diff --git a/configure b/configure
|
diff --git a/configure b/configure
|
||||||
index 2acc4d14..3691bd2e 100755
|
index 18c26e0389..d1ab2c19d1 100755
|
||||||
--- a/configure
|
--- a/configure
|
||||||
+++ b/configure
|
+++ b/configure
|
||||||
@@ -415,6 +415,7 @@ LDFLAGS_SHARED="-shared"
|
@@ -948,6 +948,8 @@ for opt do
|
||||||
modules="no"
|
|
||||||
module_upgrades="no"
|
|
||||||
prefix="/usr/local"
|
|
||||||
+infodir="\${prefix}/share/info"
|
|
||||||
mandir="\${prefix}/share/man"
|
|
||||||
datadir="\${prefix}/share"
|
|
||||||
firmwarepath="\${prefix}/share/qemu-firmware"
|
|
||||||
@@ -987,6 +988,7 @@ if test "$mingw32" = "yes" ; then
|
|
||||||
LIBS="-liberty $LIBS"
|
|
||||||
fi
|
|
||||||
prefix="c:/Program Files/QEMU"
|
|
||||||
+ infodir="\${prefix}"
|
|
||||||
mandir="\${prefix}"
|
|
||||||
datadir="\${prefix}"
|
|
||||||
qemu_docdir="\${prefix}"
|
|
||||||
@@ -1087,6 +1089,8 @@ for opt do
|
|
||||||
static="yes"
|
static="yes"
|
||||||
QEMU_PKG_CONFIG_FLAGS="--static $QEMU_PKG_CONFIG_FLAGS"
|
QEMU_PKG_CONFIG_FLAGS="--static $QEMU_PKG_CONFIG_FLAGS"
|
||||||
;;
|
;;
|
||||||
|
@ -93,47 +32,89 @@ index 2acc4d14..3691bd2e 100755
|
||||||
--mandir=*) mandir="$optarg"
|
--mandir=*) mandir="$optarg"
|
||||||
;;
|
;;
|
||||||
--bindir=*) bindir="$optarg"
|
--bindir=*) bindir="$optarg"
|
||||||
@@ -1780,6 +1784,7 @@ Advanced options (experts only):
|
@@ -975,7 +977,7 @@ for opt do
|
||||||
|
--host=*|--build=*|\
|
||||||
|
--disable-dependency-tracking|\
|
||||||
|
--sbindir=*|--sharedstatedir=*|\
|
||||||
|
- --oldincludedir=*|--datarootdir=*|--infodir=*|\
|
||||||
|
+ --oldincludedir=*|--datarootdir=*|\
|
||||||
|
--htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*)
|
||||||
|
# These switches are silently ignored, for compatibility with
|
||||||
|
# autoconf-generated configure scripts. This allows QEMU's
|
||||||
|
@@ -1540,6 +1542,7 @@ includedir="${includedir:-$prefix/include}"
|
||||||
|
if test "$mingw32" = "yes" ; then
|
||||||
|
mandir="$prefix"
|
||||||
|
datadir="$prefix"
|
||||||
|
+ infodir="$prefix"
|
||||||
|
docdir="$prefix"
|
||||||
|
bindir="$prefix"
|
||||||
|
sysconfdir="$prefix"
|
||||||
|
@@ -1547,6 +1550,7 @@ if test "$mingw32" = "yes" ; then
|
||||||
|
else
|
||||||
|
mandir="${mandir:-$prefix/share/man}"
|
||||||
|
datadir="${datadir:-$prefix/share}"
|
||||||
|
+ infodir="${infodir:-$datadir/info}"
|
||||||
|
docdir="${docdir:-$prefix/share/doc}"
|
||||||
|
bindir="${bindir:-$prefix/bin}"
|
||||||
|
sysconfdir="${sysconfdir:-$prefix/etc}"
|
||||||
|
@@ -1683,6 +1687,7 @@ Advanced options (experts only):
|
||||||
--smbd=SMBD use specified smbd [$smbd]
|
--smbd=SMBD use specified smbd [$smbd]
|
||||||
--with-git=GIT use specified git [$git]
|
--with-git=GIT use specified git [$git]
|
||||||
--static enable static build [$static]
|
--static enable static build [$static]
|
||||||
+ --infodir=PATH install info manual in PATH
|
+ --infodir=PATH install info manual in PATH
|
||||||
--mandir=PATH install man pages in PATH
|
--mandir=PATH install man pages in PATH
|
||||||
--datadir=PATH install firmware in PATH$confsuffix
|
--datadir=PATH install firmware in PATH/$qemu_suffix
|
||||||
--docdir=PATH install documentation in PATH$confsuffix
|
--localedir=PATH install translation in PATH/$qemu_suffix
|
||||||
@@ -6836,6 +6841,7 @@ echo "include directory $(eval echo $includedir)"
|
diff --git a/docs/meson.build b/docs/meson.build
|
||||||
echo "config directory $(eval echo $sysconfdir)"
|
index ebd85d59f9..1243839461 100644
|
||||||
if test "$mingw32" = "no" ; then
|
--- a/docs/meson.build
|
||||||
echo "local state directory $(eval echo $local_statedir)"
|
+++ b/docs/meson.build
|
||||||
+echo "Info manual directory $(eval echo $infodir)"
|
@@ -114,4 +114,25 @@ if build_docs
|
||||||
echo "Manual directory $(eval echo $mandir)"
|
alias_target('sphinxdocs', sphinxdocs)
|
||||||
echo "ELF interp prefix $interp_prefix"
|
alias_target('html', sphinxdocs)
|
||||||
else
|
alias_target('man', sphinxmans)
|
||||||
@@ -7059,6 +7065,7 @@ echo "bindir=$bindir" >> $config_host_mak
|
+
|
||||||
echo "libdir=$libdir" >> $config_host_mak
|
+ # Generate a Texinfo version of the QEMU manual.
|
||||||
echo "libexecdir=$libexecdir" >> $config_host_mak
|
+ makeinfo = find_program(['texi2any', 'makeinfo'])
|
||||||
echo "includedir=$includedir" >> $config_host_mak
|
+ if makeinfo.found()
|
||||||
+echo "infodir=$infodir" >> $config_host_mak
|
+ sphinxtexi = custom_target(
|
||||||
echo "mandir=$mandir" >> $config_host_mak
|
+ 'QEMU manual generated texinfo source',
|
||||||
echo "sysconfdir=$sysconfdir" >> $config_host_mak
|
+ output: ['QEMU.texi', 'sphinxtexi.stamp'],
|
||||||
echo "qemu_confdir=$qemu_confdir" >> $config_host_mak
|
+ depfile: 'sphinxtexi.d',
|
||||||
diff --git a/docs/index.rst b/docs/index.rst
|
+ command: [SPHINX_ARGS, '-Ddepfile=@DEPFILE@',
|
||||||
index 763e3d04..4f155b51 100644
|
+ '-Ddepfile_stamp=@OUTPUT1@', '-b', 'texinfo',
|
||||||
--- a/docs/index.rst
|
+ meson.current_source_dir(), meson.current_build_dir()])
|
||||||
+++ b/docs/index.rst
|
+ sphinxinfo = custom_target(
|
||||||
@@ -9,6 +9,7 @@ Welcome to QEMU's documentation!
|
+ 'QEMU info manual',
|
||||||
.. toctree::
|
+ input: sphinxtexi,
|
||||||
:maxdepth: 2
|
+ output: 'QEMU.info',
|
||||||
:caption: Contents:
|
+ install: true,
|
||||||
+ :glob:
|
+ install_dir: get_option('infodir'),
|
||||||
|
+ command: [makeinfo, '@INPUT0@', '--output=@OUTPUT@'])
|
||||||
|
+ alias_target('texi', sphinxtexi)
|
||||||
|
+ alias_target('info', sphinxinfo)
|
||||||
|
+ endif
|
||||||
|
endif
|
||||||
|
diff --git a/meson.build b/meson.build
|
||||||
|
index e3386196ba..d64a125ad9 100644
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -32,6 +32,7 @@ endif
|
||||||
|
qemu_confdir = get_option('sysconfdir') / get_option('qemu_suffix')
|
||||||
|
qemu_datadir = get_option('datadir') / get_option('qemu_suffix')
|
||||||
|
qemu_docdir = get_option('docdir') / get_option('qemu_suffix')
|
||||||
|
+qemu_infodir = get_option('infodir') / get_option('qemu_suffix')
|
||||||
|
qemu_moddir = get_option('libdir') / get_option('qemu_suffix')
|
||||||
|
|
||||||
system/index
|
qemu_desktopdir = get_option('datadir') / 'applications'
|
||||||
user/index
|
@@ -1995,6 +1996,7 @@ else
|
||||||
@@ -16,3 +17,4 @@ Welcome to QEMU's documentation!
|
summary_info += {'local state directory': 'queried at runtime'}
|
||||||
interop/index
|
endif
|
||||||
specs/index
|
summary_info += {'Doc directory': get_option('docdir')}
|
||||||
devel/index
|
+summary_info += {'Info directory': get_option('infodir')}
|
||||||
+ *
|
summary_info += {'Build directory': meson.current_build_dir()}
|
||||||
|
summary_info += {'Source path': meson.current_source_dir()}
|
||||||
|
summary_info += {'GIT binary': config_host['GIT']}
|
||||||
--
|
--
|
||||||
2.28.0
|
2.30.1
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||||
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
|
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
|
||||||
|
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -80,6 +81,7 @@
|
||||||
#:use-module (gnu packages ncurses)
|
#:use-module (gnu packages ncurses)
|
||||||
#:use-module (gnu packages nettle)
|
#:use-module (gnu packages nettle)
|
||||||
#:use-module (gnu packages networking)
|
#:use-module (gnu packages networking)
|
||||||
|
#:use-module (gnu packages ninja)
|
||||||
#:use-module (gnu packages onc-rpc)
|
#:use-module (gnu packages onc-rpc)
|
||||||
#:use-module (gnu packages package-management)
|
#:use-module (gnu packages package-management)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
|
@ -135,7 +137,7 @@
|
||||||
(define-public qemu
|
(define-public qemu
|
||||||
(package
|
(package
|
||||||
(name "qemu")
|
(name "qemu")
|
||||||
(version "5.1.0")
|
(version "5.2.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -143,9 +145,9 @@
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1rd41wwlvp0vpialjp2czs6i3lsc338xc72l3zkbb7ixjfslw5y9"))
|
"1g0pvx4qbirpcn9mni704y03n3lvkmw2c0rbcwvydyr8ns4xh66b"))
|
||||||
(patches (search-patches "qemu-build-info-manual.patch"
|
(patches (search-patches "qemu-CVE-2021-20203.patch"
|
||||||
"qemu-CVE-2021-20203.patch"))
|
"qemu-build-info-manual.patch"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
|
@ -161,7 +163,7 @@
|
||||||
(("^([[:blank:]]*)target_ifreq_size[[:blank:]]=.*$" _ indent)
|
(("^([[:blank:]]*)target_ifreq_size[[:blank:]]=.*$" _ indent)
|
||||||
(string-append indent "target_ifreq_size = "
|
(string-append indent "target_ifreq_size = "
|
||||||
"thunk_type_size(ifreq_max_type, 0);")))))))
|
"thunk_type_size(ifreq_max_type, 0);")))))))
|
||||||
(outputs '("out" "static" "doc")) ;4.7 MiB of HTML docs
|
(outputs '("out" "static" "doc")) ;5.3 MiB of HTML docs
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
;; FIXME: Disable tests on i686 to work around
|
;; FIXME: Disable tests on i686 to work around
|
||||||
|
@ -214,33 +216,37 @@
|
||||||
(string-append match "9")))))
|
(string-append match "9")))))
|
||||||
(add-after 'unpack 'disable-unusable-tests
|
(add-after 'unpack 'disable-unusable-tests
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "tests/Makefile.include"
|
(substitute* "tests/meson.build"
|
||||||
;; Comment out the test-qga test, which needs /sys and
|
;; Comment out the test-qga test, which needs /sys and
|
||||||
;; fails within the build environment.
|
;; fails within the build environment.
|
||||||
(("check-unit-.* tests/test-qga" all)
|
(("tests.*test-qga.*$" all)
|
||||||
(string-append "# " all))
|
(string-append "# " all))
|
||||||
;; Comment out the test-char test, which needs networking and
|
;; Comment out the test-char test, which needs networking and
|
||||||
;; fails within the build environment.
|
;; fails within the build environment.
|
||||||
(("check-unit-.* tests/test-char" all)
|
(("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)))))
|
(string-append "# " all)))))
|
||||||
(add-after 'unpack 'patch-test-shebangs
|
(add-after 'patch-source-shebangs 'patch-embedded-shebangs
|
||||||
(lambda _
|
|
||||||
(substitute* "tests/qemu-iotests/check"
|
|
||||||
(("#!/usr/bin/env python3")
|
|
||||||
(string-append "#!" (which "python3"))))))
|
|
||||||
(add-after 'patch-source-shebangs 'patch-/bin/sh-references
|
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Ensure the executables created by these source files reference
|
;; Ensure the executables created by these source files reference
|
||||||
;; /bin/sh from the store so they work inside the build container.
|
;; /bin/sh from the store so they work inside the build container.
|
||||||
(substitute* '("block/cloop.c" "migration/exec.c"
|
(substitute* '("block/cloop.c" "migration/exec.c"
|
||||||
"net/tap.c" "tests/qtest/libqtest.c")
|
"net/tap.c" "tests/qtest/libqtest.c")
|
||||||
(("/bin/sh") (which "sh")))))
|
(("/bin/sh") (which "sh")))
|
||||||
|
(substitute* "Makefile"
|
||||||
|
(("SHELL = /usr/bin/env bash -o pipefail")
|
||||||
|
"SHELL = bash -o pipefail"))
|
||||||
|
(substitute* "tests/qemu-iotests/check"
|
||||||
|
(("#!/usr/bin/env python3")
|
||||||
|
(string-append "#!" (which "python3"))))))
|
||||||
|
(add-before 'configure 'fix-optionrom-makefile
|
||||||
|
(lambda _
|
||||||
|
;; Work around the inability of the rules defined in this
|
||||||
|
;; Makefile to locate the firmware files (e.g.: No rule to make
|
||||||
|
;; target 'multiboot.bin') by extending the VPATH.
|
||||||
|
(substitute* "pc-bios/optionrom/Makefile"
|
||||||
|
(("^VPATH = \\$\\(SRC_DIR\\)")
|
||||||
|
"VPATH = $(SRC_DIR):$(TOPSRC_DIR)/pc-bios"))))
|
||||||
|
;; XXX ./configure is being re-run at beginning of build phase...
|
||||||
(replace 'configure
|
(replace 'configure
|
||||||
(lambda* (#:key inputs outputs configure-flags #:allow-other-keys)
|
(lambda* (#:key inputs outputs configure-flags #:allow-other-keys)
|
||||||
;; The `configure' script doesn't understand some of the
|
;; The `configure' script doesn't understand some of the
|
||||||
|
@ -249,7 +255,7 @@
|
||||||
(setenv "SHELL" (which "bash"))
|
(setenv "SHELL" (which "bash"))
|
||||||
;; Ensure config.status gets the correct shebang off the bat.
|
;; Ensure config.status gets the correct shebang off the bat.
|
||||||
;; The build system gets confused if we change it later and
|
;; The build system gets confused if we change it later and
|
||||||
;; attempts to re-run the whole configury, and fails.
|
;; attempts to re-run the whole configuration, and fails.
|
||||||
(substitute* "configure"
|
(substitute* "configure"
|
||||||
(("#!/bin/sh")
|
(("#!/bin/sh")
|
||||||
(string-append "#!" (which "sh"))))
|
(string-append "#!" (which "sh"))))
|
||||||
|
@ -288,7 +294,7 @@
|
||||||
(bin (string-append static "/bin")))
|
(bin (string-append static "/bin")))
|
||||||
(with-directory-excursion "../user-static"
|
(with-directory-excursion "../user-static"
|
||||||
(for-each (cut install-file <> bin)
|
(for-each (cut install-file <> bin)
|
||||||
(append-map (cut find-files <> "^qemu-")
|
(append-map (cut find-files <> "^qemu-" #:stat stat)
|
||||||
(scandir "."
|
(scandir "."
|
||||||
(cut string-suffix?
|
(cut string-suffix?
|
||||||
"-linux-user" <>))))))))
|
"-linux-user" <>))))))))
|
||||||
|
@ -345,6 +351,7 @@ exec smbd $@")))
|
||||||
("perl" ,perl)
|
("perl" ,perl)
|
||||||
("flex" ,flex)
|
("flex" ,flex)
|
||||||
("bison" ,bison)
|
("bison" ,bison)
|
||||||
|
("ninja" ,ninja)
|
||||||
("pkg-config" ,pkg-config)
|
("pkg-config" ,pkg-config)
|
||||||
("python-wrapper" ,python-wrapper)
|
("python-wrapper" ,python-wrapper)
|
||||||
("python-sphinx" ,python-sphinx)
|
("python-sphinx" ,python-sphinx)
|
||||||
|
|
Reference in New Issue