mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-03-22 04:30:41 +01:00
doc/user: generate the required package list for the CI distributions
Use yq to extract the package list from the CI configuration, then dump that into the user docs. This provides the long-requested commands to install all dependencies without the maintenance effort or risk of going stale. Note that we are *not* building this in the CI, it's just not needed. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
d0d2994254
commit
03280de5e9
3 changed files with 47 additions and 0 deletions
|
|
@ -224,6 +224,14 @@ found``. See
|
|||
`this blog post here <https://who-t.blogspot.com/2018/07/meson-fails-with-native-dependency-not-found.html>`_
|
||||
for instructions on how to fix it.
|
||||
|
||||
..............................................................................
|
||||
Build dependencies per distribution
|
||||
..............................................................................
|
||||
|
||||
|
||||
.. include:: dependencies.rst
|
||||
|
||||
|
||||
.. _building_conditional:
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
|
|
|||
21
doc/user/dependencies.rst
Normal file
21
doc/user/dependencies.rst
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
.. warning:: The package lists are autogenerated from the `CI <https://gitlab.freedesktop.org/libinput/libinput/-/tree/master/.gitlab-ci.yml>`_.
|
||||
|
||||
- Fedora: ::
|
||||
|
||||
dnf install @FEDORA_PACKAGES@
|
||||
|
||||
- Ubuntu: ::
|
||||
|
||||
apt install @UBUNTU_PACKAGES@
|
||||
|
||||
- Debian: ::
|
||||
|
||||
apt install @DEBIAN_PACKAGES@
|
||||
|
||||
- Arch: ::
|
||||
|
||||
pacman -S @ARCH_PACKAGES@
|
||||
|
||||
- Alpine: ::
|
||||
|
||||
apk add @ALPINE_PACKAGES@
|
||||
|
|
@ -4,6 +4,11 @@ if not sphinx.found()
|
|||
error('Program "sphinx-build" not found or not executable. Try building with -Ddocumentation=false')
|
||||
endif
|
||||
|
||||
yq = find_program('yq', required : false)
|
||||
if not yq.found()
|
||||
warning('Program "yq" not found or not executable. Dependency list will not be built.')
|
||||
endif
|
||||
|
||||
sphinx_config = configuration_data()
|
||||
sphinx_config.set('PROJECT_NAME', meson.project_name())
|
||||
sphinx_config.set('PROJECT_VERSION', meson.project_version())
|
||||
|
|
@ -180,6 +185,19 @@ configure_file(input: 'index.rst',
|
|||
output: 'index.rst',
|
||||
configuration: sphinx_config)
|
||||
|
||||
dependencies_config = configuration_data()
|
||||
if yq.found()
|
||||
distributions = ['fedora', 'ubuntu', 'debian', 'arch', 'alpine']
|
||||
foreach distro : distributions
|
||||
yq_filter = '.distributions[] | select(.name == "@0@") | .packages | join(" ")'.format(distro)
|
||||
deps = run_command(yq, '-r', yq_filter,
|
||||
join_paths(meson.source_root(), '.gitlab-ci', 'config.yml')).stdout()
|
||||
dependencies_config.set('@0@_PACKAGES'.format(distro.to_upper()), deps)
|
||||
endforeach
|
||||
endif
|
||||
configure_file(input: 'dependencies.rst',
|
||||
output: 'dependencies.rst',
|
||||
configuration: dependencies_config)
|
||||
|
||||
# do not use -j, it breaks on Ubuntu
|
||||
sphinx_output_dir = 'Documentation'
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue