From 87bf526b96fa5470a49ab131d61b84e2543c651c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 11 Apr 2014 22:05:33 +0200 Subject: [PATCH] gnu: Add Mosh. * gnu/packages/ssh.scm (mosh): New variable. --- gnu/packages/ssh.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index a952890b29..7d95ff0579 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -29,6 +29,10 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages autotools) #:use-module (gnu packages texinfo) + #:use-module (gnu packages perl) + #:use-module (gnu packages ncurses) + #:autoload (gnu packages protobuf) (protobuf) + #:autoload (gnu packages boost) (boost) #:use-module (gnu packages which) #:use-module (gnu packages) #:use-module (guix packages) @@ -302,3 +306,45 @@ At the moment only plain text authentication is supported, should you require to use it with your HTTP proxy. Digest based authentication may be supported in future and NTLM based authentication is most likey never be supported.") (license license:gpl2+))) + +(define-public mosh + (package + (name "mosh") + (version "1.2.4") + (source (origin + (method url-fetch) + (uri (string-append "http://mosh.mit.edu/mosh-" + version ".tar.gz")) + (sha256 + (base32 + "0inzfmqrab3n97m7rrmhd4xh3hjz0xva2sfl5m06w11668r0skg7")))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-cons-after + 'install 'wrap + (lambda* (#:key outputs #:allow-other-keys) + ;; Make sure 'mosh' can find 'mosh-client' and + ;; 'mosh-server'. + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (wrap-program (string-append bin "/mosh") + `("PATH" ":" prefix (,bin))))) + %standard-phases))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("openssl" ,openssl) + ("perl" ,perl) + ("perl-io-tty" ,perl-io-tty) + ("zlib" ,zlib) + ("ncurses" ,ncurses) + ("protobuf" ,protobuf) + ("boost-headers" ,boost))) + (home-page "http://mosh.mit.edu/") + (synopsis "Remote shell tolerant to intermittent connectivity") + (description + "Remote terminal application that allows roaming, supports intermittent +connectivity, and provides intelligent local echo and line editing of user +keystrokes. Mosh is a replacement for SSH. It's more robust and responsive, +especially over Wi-Fi, cellular, and long-distance links.") + (license license:gpl3+)))