<?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 qca-download-http "http://delta.affinix.com/download/qca/2.0/qca-&qca-version;.tar.gz">
  <!ENTITY qca-download-ftp  " ">
  <!ENTITY qca-md5sum        "c2b00c732036244701bae4853a2101cf">
  <!ENTITY qca-size          "956 KB">
  <!ENTITY qca-buildsize     "30 MB">
  <!ENTITY qca-time          "1.2 SBU (additional 0.3 SBU for the tests)">
]>

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

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

  <title>Qca-&qca-version;</title>

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

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

    <para><application>Qca</application> aims to provide a straightforward
    and cross-platform crypto API, using <application>Qt</application> datatypes
    and conventions. <application>Qca</application> separates the API from
    the implementation, using plugins known as Providers.</para>

    &lfs77_checked;

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

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

    <bridgehead renderas="sect4">Required</bridgehead>
    <para role="required">
    <xref linkend="cacerts"/>,
    <xref linkend="cmake"/>,
    <xref linkend="qt4"/> and
    <xref linkend="which"/>
    </para>

    <bridgehead renderas="sect4">Optional</bridgehead>
    <para role="Optional">
    <xref linkend="cyrus-sasl"/>,
    <xref linkend="gnupg2"/>,
    <xref linkend="libgcrypt"/>,
    <xref linkend="libgpg-error"/>,
    <xref linkend="nss"/>,
    <xref linkend="nspr"/>,
    <xref linkend="openssl"/>,
    <xref linkend="p11-kit"/>,
    <xref linkend="qt5"/>,
    <xref linkend="doxygen"/>, and
    <xref linkend="which"/>
    </para>

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

  </sect2>

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

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

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

cmake -DCMAKE_INSTALL_PREFIX=&qt4-dir;            \
      -DCMAKE_BUILD_TYPE=Release                \
      -DQT4_BUILD=ON                            \
      -DQCA_MAN_INSTALL_DIR:PATH=/usr/share/man \
      ..                                        &amp;&amp;

make</userinput></screen>

    <para>To test the results, issue <command>make test</command>.</para>

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

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

  </sect2>

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

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

    <para><parameter>-DQT4_BUILD=ON</parameter>: This switch is used to force
    building with Qt4 even if Qt5 is found.</para>

    <para><parameter>-DQCA_MAN_INSTALL_DIR:PATH=/usr/share/man</parameter>: 
    Install the qca man page in the normal location.</para>

  </sect2>

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

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

      <seglistitem>
        <seg>mozcerts and qcatool</seg>
        <seg>libqca.so and plugins at &qt4-dir;/lib/qca/crypto</seg>
        <seg>
          &qt4-dir;/include/QtCrypto,
          &qt4-dir;/lib/cmake/Qca and
          &qt4-dir;/lib/qca
        </seg>
      </seglistitem>
    </segmentedlist>

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

      <varlistentry id="mozcerts">
        <term><command>mozcerts</command></term>
        <listitem>
          <para>is a command line tool for converting certdata.txt into
          outfile.pem files.</para>
          <indexterm zone="qca mozcerts">
            <primary sortas="b-mozcerts">mozcerts</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="qcatool">
        <term><command>qcatool</command></term>
        <listitem>
          <para>is a command line tool for performing various cryptographic
          operations with Qca.</para>
          <indexterm zone="qca qcatool">
            <primary sortas="b-qcatool">qcatool</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libqca">
        <term><filename class='libraryfile'>libqca.so</filename></term>
        <listitem>
          <para>is the Qt Cryptography Architecture (Qca) library.</para>
          <indexterm zone="qca libqca">
            <primary sortas="c-libqca">libqca.so</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
