<?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 kdelibs-download-http "&kde-download-http;applications/&kde-apps-version;/src/kdelibs-&kde-libs-version;.tar.xz">
  <!ENTITY kdelibs-download-ftp  " ">
  <!ENTITY kdelibs-md5sum        "6587cca14d92eb2ced735c12361d86d3">
  <!ENTITY kdelibs-size          "11.1 MB">
  <!ENTITY kdelibs-buildsize     "450 MB">
  <!ENTITY kdelibs-time          "3.4 SBU (using parallelism=10)">
]>

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

  <sect1info>
    <othername>$LastChangedBy: bdubbs $</othername>
    <date>$Date: 2015-02-24 00:00:51 -0500 (Tue, 24 Feb 2015) $</date>
  </sect1info>

  <title>Kdelibs-&kde-libs-version;</title>

  <indexterm zone="kdelibs">
    <primary sortas="a-kdelibs">kdelibs</primary>
  </indexterm>

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

    <para>This package includes programs and libraries that
    are central to development and execution of KDE programs.</para>

    &lfs77_checked;

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

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

    <bridgehead renderas="sect4">Required</bridgehead>
    <para role="required">
      <xref linkend="attica"/>,
      <xref linkend="DocBook"/>,
      <xref linkend="docbook-xsl"/>,
      <xref linkend="giflib"/>,
      <xref linkend="libdbusmenu-qt"/>,
      <xref linkend="libjpeg"/>,
      <xref linkend="libpng"/>,
      <xref linkend="phonon"/>,
      <xref linkend="strigi"/>, and
      <xref linkend="shared-mime-info"/>
    </para>

    <bridgehead renderas="sect4">Recommended</bridgehead>
    <para role="recommended">
      <xref linkend="polkit-qt"/>,
      <xref linkend="openssl"/>,
      <xref linkend="qca"/>,
      <xref linkend="upower"/>, and
      <xref linkend="udisks"/> or <xref linkend="udisks2"/>
    </para>

    <bridgehead renderas="sect4">Optional</bridgehead>
    <para role="optional">
      <xref linkend="jasper"/>,
      <xref linkend="pcre"/>,
      <xref linkend="avahi"/>,
      <xref linkend="aspell"/>,
      <xref linkend="enchant"/>,
      <xref linkend="grantlee"/>,
      <xref linkend="mitkrb"/>,
      <ulink url="&sourceforge-repo;/soprano">soprano</ulink>,
      <ulink url="&sourceforge-repo;/oscaf/">shared-desktop-ontologies</ulink>,
      <ulink url="http://hspell.ivrix.org.il/">Hspell</ulink>,
      <ulink url="http://oss.sgi.com/projects/fam/">FAM</ulink>,
      <ulink url="http://www.herqq.org/">HUPnP</ulink>,
      <ulink url="http://www.openexr.com/">OpenEXR</ulink>, and
      <ulink url="http://www.freedesktop.org/wiki/Software/media-player-info">media-player-info</ulink>
    </para>

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

  </sect2>

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

    <para>Fix file conflicts with <application>GNOME Menus</application> by running
    the following commands:</para>

<screen><userinput>sed -i "s@{SYSCONF_INSTALL_DIR}/xdg/menus@&amp; RENAME kde-applications.menu@" \
        kded/CMakeLists.txt &amp;&amp;

sed -i "s@applications.menu@kde-&amp;@" \
        kded/kbuildsycoca.cpp</userinput></screen>

<!--
    <para>Cmake looks for <application>Xorg</application> libraries in a set of
    hard coded directories instead of using
    <application>pkg-config</application>.  If <application>Xorg</application>
    has not been installed in <filename class="directory">/usr</filename>, add
    the location to the list:</para>

<screen><userinput>sed -e "/SET(X11_LIB_SEARCH_PATH/ a $XORG_PREFIX/lib"     \
    -e "/SET(X11_INC_SEARCH_PATH/ a $XORG_PREFIX/include" \
    -i cmake/modules/FindX11.cmake</userinput></screen>
-->

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

<!-- I wouldn't recommend installing D-Bus configuration files outside of 
     /etc if kde-dir is /usr, maybe kde-etc-dir should be introduced? -->

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

cmake -DCMAKE_INSTALL_PREFIX=&kde-dir; \
      -DSYSCONF_INSTALL_DIR=/etc         \
      -DCMAKE_BUILD_TYPE=Release         \
      -DDOCBOOKXML_CURRENTDTD_DIR=/usr/share/xml/docbook/xml-dtd-&DocBook-version; \
      -Wno-dev .. &amp;&amp;
make</userinput></screen>

    <para>The unit regression tests are designed to be run after
    <application>kdelibs</application> is installed.</para>

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

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

  <para>To run the unit regression tests, you must have a current KDE session
  running and issue <command>make test</command>.</para>

  </sect2>

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

    <para><option>-DSYSCONF_INSTALL_DIR=/etc</option>: This switch is used to install
    configuration files in /etc.</para>

    <para><option>-DCMAKE_BUILD_TYPE=Release</option>: This switch is used to apply
    higher level of compiler optimizations.</para>

    <para><option>-DDOCBOOKXML_CURRENTDTD_DIR=...</option>: This switch is used to
    tell <command>cmake</command> where to find the XML DTDs.</para>
  
    <para><option>-DWITH_SOLID_UDISKS2=TRUE</option>: Use this switch if you 
    have <application>UDisks2</application>.</para>

  </sect2>

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

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

      <seglistitem>
        <seg>checkXML, kbuildsycoca4, kconfig_compiler, kcookiejar4,
        kde4-config, kded4, kdeinit4, kdeinit4_shutdown, kdeinit4_wrapper,
        kfilemetadatareader, kjs, kjscmd, kmailservice, kross, kshell4,
        ktelnetservice, kunittestmodrunner, kwrapper4, makekdewidgets,
        meinproc4, meinproc4_simple, nepomuk-rcgen and preparetips</seg>
        <seg>several in &kde-dir;/lib</seg>
        <seg>several in &kde-dir;/include, &kde-dir;/lib and &kde-dir;/share
        </seg>
      </seglistitem>
    </segmentedlist>

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

      <varlistentry id="checkXML">
        <term><command>checkXML</command></term>
        <listitem>
          <para>
            is a tool used to check for syntax errors in KDE DocBook
            XML files.
          </para>
          <indexterm zone="kdelibs checkXML">
            <primary sortas="b-checkXML">checkXML</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="kbuildsycoca4">
        <term><command>kbuildsycoca4</command></term>
        <listitem>
          <para>
            is used to rebuild the system configuration cache.
          </para>
          <indexterm zone="kdelibs kbuildsycoca4">
            <primary sortas="b-kbuildsycoca4">kbuildsycoca4</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="kconfig_compiler">
        <term><command>kconfig_compiler</command></term>
        <listitem>
          <para>
            is the KDE configuration compiler.
          </para>
          <indexterm zone="kdelibs kconfig_compiler">
            <primary sortas="b-kconfig_compiler">kconfig_compiler</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="kcookiejar4">
        <term><command>kcookiejar4</command></term>
        <listitem>
          <para>
            is the KDE HTTP cookie daemon.
          </para>
          <indexterm zone="kdelibs kcookiejar4">
            <primary sortas="b-kcookiejar4">kcookiejar4</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="kde4-config">
        <term><command>kde4-config</command></term>
        <listitem>
          <para>
            is used to print the KDE installation paths.
          </para>
          <indexterm zone="kdelibs kde4-config">
            <primary sortas="b-kde4-config">kde4-config</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="kded4">
        <term><command>kded4</command></term>
        <listitem>
          <para>
            is the KDE daemon.
          </para>
          <indexterm zone="kdelibs kded4">
            <primary sortas="b-kded4">kded4</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="kdeinit4">
        <term><command>kdeinit4</command></term>
        <listitem>
          <para>
            is the KDE process launcher.
          </para>
          <indexterm zone="kdelibs kdeinit4">
            <primary sortas="b-kdeinit4">kdeinit4</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="kjs">
        <term><command>kjs</command></term>
        <listitem>
          <para>
            is the KDE ECMAScript/JavaScript engine.
          </para>
          <indexterm zone="kdelibs kjs">
            <primary sortas="b-kjs">kjs</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="kjscmd">
        <term><command>kjscmd</command></term>
        <listitem>
          <para>
            is a tool used for launching KJSEmbed scripts from
            the command line.
          </para>
          <indexterm zone="kdelibs kjscmd">
            <primary sortas="b-kjscmd">kjscmd</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="kross">
        <term><command>kross</command></term>
        <listitem>
          <para>
            is the KDE application used to run kross scripts.
          </para>
          <indexterm zone="kdelibs kross">
            <primary sortas="b-kross">kross</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="makekdewidgets">
        <term><command>makekdewidgets</command></term>
        <listitem>
          <para>
            is used to build Qt widget plugins from an ini style
            description file.
          </para>
          <indexterm zone="kdelibs makekdewidgets">
            <primary sortas="b-makekdewidgets">makekdewidgets</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="meinproc4">
        <term><command>meinproc4</command></term>
        <listitem>
          <para>
            is used to convert DocBook files to HTML.
          </para>
          <indexterm zone="kdelibs meinproc4">
            <primary sortas="b-meinproc4">meinproc4</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="preparetips">
        <term><command>preparetips</command></term>
        <listitem>
          <para>
            is a script used to extract the text from a tips file.
          </para>
          <indexterm zone="kdelibs preparetips">
            <primary sortas="b-preparetips">preparetips</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
