151 lines
4.5 KiB
Diff
151 lines
4.5 KiB
Diff
|
From 5a54c5bb1c9609b7bffe6b3e05f934030e4e990e Mon Sep 17 00:00:00 2001
|
||
|
From: Jens Georg <mail@jensge.org>
|
||
|
Date: Sat, 26 Dec 2020 18:40:51 +0100
|
||
|
Subject: [PATCH] build: Add man_pages build options
|
||
|
|
||
|
Check if xsltproc runs succesfully and fail otherwise
|
||
|
|
||
|
Fixes #192
|
||
|
|
||
|
[Retrieved from:
|
||
|
https://gitlab.gnome.org/GNOME/rygel/-/commit/5a54c5bb1c9609b7bffe6b3e05f934030e4e990e]
|
||
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||
|
---
|
||
|
doc/man/meson.build | 98 +++++++++++++++++++++++++++------------------
|
||
|
doc/meson.build | 5 ++-
|
||
|
meson_options.txt | 1 +
|
||
|
3 files changed, 64 insertions(+), 40 deletions(-)
|
||
|
|
||
|
diff --git a/doc/man/meson.build b/doc/man/meson.build
|
||
|
index ef3fcfbf5..4c92eab2b 100644
|
||
|
--- a/doc/man/meson.build
|
||
|
+++ b/doc/man/meson.build
|
||
|
@@ -1,43 +1,63 @@
|
||
|
xsltproc = find_program('xsltproc', required: false)
|
||
|
|
||
|
if xsltproc.found()
|
||
|
- xlstproc_flags = [
|
||
|
- '--nonet',
|
||
|
- '--stringparam', 'man.output.quietly', '1',
|
||
|
- '--stringparam', 'funcsynopsis.style', 'ansi',
|
||
|
- '--stringparam', 'man.authors.section.enabled', '1',
|
||
|
- '--stringparam', 'man.copyright.section.enabled', '1',
|
||
|
- ]
|
||
|
-
|
||
|
- xsltproc_args = [
|
||
|
- xsltproc,
|
||
|
- xlstproc_flags,
|
||
|
- '-o', '@OUTPUT@',
|
||
|
- 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl',
|
||
|
- '@INPUT@',
|
||
|
- ]
|
||
|
-
|
||
|
- man_input_files = [
|
||
|
- 'rygel.xml',
|
||
|
- 'rygel.conf.xml'
|
||
|
- ]
|
||
|
-
|
||
|
- man_output_files = [
|
||
|
- 'rygel.1',
|
||
|
- 'rygel.conf.5'
|
||
|
- ]
|
||
|
-
|
||
|
- custom_target('man 1 pages',
|
||
|
- input: 'rygel.xml',
|
||
|
- output: 'rygel.1',
|
||
|
- command: xsltproc_args,
|
||
|
- install: true,
|
||
|
- install_dir: join_paths(get_option('mandir'), 'man1'))
|
||
|
-
|
||
|
- custom_target('man 5 pages',
|
||
|
- input: 'rygel.conf.xml',
|
||
|
- output: 'rygel.conf.5',
|
||
|
- command: xsltproc_args,
|
||
|
- install: true,
|
||
|
- install_dir: join_paths(get_option('mandir'), 'man5'))
|
||
|
+ stylesheet = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl'
|
||
|
+
|
||
|
+ xlstproc_flags = [
|
||
|
+ '--nonet',
|
||
|
+ '--stringparam', 'man.output.quietly', '1',
|
||
|
+ '--stringparam', 'funcsynopsis.style', 'ansi',
|
||
|
+ '--stringparam', 'man.authors.section.enabled', '1',
|
||
|
+ '--stringparam', 'man.copyright.section.enabled', '1',
|
||
|
+ ]
|
||
|
+
|
||
|
+ xsltproc_args = [
|
||
|
+ xsltproc,
|
||
|
+ xlstproc_flags,
|
||
|
+ '-o', '@OUTPUT@',
|
||
|
+ stylesheet,
|
||
|
+ '@INPUT@',
|
||
|
+ ]
|
||
|
+
|
||
|
+ man_input_files = [
|
||
|
+ 'rygel.xml',
|
||
|
+ 'rygel.conf.xml'
|
||
|
+ ]
|
||
|
+
|
||
|
+ man_output_files = [
|
||
|
+ 'rygel.1',
|
||
|
+ 'rygel.conf.5'
|
||
|
+ ]
|
||
|
+
|
||
|
+ r = run_command(
|
||
|
+ [
|
||
|
+ xsltproc,
|
||
|
+ xlstproc_flags,
|
||
|
+ '-o', '/dev/null',
|
||
|
+ stylesheet,
|
||
|
+ 'rygel.xml'
|
||
|
+ ]
|
||
|
+ )
|
||
|
+
|
||
|
+ if (r.returncode() == 0)
|
||
|
+ custom_target(
|
||
|
+ 'man 1 pages',
|
||
|
+ input: 'rygel.xml',
|
||
|
+ output: 'rygel.1',
|
||
|
+ command: xsltproc_args,
|
||
|
+ install: true,
|
||
|
+ install_dir: join_paths(get_option('mandir'), 'man1')
|
||
|
+ )
|
||
|
+
|
||
|
+ custom_target(
|
||
|
+ 'man 5 pages',
|
||
|
+ input: 'rygel.conf.xml',
|
||
|
+ output: 'rygel.conf.5',
|
||
|
+ command: xsltproc_args,
|
||
|
+ install: true,
|
||
|
+ install_dir: join_paths(get_option('mandir'), 'man5')
|
||
|
+ )
|
||
|
+ else
|
||
|
+ error('Cannot bulid man pages, failed to run xsltproc')
|
||
|
+ endif
|
||
|
endif
|
||
|
diff --git a/doc/meson.build b/doc/meson.build
|
||
|
index 41c733e50..91c08fae5 100644
|
||
|
--- a/doc/meson.build
|
||
|
+++ b/doc/meson.build
|
||
|
@@ -1,2 +1,5 @@
|
||
|
-subdir('man')
|
||
|
+if get_option('man_pages')
|
||
|
+ subdir('man')
|
||
|
+endif
|
||
|
+
|
||
|
subdir('reference')
|
||
|
diff --git a/meson_options.txt b/meson_options.txt
|
||
|
index cb604c4e9..c60ff1a9a 100644
|
||
|
--- a/meson_options.txt
|
||
|
+++ b/meson_options.txt
|
||
|
@@ -1,5 +1,6 @@
|
||
|
option('uninstalled', type: 'boolean', value: 'false', description: 'Run Rygel from build directory only')
|
||
|
option('api-docs', type: 'boolean', value: 'false', description: 'Build the API documentation')
|
||
|
+option('man_pages', type: 'boolean', value: 'true', description: 'Build the man pages')
|
||
|
option('systemd-user-units-dir', type : 'string', value : 'auto', description : 'Where to install the systemd user unit (use special values "auto" or "none", or pass a path')
|
||
|
option('plugins', type : 'array', choices : ['external', 'gst-launch', 'lms', 'media-export', 'mpris', 'playbin', 'ruih', 'tracker', 'tracker3'])
|
||
|
option('engines', type : 'array', choices : ['simple', 'gstreamer'])
|
||
|
--
|
||
|
GitLab
|
||
|
|