<!-- <!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> -->
<appendix id="install-perlmodules-manual">
  <title>Manual Installation of Perl Modules</title>
  
  <section id="modules-manual-instructions">
    <title>Instructions</title>
    <para>
      If you need to install Perl modules manually, here's how it's done.
      Download the module using the link given in the next section, and then
      apply this magic incantation, as root:
    </para>

    <para>  
      <screen><prompt>bash#</prompt> tar -xzvf &lt;module&gt;.tar.gz
<prompt>bash#</prompt> cd &lt;module&gt;
<prompt>bash#</prompt> perl Makefile.PL
<prompt>bash#</prompt> make
<prompt>bash#</prompt> make test
<prompt>bash#</prompt> make install</screen>
    </para>
    <note>
      <para>
        In order to compile source code under Windows you will need to obtain
        a 'make' utility.  The <command>nmake</command> utility provided with
        Microsoft Visual C++ may be used.  As an alternative, there is a
        utility called <command>dmake</command> available from CPAN which is
        written entirely in Perl. The majority of the links given below, however,
        are to pre-compiled versions of the modules, which can be installed
        on Windows simply by issuing the following command once you have
        downloaded the PPD file (which may be packaged within a ZIP file):
      </para>
      <para>
        <screen>
          <prompt>&gt;</prompt> ppm install &lt;filename.ppd&gt;
        </screen>
      </para>
    </note>
  </section>
    
  <section id="modules-manual-download">
    <title>Download Locations</title>
    
    <note>
      <para>
        Running Bugzilla on Windows requires the use of ActiveState
        Perl 5.8.1 or higher. Some modules already exist in the core
        distribution of ActiveState Perl so no PPM link is given.
        (This is noted where it occurs.)
      </para>
    </note>

    <para>
      AppConfig:
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/src/ABW/AppConfig-1.56/lib/AppConfig.pm"/>
        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/AppConfig.ppd"/>
        Documentation: <ulink url="http://search.cpan.org/~abw/AppConfig-1.56/lib/AppConfig.pm"/>
      </literallayout>
    </para>
    
    <para>
      CGI:
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/dist/CGI.pm/"/>
        PPM Download Link: Part of core distribution.
        Documentation: <ulink url="http://www.perldoc.com/perl5.8.0/lib/CGI.html"/>
      </literallayout>
    </para>

    <para>
      Data-Dumper:
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/src/ILYAM/Data-Dumper-2.121/Dumper.pm"/>
        PPM Download Page: Part of core distribution.
        Documentation: <ulink url="http://search.cpan.org/~ilyam/Data-Dumper-2.121/Dumper.pm"/>
      </literallayout>
    </para>
    
    <para>
      Date::Format (part of TimeDate):
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/dist/TimeDate/"/>
        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/TimeDate.ppd"/>
        Documentation: <ulink url="http://search.cpan.org/dist/TimeDate/lib/Date/Format.pm"/>
      </literallayout>
    </para>

    <para>
      DBI:
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/dist/DBI/"/>
        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/DBI.ppd"/>
        Documentation: <ulink url="http://dbi.perl.org/docs/"/>
      </literallayout>
    </para>

    <para>
      DBD::mysql:
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/dist/DBD-mysql/"/>
        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/DBD-mysql.ppd"/>
        Documentation: <ulink url="http://search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm"/>
      </literallayout>
    </para>

    <para>
      File::Spec:
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/dist/File-Spec/"/>
        PPM Download Page: Part of core distribution.
        Documentation: <ulink url="http://www.perldoc.com/perl5.8.0/lib/File/Spec.html"/>
      </literallayout>
    </para>

    <para>
      File::Temp:
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/dist/File-Temp/"/>
        PPM Download Page: Part of core distribution.
        Documentation: <ulink url="http://www.perldoc.com/perl5.8.0/lib/File/Temp.html"/>
      </literallayout>
    </para>

    <para>
      Template-Toolkit:
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/dist/Template-Toolkit/"/>
        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/Template-Toolkit.ppd"/>
        Documentation: <ulink url="http://www.template-toolkit.org/docs.html"/>
      </literallayout>
    </para>

    <para>
       Text::Wrap:
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/dist/Text-Tabs+Wrap/"/>
        PPM Download Link: Part of core distribution.
        Documentation: <ulink url="http://www.perldoc.com/perl5.8.0/lib/Text/Wrap.html"/>
      </literallayout>
    </para>
 
    <para>
      GD:
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/dist/GD/"/>
        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/GD.ppd"/>
        Documentation: <ulink url="http://stein.cshl.org/WWW/software/GD/"/>
      </literallayout>
    </para>
  </section>

  <section id="modules-manual-optional">
    <title>Optional Modules</title>

    <para>
      Chart::Base:
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/dist/Chart/"/>
        PPM Download Page: <ulink url="http://landfill.bugzilla.org/ppm/Chart.ppd"/>
        Documentation: <ulink url="http://search.cpan.org/src/CHARTGRP/Chart-2.3/doc/Documentation.pdf"/>
      </literallayout>
    </para>

     <para>
      GD::Graph:
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/dist/GDGraph/"/>
        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/GDGraph.ppd"/>
        Documentation: <ulink url="http://search.cpan.org/dist/GDGraph/Graph.pm"/>
      </literallayout>
    </para>

    <para>
      GD::Text::Align (part of GD::Text::Util):
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/dist/GDTextUtil/"/>
        PPM Download Page: <ulink url="http://landfill.bugzilla.org/ppm/GDTextUtil.ppd"/>
        Documentation: <ulink url="http://search.cpan.org/dist/GDTextUtil/Text/Align.pm"/>
      </literallayout>
    </para>

    <para>
      MIME::Parser (part of MIME-tools):
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/dist/MIME-tools/"/>
        PPM Download Link: <ulink url="http://ppm.activestate.com/PPMPackages/zips/8xx-builds-only/Windows/MIME-tools-5.411a.zip"/>
        Documentation: <ulink url="http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm"/>
      </literallayout>
    </para>

   <para>
      XML::Parser:
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/dist/XML-Parser/"/>
        PPM Download Link: Part of core distribution.
        Documentation: <ulink url="http://www.perldoc.com/perl5.6.1/lib/XML/Parser.html"/>
      </literallayout>
    </para>

    <para>
      PatchReader:
      <literallayout>
        CPAN Download Page: <ulink url="http://search.cpan.org/author/JKEISER/PatchReader/"/>
        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/PatchReader.ppd"/>
        Documentation: <ulink url="http://www.johnkeiser.com/mozilla/Patch_Viewer.html"/>
      </literallayout>
    </para>
   </section>
</appendix>  
