From af8a56b8a292bb06ac48779e9f0494519617e7d0 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 11 May 2014 10:43:51 +0200 Subject: doc: Add a section on perl modules in the packaging guidelines. * doc/guix.texi (Perl modules): New section explaining the naming of perl modules. --- doc/guix.texi | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 2aacf5d9b6..82e713c0c9 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -11,7 +11,7 @@ @copying Copyright @copyright{} 2012, 2013, 2014 Ludovic Courtès@* -Copyright @copyright{} 2013 Andreas Enge@* +Copyright @copyright{} 2013, 2014 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov Permission is granted to copy, distribute and/or modify this document @@ -2751,6 +2751,7 @@ needed is to review and apply the patch. * Package Naming:: What's in a name? * Version Numbers:: When the name is not enough. * Python Modules:: Taming the snake. +* Perl Modules:: Little pearls. @end menu @node Software Freedom @@ -2796,8 +2797,8 @@ Both are usually the same and correspond to the lowercase conversion of the project name chosen upstream. For instance, the GNUnet project is packaged as @code{gnunet}. We do not add @code{lib} prefixes for library packages, unless these are already part of the official project name. But see -@ref{Python Modules} for special rules concerning modules for -the Python language. +@pxref{Python Modules} and @ref{Perl Modules} for special rules concerning +modules for the Python and Perl languages. @node Version Numbers @@ -2859,6 +2860,19 @@ for instance, the module python-dateutil is packaged under the names @code{python-dateutil} and @code{python2-dateutil}. +@node Perl Modules +@subsection Perl Modules + +Perl programs standing for themselves are named as any other package, +using the lowercase upstream name. +For Perl packages containing a single class, we use the lowercase class name, +replace all occurrences of @code{::} by dashes and prepend the prefix +@code{perl-}. +So the class @code{XML::Parser} becomes @code{perl-xml-parser}. +Modules containing several classes keep their lowercase upstream name and +are also prepended by @code{perl-}. Such modules tend to have the word +@code{perl} somewhere in their name, which gets dropped in favor of the +prefix. For instance, @code{libwww-perl} becomes @code{perl-libwww}. -- cgit v1.2.3