Subject: [PATCH] gnu: Add perl-pathtools.

From: Roel Janssen <[email-masked]>
Date: Tue, 03 Apr 2018 15:09:17 +0200

Dear Guix,

The attached patch would add perl-pathtools.  This package searches for
the “pwd” program in specific paths (ignoring the PATH environment
variable).  Because “pwd” is part of “coreutils”, it has a funny
dependency.

In the path I substitute the entry for “/bin/pwd” to the store path of
coreutils's “pwd”.

Is this the right way of packaging perl-pathtools?

Kind regards,
Roel Janssen

>From a9adb8d30747afb47284baaca898261a012a1d03 Mon Sep 17 00:00:00 2001
From: Roel Janssen <[email-masked]>
Date: Tue, 3 Apr 2018 15:00:15 +0200
Subject: [PATCH] gnu: Add perl-pathtools.

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

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 78c15f333..c99568a0d 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -6655,7 +6655,36 @@ directory specifications in a cross-platform manner.")
 with file paths.")
     (license asl2.0)))
 
+(define-public perl-pathtools
+  (package
+    (name "perl-pathtools")
+    (version "3.74")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-"
+             version ".tar.gz"))
+       (sha256
+        (base32 "04bfjdvn5p78hirljcinpxv8djcjn8nyg5gcmnmvz8sr9k2lqwi5"))))
+    (build-system perl-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-pwd-path
+           (lambda* (#:key inputs  #:allow-other-keys)
+             (substitute* "Cwd.pm"
+               (("'/bin/pwd'")
+                (string-append "'" (assoc-ref inputs "coreutils")
+                               "/bin/pwd'"))))))))
+    (inputs
+     `(("coreutils" ,coreutils)))
+    (home-page "http://search.cpan.org/dist/PathTools/")
+    (synopsis "Tools for working with directory and file names")
+    (description "This package provides functions to work with directory and
+file names.")
+    (license (package-license perl))))
+
 (define-public perl-perlio-utf8_strict
   (package
     (name "perl-perlio-utf8-strict")
-- 
2.16.3