diff mbox

gnu: Add perltidy.

Message ID 87oa6c5uty.fsf@gnu.org
State New
Headers show

Commit Message

Roel Janssen July 5, 2016, 8:54 a.m. UTC
Dear Guix,

Here I have a package recipe for perltidy.  The version number differs
from the usual scheme, but that's what the project uses, so I cannot do
much about it.

Is this OK to push?

As always, thanks for your time.

Kind regards,
Roel Janssen


>From d6cc1580a362f759bbd85107435a47c0eac04954 Mon Sep 17 00:00:00 2001
From: Roel Janssen <roel@gnu.org>
Date: Tue, 5 Jul 2016 10:51:58 +0200
Subject: [PATCH] gnu: Add perltidy.

* gnu/packages/perl.scm (perltidy): New variable.
---
 gnu/packages/perl.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

Comments

Ricardo Wurmus July 5, 2016, 11:01 a.m. UTC | #1
Roel Janssen <roel@gnu.org> writes:

> Here I have a package recipe for perltidy.  The version number differs
> from the usual scheme, but that's what the project uses, so I cannot do
> much about it.

I don’t think that’s a problem.

>>From d6cc1580a362f759bbd85107435a47c0eac04954 Mon Sep 17 00:00:00 2001
> From: Roel Janssen <roel@gnu.org>
> Date: Tue, 5 Jul 2016 10:51:58 +0200
> Subject: [PATCH] gnu: Add perltidy.
>
> * gnu/packages/perl.scm (perltidy): New variable.
> ---
>  gnu/packages/perl.scm | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
>
> diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
> index 74a47b4..e34515e 100644
> --- a/gnu/packages/perl.scm
> +++ b/gnu/packages/perl.scm
> @@ -9,6 +9,7 @@
>  ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
>  ;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is>
>  ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
> +;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -5986,6 +5987,27 @@ system.")
>  as exceptions to standard program flow.")
>      (license (package-license perl))))
>  
> +(define-public perltidy
> +  (package
> +    (name "perltidy")

“perltidy” (as in the domain name) or “perl-tidy” (as in the tarball)?
I don’t remember what our naming guidelines say about this.  (I think
“perltidy” is correct.)

> +    (version "20160302")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "mirror://sourceforge/perltidy/Perl-Tidy-"
> +                                  version ".tar.gz"))
> +              (file-name (string-append name "-" version ".tar.gz"))

Is this necessary or can we just keep the tarball name as it is?

> +              (sha256
> +               (base32
> +                "19yw63yh5s3pq7k3nkw6nsamg5b8vvwyhgbizslgxg0mqgc4xl3d"))))
> +    (build-system perl-build-system)
> +    (home-page "http://perltidy.sourceforge.net/")
> +    (synopsis "Perl script tidier")
> +    (description "This package contains a Perl script which indents and
> +reformats Perl scripts to make them easier to read.   The formatting can be
> +controlled with command line parameters.  The default parameter settings
> +approximately follow the suggestions in the Perl Style Guide.")
> +    (license gpl2+)))
> +

The rest looks good to me.  Thanks!

~~ Ricardo
Roel Janssen July 5, 2016, 11:10 a.m. UTC | #2
Ricardo Wurmus writes:

> Roel Janssen <roel@gnu.org> writes:
>
>> Here I have a package recipe for perltidy.  The version number differs
>> from the usual scheme, but that's what the project uses, so I cannot do
>> much about it.
>
> I don’t think that’s a problem.
>
>>>From d6cc1580a362f759bbd85107435a47c0eac04954 Mon Sep 17 00:00:00 2001
>> From: Roel Janssen <roel@gnu.org>
>> Date: Tue, 5 Jul 2016 10:51:58 +0200
>> Subject: [PATCH] gnu: Add perltidy.
>>
>> * gnu/packages/perl.scm (perltidy): New variable.
>> ---
>>  gnu/packages/perl.scm | 22 ++++++++++++++++++++++
>>  1 file changed, 22 insertions(+)
>>
>> diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
>> index 74a47b4..e34515e 100644
>> --- a/gnu/packages/perl.scm
>> +++ b/gnu/packages/perl.scm
>> @@ -9,6 +9,7 @@
>>  ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
>>  ;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is>
>>  ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
>> +;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
>>  ;;;
>>  ;;; This file is part of GNU Guix.
>>  ;;;
>> @@ -5986,6 +5987,27 @@ system.")
>>  as exceptions to standard program flow.")
>>      (license (package-license perl))))
>>  
>> +(define-public perltidy
>> +  (package
>> +    (name "perltidy")
>
> “perltidy” (as in the domain name) or “perl-tidy” (as in the tarball)?
> I don’t remember what our naming guidelines say about this.  (I think
> “perltidy” is correct.)

I think they are clear on the project's name.  For example, the homepage
title: “The Perltidy Home Page”

>> +    (version "20160302")
>> +    (source (origin
>> +              (method url-fetch)
>> +              (uri (string-append "mirror://sourceforge/perltidy/Perl-Tidy-"
>> +                                  version ".tar.gz"))
>> +              (file-name (string-append name "-" version ".tar.gz"))
>
> Is this necessary or can we just keep the tarball name as it is?

I guess not.  I thought we had to rename the tarballs to match the
package names (so in this case, without the dash).  If it is not
necessary, I will remove it from the final patch..

>> +              (sha256
>> +               (base32
>> +                "19yw63yh5s3pq7k3nkw6nsamg5b8vvwyhgbizslgxg0mqgc4xl3d"))))
>> +    (build-system perl-build-system)
>> +    (home-page "http://perltidy.sourceforge.net/")
>> +    (synopsis "Perl script tidier")
>> +    (description "This package contains a Perl script which indents and
>> +reformats Perl scripts to make them easier to read.   The formatting can be
>> +controlled with command line parameters.  The default parameter settings
>> +approximately follow the suggestions in the Perl Style Guide.")
>> +    (license gpl2+)))
>> +
>
> The rest looks good to me.  Thanks!

Thanks for your quick response!

Kind regards,
Roel Janssen
Ricardo Wurmus July 5, 2016, 1:57 p.m. UTC | #3
Roel Janssen <roel@gnu.org> writes:

> Ricardo Wurmus writes:
>
>> Roel Janssen <roel@gnu.org> writes:
>>
>>> Here I have a package recipe for perltidy.  The version number differs
>>> from the usual scheme, but that's what the project uses, so I cannot do
>>> much about it.
>>
>> I don’t think that’s a problem.
>>
>>>>From d6cc1580a362f759bbd85107435a47c0eac04954 Mon Sep 17 00:00:00 2001
>>> From: Roel Janssen <roel@gnu.org>
>>> Date: Tue, 5 Jul 2016 10:51:58 +0200
>>> Subject: [PATCH] gnu: Add perltidy.
>>>
>>> * gnu/packages/perl.scm (perltidy): New variable.
>>> ---
>>>  gnu/packages/perl.scm | 22 ++++++++++++++++++++++
>>>  1 file changed, 22 insertions(+)
>>>
>>> diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
>>> index 74a47b4..e34515e 100644
>>> --- a/gnu/packages/perl.scm
>>> +++ b/gnu/packages/perl.scm
>>> @@ -9,6 +9,7 @@
>>>  ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
>>>  ;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is>
>>>  ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
>>> +;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
>>>  ;;;
>>>  ;;; This file is part of GNU Guix.
>>>  ;;;
>>> @@ -5986,6 +5987,27 @@ system.")
>>>  as exceptions to standard program flow.")
>>>      (license (package-license perl))))
>>>  
>>> +(define-public perltidy
>>> +  (package
>>> +    (name "perltidy")
>>
>> “perltidy” (as in the domain name) or “perl-tidy” (as in the tarball)?
>> I don’t remember what our naming guidelines say about this.  (I think
>> “perltidy” is correct.)
>
> I think they are clear on the project's name.  For example, the homepage
> title: “The Perltidy Home Page”

Okay, you’re right.  “perltidy” it is, then! :)

>>> +    (version "20160302")
>>> +    (source (origin
>>> +              (method url-fetch)
>>> +              (uri (string-append "mirror://sourceforge/perltidy/Perl-Tidy-"
>>> +                                  version ".tar.gz"))
>>> +              (file-name (string-append name "-" version ".tar.gz"))
>>
>> Is this necessary or can we just keep the tarball name as it is?
>
> I guess not.  I thought we had to rename the tarballs to match the
> package names (so in this case, without the dash).  If it is not
> necessary, I will remove it from the final patch..

I just checked the packaging guidelines in the manual and couldn’t find
any statement on when to use “file-name”.  It is only described in
section 5.1.2:

     ‘file-name’ (default: ‘#f’)
          The file name under which the source code should be saved.
          When this is ‘#f’, a sensible default value will be used in
          most cases.  In case the source is fetched from a URL, the
          file name from the URL will be used.  For version control
          checkouts, it is recommended to provide the file name
          explicitly because the default is not very descriptive.

I think the original name is descriptive enough as it actually contains
the name of the package.

So I think you can remove the “file-name” expression and push this.

~~ Ricardo
Roel Janssen July 5, 2016, 2:15 p.m. UTC | #4
Ricardo Wurmus writes:

> Roel Janssen <roel@gnu.org> writes:
>
>> Ricardo Wurmus writes:
>>
>>> Roel Janssen <roel@gnu.org> writes:
>>>
>>>> Here I have a package recipe for perltidy.  The version number differs
>>>> from the usual scheme, but that's what the project uses, so I cannot do
>>>> much about it.
>>>
>>> I don’t think that’s a problem.
>>>
>>>>>From d6cc1580a362f759bbd85107435a47c0eac04954 Mon Sep 17 00:00:00 2001
>>>> From: Roel Janssen <roel@gnu.org>
>>>> Date: Tue, 5 Jul 2016 10:51:58 +0200
>>>> Subject: [PATCH] gnu: Add perltidy.
>>>>
>>>> * gnu/packages/perl.scm (perltidy): New variable.
>>>> ---
>>>>  gnu/packages/perl.scm | 22 ++++++++++++++++++++++
>>>>  1 file changed, 22 insertions(+)
>>>>
>>>> diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
>>>> index 74a47b4..e34515e 100644
>>>> --- a/gnu/packages/perl.scm
>>>> +++ b/gnu/packages/perl.scm
>>>> @@ -9,6 +9,7 @@
>>>>  ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
>>>>  ;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is>
>>>>  ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
>>>> +;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
>>>>  ;;;
>>>>  ;;; This file is part of GNU Guix.
>>>>  ;;;
>>>> @@ -5986,6 +5987,27 @@ system.")
>>>>  as exceptions to standard program flow.")
>>>>      (license (package-license perl))))
>>>>  
>>>> +(define-public perltidy
>>>> +  (package
>>>> +    (name "perltidy")
>>>
>>> “perltidy” (as in the domain name) or “perl-tidy” (as in the tarball)?
>>> I don’t remember what our naming guidelines say about this.  (I think
>>> “perltidy” is correct.)
>>
>> I think they are clear on the project's name.  For example, the homepage
>> title: “The Perltidy Home Page”
>
> Okay, you’re right.  “perltidy” it is, then! :)
>
>>>> +    (version "20160302")
>>>> +    (source (origin
>>>> +              (method url-fetch)
>>>> +              (uri (string-append "mirror://sourceforge/perltidy/Perl-Tidy-"
>>>> +                                  version ".tar.gz"))
>>>> +              (file-name (string-append name "-" version ".tar.gz"))
>>>
>>> Is this necessary or can we just keep the tarball name as it is?
>>
>> I guess not.  I thought we had to rename the tarballs to match the
>> package names (so in this case, without the dash).  If it is not
>> necessary, I will remove it from the final patch..
>
> I just checked the packaging guidelines in the manual and couldn’t find
> any statement on when to use “file-name”.  It is only described in
> section 5.1.2:
>
>      ‘file-name’ (default: ‘#f’)
>           The file name under which the source code should be saved.
>           When this is ‘#f’, a sensible default value will be used in
>           most cases.  In case the source is fetched from a URL, the
>           file name from the URL will be used.  For version control
>           checkouts, it is recommended to provide the file name
>           explicitly because the default is not very descriptive.
>
> I think the original name is descriptive enough as it actually contains
> the name of the package.
>
> So I think you can remove the “file-name” expression and push this.
>
> ~~ Ricardo

I pushed it after removing the "file-name" part.

Thanks!

Kind regards,
Roel Janssen
Andreas Enge July 9, 2016, 7:01 p.m. UTC | #5
Hello,

sorry for being late, but the number of messages on the list is simply
overwhelming...

On Tue, Jul 05, 2016 at 01:01:07PM +0200, Ricardo Wurmus wrote:
> “perltidy” (as in the domain name) or “perl-tidy” (as in the tarball)?
> I don’t remember what our naming guidelines say about this.  (I think
> “perltidy” is correct.)

Is it a perl "module"? Then it should be named "perl-tidy":
   https://www.gnu.org/software/guix/manual/html_node/Perl-Modules.html#Perl-Modules
If it is a perl "binary", then keeping the upstream name is the good solution.

In this case, maybe the latter holds? There is a ready-to-use perl script, but
also a file Tidy.pm.

Andreas
Roel Janssen July 10, 2016, 10:48 a.m. UTC | #6
Andreas Enge writes:

> Hello,
>
> sorry for being late, but the number of messages on the list is simply
> overwhelming...

Thanks for your reply :)

> On Tue, Jul 05, 2016 at 01:01:07PM +0200, Ricardo Wurmus wrote:
>> “perltidy” (as in the domain name) or “perl-tidy” (as in the tarball)?
>> I don’t remember what our naming guidelines say about this.  (I think
>> “perltidy” is correct.)
>
> Is it a perl "module"? Then it should be named "perl-tidy":
>    https://www.gnu.org/software/guix/manual/html_node/Perl-Modules.html#Perl-Modules
> If it is a perl "binary", then keeping the upstream name is the good solution.
>
> In this case, maybe the latter holds? There is a ready-to-use perl script, but
> also a file Tidy.pm.

From the man-page of "perltidy":
  Perltidy reads a perl script and writes an indented, reformatted
  script.

So even though it does provide a Perl::Tidy module, it's also a
stand-alone program that reformats existing Perl code.  What we could to
is split the package in two: one with the Perl::Tidy module (called
perl-tidy) and one with the stand-alone script (called perltidy).  I
think that would be a little confusing though.

Kind regards,
Roel Janssen
Andreas Enge July 10, 2016, 1:27 p.m. UTC | #7
On Sun, Jul 10, 2016 at 12:48:30PM +0200, Roel Janssen wrote:
> From the man-page of "perltidy":
>   Perltidy reads a perl script and writes an indented, reformatted
>   script.
> 
> So even though it does provide a Perl::Tidy module, it's also a
> stand-alone program that reformats existing Perl code.  What we could to
> is split the package in two: one with the Perl::Tidy module (called
> perl-tidy) and one with the stand-alone script (called perltidy).  I
> think that would be a little confusing though.

So it looks like you took the correct decision. There is no need to split
the package in two just to satisfy the naming conventions; they are meant
to make things easier for users, not more confusing!

Thanks,

Andreas
diff mbox

Patch

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 74a47b4..e34515e 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -9,6 +9,7 @@ 
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is>
 ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
+;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5986,6 +5987,27 @@  system.")
 as exceptions to standard program flow.")
     (license (package-license perl))))
 
+(define-public perltidy
+  (package
+    (name "perltidy")
+    (version "20160302")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/perltidy/Perl-Tidy-"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "19yw63yh5s3pq7k3nkw6nsamg5b8vvwyhgbizslgxg0mqgc4xl3d"))))
+    (build-system perl-build-system)
+    (home-page "http://perltidy.sourceforge.net/")
+    (synopsis "Perl script tidier")
+    (description "This package contains a Perl script which indents and
+reformats Perl scripts to make them easier to read.   The formatting can be
+controlled with command line parameters.  The default parameter settings
+approximately follow the suggestions in the Perl Style Guide.")
+    (license gpl2+)))
+
 (define-public perl-tie-ixhash
   (package
   (name "perl-tie-ixhash")