doc: generate man-pages also for pipewire modules

Use pandoc + some processing to convert Doxygen html output to man
pages.

Requires pandoc & python for building.

Generates manpages: libpipewire-modules.7, libpipewire-module-*.7
This commit is contained in:
Pauli Virtanen 2023-11-18 20:04:06 +02:00 committed by Wim Taymans
parent 62f69581bf
commit 21854f24a5
7 changed files with 265 additions and 0 deletions

View file

@ -0,0 +1,56 @@
libpipewire-modules
###################
----------------
PipeWire modules
----------------
:Manual section: 7
:Manual group: PipeWire
DESCRIPTION
===========
A PipeWire module is effectively a PipeWire client running inside
``pipewire(1)`` which can host multiple modules. Usually modules are
loaded when they are listed in the configuration files. For example
the default configuration file loads several modules:
::
context.modules = [
...
# The native communication protocol.
{ name = libpipewire-module-protocol-native }
# The profile module. Allows application to access profiler
# and performance data. It provides an interface that is used
# by pw-top and pw-profiler.
{ name = libpipewire-module-profiler }
# Allows applications to create metadata objects. It creates
# a factory for Metadata objects.
{ name = libpipewire-module-metadata }
# Creates a factory for making devices that run in the
# context of the PipeWire server.
{ name = libpipewire-module-spa-device-factory }
...
]
KNOWN MODULES
=============
- @LIBPIPEWIRE_MODULES@
AUTHORS
=======
The PipeWire Developers <@PACKAGE_BUGREPORT@>; PipeWire is available from @PACKAGE_URL@
SEE ALSO
========
``pipewire(1)``,
``pipewire.conf(5)``,

View file

@ -6,6 +6,14 @@ manpage_conf.set('PACKAGE_BUGREPORT', 'https://gitlab.freedesktop.org/pipewire/p
manpage_conf.set('PIPEWIRE_CONFIG_DIR', pipewire_configdir)
manpage_conf.set('PIPEWIRE_CONFDATADIR', pipewire_confdatadir)
module_manpage_list = []
foreach m : module_sources
name = m.split('.c').get(0)
module_manpage_list += ['``libpipewire-' + name + '(7)``']
endforeach
manpage_conf.set('LIBPIPEWIRE_MODULES', '\n- '.join(module_manpage_list))
manpages = [
'pipewire.1.rst.in',
'pipewire-pulse.1.rst.in',
@ -22,6 +30,7 @@ manpages = [
'pw-mon.1.rst.in',
'pw-profiler.1.rst.in',
'pw-top.1.rst.in',
'libpipewire-modules.7.rst.in',
]
if get_option('pipewire-jack').allowed()

View file

@ -52,3 +52,4 @@ SEE ALSO
``pw-mon(1)``,
``pw-cat(1)``,
``pw-cli(1)``,
``libpipewire-modules(7)``,

View file

@ -110,3 +110,4 @@ SEE ALSO
``pipewire(1)``,
``pw-mon(1)``,
``libpipewire-modules(7)``,