From 61b06fceed500729230e87a721d37b5d3af7bc26 Mon Sep 17 00:00:00 2001 From: Eric Bavier 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 ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2014 Eric Bavier ;;; ;;; 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 ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2014 Eric Bavier ;;; ;;; 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 ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2014 Eric Bavier ;;; ;;; 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