From 2793f47c066ed396b38893c10533202fceb1a05f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 17 Sep 2020 13:28:19 -0400 Subject: [PATCH] build: Build and install a Texinfo version of the manual. Take advantage of the Sphinx texinfo backend to generate a QEMU info manual. The Texinfo format allows for more structure and info readers provide more advanced navigation capabilities compared to manpages readers. * docs/meson.build (texi, info): New targets. Signed-off-by: Maxim Cournoyer diff --git a/docs/meson.build b/docs/meson.build --- a/docs/meson.build +++ b/docs/meson.build @@ -92,4 +92,25 @@ if build_docs alias_target('sphinxdocs', sphinxdocs) alias_target('html', sphinxdocs) alias_target('man', sphinxmans) + + # Generate a Texinfo version of the QEMU manual. + makeinfo = find_program(['texi2any', 'makeinfo']) + if makeinfo.found() + sphinxtexi = custom_target( + 'QEMU manual generated texinfo source', + 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()]) + sphinxinfo = custom_target( + 'QEMU info manual', + input: sphinxtexi, + output: 'QEMU.info', + install: true, + install_dir: get_option('infodir'), + command: [makeinfo, '--no-split', '@INPUT0@', '--output=@OUTPUT@']) + 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']} >2023-04-21tests: Fix checks for expected failures....Addresses <https://issues.guix.gnu.org/62406>. With 'set -e', a return status inverted with '!' does not cause the shell to exit immediately. Instead use '&& false' to indicate an expected failure. * tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh, tests/guix-environment-container.sh, tests/guix-environment.sh, tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh, tests/guix-hash.sh, tests/guix-home.sh, tests/guix-pack-relocatable.sh, tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh, tests/guix-package.sh, tests/guix-refresh.sh, tests/guix-shell.sh, tests/guix-style.sh, tests/guix-system.sh: Replace uses of '! ...' with '... && false' or `test ! ...` as appropriate. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Eric Bavier 2023-02-27pack: Adjust shell tests to read-only tarball root....Fixes <https://issues.guix.gnu.org/61853>. Fixes a regression introduced in 68380db4c40a2ee1156349a87254fd7b1f1a52d5, whereby the tarball's root entry is now read-only, due to the creation of "profile-directory" in the store. * tests/guix-pack.sh: Remove and recreate $test_directory before transformation option test. * tests/guix-pack-relocatable.sh: Add "chmod +w $test_directory" lines before attempts to write to it. Ludovic Courtès 2022-11-15shell: Detect --symlink spec problems early....* guix/scripts/pack.scm (symlink-spec-option-parser): Remove extraneous char-set. Raise an exception when the target is an absolute file name. (guix-pack): Move with-error-handler earlier. * guix/scripts/shell.scm (guix-shell): Likewise. * guix/scripts/environment.scm (guix-environment): Wrap the whole guix-environment* call with the with-error-handling handler. * tests/guix-environment-container.sh: Add tests. * tests/guix-pack.sh: Adjust symlink spec. Maxim Cournoyer 2022-05-25tests: Fix wrong target triplets....* tests/gexp.scm (ungexp + ungexp-native, input list + ungexp-native, input list splicing + ungexp-native-splicing, gexp list splicinng + ungexp-splicing, gexp->derivation, cross-compilation, gexp->derivation, ungexp-native, gexp->derivation, ungexp + ungexp-native, gexp->derivation, ungexp-native + composed gexps): Change mips64el-linux to mips64el-linux-gnu. * tests/guix-pack.sh: Change arm-unknown-linux-gnueabihf to arm-linux-gnueabihf. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Josselin Poiret 2022-02-18profiles: 'profile-derivation' rejects unsupported packages....Previously user-facing commands would happily start building packages even if they do not support that system. With this change, all the user-facing commands reject unsupported packages without going further. * guix/profiles.scm (profile-derivation): Add #:allow-unsupported-packages?. Define 'check-supported-packages' and honor #:allow-unsupported-packages?. * tests/guix-pack.sh, tests/guix-package.sh, tests/guix-shell.sh: Ensure that unsupported packages are rejected. * tests/guix-system.sh: Pass "--system=armhf-linux" when attempting to build gnu/system/examples/asus-c201.tmpl. Ludovic Courtès