package/libqmi: fix build with help2man

Fix the following build failure raised with help2man since bump to
version 1.30.0 in commit 50c5495f81:

FAILED: docs/man/qmicli.1
/usr/bin/help2man --output=docs/man/qmicli.1 '--name=Control QMI devices' '--help-option="--help-all"' /home/peko/autobuild/instance-1/output-1/build/libqmi-1.30.2/build/src/qmicli/qmicli
help2man: can't get `"--help-all"' info from /home/peko/autobuild/instance-1/output-1/build/libqmi-1.30.2/build/src/qmicli/qmicli
Try `--no-discard-stderr' if option outputs to stderr

Fixes:
 - http://autobuild.buildroot.org/results/15818b6de7378cd75c59b1d6dc732ed9a20c092a

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Fabrice Fontaine 2021-12-16 19:49:43 +01:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 76cd1aa753
commit 7f38ce2103
2 changed files with 66 additions and 0 deletions

View file

@ -0,0 +1,65 @@
From 295b75e9c8dc895e281e36b1e8121d09fd556af0 Mon Sep 17 00:00:00 2001
From: Aleksander Morgado <aleksander@aleksander.es>
Date: Wed, 3 Nov 2021 10:57:51 +0100
Subject: [PATCH] build: add an option to not build man pages
When cross-compiling, the compiled binaries cannot be run on the build
machine, unless one defines a helper (e.g. qemu) in the meson
configuration, which is most of the time undesirable.
If help2man is installed on the build machine, then the build would fail
because of this, so add an option to disable generating the man pages.
With later versions of meson, it will be possible to automatically
detect this condition.
Based on the same fix done in libmbim by Nicolas Cavallari, see
https://gitlab.freedesktop.org/mobile-broadband/libmbim/-/commit/792af73ea90e9689703ab526dd444fdb1c2f8e40
Fixes https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/issues/75
[Retrieved (and backported) from:
https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/commit/295b75e9c8dc895e281e36b1e8121d09fd556af0]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
meson.build | 8 +++++++-
meson_options.txt | 1 +
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index e88b43a1..c7312146 100644
--- a/meson.build
+++ b/meson.build
@@ -223,8 +223,8 @@ if enable_gtk_doc
subdir('docs/reference/libqmi-glib')
endif
-help2man = find_program('help2man', required: false)
-if help2man.found()
+enable_man = get_option('man')
+if enable_man
subdir('docs/man')
endif
@@ -237,6 +242,7 @@ summary({
output += ' Documentation: ' + enable_gtk_doc.to_string() + '\n'
output += ' bash completion: ' + enable_bash_completion.to_string() + '\n'
output += ' gobject introspection: ' + enable_gir.to_string() + '\n\n'
+output += ' man pages: ' + enable_man.to_string() + '\n\n'
output += ' System paths\n'
output += ' prefix: ' + qmi_prefix + '\n'
output += ' udev base directory: ' + qmi_username + '\n\n'
diff --git a/meson_options.txt b/meson_options.txt
index 4d4f913d..bee5daac 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -16,5 +16,6 @@ option('udevdir', type: 'string', value: '', description: 'where udev base direc
option('introspection', type: 'boolean', value: 'auto', description: 'build introspection support')
option('gtk_doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation')
+option('man', type: 'boolean', value: 'true', description: 'build man pages using help2man')
option('bash_completion', type: 'boolean', value: true, description: 'install bash completion files')
--
GitLab

View file

@ -12,6 +12,7 @@ LIBQMI_CPE_ID_VENDOR = libqmi_project
LIBQMI_INSTALL_STAGING = YES
LIBQMI_DEPENDENCIES = libglib2
LIBQMI_CONF_OPTS = -Dman=false
ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
LIBQMI_DEPENDENCIES += gobject-introspection