<?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 gegl-download-http "https://download.gimp.org/pub/gegl/0.4/gegl-&gegl-version;.tar.xz">
  <!ENTITY gegl-download-ftp  " ">
  <!ENTITY gegl-md5sum        "fe182967ce4b678d8b45500c416555c5">
  <!ENTITY gegl-size          "5.5 MB">
  <!ENTITY gegl-buildsize     "115 MB (Add 7 MB for tests)">
  <!ENTITY gegl-time          "0.9 SBU (Using parallelism=4; add 0.2 for tests)">
]>

<sect1 id="gegl" xreflabel="gegl-&gegl-version;">
  <?dbhtml filename="gegl.html"?>

  <sect1info>
    <date>$Date$</date>
  </sect1info>

  <title>gegl-&gegl-version;</title>

  <indexterm zone="gegl">
    <primary sortas="a-Gegl">Gegl</primary>
  </indexterm>

  <sect2 role="package">
    <title>Introduction to gegl</title>

    <para>
      This package provides the GEneric Graphics Library, which is a graph based
      image processing format.
    </para>

    &lfs112_checked;

    <bridgehead renderas="sect3">Package Information</bridgehead>
    <itemizedlist spacing="compact">
      <listitem>
        <para>
          Download (HTTP): <ulink url="&gegl-download-http;"/>
        </para>
      </listitem>
      <listitem>
        <para>
          Download (FTP): <ulink url="&gegl-download-ftp;"/>
        </para>
      </listitem>
      <listitem>
        <para>
          Download MD5 sum: &gegl-md5sum;
        </para>
      </listitem>
      <listitem>
        <para>
          Download size: &gegl-size;
        </para>
      </listitem>
      <listitem>
        <para>
          Estimated disk space required: &gegl-buildsize;
        </para>
      </listitem>
      <listitem>
        <para>
          Estimated build time: &gegl-time;
        </para>
      </listitem>
    </itemizedlist>
<!--
    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
    <itemizedlist spacing="compact">
      <listitem>
        <para>
          Required patch:
          <ulink url="&patch-root;/gegl-&gegl-version;-ffmpeg5_fixes-1.patch"/>
        </para>
      </listitem>
    </itemizedlist>
-->
    <bridgehead renderas="sect3">gegl Dependencies</bridgehead>

    <bridgehead renderas="sect4">Required</bridgehead>
    <para role="required">
      <xref linkend="babl"/>,
      <xref linkend="json-glib"/>,
      <xref linkend="libjpeg"/>, and
      <xref linkend="libpng"/>
    </para>

    <bridgehead renderas="sect4">Recommended</bridgehead>
    <para role="recommended">
      <xref linkend="gobject-introspection"/>,
      <xref linkend="graphviz"/>,
      <!-- EDITORS NOTE: Graphviz is required for the gegl:introspect
      function. Without this function, GIMP will not start. You'll get the
      following error:

      "GEGL Operation Missing! GIMP rqeuires the GEGL operation
      'gegl:introspect'. This operation cannot be found. Check your GEGL
      install and ensure it has been compiled with any dependencies required
      for GIMP."

      Reference: https://gitlab.gnome.org/GNOME/gegl/-/commit/1f50456de59c686941a861d299a63bfcd4126ee5
      -->
      <xref linkend="pygments"/>, and
      <xref linkend="pygobject3"/>
    </para>

    <bridgehead renderas="sect4">Optional</bridgehead>
    <para role="optional">
      <xref linkend="asciidoc"/>,
      <xref linkend="cairo"/>,
      <xref linkend="exiv2"/>,
      <xref linkend="ffmpeg"/>,
      <xref linkend="gdk-pixbuf"/>,
      <xref linkend="gexiv2"/>,
      <xref linkend="gtk-doc"/>,
      <xref linkend="jasper"/>,
      <xref linkend="lcms2"/>,
      <xref linkend="librsvg"/>,
      <xref linkend="libtiff"/>,
      <xref linkend="libwebp"/>,
      <xref linkend="pango"/>,
      <xref linkend="ruby"/>,
      <xref linkend="sdl2"/>,
      <xref linkend="v4l-utils"/>,
      <xref linkend="vala"/>,
      <xref linkend="libspiro"/>,
      <ulink url="https://lensfun.github.io/">lensfun</ulink>,
      <ulink url="https://libopenraw.pages.freedesktop.org/">libopenraw</ulink>,
      <ulink url="https://faculty.cse.tamu.edu/davis/suitesparse.html">libumfpack</ulink>,
      <ulink url="https://luajit.org/luajit.html">LuaJIT</ulink>,
      <ulink url="https://www.khronos.org/opencl">OpenCL</ulink> (for tests),
      <ulink url="https://github.com/hodefoting/mrg/releases">MRG</ulink>, and
      <ulink url="https://www.openexr.com">OpenEXR</ulink>
    </para>

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

  <sect2 role="installation">
    <title>Installation of gegl</title>

    <para>
      If installing over a previous version of <application>gegl</application>,
      one module needs to be removed.  As the <systemitem class="username">root</systemitem>
      user, run:
    </para>

<screen><userinput>rm -f /usr/lib/gegl-0.4/vector-fill.so</userinput></screen>
<!--
    <para>
      Apply a patch to fix problems when building with ffmpeg-5.x:
    </para>

<screen><userinput remap="pre">patch -Np1 -i ../gegl-&gegl-version;-ffmpeg5_fixes-1.patch</userinput></screen>
-->
    <para>
      Install <application>gegl</application> by running the following commands:
    </para>

<screen><userinput>mkdir build &amp;&amp;
cd    build &amp;&amp;

meson --prefix=/usr --buildtype=release .. &amp;&amp;
ninja</userinput></screen>

    <para>
      To run the tests, issue:  <command>ninja test</command>.  This should
      indicate no failures, but will skip many tests depending on optional
      dependencies installed on the system.
    </para>

    <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>

    <para>
      <option>-Ddocs=true</option>: Build and
      install documentation (requires <xref linkend="gtk-doc"/>,).
    </para>

  </sect2>

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

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

      <seglistitem>
        <seg>gegl and
             gegl-imgcmp
        </seg>
        <seg>libgegl-0.4.so,
             libgegl-npd-0.4.so,
             libgegl-sc-0.4.so, and
             modules in /usr/lib/gegl-0.4
        </seg>
        <seg>/usr/lib/gegl-0.4 and
             /usr/include/gegl-0.4
        </seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="gegl-prog">
        <term><command>gegl</command></term>
        <listitem>
          <para>
            is a commandline tool for working with the XML data model
          </para>
          <indexterm zone="gegl gegl-prog">
            <primary sortas="b-gegl">gegl</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="gegl-imgcmp">
        <term><command>gegl-imgcmp</command></term>
        <listitem>
          <para>
            is a simple image difference detection tool for use in regression
            testing
          </para>
          <indexterm zone="gegl gegl-imgcmp">
            <primary sortas="b-gegl-imgcmp">gegl-imgcmp</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libgegl-0.4">
        <term><filename class="libraryfile">libgegl-0.4.so</filename></term>
        <listitem>
          <para>
            provides infrastructure to do demand based cached non destructive
            image editing on larger than RAM buffers
          </para>
          <indexterm zone="gegl libgegl-0.4">
            <primary sortas="c-libgegl-0.4">libgegl-0.4.so</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libgegl-npd-0.4">
        <term><filename class="libraryfile">libgegl-npd-0.4.so</filename></term>
        <listitem>
          <para>
            is the GEGL N-point image deformation library
          </para>
          <indexterm zone="gegl libgegl-npd-0.4">
            <primary sortas="c-libgegl-npd-0.4">libgegl-npd-0.4.so</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libgegl-sc-0.4">
        <term><filename class="libraryfile">libgegl-sc-0.4.so</filename></term>
        <listitem>
          <para>
            is the GEGL Seamless Cloning library
          </para>
          <indexterm zone="gegl libgegl-sc-0.4">
            <primary sortas="c-libgegl-sc-0.4">libgegl-sc-0.4.so</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>
  </sect2>

</sect1>