unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 0/7] Add Stow.
@ 2015-02-21 19:16 Ricardo Wurmus
  2015-02-21 19:16 ` [PATCH 1/7] gnu: Add Sub::Install Ricardo Wurmus
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Ricardo Wurmus @ 2015-02-21 19:16 UTC (permalink / raw)
  To: guix-devel

This patch set adds GNU Stow and its dependencies.

I'm not sure I did the propagate-inputs thing right, but it seemed necessary
as otherwise I had to manually propagate inputs to satisfy the load
requirements of some of the later modules.

Ricardo Wurmus (7):
  gnu: Add Sub::Install.
  gnu: Add Params::Util.
  gnu: Add Capture::Tiny.
  gnu: Add Data::OptList.
  gnu: Add Sub::Exporter.
  gnu: Add Test::Output.
  gnu: Add Stow.

 gnu/packages/package-management.scm |  31 +++++++-
 gnu/packages/perl.scm               | 140 ++++++++++++++++++++++++++++++++++++
 2 files changed, 170 insertions(+), 1 deletion(-)

-- 
2.1.0

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/7] gnu: Add Sub::Install.
  2015-02-21 19:16 [PATCH 0/7] Add Stow Ricardo Wurmus
@ 2015-02-21 19:16 ` Ricardo Wurmus
  2015-02-21 19:16 ` [PATCH 2/7] gnu: Add Params::Util Ricardo Wurmus
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Ricardo Wurmus @ 2015-02-21 19:16 UTC (permalink / raw)
  To: guix-devel

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

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 699fe75..cb6fda3 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -274,6 +275,28 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.")
     ;; licenses, any version."
     (license (list bsd-3 gpl3+))))
 
+(define-public perl-sub-install
+  (package
+    (name "perl-sub-install")
+    (version "0.928")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "03zgk1yh128gciyx3q77zxzxg9kf8yy2gm46gdxqi24mcykngrb1"))))
+    (build-system perl-build-system)
+    (home-page "http://search.cpan.org/dist/Sub-Install")
+    (synopsis "Install subroutines into packages easily")
+    (description
+     "Sub::Install makes it easy to install subroutines into packages without
+the unsightly mess of C<no strict> or typeglobs lying about where just anyone
+can see them.")
+    (license (package-license perl))))
+
 (define-public perl-test-deep
   (package
     (name "perl-test-deep")
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/7] gnu: Add Params::Util.
  2015-02-21 19:16 [PATCH 0/7] Add Stow Ricardo Wurmus
  2015-02-21 19:16 ` [PATCH 1/7] gnu: Add Sub::Install Ricardo Wurmus
@ 2015-02-21 19:16 ` Ricardo Wurmus
  2015-02-21 19:16 ` [PATCH 3/7] gnu: Add Capture::Tiny Ricardo Wurmus
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Ricardo Wurmus @ 2015-02-21 19:16 UTC (permalink / raw)
  To: guix-devel

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

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index cb6fda3..2b7ca61 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -230,6 +230,27 @@ import(), @EXPORT and @EXPORT_OK and not a whole lot else.")
                               "Exporter-Lite-" version))
     (license (package-license perl))))
 
+(define-public perl-params-util
+  (package
+    (name "perl-params-util")
+    (version "1.07")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://cpan/authors/id/A/AD/ADAMK/Params-Util-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "0v67sx93yhn7xa0nh9mnbf8mixf54czk6wzrjsp6dzzr5hzyrw9h"))))
+    (build-system perl-build-system)
+    (home-page "http://search.cpan.org/dist/Params-Util")
+    (synopsis "Simple, compact and correct param-checking functions")
+    (description
+     "Params::Util provides a basic set of importable functions that makes
+checking parameters easier.")
+    (license (package-license perl))))
+
 (define-public perl-probe-perl
   (package
     (name "perl-probe-perl")
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/7] gnu: Add Capture::Tiny.
  2015-02-21 19:16 [PATCH 0/7] Add Stow Ricardo Wurmus
  2015-02-21 19:16 ` [PATCH 1/7] gnu: Add Sub::Install Ricardo Wurmus
  2015-02-21 19:16 ` [PATCH 2/7] gnu: Add Params::Util Ricardo Wurmus
@ 2015-02-21 19:16 ` Ricardo Wurmus
  2015-02-21 19:16 ` [PATCH 4/7] gnu: Add Data::OptList Ricardo Wurmus
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Ricardo Wurmus @ 2015-02-21 19:16 UTC (permalink / raw)
  To: guix-devel

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

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 2b7ca61..5e3cdcb 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -209,6 +209,29 @@ but don't want to go all out and profile your code.")
                               "Benchmark-Timer-" version))
     (license gpl2)))
 
+(define-public perl-capture-tiny
+  (package
+    (name "perl-capture-tiny")
+    (version "0.28")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "117gmwipql1y5xnw9jil3lhdsrf2wsm9wjdzqj66x971n3fwm573"))))
+    (build-system perl-build-system)
+    (home-page "http://search.cpan.org/dist/Capture-Tiny")
+    (synopsis "Capture STDOUT and STDERR from Perl, XS or external programs")
+    (description
+     "Capture::Tiny provides a simple, portable way to capture almost anything
+sent to STDOUT or STDERR, regardless of whether it comes from Perl, from XS
+code or from an external program.  Optionally, output can be teed so that it
+is captured while being passed through to the original file handles.")
+    (license asl2.0)))
+
 (define-public perl-exporter-lite
   (package
     (name "perl-exporter-lite")
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 4/7] gnu: Add Data::OptList.
  2015-02-21 19:16 [PATCH 0/7] Add Stow Ricardo Wurmus
                   ` (2 preceding siblings ...)
  2015-02-21 19:16 ` [PATCH 3/7] gnu: Add Capture::Tiny Ricardo Wurmus
@ 2015-02-21 19:16 ` Ricardo Wurmus
  2015-02-21 19:16 ` [PATCH 5/7] gnu: Add Sub::Exporter Ricardo Wurmus
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Ricardo Wurmus @ 2015-02-21 19:16 UTC (permalink / raw)
  To: guix-devel

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

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 5e3cdcb..4d9f86e 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -232,6 +232,30 @@ code or from an external program.  Optionally, output can be teed so that it
 is captured while being passed through to the original file handles.")
     (license asl2.0)))
 
+(define-public perl-data-optlist
+  (package
+    (name "perl-data-optlist")
+    (version "0.109")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "1j44rm2spprlq3bc80cxni3dzs3gfjiqv1qc9q7820n1qj0wgmqw"))))
+    (build-system perl-build-system)
+    (propagated-inputs
+     `(("perl-sub-install" ,perl-sub-install)))
+    (inputs
+     `(("perl-params-util" ,perl-params-util)))
+    (home-page "http://search.cpan.org/dist/Data-OptList")
+    (synopsis "Parse and validate simple name/value option pairs")
+    (description
+     "Data::OptList provides a simple syntax for name/value option pairs.")
+    (license (package-license perl))))
+
 (define-public perl-exporter-lite
   (package
     (name "perl-exporter-lite")
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5/7] gnu: Add Sub::Exporter.
  2015-02-21 19:16 [PATCH 0/7] Add Stow Ricardo Wurmus
                   ` (3 preceding siblings ...)
  2015-02-21 19:16 ` [PATCH 4/7] gnu: Add Data::OptList Ricardo Wurmus
@ 2015-02-21 19:16 ` Ricardo Wurmus
  2015-02-21 19:16 ` [PATCH 6/7] gnu: Add Test::Output Ricardo Wurmus
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Ricardo Wurmus @ 2015-02-21 19:16 UTC (permalink / raw)
  To: guix-devel

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

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 4d9f86e..43bffd8 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -343,6 +343,30 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.")
     ;; licenses, any version."
     (license (list bsd-3 gpl3+))))
 
+(define-public perl-sub-exporter
+  (package
+    (name "perl-sub-exporter")
+    (version "0.987")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "1ml3n1ck4ln9qjm2mcgkczj1jb5n1fkscz9c4x23v4db0glb4g2l"))))
+    (build-system perl-build-system)
+    (propagated-inputs
+     `(("perl-data-optlist" ,perl-data-optlist)
+       ("perl-params-util" ,perl-params-util)))
+    (home-page "http://search.cpan.org/dist/Sub-Exporter")
+    (synopsis "Sophisticated exporter for custom-built routines")
+    (description
+     "Sub::Exporter provides a sophisticated alternative to Exporter.pm for
+custom-built routines.")
+    (license (package-license perl))))
+
 (define-public perl-sub-install
   (package
     (name "perl-sub-install")
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 6/7] gnu: Add Test::Output.
  2015-02-21 19:16 [PATCH 0/7] Add Stow Ricardo Wurmus
                   ` (4 preceding siblings ...)
  2015-02-21 19:16 ` [PATCH 5/7] gnu: Add Sub::Exporter Ricardo Wurmus
@ 2015-02-21 19:16 ` Ricardo Wurmus
  2015-02-21 19:16 ` [PATCH 7/7] gnu: Add Stow Ricardo Wurmus
  2015-02-22  0:06 ` [PATCH 0/7] " Eric Bavier
  7 siblings, 0 replies; 10+ messages in thread
From: Ricardo Wurmus @ 2015-02-21 19:16 UTC (permalink / raw)
  To: guix-devel

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

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 43bffd8..214ab3e 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -480,6 +480,31 @@ bin as is also commonly used) paths of your Perl distribution.")
                               "Test-Simple-" version))
     (license (package-license perl))))
 
+(define-public perl-test-output
+  (package
+    (name "perl-test-output")
+    (version "1.03")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
+                                  "Test-Output-" version ".tar.gz"))
+              (sha256
+               (base32
+                "12991jnzj4cbw9whhprmqvnzd1ayii84g2mh8vxbjngwqrjsy41i"))))
+    (build-system perl-build-system)
+    (propagated-inputs
+     `(("perl-capture-tiny" ,perl-capture-tiny)
+       ("perl-test-tester" ,perl-test-tester)
+       ("perl-sub-exporter" ,perl-sub-exporter)))
+    (synopsis "Utilities to test STDOUT and STDERR messages")
+    (description
+     "Test::Output provides a simple interface for testing output sent to
+STDOUT or STDERR.  A number of different utilities are included to try and be
+as flexible as possible to the tester.")
+    (home-page (string-append "http://search.cpan.org/~bdfoy/"
+                              "Test-Output-" version))
+    (license (package-license perl))))
+
 (define-public perl-test-tester
   (package
     (name "perl-test-tester")
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 7/7] gnu: Add Stow.
  2015-02-21 19:16 [PATCH 0/7] Add Stow Ricardo Wurmus
                   ` (5 preceding siblings ...)
  2015-02-21 19:16 ` [PATCH 6/7] gnu: Add Test::Output Ricardo Wurmus
@ 2015-02-21 19:16 ` Ricardo Wurmus
  2015-02-22  0:06 ` [PATCH 0/7] " Eric Bavier
  7 siblings, 0 replies; 10+ messages in thread
From: Ricardo Wurmus @ 2015-02-21 19:16 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/package-management.scm (stow): New variable.
---
 gnu/packages/package-management.scm | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index acb72f6..97e96c7 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,7 +23,7 @@
   #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
-  #:use-module ((guix licenses) #:select (gpl3+ lgpl2.1+))
+  #:use-module ((guix licenses) #:select (gpl2+ gpl3+ lgpl2.1+))
   #:use-module (gnu packages)
   #:use-module (gnu packages guile)
   #:use-module ((gnu packages compression) #:select (bzip2 gzip))
@@ -210,3 +211,31 @@ never change after they have been built.  Nix stores packages in the Nix
 store, usually the directory /nix/store, where each package has its own unique
 sub-directory.")
     (license lgpl2.1+)))
+
+(define-public stow
+  (package
+    (name "stow")
+    (version "2.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/stow/stow-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0arw1nsdlcvd7javkbk2bdvnc31d7dmb6fr25xyyi6ng76cxg2cb"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("perl" ,perl)))
+    (native-inputs
+     `(("perl-test-simple" ,perl-test-simple)
+       ("perl-test-output" ,perl-test-output)
+       ("perl-capture-tiny" ,perl-capture-tiny)))
+    (home-page "https://www.gnu.org/software/stow/")
+    (synopsis "Managing installed software packages")
+    (description
+     "GNU Stow is a symlink manager.  It generates symlinks to directories
+of data and makes them appear to be merged into the same directory.  It is
+typically used for managing software packages installed from source, by
+letting you install them apart in distinct directories and then create
+symlinks to the files in a common directory such as /usr/local.")
+    (license gpl2+)))
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/7] Add Stow.
  2015-02-21 19:16 [PATCH 0/7] Add Stow Ricardo Wurmus
                   ` (6 preceding siblings ...)
  2015-02-21 19:16 ` [PATCH 7/7] gnu: Add Stow Ricardo Wurmus
@ 2015-02-22  0:06 ` Eric Bavier
  2015-02-22  8:41   ` Ricardo Wurmus
  7 siblings, 1 reply; 10+ messages in thread
From: Eric Bavier @ 2015-02-22  0:06 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

On Sat, 21 Feb 2015 20:16:25 +0100
Ricardo Wurmus <rekado@elephly.net> wrote:

> This patch set adds GNU Stow and its dependencies.
> 
> I'm not sure I did the propagate-inputs thing right, but it seemed
> necessary as otherwise I had to manually propagate inputs to satisfy
> the load requirements of some of the later modules.
> 
> Ricardo Wurmus (7):
>   gnu: Add Sub::Install.
>   gnu: Add Params::Util.
>   gnu: Add Capture::Tiny.
>   gnu: Add Data::OptList.
>   gnu: Add Sub::Exporter.
>   gnu: Add Test::Output.
>   gnu: Add Stow.
> 
>  gnu/packages/package-management.scm |  31 +++++++-
>  gnu/packages/perl.scm               | 140
> ++++++++++++++++++++++++++++++++++++ 2 files changed, 170
> insertions(+), 1 deletion(-)
> 

Thanks for these.  Were you able to use the cpan importer?

The perl module patches look good to me.  Thanks for providing useful
content for the 'description' field.  I know that's not always easy for
perl modules ;)

`~Eric

(Note: First email sent from my GuixSD installation \o/)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/7] Add Stow.
  2015-02-22  0:06 ` [PATCH 0/7] " Eric Bavier
@ 2015-02-22  8:41   ` Ricardo Wurmus
  0 siblings, 0 replies; 10+ messages in thread
From: Ricardo Wurmus @ 2015-02-22  8:41 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel


Eric Bavier writes:
> Thanks for these.  Were you able to use the cpan importer?

I did use the CPAN importer, but ended up removing all of the detected
inputs.  Apparantly it added packages as inputs that are available as
part of the perl-build-system already.  I did use the output of the
importer to check my final package definitions, though.  It also made it
easier to get the homepage and a workable synopsis.

Maybe the inputs that are added by default could be tweaked a bit more.
Other than that I found it very useful.

~~ Ricardo

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-02-22  8:41 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-21 19:16 [PATCH 0/7] Add Stow Ricardo Wurmus
2015-02-21 19:16 ` [PATCH 1/7] gnu: Add Sub::Install Ricardo Wurmus
2015-02-21 19:16 ` [PATCH 2/7] gnu: Add Params::Util Ricardo Wurmus
2015-02-21 19:16 ` [PATCH 3/7] gnu: Add Capture::Tiny Ricardo Wurmus
2015-02-21 19:16 ` [PATCH 4/7] gnu: Add Data::OptList Ricardo Wurmus
2015-02-21 19:16 ` [PATCH 5/7] gnu: Add Sub::Exporter Ricardo Wurmus
2015-02-21 19:16 ` [PATCH 6/7] gnu: Add Test::Output Ricardo Wurmus
2015-02-21 19:16 ` [PATCH 7/7] gnu: Add Stow Ricardo Wurmus
2015-02-22  0:06 ` [PATCH 0/7] " Eric Bavier
2015-02-22  8:41   ` Ricardo Wurmus

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).