Subject: [PATCH] gnu: Add countdown.
From: Ryan Prior <[email-masked]>
To: [email-masked]
Date: Mon, 15 Mar 2021 00:41:04 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/time.scm (countdown): New variable.

Also adds copyright, adds necessary module dependencies, and sorts them alphabetically.
---
 gnu/packages/time.scm | 48 +++++++++++++++++++++++++++++++++++--------
 1 file changed, 40 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm
index 73e7f04834..20ce76d8d0 100644
--- a/gnu/packages/time.scm
+++ b/gnu/packages/time.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2019 Pierre Langlois <[email-masked]>
 ;;; Copyright © 2020 Lars-Dominik Braun <[email-masked]>
 ;;; Copyright © 2020 Tanguy Le Carrour <[email-masked]>
+;;; Copyright © 2021 Ryan Prior <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,18 +36,22 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

 (define-module (gnu packages time)
-  #:use-module (guix licenses)
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix git-download)
-  #:use-module (guix build-system gnu)
-  #:use-module (guix build-system python)
-  #:use-module (gnu packages)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages golang)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages python-xyz))
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages terminals)
+  #:use-module (gnu packages textutils)
+  #:use-module (gnu packages)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system go)
+  #:use-module (guix build-system python)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix licenses)
+  #:use-module (guix packages))

 (define-public time
   (package
@@ -510,3 +515,30 @@ datetime type.")
 modifies the @code{time}, @code{gettimeofday} and @code{clock_gettime} system
 calls.")
     (license gpl2)))
+
+(define-public countdown
+  (package
+    (name "countdown")
+    (version "1.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/antonmedv/countdown")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0pdaw1krr0bsl4amhwx03v2b02iznvwvqn7af5zp4fkzjaj14cdw"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/antonmedv/countdown"))
+    (native-inputs
+     `(("runewidth" ,go-github.com-mattn-go-runewidth)
+       ("termbox" ,go-github.com-nsf-termbox-go)))
+    (home-page "https://github.com/antonmedv/countdown")
+    (synopsis "Counts to zero with a text user interface")
+    (description
+     "Countdown provides a fancy text display while it counts down to zero
+from a starting point you provide.  The user can pause and resume the
+countdown from the text user interface.")
+    (license expat)))
--
2.30.2