summaryrefslogtreecommitdiffstats
path: root/upstream/mageia-cauldron/man1/perlmodinstall.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/mageia-cauldron/man1/perlmodinstall.1')
-rw-r--r--upstream/mageia-cauldron/man1/perlmodinstall.1400
1 files changed, 400 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man1/perlmodinstall.1 b/upstream/mageia-cauldron/man1/perlmodinstall.1
new file mode 100644
index 00000000..09805279
--- /dev/null
+++ b/upstream/mageia-cauldron/man1/perlmodinstall.1
@@ -0,0 +1,400 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "PERLMODINSTALL 1"
+.TH PERLMODINSTALL 1 2023-11-28 "perl v5.38.2" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH NAME
+perlmodinstall \- Installing CPAN Modules
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+You can think of a module as the fundamental unit of reusable Perl
+code; see perlmod for details. Whenever anyone creates a chunk of
+Perl code that they think will be useful to the world, they register
+as a Perl developer at <https://www.cpan.org/modules/04pause.html>
+so that they can then upload their code to the CPAN. The CPAN is the
+Comprehensive Perl Archive Network and can be accessed at
+<https://www.cpan.org/> , and searched at <https://metacpan.org/> .
+.PP
+This documentation is for people who want to download CPAN modules
+and install them on their own computer.
+.SS PREAMBLE
+.IX Subsection "PREAMBLE"
+First, are you sure that the module isn't already on your system? Try
+\&\f(CW\*(C`perl \-MFoo \-e 1\*(C'\fR. (Replace "Foo" with the name of the module; for
+instance, \f(CW\*(C`perl \-MCGI::Carp \-e 1\*(C'\fR.)
+.PP
+If you don't see an error message, you have the module. (If you do
+see an error message, it's still possible you have the module, but
+that it's not in your path, which you can display with \f(CWperl \-e
+"print qq(@INC)"\fR.) For the remainder of this document, we'll assume
+that you really honestly truly lack an installed module, but have
+found it on the CPAN.
+.PP
+So now you have a file ending in .tar.gz (or, less often, .zip). You
+know there's a tasty module inside. There are four steps you must now
+take:
+.IP "\fBDECOMPRESS\fR the file" 5
+.IX Item "DECOMPRESS the file"
+.PD 0
+.IP "\fBUNPACK\fR the file into a directory" 5
+.IX Item "UNPACK the file into a directory"
+.IP "\fBBUILD\fR the module (sometimes unnecessary)" 5
+.IX Item "BUILD the module (sometimes unnecessary)"
+.IP "\fBINSTALL\fR the module." 5
+.IX Item "INSTALL the module."
+.PD
+.PP
+Here's how to perform each step for each operating system. This is
+<not> a substitute for reading the README and INSTALL files that
+might have come with your module!
+.PP
+Also note that these instructions are tailored for installing the
+module into your system's repository of Perl modules, but you can
+install modules into any directory you wish. For instance, where I
+say \f(CW\*(C`perl Makefile.PL\*(C'\fR, you can substitute \f(CW\*(C`perl Makefile.PL
+PREFIX=/my/perl_directory\*(C'\fR to install the modules into
+\&\fI/my/perl_directory\fR. Then you can use the modules from your Perl
+programs with \f(CW\*(C`use lib "/my/perl_directory/lib/site_perl";\*(C'\fR or
+sometimes just \f(CW\*(C`use "/my/perl_directory";\*(C'\fR. If you're on a system
+that requires superuser/root access to install modules into the
+directories you see when you type \f(CW\*(C`perl \-e "print qq(@INC)"\*(C'\fR, you'll
+want to install them into a local directory (such as your home
+directory) and use this approach.
+.IP \(bu 4
+\&\fBIf you're on a Unix or Unix-like system,\fR
+.Sp
+You can use Andreas Koenig's CPAN module
+( <https://metacpan.org/release/CPAN> )
+to automate the following steps, from DECOMPRESS through INSTALL.
+.Sp
+A. DECOMPRESS
+.Sp
+Decompress the file with \f(CW\*(C`gzip \-d yourmodule.tar.gz\*(C'\fR
+.Sp
+You can get gzip from <ftp://prep.ai.mit.edu/pub/gnu/>
+.Sp
+Or, you can combine this step with the next to save disk space:
+.Sp
+.Vb 1
+\& gzip \-dc yourmodule.tar.gz | tar \-xof \-
+.Ve
+.Sp
+B. UNPACK
+.Sp
+Unpack the result with \f(CW\*(C`tar \-xof yourmodule.tar\*(C'\fR
+.Sp
+C. BUILD
+.Sp
+Go into the newly-created directory and type:
+.Sp
+.Vb 2
+\& perl Makefile.PL
+\& make test
+.Ve
+.Sp
+or
+.Sp
+.Vb 1
+\& perl Makefile.PL PREFIX=/my/perl_directory
+.Ve
+.Sp
+to install it locally. (Remember that if you do this, you'll have to
+put \f(CW\*(C`use lib "/my/perl_directory";\*(C'\fR near the top of the program that
+is to use this module.
+.Sp
+D. INSTALL
+.Sp
+While still in that directory, type:
+.Sp
+.Vb 1
+\& make install
+.Ve
+.Sp
+Make sure you have the appropriate permissions to install the module
+in your Perl 5 library directory. Often, you'll need to be root.
+.Sp
+That's all you need to do on Unix systems with dynamic linking.
+Most Unix systems have dynamic linking. If yours doesn't, or if for
+another reason you have a statically-linked perl, \fBand\fR the
+module requires compilation, you'll need to build a new Perl binary
+that includes the module. Again, you'll probably need to be root.
+.IP \(bu 4
+\&\fBIf you're running ActivePerl (Win95/98/2K/NT/XP, Linux, Solaris),\fR
+.Sp
+First, type \f(CW\*(C`ppm\*(C'\fR from a shell and see whether ActiveState's PPM
+repository has your module. If so, you can install it with \f(CW\*(C`ppm\*(C'\fR and
+you won't have to bother with any of the other steps here. You might
+be able to use the CPAN instructions from the "Unix or Linux" section
+above as well; give it a try. Otherwise, you'll have to follow the
+steps below.
+.Sp
+.Vb 1
+\& A. DECOMPRESS
+.Ve
+.Sp
+You can use the
+open source 7\-zip ( <https://www.7\-zip.org/> )
+or the shareware Winzip ( <https://www.winzip.com> ) to
+decompress and unpack modules.
+.Sp
+.Vb 1
+\& B. UNPACK
+.Ve
+.Sp
+If you used WinZip, this was already done for you.
+.Sp
+.Vb 1
+\& C. BUILD
+.Ve
+.Sp
+You'll need either \f(CW\*(C`nmake\*(C'\fR or \f(CW\*(C`gmake\*(C'\fR.
+.Sp
+Does the module require compilation (i.e. does it have files that end
+in .xs, .c, .h, .y, .cc, .cxx, or .C)? If it does, life is now
+officially tough for you, because you have to compile the module
+yourself (no easy feat on Windows). You'll need a compiler such as
+Visual C++. Alternatively, you can download a pre-built PPM package
+from ActiveState.
+<http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/>
+.Sp
+Go into the newly-created directory and type:
+.Sp
+.Vb 2
+\& perl Makefile.PL
+\& nmake test
+\&
+\&
+\& D. INSTALL
+.Ve
+.Sp
+While still in that directory, type:
+.Sp
+.Vb 1
+\& nmake install
+.Ve
+.IP \(bu 4
+\&\fBIf you're on OS/2,\fR
+.Sp
+Get the EMX development suite and gzip/tar from Hobbes (
+<http://hobbes.nmsu.edu/h\-browse.php?dir=/pub/os2/dev/emx/v0.9d> ), and then follow
+the instructions for Unix.
+.IP \(bu 4
+\&\fBIf you're on VMS,\fR
+.Sp
+When downloading from CPAN, save your file with a \f(CW\*(C`.tgz\*(C'\fR
+extension instead of \f(CW\*(C`.tar.gz\*(C'\fR. All other periods in the
+filename should be replaced with underscores. For example,
+\&\f(CW\*(C`Your\-Module\-1.33.tar.gz\*(C'\fR should be downloaded as
+\&\f(CW\*(C`Your\-Module\-1_33.tgz\*(C'\fR.
+.Sp
+A. DECOMPRESS
+.Sp
+Type
+.Sp
+.Vb 1
+\& gzip \-d Your\-Module.tgz
+.Ve
+.Sp
+or, for zipped modules, type
+.Sp
+.Vb 1
+\& unzip Your\-Module.zip
+.Ve
+.Sp
+Executables for gzip, zip, and VMStar:
+.Sp
+.Vb 1
+\& http://www.hp.com/go/openvms/freeware/
+.Ve
+.Sp
+and their source code:
+.Sp
+.Vb 1
+\& http://www.fsf.org/order/ftp.html
+.Ve
+.Sp
+Note that GNU's gzip/gunzip is not the same as Info-ZIP's zip/unzip
+package. The former is a simple compression tool; the latter permits
+creation of multi-file archives.
+.Sp
+B. UNPACK
+.Sp
+If you're using VMStar:
+.Sp
+.Vb 1
+\& VMStar xf Your\-Module.tar
+.Ve
+.Sp
+Or, if you're fond of VMS command syntax:
+.Sp
+.Vb 1
+\& tar/extract/verbose Your_Module.tar
+.Ve
+.Sp
+C. BUILD
+.Sp
+Make sure you have MMS (from Digital) or the freeware MMK ( available
+from MadGoat at <http://www.madgoat.com> ). Then type this to create
+the DESCRIP.MMS for the module:
+.Sp
+.Vb 1
+\& perl Makefile.PL
+.Ve
+.Sp
+Now you're ready to build:
+.Sp
+.Vb 1
+\& mms test
+.Ve
+.Sp
+Substitute \f(CW\*(C`mmk\*(C'\fR for \f(CW\*(C`mms\*(C'\fR above if you're using MMK.
+.Sp
+D. INSTALL
+.Sp
+Type
+.Sp
+.Vb 1
+\& mms install
+.Ve
+.Sp
+Substitute \f(CW\*(C`mmk\*(C'\fR for \f(CW\*(C`mms\*(C'\fR above if you're using MMK.
+.IP \(bu 4
+\&\fBIf you're on MVS\fR,
+.Sp
+Introduce the \fI.tar.gz\fR file into an HFS as binary; don't translate from
+ASCII to EBCDIC.
+.Sp
+A. DECOMPRESS
+.Sp
+Decompress the file with \f(CW\*(C`gzip \-d yourmodule.tar.gz\*(C'\fR
+.Sp
+You can get gzip from
+<http://www.s390.ibm.com/products/oe/bpxqp1.html>
+.Sp
+B. UNPACK
+.Sp
+Unpack the result with
+.Sp
+.Vb 1
+\& pax \-o to=IBM\-1047,from=ISO8859\-1 \-r < yourmodule.tar
+.Ve
+.Sp
+The BUILD and INSTALL steps are identical to those for Unix. Some
+modules generate Makefiles that work better with GNU make, which is
+available from <http://www.mks.com/s390/gnu/>
+.SH PORTABILITY
+.IX Header "PORTABILITY"
+Note that not all modules will work with on all platforms.
+See perlport for more information on portability issues.
+Read the documentation to see if the module will work on your
+system. There are basically three categories
+of modules that will not work "out of the box" with all
+platforms (with some possibility of overlap):
+.IP \(bu 4
+\&\fBThose that should, but don't.\fR These need to be fixed; consider
+contacting the author and possibly writing a patch.
+.IP \(bu 4
+\&\fBThose that need to be compiled, where the target platform
+doesn't have compilers readily available.\fR (These modules contain
+\&\fI.xs\fR or \fI.c\fR files, usually.) You might be able to find
+existing binaries on the CPAN or elsewhere, or you might
+want to try getting compilers and building it yourself, and then
+release the binary for other poor souls to use.
+.IP \(bu 4
+\&\fBThose that are targeted at a specific platform.\fR
+(Such as the Win32:: modules.) If the module is targeted
+specifically at a platform other than yours, you're out
+of luck, most likely.
+.PP
+Check the CPAN Testers if a module should work with your platform
+but it doesn't behave as you'd expect, or you aren't sure whether or
+not a module will work under your platform. If the module you want
+isn't listed there, you can test it yourself and let CPAN Testers know,
+you can join CPAN Testers, or you can request it be tested.
+.PP
+.Vb 1
+\& https://cpantesters.org/
+.Ve
+.SH HEY
+.IX Header "HEY"
+If you have any suggested changes for this page, let me know. Please
+don't send me mail asking for help on how to install your modules.
+There are too many modules, and too few Orwants, for me to be able to
+answer or even acknowledge all your questions. Contact the module
+author instead, ask someone familiar with Perl on your operating
+system, or if all else fails, file a ticket at <https://rt.cpan.org/>.
+.SH AUTHOR
+.IX Header "AUTHOR"
+Jon Orwant
+.PP
+orwant@medita.mit.edu
+.PP
+with invaluable help from Chris Nandor, and valuable help from Brandon
+Allbery, Charles Bailey, Graham Barr, Dominic Dunlop, Jarkko
+Hietaniemi, Ben Holzman, Tom Horsley, Nick Ing-Simmons, Tuomas
+J. Lukka, Laszlo Molnar, Alan Olsen, Peter Prymmer, Gurusamy Sarathy,
+Christoph Spalinger, Dan Sugalski, Larry Virden, and Ilya Zakharevich.
+.PP
+First version July 22, 1998; last revised November 21, 2001.
+.SH COPYRIGHT
+.IX Header "COPYRIGHT"
+Copyright (C) 1998, 2002, 2003 Jon Orwant. All Rights Reserved.
+.PP
+This document may be distributed under the same terms as Perl itself.