~ruther/guix-local

2c4572448ec4879be89e6fc37be45cc22b566ed1 — Maxim Cournoyer 2 years ago 9e89b22
gnu: qemu: Re-instate info manual.

* gnu/packages/patches/qemu-build-info-manual.patch: Update patch.
* gnu/packages/virtualization.scm (qemu): Register it.

Change-Id: I804bf7c551904d625fef85de200b9db1462f1093
2 files changed, 13 insertions(+), 29 deletions(-)

M gnu/packages/patches/qemu-build-info-manual.patch
M gnu/packages/virtualization.scm
M gnu/packages/patches/qemu-build-info-manual.patch => gnu/packages/patches/qemu-build-info-manual.patch +10 -27
@@ 13,50 13,33 @@ readers.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>

diff --git a/docs/meson.build b/docs/meson.build
index 9040f860ae..2ae7886fcb 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -92,4 +92,25 @@ if build_docs
@@ -98,4 +98,26 @@ if build_docs
   alias_target('sphinxdocs', sphinxdocs)
   alias_target('html', sphinxdocs)
   alias_target('man', sphinxmans)
+
+  # Generate a Texinfo version of the QEMU manual.
+  # Add a target to build and install a Texinfo version of the QEMU
+  # manual, if 'makeinfo' is available.
+  makeinfo = find_program(['texi2any', 'makeinfo'])
+  if makeinfo.found()
+    sphinxtexi = custom_target(
+      'QEMU manual generated texinfo source',
+      output: ['QEMU.texi', 'sphinxtexi.stamp'],
+      'qemu.texi',
+      output: ['qemu.texi', 'sphinxtexi.stamp'],
+      depfile: 'sphinxtexi.d',
+      command: [SPHINX_ARGS, '-Ddepfile=@DEPFILE@',
+               '-Ddepfile_stamp=@OUTPUT1@', '-b', 'texinfo',
+               meson.current_source_dir(), meson.current_build_dir()])
+               '-d', private_dir, input_dir, meson.current_build_dir()])
+    sphinxinfo = custom_target(
+      'QEMU info manual',
+      'qemu.info',
+      input: sphinxtexi,
+      output: 'QEMU.info',
+      output: 'qemu.info',
+      install: true,
+      install_dir: get_option('infodir'),
+      command: [makeinfo, '--no-split', '@INPUT0@', '--output=@OUTPUT@'])
+      command: [makeinfo, '--no-split', '--output=@OUTPUT@', '@INPUT0@'])
+    alias_target('texi', sphinxtexi)
+    alias_target('info', sphinxinfo)
+  endif
 endif
diff --git a/meson.build b/meson.build
--- a/meson.build
+++ b/meson.build
@@ -37,6 +37,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')
 
 qemu_desktopdir = get_option('datadir') / 'applications'
@@ -3698,6 +3699,7 @@ else
   summary_info += {'local state directory': 'queried at runtime'}
 endif
 summary_info += {'Doc directory':     get_option('prefix') / get_option('docdir')}
+summary_info += {'Info directory':    get_option('prefix') / get_option('infodir')}
 summary_info += {'Build directory':   meson.current_build_dir()}
 summary_info += {'Source path':       meson.current_source_dir()}
 summary_info += {'GIT submodules':    config_host['GIT_SUBMODULES']}

M gnu/packages/virtualization.scm => gnu/packages/virtualization.scm +3 -2
@@ 15,7 15,7 @@
;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020, 2021, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2021, 2022 Pierre Langlois <pierre.langlois@gmx.com>


@@ 177,7 177,8 @@
                           version ".tar.xz"))
       (sha256
        (base32 "1fv5wbxpjxqzv10bdlq0ykgqfmzqx4s8yfch9zvqcm8h0il1gk23"))
       (patches (search-patches "qemu-disable-some-qtests-tests.patch"
       (patches (search-patches "qemu-build-info-manual.patch"
                                "qemu-disable-some-qtests-tests.patch"
                                "qemu-fix-agent-paths.patch"))
       (modules '((guix build utils)))
       (snippet