diff options
Diffstat (limited to 'gnu/packages/terminals.scm')
-rw-r--r-- | gnu/packages/terminals.scm | 72 |
1 files changed, 62 insertions, 10 deletions
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index b3979d8a41..536a48986f 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Mckinley Olsen <mck.olsen@gmail.com> ;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 David Craven <david@craven.ch> @@ -44,6 +44,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) #:use-module (gnu packages docbook) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) @@ -60,6 +61,8 @@ #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages popt) + #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -338,7 +341,7 @@ combining, and so on, with a simple interface.") (define-public picocom (package (name "picocom") - (version "2.2") + (version "3.1") (source (origin (method git-fetch) (uri (git-reference @@ -347,15 +350,16 @@ combining, and so on, with a simple interface.") (file-name (git-file-name name version)) (sha256 (base32 - "06b2ic34dnxc73cprc5imi3iamlhsv623sbg9vj5h5rvs586dwjx")))) + "1vvjydqf0ax47nvdyyl67jafw5b3sfsav00xid6qpgia1gs2r72n")))) (build-system gnu-build-system) (arguments `(#:make-flags '("CC=gcc") - #:tests? #f ; No tests + #:tests? #f ; no tests #:phases (modify-phases %standard-phases - (delete 'configure) + (delete 'configure) ; no configure script (replace 'install + ;; The Makefile lacks an ‘install’ target. (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) @@ -363,11 +367,12 @@ combining, and so on, with a simple interface.") (install-file "picocom" bin) (install-file "picocom.1" man))))))) (home-page "https://github.com/npat-efault/picocom") - (synopsis "Minimal dumb-terminal emulation program") - (description "It was designed to serve as a simple, manual, modem -configuration, testing, and debugging tool. It has also serves well -as a low-tech serial communications program to allow access to all -types of devices that provide serial consoles.") + (synopsis "Minimal dumb-terminal emulator") + (description + "Picocom is a minimal dumb-terminal emulation program. It was designed to +serve as a simple and manual modem configuration, testing, and debugging tool. +It also serves well as a low-tech serial communications program to allow access +to all types of devices that provide serial consoles.") (license license:gpl2+))) (define-public beep @@ -1015,3 +1020,50 @@ arbitrary programs of your choice. This is useful for browsing the history comfortably in a pager or editor. @end itemize") (license license:gpl3+))) + +(define-public eternalterminal + (package + (name "eternalterminal") + (version "5.1.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/MisterTea/EternalTerminal.git") + (commit (string-append "et-v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07ynkcnk3z6wafdlnzdxcd308cw1rzabxyq47ybj79lyji3wsgk7")))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags '("-DBUILD_TEST=ON") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'insert-googletests + (lambda* (#:key inputs #:allow-other-keys) + (let ((tests (assoc-ref inputs "googletest"))) + (invoke "tar" "xvf" tests "-C" "external/googletest" + "--strip-components=1")))) + (add-after 'install 'dont-provide-gtest-libraries + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (delete-file-recursively (string-append out "/include")) + (delete-file-recursively (string-append out "/lib"))) + #t))))) + (inputs + `(("gflags" ,gflags) + ("libsodium" ,libsodium) + ("protobuf" ,protobuf))) + (native-inputs + `(("googletest" ,(package-source googletest)))) + (home-page "https://mistertea.github.io/EternalTerminal/") + (synopsis "Remote shell that reconnects without interrupting the session") + (description "@dfn{Eternal Terminal} (ET) is a remote shell that +automatically reconnects without interrupting the session. ET uses SSH to +initialize a secure connection. Unlike SSH sessions, which must be killed and +reconnected after a network outage an ET session will survive network outages +and IP roaming. ET provides the same core functionality as @command{mosh}, +while also supporting native scrolling and @command{tmux} control mode +(@code{tmux -CC}).") + (license license:asl2.0))) |