summaryrefslogtreecommitdiff
path: root/doc/guix.texi
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2014-05-11 10:43:51 +0200
committerAndreas Enge <andreas@enge.fr>2014-05-11 12:27:37 +0200
commitaf8a56b8a292bb06ac48779e9f0494519617e7d0 (patch)
tree526334605f7dd516960e14e22820dbf57c57ffc6 /doc/guix.texi
parentf3bde2ff9f19a542ccceea40e3750e1e478f245e (diff)
doc: Add a section on perl modules in the packaging guidelines.
* doc/guix.texi (Perl modules): New section explaining the naming of perl modules.
Diffstat (limited to 'doc/guix.texi')
-rw-r--r--doc/guix.texi20
1 files 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}.