guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] gnu: Add perl-tk, perl-x11-protocol, and clusterssh


From: Eric Bavier
Subject: [PATCH] gnu: Add perl-tk, perl-x11-protocol, and clusterssh
Date: Fri, 04 Apr 2014 10:15:22 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)

>From 61b06fceed500729230e87a721d37b5d3af7bc26 Mon Sep 17 00:00:00 2001
From: Eric Bavier <address@hidden>
Date: Fri, 4 Apr 2014 10:12:00 -0500
Subject: [PATCH] gnu: Add perl-tk, perl-x11-protocol, and clusterssh

* gnu/packages/admin.scm (clusterssh): New variable
* gnu/packages/tcl.scm (perl-tk): New variable
* gnu/packages/xorg.scm (perl-x11-protocol): New variable
---
 gnu/packages/admin.scm |   51 +++++++++++++++++++++++++++++++++++++++++++++++-
 gnu/packages/tcl.scm   |   32 ++++++++++++++++++++++++++++++
 gnu/packages/xorg.scm  |   24 +++++++++++++++++++++++
 3 files changed, 106 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 89df1a9..1dcb458 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <address@hidden>
 ;;; Copyright © 2013 Cyril Roelandt <address@hidden>
 ;;; Copyright © 2014 Mark H Weaver <address@hidden>
+;;; Copyright © 2014 Eric Bavier <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -33,6 +34,7 @@
   #:use-module (gnu packages guile)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages tcl)
   #:use-module ((gnu packages base)
                 #:select (tar))
   #:use-module ((gnu packages compression)
@@ -40,7 +42,8 @@
   #:use-module (gnu packages bison)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages glib)
-  #:use-module (gnu packages pkg-config))
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages xorg))
 
 (define-public dmd
   (package
@@ -490,3 +493,49 @@ network statistics collection, security monitoring, 
network debugging, etc.")
 through the host it is running from and displays streams sorted
 by bandwidth they use.")
     (license gpl2+)))
+
+(define-public clusterssh
+  (package
+    (name "clusterssh")
+    (version "3.28")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/clusterssh/"
+                                  "clusterssh-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1bwggpvaj2al5blg1ynapviv2kpydffpzq2zkhi81najnvzc1rr7"))))
+    (build-system gnu-build-system)
+    (inputs `(("perl" ,perl)))
+    (propagated-inputs `(("xterm" ,xterm)
+                         ("perl-tk" ,perl-tk)
+                         ("perl-x11-protocol" ,perl-x11-protocol)))
+    (arguments
+     `(#:phases
+       (alist-cons-after
+        'install 'set-load-paths
+        (lambda* (#:key inputs outputs #:allow-other-keys)
+          ;; Put the perl-tk and perl-x11-protocol modules in the perl inc
+          ;; path for PROG
+          (let* ((out  (assoc-ref outputs "out"))
+                 (prog (string-append out "/bin/cssh"))
+                 (perl-ver ,(package-version perl))
+                 (x11-inc (string-append
+                           (assoc-ref inputs "perl-x11-protocol")
+                           "/lib/perl5/site_perl/" perl-ver))
+                 (tk-inc (string-append
+                          (assoc-ref inputs "perl-tk")
+                          "/lib/perl5/site_perl/" perl-ver
+                          "/x86_64-linux")))
+            (wrap-program
+             prog
+             `("PERL5LIB" ":" prefix (,x11-inc ,tk-inc)))))
+        %standard-phases)))
+    ;; The clusterssh.sourceforge.net address requires login to view
+    (home-page "http://sourceforge.net/projects/clusterssh/";)
+    (synopsis "Secure concurrent multi-server terminal control")
+    (description
+     "ClusterSSH controls a number of xterm windows via a single graphical
+console window to allow commands to be interactively run on multiple servers
+over an ssh connection.")
+    (license gpl2)))
diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm
index 3ebdcbe..9c4ed42 100644
--- a/gnu/packages/tcl.scm
+++ b/gnu/packages/tcl.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Ludovic Courtès <address@hidden>
 ;;; Copyright © 2014 Mark H Weaver <address@hidden>
+;;; Copyright © 2014 Eric Bavier <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,6 +22,11 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system perl)
+  #:use-module (gnu packages libpng)
+  #:use-module (gnu packages libjpeg)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages xorg)
   #:use-module (guix licenses))
 
@@ -159,3 +165,29 @@ X11 GUIs.")
      "Tk is a graphical toolkit for building graphical user interfaces
 (GUIs) in the Tcl language.")
     (license (package-license tcl))))
+
+(define-public perl-tk
+  (package
+    (name "perl-tk")
+    (version "804.032")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "mirror://cpan/authors/id/S/SR/SREZIC/Tk-"
+                   version ".tar.gz"))
+             (sha256
+              (base32
+               "0jarvplhfvnm0shhdm2a5zczlnk9mkf8jvfjiwyhjrr3cy1gl0w0"))))
+    (build-system perl-build-system)
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs `(("libx11" ,libx11)
+              ("libpng" ,libpng)
+              ("libjpeg" ,libjpeg)))
+    (arguments
+     `(#:make-maker-flags `(,(string-append
+                              "X11=" (assoc-ref %build-inputs "libx11")))))
+    (license (package-license perl))
+    (synopsis "Graphical user interface toolkit for Perl")
+    (description
+     "Tk is a Graphical User Interface ToolKit.")
+    (home-page (string-append "http://search.cpan.org/~srezic/Tk-"; version))))
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 2e1eeda..a06f9be 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Andreas Enge <address@hidden>
 ;;; Copyright © 2014 Mark H Weaver <address@hidden>
+;;; Copyright © 2014 Eric Bavier <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,6 +24,7 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system perl)
   #:use-module (gnu packages)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages compression)
@@ -4768,3 +4770,25 @@ icccm: Both client and window-manager helpers for 
ICCCM.")
 provides DEC VT102/VT220 (VTxxx) and Tektronix 4014 compatible terminals for
 programs that cannot use the window system directly.")
     (license license:x11)))
+
+(define-public perl-x11-protocol
+  (package
+    (name "perl-x11-protocol")
+    (version "0.56")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "mirror://cpan/authors/id/S/SM/SMCCAM/X11-Protocol-"
+                   version ".tar.gz"))
+             (sha256
+              (base32
+               "1dq89bh6fqv7l5mbffqcismcljpq5f869bx7g8lg698zgindv5ny"))))
+    (build-system perl-build-system)
+    (arguments '(#:tests? #f))          ;tests require a running x server
+    (synopsis "Raw interface to X Window System servers")
+    (description
+     "X11::Protocol is a client-side interface to the X11 Protocol, allowing
+perl programs to display windows and graphics on X11 servers.")
+    (home-page
+     (string-append "http://search.cpan.org/~smccam/X11-Protocol-"; version))
+    (license (package-license perl))))
-- 
1.7.9.5

-- 
`~Eric

reply via email to

[Prev in Thread] Current Thread [Next in Thread]