* Perl modules
@ 2013-12-06 22:17 Andreas Enge
2013-12-06 22:56 ` Ludovic Courtès
0 siblings, 1 reply; 12+ messages in thread
From: Andreas Enge @ 2013-12-06 22:17 UTC (permalink / raw)
To: guix-devel
Hello,
it looks like I have stumbled upon an enormous dependency tree:
For kdelibs, I would like soprano;
for soprano, I would like redland;
for redland, I need rasqal;
for some tests of rasqal to work, I need perl-xml-dom;
for perl-xml-dom, I need libwww-perl;
for libwww-perl, I need a lot of packages:
Warning: prerequisite Encode::Locale 0 not found.
Warning: prerequisite File::Listing 6 not found.
Warning: prerequisite HTML::Entities 0 not found.
Warning: prerequisite HTML::HeadParser 0 not found.
Warning: prerequisite HTTP::Cookies 6 not found.
Warning: prerequisite HTTP::Daemon 6 not found.
Warning: prerequisite HTTP::Date 6 not found.
Warning: prerequisite HTTP::Negotiate 6 not found.
Warning: prerequisite HTTP::Request 6 not found.
Warning: prerequisite HTTP::Request::Common 6 not found.
Warning: prerequisite HTTP::Response 6 not found.
Warning: prerequisite HTTP::Status 6 not found.
Warning: prerequisite LWP::MediaTypes 6 not found.
Warning: prerequisite Net::HTTP 6.04 not found.
Warning: prerequisite URI 1.10 not found.
Warning: prerequisite URI::Escape 0 not found.
Warning: prerequisite WWW::RobotRules 6 not found.
This leads me to the question: How should the packages containing perl
modules be named, and in which files should they be defined?
So far, there are the following packages in xml.scm:
perl-xml-parser containing XML-Parser
perl-xml-parser-perlsax containing libxml-perl
perl-xml-simple containing XML-Simple
The second one is definitely a misnomer; I was looking for
XML::Parser::PerlSAX, and a search led me to the documentation page
http://search.cpan.org/~kmacleod/libxml-perl-0.08/lib/XML/Parser/PerlSAX.pm
which is just one of the modules of libxml-perl
http://search.cpan.org/~kmacleod/libxml-perl-0.08/
If we follow our standard naming scheme, then the packages should be called
xml-parser, libxml-perl and xml-simple. Notice that two of them do not
contain the word "perl". Should we add "perl" in front then, similarly to
what we do with python modules? How about libxml-perl? Do we keep it as such,
or should we then call it perl-libxml-perl for consistency?
Concerning the files, maybe all perl modules should go into perl.scm?
Your opinions are welcome.
Andreas
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Perl modules
2013-12-06 22:17 Andreas Enge
@ 2013-12-06 22:56 ` Ludovic Courtès
2013-12-07 20:24 ` Andreas Enge
0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2013-12-06 22:56 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel
Andreas Enge <andreas@enge.fr> skribis:
> it looks like I have stumbled upon an enormous dependency tree:
>
> For kdelibs, I would like soprano;
> for soprano, I would like redland;
> for redland, I need rasqal;
> for some tests of rasqal to work, I need perl-xml-dom;
> for perl-xml-dom, I need libwww-perl;
> for libwww-perl, I need a lot of packages:
Ouch. :-)
> This leads me to the question: How should the packages containing perl
> modules be named, and in which files should they be defined?
>
> So far, there are the following packages in xml.scm:
> perl-xml-parser containing XML-Parser
> perl-xml-parser-perlsax containing libxml-perl
> perl-xml-simple containing XML-Simple
>
> The second one is definitely a misnomer; I was looking for
> XML::Parser::PerlSAX, and a search led me to the documentation page
> http://search.cpan.org/~kmacleod/libxml-perl-0.08/lib/XML/Parser/PerlSAX.pm
> which is just one of the modules of libxml-perl
> http://search.cpan.org/~kmacleod/libxml-perl-0.08/
>
> If we follow our standard naming scheme, then the packages should be called
> xml-parser, libxml-perl and xml-simple. Notice that two of them do not
> contain the word "perl". Should we add "perl" in front then, similarly to
> what we do with python modules? How about libxml-perl? Do we keep it as such,
> or should we then call it perl-libxml-perl for consistency?
I would add the ‘perl-’ prefix, unless the package stands alone (for
instance, Hydra would be called ‘hydra’, not ‘perl-hydra’.)
For the rest of the name, I would take the Perl module name. So
‘XML::Parser’ leads to ‘perl-xml-parser’, etc.
In cases where there’s not a single module tree root, I would stick to
the upstream name, removing any redundant ‘perl’ in the name. So
‘libxml-perl’ (which provides modules under XML::, Data::Grove, etc.)
would lead to ‘perl-libxml’.
How does that sound?
> Concerning the files, maybe all perl modules should go into perl.scm?
I don’t think so. For instance, I think it’s OK to have perl-xml-* in
xml.scm, esp. because they are also used by ‘intltool’ for instance.
I’d use perl.scm for any Perl-specific library that doesn’t have a
better home (yeah, that’s very informal...)
WDYT?
Ludo’.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Perl modules
2013-12-06 22:56 ` Ludovic Courtès
@ 2013-12-07 20:24 ` Andreas Enge
0 siblings, 0 replies; 12+ messages in thread
From: Andreas Enge @ 2013-12-07 20:24 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On Fri, Dec 06, 2013 at 11:56:17PM +0100, Ludovic Courtès wrote:
> I would add the ‘perl-’ prefix, unless the package stands alone (for
> instance, Hydra would be called ‘hydra’, not ‘perl-hydra’.)
Yes, that would be as for python.
> For the rest of the name, I would take the Perl module name. So
> ‘XML::Parser’ leads to ‘perl-xml-parser’, etc.
>
> In cases where there’s not a single module tree root, I would stick to
> the upstream name, removing any redundant ‘perl’ in the name. So
> ‘libxml-perl’ (which provides modules under XML::, Data::Grove, etc.)
> would lead to ‘perl-libxml’.
>
> How does that sound?
All very reasonable. Let us go for this (and I should add a section to the
packaging guidelines later on).
Andreas
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Perl modules
@ 2014-05-11 8:56 Andreas Enge
2014-05-11 9:20 ` John Darrington
2014-05-11 9:54 ` Ludovic Courtès
0 siblings, 2 replies; 12+ messages in thread
From: Andreas Enge @ 2014-05-11 8:56 UTC (permalink / raw)
To: guix-devel
[-- Attachment #1: Type: text/plain, Size: 373 bytes --]
On Sat, Dec 07, 2013 at 09:24:42PM +0100, Andreas Enge wrote:
> All very reasonable. Let us go for this (and I should add a section to the
> packaging guidelines later on).
Months later, here is a proposed patch in British English. Do we have a rule
on which spelling to use? British is what I learnt at school.
(I feel like starting a bikeshed discussion ;-).)
Andreas
[-- Attachment #2: 0001-doc-Add-a-section-on-perl-modules-in-the-packaging-g.patch --]
[-- Type: text/plain, Size: 2200 bytes --]
From 97a3ac573edcb3046ee9655497a97bdf750090ee Mon Sep 17 00:00:00 2001
From: Andreas Enge <andreas@enge.fr>
Date: Sun, 11 May 2014 10:43:51 +0200
Subject: [PATCH] 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 | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 2aacf5d..de50ae5 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -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.
+@ref{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 favour of the
+prefix. For instance, @code{libwww-perl} becomes @code{perl-libwww}.
--
1.8.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: Perl modules
2014-05-11 8:56 Perl modules Andreas Enge
@ 2014-05-11 9:20 ` John Darrington
2014-05-11 9:34 ` Andreas Enge
2014-05-11 9:54 ` Ludovic Courtès
1 sibling, 1 reply; 12+ messages in thread
From: John Darrington @ 2014-05-11 9:20 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 776 bytes --]
On Sun, May 11, 2014 at 10:56:38AM +0200, Andreas Enge wrote:
On Sat, Dec 07, 2013 at 09:24:42PM +0100, Andreas Enge wrote:
> All very reasonable. Let us go for this (and I should add a section to the
> packaging guidelines later on).
Months later, here is a proposed patch in British English. Do we have a rule
on which spelling to use? British is what I learnt at school.
Ahh, but which variant of British English? Oxford or Cambridge?
(I feel like starting a bikeshed discussion ;-).)
whichever, "bike shed" is two words.
J'
--
PGP Public key ID: 1024D/2DE827B3
fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Perl modules
2014-05-11 9:20 ` John Darrington
@ 2014-05-11 9:34 ` Andreas Enge
0 siblings, 0 replies; 12+ messages in thread
From: Andreas Enge @ 2014-05-11 9:34 UTC (permalink / raw)
To: John Darrington; +Cc: guix-devel
On Sun, May 11, 2014 at 11:20:33AM +0200, John Darrington wrote:
> On Sun, May 11, 2014 at 10:56:38AM +0200, Andreas Enge wrote:
> (I feel like starting a bikeshed discussion ;-).)
> whichever, "bike shed" is two words.
Ah, a German mistake!
Andreas
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Perl modules
2014-05-11 8:56 Perl modules Andreas Enge
2014-05-11 9:20 ` John Darrington
@ 2014-05-11 9:54 ` Ludovic Courtès
2014-05-11 10:30 ` Andreas Enge
1 sibling, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2014-05-11 9:54 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel
Andreas Enge <andreas@enge.fr> skribis:
> On Sat, Dec 07, 2013 at 09:24:42PM +0100, Andreas Enge wrote:
>> All very reasonable. Let us go for this (and I should add a section to the
>> packaging guidelines later on).
>
> Months later, here is a proposed patch in British English. Do we have a rule
> on which spelling to use? British is what I learnt at school.
> (I feel like starting a bikeshed discussion ;-).)
I use American English, as the settings at the end of guix.texi enforce
for those using the Right Editor. ;-)
I’d prefer to keep it that way, if that’s OK. WDYT?
> @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.
> +@ref{Python Modules} and @ref{Perl Modules} for special rules concerning
> +modules for the Python and Perl languages.
Should be @pxref{Python Modules} and @ref{Perl Modules} (info "(texinfo) @ref").
> +For perl packages containing a single class, we use the lowercase class name,
“Perl”, capitalized.
Also, two spaces after end-of-sentence periods.
Thanks, that’s a useful addition.
Ludo’.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Perl modules
2014-05-11 9:54 ` Ludovic Courtès
@ 2014-05-11 10:30 ` Andreas Enge
2014-05-11 11:31 ` Ludovic Courtès
0 siblings, 1 reply; 12+ messages in thread
From: Andreas Enge @ 2014-05-11 10:30 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
Thanks for the comments, all implemented and pushed.
On Sun, May 11, 2014 at 11:54:02AM +0200, Ludovic Courtès wrote:
> Also, two spaces after end-of-sentence periods.
Just as a side note (side-note? sidenote?), in texinfo an end of sentence
period immediately followed by a line break is interpreted as such (with a
double space in the info browser), while in the string in the description
field of our package definitions it is not. So there one should not end
a line with a period.
Andreas
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Perl modules
2014-05-11 10:30 ` Andreas Enge
@ 2014-05-11 11:31 ` Ludovic Courtès
2014-05-11 11:41 ` Andreas Enge
0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2014-05-11 11:31 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel
Andreas Enge <andreas@enge.fr> skribis:
> Thanks for the comments, all implemented and pushed.
Thanks!
> On Sun, May 11, 2014 at 11:54:02AM +0200, Ludovic Courtès wrote:
>> Also, two spaces after end-of-sentence periods.
>
> Just as a side note (side-note? sidenote?), in texinfo an end of sentence
> period immediately followed by a line break is interpreted as such (with a
> double space in the info browser), while in the string in the description
> field of our package definitions it is not. So there one should not end
> a line with a period.
But there’s no tool that really “interprets” of what’s in the
‘description’ field[*]. What do you mean?
Ludo’.
[*] Actually, ‘fill-paragraph’ from (guix ui), which is used for the
output of ‘guix package --search’ does some very basic
interpretation.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Perl modules
2014-05-11 11:31 ` Ludovic Courtès
@ 2014-05-11 11:41 ` Andreas Enge
2014-05-11 19:16 ` Ludovic Courtès
0 siblings, 1 reply; 12+ messages in thread
From: Andreas Enge @ 2014-05-11 11:41 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On Sun, May 11, 2014 at 01:31:12PM +0200, Ludovic Courtès wrote:
> But there’s no tool that really “interprets” of what’s in the
> ‘description’ field[*]. What do you mean?
> [*] Actually, ‘fill-paragraph’ from (guix ui), which is used for the
> output of ‘guix package --search’ does some very basic
> interpretation.
Well, the output of "guix package --search" has different line breaks than
those present in the string of the description field. So something modifies
it, maybe the scheme interpreter itself in what it does with multi-line
strings, maybe the function you mention. In any case, "x.\nY" may be output
as "x. Y"; so if we wish to have double spaces in the output, we need to
write "x. Y" on the same line.
Andreas
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Perl modules
2014-05-11 11:41 ` Andreas Enge
@ 2014-05-11 19:16 ` Ludovic Courtès
2014-08-11 16:37 ` bug#17468: " Ludovic Courtès
0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2014-05-11 19:16 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel, bug-guix
Andreas Enge <andreas@enge.fr> skribis:
> On Sun, May 11, 2014 at 01:31:12PM +0200, Ludovic Courtès wrote:
>> But there’s no tool that really “interprets” of what’s in the
>> ‘description’ field[*]. What do you mean?
>> [*] Actually, ‘fill-paragraph’ from (guix ui), which is used for the
>> output of ‘guix package --search’ does some very basic
>> interpretation.
>
> Well, the output of "guix package --search" has different line breaks than
> those present in the string of the description field. So something modifies
> it,
Yes, that’s ‘fill-paragraph’.
> maybe the scheme interpreter itself in what it does with multi-line
> strings, maybe the function you mention. In any case, "x.\nY" may be
> output as "x. Y"; so if we wish to have double spaces in the output,
> we need to write "x. Y" on the same line.
That’s really a bug in ‘fill-paragraph’.
I’m filing it now and will look at it later, unless someone beats me.
;-)
Ludo’.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: bug#17468: Perl modules
2014-05-11 19:16 ` Ludovic Courtès
@ 2014-08-11 16:37 ` Ludovic Courtès
0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2014-08-11 16:37 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel, 17468-done
Fixed in 3a09e1d, which will be in 0.8.
Ludo’.
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2014-08-11 16:38 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-11 8:56 Perl modules Andreas Enge
2014-05-11 9:20 ` John Darrington
2014-05-11 9:34 ` Andreas Enge
2014-05-11 9:54 ` Ludovic Courtès
2014-05-11 10:30 ` Andreas Enge
2014-05-11 11:31 ` Ludovic Courtès
2014-05-11 11:41 ` Andreas Enge
2014-05-11 19:16 ` Ludovic Courtès
2014-08-11 16:37 ` bug#17468: " Ludovic Courtès
-- strict thread matches above, loose matches on Subject: below --
2013-12-06 22:17 Andreas Enge
2013-12-06 22:56 ` Ludovic Courtès
2013-12-07 20:24 ` Andreas Enge
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).