summary refs log tree commit diff
path: root/gnu/packages/admin.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/admin.scm')
-rw-r--r--gnu/packages/admin.scm54
1 files changed, 50 insertions, 4 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 99f4d7aded..c3b1e04901 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -913,6 +913,51 @@ by bandwidth they use.")
                (base32
                 "0rmk2p3f2wz1h092anidjclh212rv3gxyk0c641qk3frlrjnw6mp"))))
     (build-system perl-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'refer-to-inputs
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* (list "lib/App/ClusterSSH/Config.pm"
+                                "t/15config.t")
+               (("xterm")
+                (which "xterm")))
+             #t))
+         (add-before 'check 'delete-failing-tests
+           (lambda _
+             ;; This checks whether all code is nicely formatted.  The above
+             ;; ‘refer-to-inputs’ phase breaks this pedantry, so disable it.
+             (delete-file "t/perltidy.t")
+             ;; Update the manifest so t/manifest.t happily passes.
+             (substitute* "MANIFEST"
+               (("t/perltidy.t\n") ""))
+             #t))
+         (add-after 'install 'augment-library-path
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin")))
+               (with-directory-excursion bin
+                 (for-each
+                  (lambda (program)
+                    (wrap-program program
+                      `("PERL5LIB" ":" prefix
+                        ,(map (lambda (file-name)
+                                (string-append file-name
+                                               "/lib/perl5/site_perl"))
+                              (cons out
+                                    (map (lambda (input)
+                                           (assoc-ref inputs input))
+                                         ;; These may be propagated and hence
+                                         ;; not explicitly listed as inputs.
+                                         (list "perl-class-data-inheritable"
+                                               "perl-devel-stacktrace"
+                                               "perl-exception-class"
+                                               "perl-tk"
+                                               "perl-try-tiny"
+                                               "perl-x11-protocol"
+                                               "perl-x11-protocol-other")))))))
+                  (find-files "." ".*")))
+               #t))))))
     (native-inputs
      `(("perl-cpan-changes" ,perl-cpan-changes)
        ("perl-file-slurp" ,perl-file-slurp)
@@ -926,13 +971,14 @@ by bandwidth they use.")
        ("perl-test-pod-coverage" ,perl-test-pod-coverage)
        ("perl-test-trap" ,perl-test-trap)
        ("perltidy" ,perltidy)))
-    (propagated-inputs
-     `(("xterm" ,xterm)
-       ("perl-exception-class" ,perl-exception-class)
+    (inputs
+     `(("perl-exception-class" ,perl-exception-class)
+       ("perl-sort-naturally" ,perl-sort-naturally)
        ("perl-tk" ,perl-tk)
        ("perl-try-tiny" ,perl-try-tiny)
        ("perl-x11-protocol" ,perl-x11-protocol)
-       ("perl-x11-protocol-other" ,perl-x11-protocol-other)))
+       ("perl-x11-protocol-other" ,perl-x11-protocol-other)
+       ("xterm" ,xterm)))
     ;; The clusterssh.sourceforge.net address requires login to view
     (home-page "https://sourceforge.net/projects/clusterssh/")
     (synopsis "Secure concurrent multi-server terminal control")