RE: [External] - [PATCH libgpiod v3 13/16] doc: add documentation for GLib bindings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Bartosz Golaszewski <brgl@xxxxxxxx>
> Sent: Thursday, February 6, 2025 6:22 AM
> To: Vincent Fazio <vfazio@xxxxxxxxxxx>; Kent Gibson
> <warthog618@xxxxxxxxx>; Linus Walleij <linus.walleij@xxxxxxxxxx>; Erik
> Schilling <erik.schilling@xxxxxxxxxx>; Phil Howard <phil@xxxxxxxxxxxxx>;
> Viresh Kumar <viresh.kumar@xxxxxxxxxx>
> Cc: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>; linux-
> gpio@xxxxxxxxxxxxxxx
> Subject: [External] - [PATCH libgpiod v3 13/16] doc: add documentation for
> GLib bindings
> 
> From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
> 
> The GObject docs are generated with gi-docgen and there doesn't seem to be
> an easy way of converting them to sphinx. Let's put the GLib docs statically
> into the sphinx output and reference them from the bindings chapter.
> 
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
> ---
>  .readthedocs.yaml |  9 ++++++++-
>  docs/Makefile.am  |  1 +
>  docs/bindings.rst |  1 +
>  docs/conf.py      | 38 ++++++++++++++++++++++++++++++++++++++
>  docs/glib_api.rst | 23 +++++++++++++++++++++++
>  5 files changed, 71 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/conf.py b/docs/conf.py index 3d0209a..33fc89f 100644
> --- a/docs/conf.py
> +++ b/docs/conf.py
> @@ -62,8 +62,46 @@ def autodoc_skip_init(app, what, name, obj,
> would_skip, options):
>      return would_skip
> 
> 
> +# We need to know where to put docs generated by gi-docgen but
> +app.outdir is # only set once the builder is initialized. Let's delay
> +running gi-docgen # until we're notified.
> +def make_glib_docs(app):
> +    # For some reason on RTD we're in the docs/ directory while during a local
> +    # build, we're still in the top source directory.
> +    prefix = "../" if os.getenv("READTHEDOCS") == "True" else ""

Building via `sphinx-build ./docs/ docs/sphinx-output` seems to work ok but building via `make docs` does not, maybe due to `make -C docs docs ` changing directory and requiring the prefix be present?

Maybe we should always use the "../" prefix and expect callers from the top directory to: `pushd docs; sphinx-build . ./sphinx-output; popd`

(venv) root@9935cce25ae1:/work# make docs > /dev/null
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: aclocal --force -I m4
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:54: installing 'autostuff/compile'
configure.ac:40: installing 'autostuff/missing'
bindings/cxx/Makefile.am: installing 'autostuff/depcomp'
autoreconf: Leaving directory '.'
/work/venv/lib/python3.12/site-packages/breathe/project.py:116: RemovedInSphinx90Warning: Sphinx 9 will drop support for representing paths as strings. Use "pathlib.Path" or "os.fspath" instead.
  self._default_build_dir = os.path.dirname(app.doctreedir.rstrip(os.sep))
usage: gi-docgen generate [-h] [-q] [--fatal-warnings]
                          [--add-include-path INCLUDE_PATHS] [-C FILE]
                          [--dry-run] [--templates-dir TEMPLATES_DIR]
                          [--content-dir CONTENT_DIRS] [--theme-name THEME_NAME]
                          [--output-dir OUTPUT_DIR] [--no-namespace-dir]
                          [--section SECTIONS]
                          GIRFILE
gi-docgen generate: error: argument GIRFILE: can't open 'bindings/glib/Gpiodglib-1.0.gir': [Errno 2] No such file or directory: 'bindings/glib/Gpiodglib-1.0.gir'






[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux