TABLE OF CONTENTS
- perl.cygclass
- PERL
- PERL_VERSION
- PERL_LIB
- PERL_ARCHLIB
- PERL_VENDORLIB
- PERL_VENDORARCH
- LIBPERL
- CPAN_AUTHOR
- CPAN_SUBDIR
- CPAN_VERSION
- CATEGORY (perl)
- SUMMARY (perl)
- HOMEPAGE (perl)
- SRC_URI (perl)
- perl_compile
- perl_test
- perl_install
- perl_fix_shebang
- perl_sax_parser_register
- src_compile (perl)
- src_test (perl)
- src_install (perl)
perl.cygclass
[ Top ] [ Cygclasses ] [ Cygclasses ]
SYNOPSIS
[CPAN_AUTHOR="username"] inherit perl
DESCRIPTION
Perl is an interpreted programming language used in a variety of software, particularly text processing, network programming, system administration, and CGI scripting. It is easily extendible with modules written in Perl and/or C/C++. Thousands of such modules are centrally hosted on the Comprehensive Perl Archive Network (CPAN).
This cygclass provides definitions for building Perl dependent packages, and functions for building Perl module packages.
EXAMPLES
A typical CPAN extension package looks like this:
CPAN_AUTHOR=adamk inherit perl NAME="perl-Archive-Zip" VERSION=1.30 RELEASE=1 CATEGORY="Perl" SUMMARY="Perl module for working with Zip archives" DESCRIPTION="This module allows a Perl program to create, manipulate, read, and write Zip archive files. Zip archives can be created, or you can read from existing zip files. Once created, they can be written to files, streams, or strings."
Occasionaly, a CPAN module tries to ask questions while configuring the build, in which case you can override that in src_compile:
src_compile() { lndirs cd ${B} # answer 'y' to all questions from Makefile.PL yes | perl_compile }
Perl modules which provide XML::SAX parser engines require an additional step during src_install, e.g.:
src_install() { cd ${B} perl_install perl_sax_parser_register XML::LibXML::SAX }
INHERITED BY
REQUIRES
perl
PERL
[ Top ] [ perl.cygclass ] [ Definitions ]
DESCRIPTION
Absolute path to the Perl interpreter.
PERL_VERSION
[ Top ] [ perl.cygclass ] [ Definitions ]
DESCRIPTION
The major.minor version of the Perl interpreter.
PERL_LIB
[ Top ] [ perl.cygclass ] [ Definitions ]
DESCRIPTION
Absolute path to the Perl arch-independent standard library.
NOTE
Third-party packages must not be installed here; use PERL_VENDORLIB instead.
PERL_ARCHLIB
[ Top ] [ perl.cygclass ] [ Definitions ]
DESCRIPTION
Absolute path to the Perl arch-specific standard library.
NOTE
Third-party packages must not be installed here; use PERL_VENDORARCH instead.
PERL_VENDORLIB
[ Top ] [ perl.cygclass ] [ Definitions ]
DESCRIPTION
Installation path for third-party arch-independent Perl modules.
PERL_VENDORARCH
[ Top ] [ perl.cygclass ] [ Definitions ]
DESCRIPTION
Installation path for third-party arch-specific Perl modules.
LIBPERL
[ Top ] [ perl.cygclass ] [ Definitions ]
DESCRIPTION
Link flags for the Perl C library.
CPAN_AUTHOR
[ Top ] [ perl.cygclass ] [ Variables ]
DESCRIPTION
The CPAN username of the Perl module's author. This variable must be set before inherit()ing perl.cygclass to have any effect. If set, the package HOMEPAGE and SRC_URI are set to their usual locations on CPAN.
CPAN_SUBDIR
[ Top ] [ perl.cygclass ] [ Variables ]
DESCRIPTION
An optional directory component in the CPAN URL. Some packages have an additional subdirectory component, which can be specified with this variable.
CPAN_VERSION
[ Top ] [ perl.cygclass ] [ Variables ]
DESCRIPTION
The published version of the Perl module on CPAN. It is sometimes necessary for VERSION to not match due to CPAN versioning not conforming to the version rules used elsewhere. For example, a package may go from 0.12->0.1201->0.1202...->0.13, instead of 0.12->0.12.1->0.12.2...->0.13 as one would expect elsewhere. The last change would be viewed as a downgrade (1202 > 13) by setup. Depending on what currently exists in the distribution, either use e.g. CPAN_VERSION=0.1201 with VERSION=0.12.1, or CPAN_VERSION=0.13 with VERSION=0.1300, in order to workaround this.
This variable, when needed, must be set before inherit()ing perl.cygclass to have any effect. If set, this overrides VERSION in SRC_URI and SRC_DIR.
CATEGORY (perl)
[ Top ] [ perl.cygclass ] [ Overloads ]
DEFINITION
CATEGORY="Perl"
NOTE
This variable is set only if CPAN_AUTHOR is defined before inherit()ing perl.cygclass.
SUMMARY (perl)
[ Top ] [ perl.cygclass ] [ Overloads ]
DEFINITION
SUMMARY="Perl distribution ${ORIG_PN}"
NOTE
This variable is set only if CPAN_AUTHOR is defined before inherit()ing perl.cygclass.
HOMEPAGE (perl)
[ Top ] [ perl.cygclass ] [ Overloads ]
DESCRIPTION
Web address for the Perl module on CPAN.
NOTE
This variable is set only if CPAN_AUTHOR is defined before inherit()ing perl.cygclass.
SRC_URI (perl)
[ Top ] [ perl.cygclass ] [ Overloads ]
DESCRIPTION
Download location for the Perl module on CPAN.
NOTE
This variable is set only if CPAN_AUTHOR is defined before inherit()ing perl.cygclass.
SEE ALSO
perl_compile
[ Top ] [ perl.cygclass ] [ Compile Functions ]
SYNOPSIS
cd $B perl_compile [OPTIONS]
DESCRIPTION
Configures and builds a Perl module package. Options, if any, are passed during the configure phase.
perl_test
[ Top ] [ perl.cygclass ] [ Testsuite Functions ]
SYNOPSIS
cd $B perl_test
DESCRIPTION
Runs the test suite for the Perl module.
perl_install
[ Top ] [ perl.cygclass ] [ Install Functions ]
SYNOPSIS
cd $B perl_install [OPTIONS]
DESCRIPTION
Installs the Perl module into $D. Options, if any, are passed to the install command.
perl_fix_shebang
[ Top ] [ perl.cygclass ] [ Install Functions ]
SYNOPSIS
perl_fix_shebang SCRIPT [SCRIPT ...]
DESCRIPTION
Fixes the designated interpreter of SCRIPT to PERL. This would be necessary if the original uses an incorrect path (e.g. /usr/local/bin) or an incorrectly versioned binary. SCRIPT need not be prefixed by $D.
perl_sax_parser_register
[ Top ] [ perl.cygclass ] [ Install Functions ]
SYNOPSIS
perl_sax_parser_register PARSER_CLASS [PARSER_CLASS ...]
DESCRIPTION
Generates postinstall and preremove scripts to handle registration of XML::SAX parser drivers with XML::SAX's ParserDetails.ini file.
src_compile (perl)
[ Top ] [ perl.cygclass ] [ Overloads ]
DEFINITION
src_compile() { lndirs cd ${B} perl_compile }
src_test (perl)
[ Top ] [ perl.cygclass ] [ Overloads ]
DEFINITION
src_test() { cd ${B} perl_test }
src_install (perl)
[ Top ] [ perl.cygclass ] [ Overloads ]
DEFINITION
src_install() { cd ${B} perl_install }