<?xml version="1.0" encoding="ISO-8859-1"?>
<!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 pygobject3-download-http
           "&gnome-download-http;/pygobject/3.14/pygobject-&pygobject3-version;.tar.xz">
  <!ENTITY pygobject3-download-ftp
           "&gnome-download-ftp;/pygobject/3.14/pygobject-&pygobject3-version;.tar.xz">
  <!ENTITY pygobject3-md5sum        "17722912afa982a6feace4bb9bf52778">
  <!ENTITY pygobject3-size          "704 KB">
  <!ENTITY pygobject3-buildsize     "21 MB (additional 3 MB for the tests)">
  <!ENTITY pygobject3-time          "0.3 SBU (additional 0.2 SBU for the tests)">
]>

 <!-- Begin PyGObject3 -->
  <sect2 id="pygobject3" xreflabel="PyGObject-&pygobject3-version;">

    <title>PyGObject-&pygobject3-version;</title>

    <indexterm zone="pygobject3">
      <primary sortas="a-PyGObject3">PyGObject3</primary>
    </indexterm>

    <sect3 role="package">
      <title>Introduction to PyGObject3 Module</title>

      <para>
        <application>PyGObject3</application> provides
        <application>Python</application> bindings to the GObject
        class from <application>GLib</application>.
      </para>

      &lfs77_checked;

      <bridgehead renderas="sect4">Package Information</bridgehead>
      <itemizedlist spacing="compact">
        <listitem>
          <para>
            Download (HTTP): <ulink url="&pygobject3-download-http;"/>
          </para>
        </listitem>
        <listitem>
          <para>
            Download (FTP): <ulink url="&pygobject3-download-ftp;"/>
          </para>
        </listitem>
        <listitem>
          <para>
            Download MD5 sum: &pygobject3-md5sum;
          </para>
        </listitem>
        <listitem>
          <para>
            Download size: &pygobject3-size;
          </para>
        </listitem>
        <listitem>
          <para>
            Estimated disk space required: &pygobject3-buildsize;
          </para>
        </listitem>
        <listitem>
          <para>
            Estimated build time: &pygobject3-time;
          </para>
        </listitem>
      </itemizedlist>

      <bridgehead renderas="sect4">PyGObject3 Dependencies</bridgehead>

      <bridgehead renderas="sect5">Required</bridgehead>
      <para role="required">
        <xref linkend="gobject-introspection"/> and
        <xref linkend="py2cairo"/>
        (for <application>Python 2</application> bindings) and/or
        <xref linkend="pycairo"/>
        (for <application>Python 3</application> bindings)
      </para>

      <para condition="html" role="usernotes">
        User Notes: <ulink url="&blfs-wiki;/pygobject3"/>
      </para>
    </sect3>

    <sect3 role="installation">
      <title>Installation of PyGObject3</title>

      <note>
        <para>
          Both <application>Python 2</application> and
          <application>Python 3</application> modules can
          be built and installed without any conflicts.
        </para>
      </note>

      <para>
        If you wish to run the test suite, optionally use the following
        command so that one test is marked as "expected failure":
      </para>

<screen><userinput>sed -i '/test_out_glist/ i\    @unittest.expectedFailure' \
       tests/test_atoms.py</userinput></screen>

      <para>
        To build <application>PyGObject3</application> as the
        <application>Python 2</application> module, run the
        following commands:
      </para>

<screen><userinput>mkdir python2 &amp;&amp;
pushd python2 &amp;&amp;
../configure --prefix=/usr --with-python=/usr/bin/python &amp;&amp;
make &amp;&amp;
popd</userinput></screen>

      <para>
        To test the results, issue: <command>make -C python2 check</command>.
        An already active graphical session with bus address is necessary to
        run the tests.
      </para>

      <para>
        To build <application>PyGObject3</application> as the
        <application>Python 3</application> module, run the
        following commands:
      </para>

<screen><userinput>mkdir python3 &amp;&amp;
pushd python3 &amp;&amp;
../configure --prefix=/usr --with-python=/usr/bin/python3 &amp;&amp;
make &amp;&amp;
popd</userinput></screen>

      <para>
        To test the results, issue: <command>make -C python3 -k check</command>.
        An already active graphical session with bus address is necessary to
        run the tests. Some tests fail for unknown reasons.
      </para>

      <para>
        To install the <application>Python 2</application> module,
        run the following command as the
        <systemitem class="username">root</systemitem> user:
      </para>

<screen role="root"><userinput>make -C python2 install</userinput></screen>

      <para>
        To install the <application>Python 3</application> module,
        run the following command as the
        <systemitem class="username">root</systemitem> user:
      </para>

<screen role="root"><userinput>make -C python3 install</userinput></screen>

    </sect3>

    <sect3 role="content">
      <title>Contents</title>

      <segmentedlist>
        <segtitle>Installed Programs</segtitle>
        <segtitle>Installed Library</segtitle>
        <segtitle>Installed Directories</segtitle>

        <seglistitem>
          <seg>
            None
           </seg>
          <seg>
            /usr/lib/python&python2-majorver;/site-packages/gi/{_gi.so,_gi_cairo.so}
 and/or
            /usr/lib/python&python3-majorver;/site-packages/gi/{_gi_cairo.cpython-34m.so,_gi.cpython-34m.so}
           </seg>
          <seg>
            /usr/include/pygobject-3.0 and
            /usr/lib/python&python2-majorver;/site-packages/{gi,pygtkcompat} and/or
            /usr/lib/python&python3-majorver;/site-packages/{gi,pygtkcompat}
          </seg>
        </seglistitem>
      </segmentedlist>

    </sect3>

  </sect2>
  <!-- End PyGObject -->
