glfs/general/genlib/gobject-introspection.xml
2024-01-19 22:39:35 +01:00

273 lines
8.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY gobject-introspection-download-http
"&gnome-download-http;/gobject-introspection/1.78/gobject-introspection-&gobject-introspection-version;.tar.xz">
<!ENTITY gobject-introspection-download-ftp " ">
<!ENTITY gobject-introspection-md5sum "da2677e6b9c91b33c036d2233a96cec3">
<!ENTITY gobject-introspection-size "1.0 MB">
<!ENTITY gobject-introspection-buildsize "48 MB (with tests)">
<!ENTITY gobject-introspection-time "0.3 SBU (With tests; both using parallelism=4)">
]>
<sect1 id="gobject-introspection" xreflabel="gobject-introspection-&gobject-introspection-version;">
<?dbhtml filename="gobject-introspection.html"?>
<title>gobject-introspection-&gobject-introspection-version;</title>
<indexterm zone="gobject-introspection">
<primary sortas="a-gobject-introspection">gobject-introspection</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to GObject Introspection</title>
<para>
The <application>GObject Introspection</application> is used
to describe the program APIs and collect them in a uniform,
machine readable format.
</para>
&lfs120_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&gobject-introspection-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&gobject-introspection-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &gobject-introspection-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &gobject-introspection-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &gobject-introspection-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &gobject-introspection-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">GObject Introspection Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="glib2"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="cairo"/> (required for the tests),
<xref linkend="gjs"/> (to satisfy one test),
<xref linkend="gtk-doc"/>,
<xref linkend="Mako"/>, and
<xref linkend="markdown"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of GObject Introspection</title>
<para>
Install <application>GObject Introspection</application> by running
the following commands:
</para>
<screen><userinput>mkdir build &amp;&amp;
cd build &amp;&amp;
meson setup --prefix=/usr --buildtype=release .. &amp;&amp;
ninja</userinput></screen>
<para>
To test the results, fix an incompatibility of the test suite with
Python 3.12 or later and then run the test suite:
</para>
<screen remap='test'><userinput>sed "/PYTHONPATH/a'/usr/lib/python&python3-majorver;'," -i ../tests/warn/meson.build &amp;&amp;
ninja test</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>ninja install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/meson-buildtype-release.xml"/>
<para>
<option>-Dgtk_doc=true</option>: Build and install
the documentation.
</para>
<!-- This is now autodetected
<para>
<option>-Dcairo=enabled</option>: Use cairo for tests.
</para>
-->
<!-- This is now autodetected
<para>
<option>-Ddoctool=enabled</option>: Install g-ir-doc-tool
and run related tests. You must have
<xref linkend="Mako" role="nodep"/> and
<xref linkend="markdown" role="nodep"/> installed in order
to install this utility.
</para>
-->
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Program</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<!-- g-ir-doc-tool is installed if Mako and Markdown are present -->
<seglistitem>
<seg>
g-ir-annotation-tool, g-ir-compiler, g-ir-doc-tool,
g-ir-generate, g-ir-inspect, and g-ir-scanner
</seg>
<seg>
libgirepository-1.0.so and
_giscanner.&python3-lib-suffix;.so
</seg>
<seg>
/usr/include/gobject-introspection-1.0,
/usr/lib/girepository-1.0,
/usr/lib/gobject-introspection,
/usr/share/gir-1.0, and
/usr/share/gobject-introspection-1.0
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="g-ir-annotation-tool">
<term><command>g-ir-annotation-tool</command></term>
<listitem>
<para>
creates or extracts annotation data from GI typelibs
</para>
<indexterm zone="gobject-introspection g-ir-annotation-tool">
<primary sortas="b-g-ir-annotation-tool">g-ir-annotation-tool</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="g-ir-compiler">
<term><command>g-ir-compiler</command></term>
<listitem>
<para>
converts one or more GIR files into one or more typelib
</para>
<indexterm zone="gobject-introspection g-ir-compiler">
<primary sortas="b-g-ir-compiler">g-ir-compiler</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="g-ir-doc-tool">
<term><command>g-ir-doc-tool</command></term>
<listitem>
<para>
generates Mallard files that can be viewed with
<command>yelp</command> or rendered to HTML with
<command>yelp-build</command> from
<ulink url="&gnome-download-http;/yelp-tools">yelp-tools</ulink>
</para>
<indexterm zone="gobject-introspection g-ir-doc-tool">
<primary sortas="b-g-ir-doc-tool">g-ir-doc-tool</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="g-ir-inspect">
<term><command>g-ir-inspect</command></term>
<listitem>
<para>
is a utility that gives information about a GI typelib
</para>
<indexterm zone="gobject-introspection g-ir-inspect">
<primary sortas="b-g-ir-inspect">g-ir-inspect</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="g-ir-generate">
<term><command>g-ir-generate</command></term>
<listitem>
<para>
is a GIR generator that uses the repository API
</para>
<indexterm zone="gobject-introspection g-ir-generate">
<primary sortas="b-g-ir-generate">g-ir-generate</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="g-ir-scanner">
<term><command>g-ir-scanner</command></term>
<listitem>
<para>
is a tool which generates GIR XML files by parsing headers and
introspecting GObject based libraries
</para>
<indexterm zone="gobject-introspection g-ir-scanner">
<primary sortas="b-g-ir-scanner">g-ir-scanner</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libgirepository-1.0">
<term><filename class="libraryfile">libgirepository-1.0.so</filename></term>
<listitem>
<para>
provides an API to access the typelib metadata
</para>
<indexterm zone="gobject-introspection libgirepository-1.0">
<primary sortas="c-libgirepository-1.0">libgirepository-1.0.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>