<?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 gnucash-download-http
  "&sourceforge-repo;/gnucash/gnucash-&gnucash-version;.tar.bz2">
  <!ENTITY gnucash-download-ftp
  " ">
  <!ENTITY gnucash-src-md5sum     "e59f94a8c4cf41f47a9e74ba725bde45">
  <!ENTITY gnucash-size           "9 MB">
  <!ENTITY gnucash-buildsize      "207 MB">
  <!ENTITY gnucash-time           "2.0 SBU">
  <!ENTITY gnucash-docs-version   "2.4.1">
  <!ENTITY gnucash-docs-download
  "&sourceforge-repo;/gnucash/gnucash-docs-&gnucash-docs-version;.tar.gz">
  <!ENTITY gnucash-docs-md5sum    "38daeb3b15f296726ee8124122040f08">
  <!ENTITY gnucash-docs-size      "32.5 MB">
  <!ENTITY gnucash-docs-buildsize "27 MB">
  <!ENTITY gnucash-docs-time      "0.5 SBU">
]>

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

  <sect1info>
    <othername>$LastChangedBy: bdubbs $</othername>
    <date>$Date: 2013-07-31 22:16:33 -0400 (Wed, 31 Jul 2013) $</date>
  </sect1info>

  <title>GnuCash-&gnucash-version;</title>

  <indexterm zone="gnucash">
    <primary sortas="a-GnuCash">GnuCash</primary>
  </indexterm>

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

    <para><application>GnuCash</application> is a personal finance
    manager.</para>

    &lfs72_checked;

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

    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
    <itemizedlist spacing="compact">
      <listitem>
        <para>
          Required patch:
          <ulink url="&patch-root;/gnucash-&gnucash-version;-guile-2_fixes-1.patch"/>
        </para>
      </listitem>
      <listitem>
        <para>
          Optional Help documentation: <ulink url="&gnucash-docs-download;"/>
        </para>
      </listitem>
      <listitem>
        <para>
          Download MD5 sum: &gnucash-docs-md5sum;
        </para>
      </listitem>
      <listitem>
        <para>
          Download size: &gnucash-docs-size;
        </para>
      </listitem>
      <listitem>
        <para>
          Estimated disk space required: &gnucash-docs-buildsize;
        </para>
      </listitem>
      <listitem>
        <para>
          Estimated build time: &gnucash-docs-time;
        </para>
      </listitem>
    </itemizedlist>

    <bridgehead renderas="sect3">GnuCash Dependencies</bridgehead>

    <bridgehead renderas="sect4">Required</bridgehead>
    <para role="required">
      <xref linkend="guile"/>,
      <xref linkend="libgnomeui"/>,
      <xref linkend="gnome-vfs"/>,
      <xref linkend="slib"/>,
      <xref linkend="goffice"/> and
      <xref linkend="webkitgtk"/>
    </para>

    <bridgehead renderas="sect4">Optional</bridgehead>
    <para role="optional">
      <ulink url="http://libdbi.sourceforge.net/">libdbi</ulink> (and
      <ulink url="http://libdbi-drivers.sourceforge.net/">libdbi drivers</ulink>) and
      <ulink url="ftp://ftp.gnu.org/pub/gnu/guile/">Guile-www</ulink>
    </para>

    <bridgehead renderas="sect4">Optional (Required for the Help System)</bridgehead>
    <para role="optional">
      <xref linkend="rarian"/> and
      <xref linkend="yelp"/> (run-time requirement to view the Help documents).
    </para>

    <bridgehead renderas="sect4">Optional (for On-Line Banking)</bridgehead>
    <para role="optional">
      <ulink url="http://libofx.sourceforge.net/">LibOFX</ulink> (requires
      <xref linkend="opensp"/> and <xref linkend="curl"/>),
      <ulink url="http://sourceforge.net/projects/ktoblzcheck">KtoBlzCheck</ulink> and
      <ulink url="http://www.aquamaniac.de/aqbanking/">AqBanking</ulink> (requires
      <ulink url="http://gwenhywfar.sourceforge.net/">Gwenhywfar</ulink> and
      <ulink url="http://www.libchipcard.de/">libchipcard3</ulink>)
    </para>

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

  </sect2>

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

    <para>Install <application>GnuCash</application> by running the following
    commands:</para>

<screen><userinput>patch -Np1 -i ../gnucash-&gnucash-version;-guile-2_fixes-1.patch &amp;&amp;

./configure --prefix=/usr           \
            --sysconfdir=/etc/gnome \
            --disable-dbi           \
            --with-html-engine=webkit &amp;&amp;
make</userinput></screen>

    <para> If you wish to create the API documentation in HTML format, you must
    have <xref linkend="doxygen"/> and <xref linkend="graphviz"/> installed,
    then issue:</para>

<screen><userinput>make doc</userinput></screen>

      <para>If you wish to create the API Design Guide in several formats, you
      must have <xref linkend="texlive"/> installed and issue:</para>

<screen><userinput>make -C src/doc/design html pdf ps</userinput></screen>

    <para>
      The test suite is currently broken due to problems with
      <application>Guile 2</application>.
      <!-- To test the results, issue: <command>make check</command>.-->
    </para>

    <para>
      Now, as the <systemitem class="username">root</systemitem> user:
    </para>

<screen role="root"><userinput>make install</userinput></screen>

    <para>
      If you want to install the Help documentation system, you must have
      <xref linkend="yelp"/> and <xref linkend="rarian"/> installed in order to
      view the Help documents. Unpack the additional tarball, change into the
      <filename class="directory">gnucash-docs-&gnucash-docs-version;</filename>
      source directory and issue the following commands as an unprivileged
      user:
    </para>

<screen><userinput>./configure --prefix=/usr &amp;&amp;
make</userinput></screen>

    <para>
      HTML versions of the Users Guide can be created if the DocBook XML tools
      are installed (<xref linkend="libxslt"/>, <xref linkend="DocBook"/> and
      <xref linkend="docbook-xsl"/>). A PDF version of the Users Guide can be
      created if you have <xref linkend="docbook-utils"/>,
      and <xref linkend="fop"/> installed.
      Issue the following commands to create the documentation:
    </para>

<screen><userinput>make -C guide html &amp;&amp;
make -C guide pdf</userinput></screen>

    <para>
      Now, as the <systemitem class="username">root</systemitem> user:
    </para>

<screen role="root"><userinput>make install</userinput></screen>

    <para>
      If you built the Users Guide, install it as the
      <systemitem class="username">root</systemitem> user:
    </para>

<screen role="root"><userinput>mkdir -p                           /usr/share/doc/gnucash-&gnucash-docs-version; &amp;&amp;
cp -v -R guide/C/gnucash-guide/*   /usr/share/doc/gnucash-&gnucash-docs-version; &amp;&amp;
cp -v    guide/C/gnucash-guide.pdf /usr/share/doc/gnucash-&gnucash-docs-version;</userinput></screen>
  </sect2>

  <sect2 role="commands">
    <title>Command Explanations</title>

    <para><parameter>--sysconfdir=/etc/gnome</parameter>: This installs
    configuration files in
    <filename class="directory">/etc/gnome/gnucash</filename> instead of
    <filename class="directory">/usr/etc/gnucash</filename>.</para>

    <para>
      <parameter>--with-html-engine=webkit</parameter>: Use
      <xref linkend="webkitgtk"/> (configured <option>--with-gtk=2.0</option>)
      instead of gtkhtml : the default is Gtkhtml-3 which does not build on
      current <application>Glib2</application> without various changes.
    </para>

    <para>
      <command>--disable-dbi</command>: Add this option if you've not installed
      <application>libdbi</application> and one or more of its database drivers.
    </para>
  </sect2>

  <sect2 role="configuration">
    <title>Configuring GnuCash</title>

    <sect3>
      <title>Configuration Information</title>

      <para>
        If you wish to use <application>GnuCash</application> to retrieve
        stock price quotes, you'll need to
        install the following <application>Perl</application> modules:
        <xref linkend="perl-lwp"/>, <xref linkend="perl-date-manip"/>,
        <xref linkend="perl-html-parser"/>,
        <xref linkend="perl-html-tableextract"/>,
        <xref linkend="perl-crypt-ssleay"/> and
        <xref linkend="perl-finance-quote"/>. Alternatively, you can run the
        <command>gnc-fq-update</command> script as the
        <systemitem class="username">root</systemitem> user.
      </para>
    </sect3>
  </sect2>

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

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

      <seglistitem>
        <seg>
          gnc-fq-check, gnc-fq-dump, gnc-fq-helper, gnc-fq-update,
          gnucash, gnucash-env, gnucash-make-guids, gnucash-valgrind and
          update-gnucash-gconf
        </seg>
        <seg>
          libgnc-backend-sql.so, libgnc-backend-xml-utils.so,
          libgnc-business-ledger.so,libgnc-core-utils.so, libgnc-gnome.so,
          libgnc-module.so, libgnc-qof.so and numerous support libraries
          installed in <filename class="directory">/usr/lib/gnucash</filename>
        </seg>
        <seg>
          /opt/gnome/gnucash,
          /usr/include/gnucash,
          /usr/lib/gnucash,
          /usr/libexec/gnucash and
          /usr/share/doc/gnucash-&gnucash-version;.
        </seg>
      </seglistitem>
    </segmentedlist>

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

      <varlistentry id="gnucash-prog">
        <term><command>gnucash</command></term>
        <listitem>
          <para>is a personal finance manager.</para>
          <indexterm zone="gnucash gnucash-prog">
            <primary sortas="b-gnucash">gnucash</primary>
          </indexterm>
        </listitem>
      </varlistentry>
    </variablelist>
  </sect2>
</sect1>
