Commit Graph

3011 Commits

Author SHA1 Message Date
Bobby Rong
dd97c88f90 docs: Fix building with docs enabled and introspection disabled
We install gvariant-specification-1.0.html to `docs_dir` but that shouldn't require `enable_gir`.

Fixes: docs/reference/glib/meson.build:26:16: ERROR: Unknown variable "docs_dir"
Part-of: <https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3955>
2024-03-05 16:45:21 +00:00
Philip Withnall
9ed0ce21df docs: Fix a typo in the macros docs page
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-29 13:58:53 +00:00
Philip Withnall
257b98027b Merge branch 'wip/smcv/gir-man-pages' into 'main'
Add man pages for gi-* tools

Closes #3260 and gobject-introspection#55

See merge request GNOME/glib!3924
2024-02-15 21:37:35 +00:00
Simon McVittie
2cc82bd2ca Add a man page for gi-inspect-typelib
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
Simon McVittie
b0163afd3b Add gi-* man pages to the build system
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
Simon McVittie
66fda286e1 g-ir- tools: Add examples to man pages
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
Simon McVittie
d0cb89538a Retitle gi-* man pages and update content
gi-compile-repository --module and gi-decompile-typelib --shlib are
intentionally undocumented here: they will be removed in !3926.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
Simon McVittie
615c51988d Spell Matthias' name correctly in the gi-* man pages
This was wrong since 2008.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
Simon McVittie
bca2ad0c03 Add metadata header to gi-* man pages
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
Simon McVittie
30e8c6a1de Rename man pages to the tools' GLib names
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
Simon McVittie
af9c0b0159 Remove generated man pages
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
Simon McVittie
e37c94817d Move g-ir-compiler, g-ir-generate man pages to docs/reference/girepository
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:07:46 +00:00
Jan Tojnar
87ae4fb3ac docs: Update website link 2024-02-14 12:07:46 +00:00
Christoph Reiter
1bda59fcc9 Add a --version option to g-ir-compiler and g-ir-generate.
Resolves: gobject-introspection#55
2024-02-14 12:07:46 +00:00
Christoph Reiter
8d699b6268 Sphinx based user documentation
The current output (more or less a straight copy of the wiki) is available
here:

https://gi.readthedocs.io

This contains two changes:

* Converts all (not completely outdated) wiki pages to a sphinx based
  documentation.
* Converts the man pages to reST and adds a Makefile for building them
  using rst2man. So they can be easily exposed in the sphinx docs.

Goals:

* Have a user focused/compact documentation instead of random wiki pages
  with various todo/ideas pages.
* Take advantage of the gitlab MR workflow by
  * allowing large documentation changes/refactorings with reviews
  * allowing to combine features changes with documentation changes in MRs
2024-02-14 12:07:46 +00:00
Tomasz Miąsko
ae313e311d Update bug reporting links.
Also disable automatic hyphenation in manual pages to prevent wrapping
long URLs. Ensures that URLs can be easily navigated by clicking on
them.
2024-02-14 12:07:46 +00:00
Emmanuele Bassi
c7387b504a docs: Remove incorrect name rule
The leading `lib` should be passed as part of the shared library name in
the `--shared-library` argument for g-ir-compiler.

https://bugzilla.gnome.org/show_bug.cgi?id=699354
2024-02-14 12:07:46 +00:00
Ben Boeckel
e24c7f93c9 docs: fix manpage flag formats
Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
2024-02-14 12:07:46 +00:00
Robert Roth
be0bb09c7a Fixed reference to obsolete name used in g-ir-generate manpage
https://bugzilla.gnome.org/show_bug.cgi?id=729901
2024-02-14 12:07:46 +00:00
Dieter Verfaillie
33b7bc36ad Update bugzilla product/component
g-i bug reports have been moved from:
  http://bugzilla.gnome.org/enter_bug.cgi?product=glib&amp;component=introspection
to:
  http://bugzilla.gnome.org/enter_bug.cgi?product=gobject-introspection

https://bugzilla.gnome.org/show_bug.cgi?id=745498
2024-02-14 12:07:46 +00:00
Dieter Verfaillie
0e11c0ad8d g-ir-compiler: remove references to --code, remove --no-init options
The "--code" option was removed years ago in ac81f3e8c5f1c380d16677232d67466e739da283
so remove references to it from README and g-ir-compiler(1)

Remove the "--no-init" option from g-ir-compiler and g-ir-compiler(1)
as it was documented to "can only be used if --code is also specified",
so no reason to keep it around.
2024-02-14 12:07:46 +00:00
Johan Dahlin
7bff894a04 Do not use triple dashes 2024-02-14 12:07:46 +00:00
Johan Dahlin
d500d23c58 Remove leading %
2008-09-06  Johan Dahlin  <johan@gnome.org>

    * docs/g-ir-generate.1: Remove leading %


svn path=/trunk/; revision=573
2024-02-14 12:07:45 +00:00
Johan Dahlin
3c65ea7a18 Add man pages for the generator and compiler.
2008-08-29  Johan Dahlin  <johan@gnome.org>

    * Makefile.am:
    * docs/g-ir-compiler.1:
    * docs/g-ir-generate.1:
    * docs/g-ir-scanner.1:
    Add man pages for the generator and compiler.


svn path=/trunk/; revision=518
2024-02-14 12:07:45 +00:00
Simon McVittie
8440742c12 migrating-gi: Document command-line option removals
From !3926, !3927.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:03:36 +00:00
Simon McVittie
64762fdef6 gi-decompile-typelib: Interpret --includedir as most-important-first
This is a behaviour change from g-ir-generate, which treats it as
least-important-first (the last directory on the command-line is
searched first).

gi-compile-repository --includedir and gcc -I are most-important-first
(the first directory on the command-line is searched first) so it seems
like it makes most sense to be consistent with that.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-14 12:00:05 +00:00
Philip Withnall
4314944e56 introspection: Drop Unix and Win32 prefixes from platform specific APIs
So now introspection users will have to call `GLibUnix.open_pipe()`
rather than `GLibUnix.unix_open_pipe()` — or
`GLibWin32.check_windows_version()` rather than
`GLibWin32.win32_check_windows_version()`.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: #3037
2024-02-12 17:54:36 +00:00
Philip Withnall
434d3ff524 docs: Mention GioUnix-2.0 GIR namespace alongside gio-unix-2.0.pc
This should clarify things a little for users of language bindings, who
don’t directly use `.pc` files.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-12 17:54:10 +00:00
Philip Withnall
c498c9a8c9 docs: Split out platform specific GIO and GLib documentation
This creates `GioUnix`, `GioWin32`, `GLibUnix` and `GLibWin32`. These
bodies of documentation are in addition to the main, platform agnostic,
documentation for both libraries.

This commit necessarily includes various mechanical changes to update
the repository namespace used in various existing documentation links to
platform specific APIs.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: #3037
2024-02-12 17:54:10 +00:00
Philip Withnall
4c178fa623 build: Combine duplicate urlmap.js files
Seems no point in keeping them separate. It doesn’t seem to matter if
they contain entries which are unused for a particular docs build.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-12 17:54:10 +00:00
Philip Withnall
3695249ebb docs: Drop unnecessary GdkPixbuf reference from urlmap.js
It was unused.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-12 17:54:10 +00:00
Philip Withnall
f51398af91 girepository: Drop GIBoxedInfo
See the previous commit for details.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: #3245
2024-02-12 13:17:04 +00:00
Philip Withnall
8248382d8b gi-inspect-repository: Change --version argument to --typelib-version
`--version` is conventionally used to find the version of the program
itself. While that’s not currently implemented in
`gi-inspect-repository`, let’s not box ourselves into a corner.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-09 20:41:17 +00:00
Philip Withnall
d6d845aee3 docs: Add missing migration guide for gi_repository_get_shared_libraries()
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-09 20:40:47 +00:00
Philip Withnall
45468f1bb8 docs: Document girepository-2.0 utility program name changes
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2024-02-09 20:40:46 +00:00
Philip Withnall
343027d5de girepository: Make GIInfoType private
Eventually, we want to move to using `GType` directly for everything,
since `GIBaseInfo` and its subclasses are all using `GTypeInstance`.

However, that requires quite a lot of changes and we’re about to hit the
API freeze.

So do the smallest set of changes possible to remove `GIInfoType` and
related functions from the public API, which gives us freedom to make
more changes later without breaking API.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: #3155
2024-02-08 12:56:02 +00:00
Philip Withnall
86cd95f1ae Merge branch 'gi-info-new' into 'main'
gibaseinfo: Rename gi_info_new() to gi_base_info_new()

See merge request GNOME/glib!3903
2024-02-08 10:34:40 +00:00
Philip Withnall
beb59595b7 gibaseinfo: Rename gi_info_new() to gi_base_info_new()
It’s actually a factory method rather than a constructor, since
`GIBaseInfo` is abstract, but despite that, changing the name so it sits
inside the `GIBaseInfo` class makes sense. There is no `GIInfo` type.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: #3155
2024-02-08 10:34:40 +00:00
Philip Withnall
e1cff511e5 Merge branch '3155-union-tests' into 'main'
gitypes: Fix integer values of GIInfoType and add unit tests for GIUnionInfo

See merge request GNOME/glib!3888
2024-02-08 10:25:13 +00:00
Philip Withnall
78698af73f Merge branch '3246-object-info-docs' into 'main'
girepository: Fix declaration of ‘find using interfaces’ methods

Closes #3246

See merge request GNOME/glib!3883
2024-02-08 10:19:16 +00:00
Philip Withnall
62abd578cd Merge branch '3155-typelib-boxed' into 'main'
gitypelib: Switch to refcounting

See merge request GNOME/glib!3900
2024-02-08 10:18:40 +00:00
Philip Withnall
a138589d57 Merge branch 'repository-n-elements' into 'main'
girepository: Add length ‘out’ arguments to several getter methods

See merge request GNOME/glib!3901
2024-02-08 10:18:12 +00:00
Philip Withnall
6fe7edbc8d Merge branch 'girepository-migration-docs' into 'main'
docs: Add migration guide for libgirepository

See merge request GNOME/glib!3881
2024-02-08 10:10:40 +00:00
Philip Withnall
5cc5f413f5 gitypelib: Switch to refcounting
Since `GITypelib` is exposed in the public libgirepository API, it needs
to be a boxed type. So we either need to add a `copy` method to mirror
the existing `free` method, or switch to refcounting. The latter option
seems better, since a `GITypelib` contains internal state about open
`GModule`s and the semantics for copying that would be potentially
complex.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: #3155
2024-02-07 21:07:18 +00:00
Philip Withnall
01f9796532 girepository: Add length ‘out’ arguments to several getter methods
This makes them consistent with the other getter methods in
`GIRepository` which return lists/arrays. It’s useful to return the
length, as that means the caller doesn’t have to work it out by
iterating over the entire array.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: #3155
2024-02-07 15:47:13 +00:00
Simon McVittie
040caa5f6a gdbus-codegen(1): Suggest --pragma-once for headers written to stdout
Otherwise we would generate a multiple-inclusion guard of the
form `#ifndef __STDOUT__ ...`, which can only work for one D-Bus
interface per translation unit.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-06 14:06:51 +00:00
Simon McVittie
fc7942f46b gdbus-codegen: If writing body to stdout, don't try to include header
If we're writing the body to standard output, we cannot know what the
filename of the corresponding header is going to be, but it seems
vanishingly unlikely that it will be either `stdout.h` (which we would
traditionally have generated) or `-.h` (which we would have generated
since !3886).

This makes some of the output snippets sufficiently short that black(1)
requires that they are folded into a single line.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-06 14:06:45 +00:00
Philip Withnall
11e8075e51 giunioninfo: Split success and return value for get_discriminator_offset()
Otherwise there’s no obvious suitable return value to return when the
union is *not* discriminated.

This is an API break, but libgirepository has not been in a stable
release yet, so that’s fine.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Helps: #3155
2024-02-06 13:34:17 +00:00
Simon McVittie
1ba8386886 codegen: Document --output -
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-06 11:53:06 +00:00
Philip Withnall
7acef299c2 girepository: Fix declaration of ‘find using interfaces’ methods
Fix the declaration and documentation of
`gi_object_info_find_method_using_interfaces()` and
`gi_object_info_find_vfunc_using_interfaces()`. The documentation was
wrong when I wrote it: the value returned is the object or interface
which declares the method or vfunc, not the one which implements it.

The returned declarer info may be a `GIObjectInfo` or a
`GIInterfaceInfo`. Since those two types have no subtype relation
between them, the return type has to be changed to `GIBaseInfo`. Using
`GIObjectInfo` would have been fine in girepository-1.0 because all
`*Info` types were aliases of each other — but since the move to
`GTypeInstance` this is no longer true.

A unit test will be in the following commit.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>

Fixes: #3246
2024-02-05 18:40:03 +00:00