Subject: [bug#65937] [PATCH] gnu: Add tty-share.

From: "B. Wilson" <[email-masked]>
Date: Thu, 14 Sep 2023 14:59:09 +0900

* gnu/packages/tty-share.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk               |  1 +
 gnu/packages/tty-share.scm | 59 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+)
 create mode 100644 gnu/packages/tty-share.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 924d497057..75e59e309f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -622,6 +622,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/toolkits.scm			\
   %D%/packages/tor.scm				\
   %D%/packages/tree-sitter.scm			\
+  %D%/packages/tty-share.scm			\
   %D%/packages/tv.scm				\
   %D%/packages/uglifyjs.scm			\
   %D%/packages/uml.scm				\
diff --git a/gnu/packages/tty-share.scm b/gnu/packages/tty-share.scm
new file mode 100644
index 0000000000..54dfc97f0f
--- /dev/null
+++ b/gnu/packages/tty-share.scm
@@ -0,0 +1,59 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2023 B. Wilson <[email-masked]>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages tty-share)
+  #:use-module (guix build-system go)
+  #:use-module (guix build-system node)
+  #:use-module (guix gexp)
+  #:use-module (guix git-download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages))
+
+(define-public tty-share
+  (let ((version "2.4.0")
+        (revision "1")
+        (commit "3801cfbdd78246841d1b2abced99b42a0ff1e020"))
+    (package
+      (name "tty-share")
+      (version (git-version version revision commit))
+      (source
+        (origin
+          (method git-fetch)
+          (uri (git-reference
+            (url "https://github.com/elisescu/tty-share.git")
+            (commit commit)))
+          (sha256
+            (base32 "0vp2gax9vmv8y0y59ya5r8z6xn6rg82203sg0706k8p2p5bhpqka"))
+          (file-name (git-file-name name version))))
+      (build-system go-build-system)
+      (arguments
+        (list
+          #:import-path "github.com/elisescu/tty-share"
+          #:install-source? #f  ; Package is an end-user application
+          #:tests? #f))         ; Upstream has no tests
+      (home-page "https://tty-share.com/")
+      (synopsis "Collaborative terminal sessions")
+      (description "@code{tty-share} is a very simple tool used to share your
+Linux/OSX terminal over the Internet.  The remote participant needs zero setup
+and can join from either a browser or local terminal.   The session can be
+shared either over the Internet, or only in the local network.  When sharing it
+over the Internet (outside your NAT), @code{tty-share} will connect to proxy
+server that will mediate the communication between the participants.  An
+instance of this server runs at @url{tty-share.com}, but you can run your own
+as well.")
+      (license license:expat))))
-- 
2.41.0