gnu: gf2x: Update to 1.3.0.
[jackhill/guix/guix.git] / gnu / packages / time.scm
CommitLineData
233e7676
LC
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
b1821214 3;;; Copyright © 2013, 2017, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
33dc54b0 4;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
08d81afa 5;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
33dc54b0
RW
6;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
7;;; Copyright © 2015, 2017 Cyril Roelandt <tipecaml@gmail.com>
8;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
9;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
10;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
463e9835 11;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
626bc647 12;;; Copyright © 2016, 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
5d20e1ec 13;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
3c986a7d 14;;; Copyright © 2017 Nikita <nikita@n0.is>
33dc54b0 15;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
f8460d26 16;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
3ef29c00 17;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
0d5b7ea1 18;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
0ab3a8c2 19;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
e86ed845 20;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
efe7a174 21;;; Copyright © 2021 Ryan Prior <rprior@protonmail.com>
f4fc8546 22;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
ce9363dd 23;;; Copyright © 2022 Pradana AUMARS <paumars@courrier.dev>
b147f59f 24;;;
233e7676 25;;; This file is part of GNU Guix.
b147f59f 26;;;
233e7676 27;;; GNU Guix is free software; you can redistribute it and/or modify it
b147f59f
NK
28;;; under the terms of the GNU General Public License as published by
29;;; the Free Software Foundation; either version 3 of the License, or (at
30;;; your option) any later version.
31;;;
233e7676 32;;; GNU Guix is distributed in the hope that it will be useful, but
b147f59f
NK
33;;; WITHOUT ANY WARRANTY; without even the implied warranty of
34;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
35;;; GNU General Public License for more details.
36;;;
37;;; You should have received a copy of the GNU General Public License
233e7676 38;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
b147f59f 39
1ffa7090 40(define-module (gnu packages time)
ac257f12 41 #:use-module (gnu packages check)
33dc54b0 42 #:use-module (gnu packages compression)
efe7a174 43 #:use-module (gnu packages golang)
3ef29c00 44 #:use-module (gnu packages perl)
44d10b1f 45 #:use-module (gnu packages python)
ed210c1b 46 #:use-module (gnu packages python-build)
efe7a174
RPG
47 #:use-module (gnu packages python-xyz)
48 #:use-module (gnu packages terminals)
49 #:use-module (gnu packages textutils)
50 #:use-module (gnu packages)
51 #:use-module (guix build-system gnu)
52 #:use-module (guix build-system go)
53 #:use-module (guix build-system python)
54 #:use-module (guix download)
55 #:use-module (guix git-download)
56 #:use-module (guix licenses)
57 #:use-module (guix packages))
b147f59f
NK
58
59(define-public time
60 (package
61 (name "time")
64f925cb 62 (version "1.9")
b147f59f
NK
63 (source
64 (origin
65 (method url-fetch)
66 (uri (string-append "mirror://gnu/time/time-"
67 version ".tar.gz"))
68 (sha256
69 (base32
64f925cb 70 "07jj7cz6lc13iqrpgn81ivqh8rkm73p4rnivwgrrshk23v4g1b7v"))))
b147f59f 71 (build-system gnu-build-system)
6fd52309 72 (home-page "https://www.gnu.org/software/time/")
f50d2669 73 (synopsis "Run a command, then display its resource usage")
b147f59f 74 (description
a22dc0c4
LC
75 "Time is a command that displays information about the resources that a
76program uses. The display output of the program can be customized or saved
77to a file.")
c8b38f8e 78 (license gpl3+)))
5d20e1ec 79
0d5b7ea1
PL
80(define-public python-pytimeparse
81 (package
82 (name "python-pytimeparse")
83 (version "1.1.8")
84 (source
85 (origin
86 (method url-fetch)
87 (uri (pypi-uri "pytimeparse" version))
88 (sha256
89 (base32
90 "02kaambsgpjx3zi42j6l11rwms2p35b9hsk4f3kdf979gd3kcqg8"))))
91 (native-inputs
8394619b 92 (list python-nose))
0d5b7ea1
PL
93 (build-system python-build-system)
94 (home-page "https://github.com/wroberts/pytimeparse")
95 (synopsis "Time expression parser")
96 (description "This small Python module parses various kinds of time
97expressions.")
98 (license expat)))
99
5d20e1ec
BW
100(define-public python-pytzdata
101 (package
102 (name "python-pytzdata")
b05edb8c 103 (version "2020.1")
5d20e1ec
BW
104 (source
105 (origin
106 (method url-fetch)
107 (uri (pypi-uri "pytzdata" version))
108 (sha256
109 (base32
b05edb8c 110 "0h0md0ldhb8ghlwjslkzh3wcj4fxg3n43bj5sghqs2m06nri7yiy"))))
5d20e1ec 111 (build-system python-build-system)
463e9835
MB
112 ;; XXX: The PyPI distribution contains no tests, and the upstream
113 ;; repository lacks a setup.py! How to build from git?
114 (arguments '(#:tests? #f))
115 (propagated-inputs
8394619b 116 (list python-cleo))
5d20e1ec
BW
117 (home-page "https://github.com/sdispater/pytzdata")
118 (synopsis "Timezone database for Python")
119 (description
120 "This library provides a timezone database for Python.")
121 (license expat)))
122
33dc54b0
RW
123(define-public python-pytz
124 (package
125 (name "python-pytz")
e8337f1e 126 ;; This package should be kept in sync with tzdata in (gnu packages base).
466e12c1 127 (version "2022.1")
33dc54b0
RW
128 (source
129 (origin
130 (method url-fetch)
4c97f959 131 (uri (pypi-uri "pytz" version))
33dc54b0
RW
132 (sha256
133 (base32
466e12c1 134 "19ya5sh7if819flgmszz585glailhi7rr8frng03n5m8wqphwxhy"))))
33dc54b0 135 (build-system python-build-system)
33dc54b0
RW
136 (home-page "http://pythonhosted.org/pytz")
137 (synopsis "Python timezone library")
138 (description "This library brings the Olson tz database into Python. It
139allows accurate and cross platform timezone calculations using Python 2.4 or
140higher. It also solves the issue of ambiguous times at the end of daylight
141saving time. Almost all of the Olson timezones are supported.")
142 (license expat)))
143
89c3eaaa
BW
144(define-public python-pendulum
145 (package
146 (name "python-pendulum")
5e7fa528 147 (version "2.1.2")
89c3eaaa
BW
148 (source
149 (origin
150 (method url-fetch)
151 (uri (pypi-uri "pendulum" version))
152 (sha256
5e7fa528 153 (base32 "01zjc245w08j0xryrgrq9vng59q1cl5ry0hcpw5rj774pyhhqsmh"))))
89c3eaaa 154 (build-system python-build-system)
e5023bfd
MB
155 ;; XXX: The PyPI distribution lacks tests, and the upstream repository
156 ;; lacks a setup.py!
f4fc8546
FCW
157 (arguments
158 `(#:phases
159 (modify-phases %standard-phases
160 ;; Add setup.py to fix the build. Otherwise, the build will fail with
161 ;; "no setup.py found".
162 ;;
163 ;; Upstream uses Poetry to build python-pendulum, including parts
164 ;; written in C. Here, we simply add a setup.py file and do not build
165 ;; the parts written in C. This is possible because python-pendulum
166 ;; falls back on pure Python code when the C parts are not available
167 ;; (reference: build.py).
168 (add-after 'unpack 'add-setup.py
169 (lambda _
170 (call-with-output-file "setup.py"
171 (lambda (port)
172 (format port
173 "from setuptools import find_packages, setup
174setup(name='pendulum',
175 version='~a',
176 packages=find_packages())
177"
178 ,version))))))
179 ;; XXX: The PyPI distribution lacks tests.
180 #:tests? #f))
89c3eaaa 181 (propagated-inputs
8394619b 182 (list python-dateutil python-pytzdata))
89c3eaaa
BW
183 (home-page "https://github.com/sdispater/pendulum")
184 (synopsis "Alternate API for Python datetimes")
185 (description "Pendulum is a drop-in replacement for the standard
186@{datetime} class, providing an alternative API. As it inherits from the
187standard @code{datetime} all @code{datetime} instances can be replaced by
188Pendulum instances.")
189 (license expat)))
190
33dc54b0
RW
191(define-public python-dateutil
192 (package
193 (name "python-dateutil")
33c7e183 194 (version "2.8.2")
33dc54b0
RW
195 (source
196 (origin
197 (method url-fetch)
198 (uri (pypi-uri "python-dateutil" version))
199 (sha256
200 (base32
33c7e183 201 "11iy7m4bp2lgfkcl0r6xzf34bvk7ppjmsyn2ygfikbi72v6cl8q1"))))
33dc54b0 202 (build-system python-build-system)
de92ab21
MB
203 (arguments
204 `(#:phases (modify-phases %standard-phases
205 (replace 'check
206 (lambda _
207 ;; Delete tests that depend on "freezegun" to avoid a
208 ;; circular dependency.
209 (delete-file "dateutil/test/test_utils.py")
210 (delete-file "dateutil/test/test_rrule.py")
211
212 ;; XXX: Fails to get timezone from /etc/localtime.
213 (delete-file "dateutil/test/test_tz.py")
214
215 (invoke "pytest" "-vv"))))))
e30fc546 216 (native-inputs
8394619b 217 (list python-pytest python-pytest-cov python-setuptools-scm))
33dc54b0 218 (propagated-inputs
8394619b 219 (list python-six))
33dc54b0
RW
220 (home-page "https://dateutil.readthedocs.io/en/stable/")
221 (synopsis "Extensions to the standard datetime module")
222 (description
223 "The dateutil module provides powerful extensions to the standard
224datetime module, available in Python 2.3+.")
e30fc546
MB
225 ;; The license was changed from the three-clause BSD license to a dual
226 ;; Apache 2.0/BSD-3 variant at 2017-12-01. Some code is only available as
227 ;; BSD-3 still; but all new code is dual licensed (the user can choose).
228 (license (list bsd-3 asl2.0))))
33dc54b0 229
33dc54b0
RW
230(define-public python-parsedatetime
231 (package
232 (name "python-parsedatetime")
ce9363dd 233 (version "2.6")
33dc54b0
RW
234 (source
235 (origin
236 (method url-fetch)
237 (uri (pypi-uri "parsedatetime" version))
238 (sha256
239 (base32
ce9363dd 240 "0mfl0ixshqkwx7z5siaib7ix5j2iahb1jqfpyhqp42wan7xnicsc"))))
33dc54b0
RW
241 (build-system python-build-system)
242 (native-inputs
8394619b 243 (list python-nose python-pyicu python-pytest python-pytest-runner))
33dc54b0 244 (propagated-inputs
8394619b 245 (list python-future))
33dc54b0
RW
246 (home-page "https://github.com/bear/parsedatetime/")
247 (synopsis "Parse human-readable date/time text")
248 (description
249 "Parse human-readable date/time text.")
250 (license asl2.0)))
251
0ab3a8c2
LDB
252(define-public python-ciso8601
253 (package
254 (name "python-ciso8601")
255 (version "2.1.3")
256 (source
257 (origin
258 (method git-fetch)
259 ;; The PyPi distribution doesn't include the tests.
260 (uri (git-reference
b0e7b699 261 (url "https://github.com/closeio/ciso8601")
0ab3a8c2
LDB
262 (commit (string-append "v" version))))
263 (file-name (git-file-name name version))
264 (sha256
265 (base32
266 "0g1aiyc1ayh0rnibyy416m5mmck38ksgdm3jsy0z3rxgmgb24951"))))
267 (build-system python-build-system)
268 ;; Pytz should only be required for Python 2, but the test suite fails
269 ;; without it.
270 (native-inputs
8394619b 271 (list python-pytz))
0ab3a8c2
LDB
272 (home-page "https://github.com/closeio/ciso8601")
273 (synopsis
274 "Fast ISO8601 date time parser")
275 (description
276 "The package ciso8601 converts ISO 8601 or RFC 3339 date time strings into
277Python datetime objects.")
278 (license expat)))
279
33dc54b0
RW
280(define-public python-tzlocal
281 (package
282 (name "python-tzlocal")
8af48c14 283 (version "2.1")
33dc54b0
RW
284 (source
285 (origin
286 (method url-fetch)
287 (uri (pypi-uri "tzlocal" version))
288 (sha256
289 (base32
8af48c14 290 "0i1fm4sl04y65qnaqki0w75j34w863gxjj8ag0vwgvaa572rfg34"))))
33dc54b0 291 (build-system python-build-system)
d1e75921
EF
292 (arguments
293 `(#:phases
294 (modify-phases %standard-phases
295 (add-before 'check 'fix-symlink-test
296 ;; see: https://github.com/regebro/tzlocal/issues/53
297 (lambda _
8af48c14 298 (delete-file "tests/test_data/symlink_localtime/etc/localtime")
d1e75921 299 (symlink "../usr/share/zoneinfo/Africa/Harare"
8af48c14
EF
300 "tests/test_data/symlink_localtime/etc/localtime")
301 ;; And skip the test_fail test, it is known to fail
302 (substitute* "tests/tests.py"
303 (("def test_fail") "def _test_fail"))
d1e75921 304 #t)))))
33dc54b0 305 (propagated-inputs
8394619b 306 (list python-pytz))
d1e75921 307 (native-inputs
8394619b 308 (list python-mock))
33dc54b0
RW
309 (home-page "https://github.com/regebro/tzlocal")
310 (synopsis "Local timezone information for Python")
311 (description
312 "Tzlocal returns a tzinfo object with the local timezone information.
313This module attempts to fix a glaring hole in pytz, that there is no way to
314get the local timezone information, unless you know the zoneinfo name, and
315under several distributions that's hard or impossible to figure out.")
d1e75921 316 (license expat)))
33dc54b0
RW
317
318(define-public python-isodate
319 (package
320 (name "python-isodate")
e4be1faa 321 (version "0.6.0")
33dc54b0
RW
322 (source
323 (origin
324 (method url-fetch)
325 (uri (pypi-uri "isodate" version))
326 (sha256
327 (base32
e4be1faa 328 "1n7jkz68kk5pwni540pr5zdh99bf6ywydk1p5pdrqisrawylldif"))))
33dc54b0 329 (build-system python-build-system)
e4be1faa 330 (native-inputs
8394619b 331 (list python-six))
e4be1faa 332 (home-page "https://github.com/gweis/isodate/")
33dc54b0
RW
333 (synopsis "Python date parser and formatter")
334 (description
335 "Python-isodate is a python module for parsing and formatting
336ISO 8601 dates, time and duration.")
337 (license bsd-3)))
338
33dc54b0
RW
339(define-public python-iso8601
340 (package
341 (name "python-iso8601")
cc8d4fa5 342 (version "1.0.2")
33dc54b0
RW
343 (source
344 (origin
345 (method url-fetch)
346 (uri (pypi-uri "iso8601" version))
347 (sha256
348 (base32
cc8d4fa5 349 "1ccl6plks706hxm35cn1wsvxhqh3bfwi5cjgjpdxjib81qi07x97"))))
33dc54b0 350 (build-system python-build-system)
5f321292
MB
351 (arguments
352 '(#:phases (modify-phases %standard-phases
353 (replace 'check
354 (lambda _
355 (invoke "pytest" "-vv" "iso8601"))))))
33dc54b0 356 (native-inputs
cc8d4fa5
MB
357 (list python-pytest python-pytz))
358 (home-page "https://github.com/micktwomey/pyiso8601")
33dc54b0
RW
359 (synopsis "Module to parse ISO 8601 dates")
360 (description
361 "This module parses the most common forms of ISO 8601 date strings (e.g.
362@code{2007-01-14T20:34:22+00:00}) into @code{datetime} objects.")
363 (license expat)))
364
33dc54b0
RW
365(define-public python-monotonic
366 (package
367 (name "python-monotonic")
33fdde8d 368 (version "1.5")
33dc54b0
RW
369 (source
370 (origin
371 (method url-fetch)
db3e631d 372 (uri (pypi-uri "monotonic" version))
33dc54b0
RW
373 (sha256
374 (base32
33fdde8d 375 "1c6z46yb600klbfhqadyl7vq0jdjdxkm72k43ra3iw3d0xakv593"))))
33dc54b0 376 (build-system python-build-system)
33fdde8d 377 (arguments '(#:tests? #f)) ; no tests
33dc54b0
RW
378 (home-page "https://github.com/atdt/monotonic")
379 (synopsis "Implementation of time.monotonic() for Python 2 & < 3.3")
380 (description
381 "This module provides a @code{monotonic()} function which returns the
382value (in fractional seconds) of a clock which never goes backwards.")
383 (license asl2.0)))
384
33dc54b0
RW
385(define-public python-pyrfc3339
386 (package
387 (name "python-pyrfc3339")
0ce92d74 388 (version "1.1")
33dc54b0
RW
389 (source
390 (origin
391 (method url-fetch)
392 (uri (pypi-uri "pyRFC3339" version))
393 (sha256
394 (base32
0ce92d74 395 "06jv7ar7lpvvk0dixzwdr3wgm0g1lipxs429s2z7knwwa7hwpf41"))))
33dc54b0
RW
396 (build-system python-build-system)
397 (propagated-inputs
8394619b 398 (list python-pytz))
33dc54b0 399 (native-inputs
8394619b 400 (list python-nose))
33dc54b0
RW
401 (home-page "https://github.com/kurtraschke/pyRFC3339")
402 (synopsis "Python timestamp library")
403 (description "Python library for generating and parsing RFC 3339-compliant
404timestamps.")
405 (license expat)))
406
33dc54b0
RW
407(define-public python-arrow
408 (package
409 (name "python-arrow")
7ad7b078 410 (version "1.1.1")
33dc54b0
RW
411 (source (origin
412 (method url-fetch)
413 (uri (pypi-uri "arrow" version))
414 (sha256
415 (base32
7ad7b078 416 "0fl24gv7jc6b9pqxwlcgrf465i8v8h0y7dcm018yrqv0dhpn1ryy"))))
33dc54b0 417 (build-system python-build-system)
e86ed845
TLC
418 (arguments
419 `(#:phases
420 (modify-phases %standard-phases
421 (replace 'check
b1821214
LC
422 (lambda* (#:key tests? #:allow-other-keys)
423 (when tests?
424 (invoke "pytest" "-vv" "tests"
425 ;; python-dateutil doesn't recognize America/Nuuk.
426 ;; Remove when python-dateutil > 2.8.1.
427 "-k" "not test_parse_tz_name_zzz")))))))
33dc54b0 428 (native-inputs
8394619b
LC
429 (list ;; For testing
430 python-chai
431 python-pytest
432 python-pytest-cov
433 python-pytest-mock
434 python-pytz
435 python-simplejson))
33dc54b0 436 (propagated-inputs
8394619b 437 (list python-dateutil))
e86ed845 438 (home-page "https://github.com/arrow-py/arrow")
33dc54b0
RW
439 (synopsis "Dates and times for Python")
440 (description
441 "Arrow is a Python library to creating, manipulating, formatting and
442converting dates, times, and timestamps. It implements and updates the
443datetime type.")
444 (license asl2.0)))
445
33dc54b0
RW
446(define-public python-aniso8601
447 (package
448 (name "python-aniso8601")
f8119cb5 449 (version "9.0.1")
33dc54b0
RW
450 (source
451 (origin
452 (method url-fetch)
453 (uri (pypi-uri "aniso8601" version))
454 (sha256
455 (base32
f8119cb5 456 "0wxry6riyqajl02mkad8g2q98sx5jr13zndj3fandpzfcxv13qvj"))))
33dc54b0 457 (build-system python-build-system)
33dc54b0
RW
458 (home-page "https://bitbucket.org/nielsenb/aniso8601")
459 (synopsis "Python library for parsing ISO 8601 strings")
460 (description
461 "This package contains a library for parsing ISO 8601 datetime strings.")
462 (license bsd-3)))
463
3ef29c00
KM
464(define-public datefudge
465 (package
466 (name "datefudge")
d080368c
LF
467 ;; XXX When updating this package, make sure to do something about the
468 ;; archive.org backup URI.
69dc3e52 469 (version "1.23")
3ef29c00 470 (source (origin
ac83dc82
LC
471 ;; Source code is available from
472 ;; <https://salsa.debian.org/debian/datefudge.git>. However,
473 ;; for bootstrapping reasons, we do not rely on 'git-fetch' here
474 ;; (since Git -> GnuTLS -> datefudge).
475 (method url-fetch)
d080368c
LF
476 (uri (list
477 ;; For some reason this tarball was removed from Debian's
478 ;; servers. Remove this archive.org URL when updating
479 ;; datefudge, or add the new tarball to archive.org and
480 ;; update the URL.
481 (string-append
482 "https://archive.org/download/datefudge_" version
483 ".tar_202112/" "datefudge_" version ".tar.xz")
484 (string-append
485 "mirror://debian/pool/main/d/datefudge/datefudge_"
486 version ".tar.xz")))
3ef29c00
KM
487 (sha256
488 (base32
ac83dc82 489 "0ifnlb0mc8qc2kb5042pbz0ns6rwcb7201di8wyrsphl0yhnhxiv"))
eb07edab 490 (patches (search-patches "datefudge-gettimeofday.patch"))))
3ef29c00
KM
491 (build-system gnu-build-system)
492 (arguments
493 `(#:test-target "test"
494 #:make-flags (list "CC=gcc"
495 (string-append "prefix=" (assoc-ref %outputs "out")))
496 #:phases
497 (modify-phases %standard-phases
498 (add-after 'unpack 'patch-makefile
499 (lambda _
500 (substitute* "Makefile"
501 ((" -o root -g root") "")
502 (("VERSION := \\$\\(shell dpkg-parsechangelog .*")
503 (string-append "VERSION = " ,version)))
504 #t))
505 (delete 'configure))))
506 (native-inputs
8394619b 507 (list perl))
3ef29c00
KM
508 (home-page "https://salsa.debian.org/debian/datefudge")
509 (synopsis "Pretend the system date is different")
510 (description
511 "Utility that fakes the system time by pre-loading a small library that
512modifies the @code{time}, @code{gettimeofday} and @code{clock_gettime} system
513calls.")
514 (license gpl2)))
efe7a174 515
0052c3b0
GT
516(define-public tz
517 (package
518 (name "tz")
519 (version "0.6.1")
520 (source
521 (origin
522 (method git-fetch)
523 (uri (git-reference
524 (url "https://github.com/oz/tz")
525 (commit (string-append "v" version))))
526 (file-name (git-file-name name version))
527 (sha256
528 (base32 "1nbl13xd95np89sbx8fn0jqrh1iy17hsy70kq31hmcvyns8dljhg"))))
529 (build-system go-build-system)
530 (arguments
531 `(#:go ,go-1.17
532 #:import-path "github.com/oz/tz"
533 #:phases
534 (modify-phases %standard-phases
535 (replace 'check
536 (lambda* (#:key import-path tests? #:allow-other-keys)
537 (when tests?
538 (invoke "go" "test" "-cover" import-path)))))))
539 (inputs
540 `(("github.com/charmbracelet/bubbletea" ,go-github-com-charmbracelet-bubbletea)
541 ("github.com/muesli/termenv" ,go-github-com-muesli-termenv)))
542 (home-page "https://github.com/oz/tz")
543 (synopsis "TUI time zone helper")
544 (description
545"@command{tz} helps you schedule things across time zones. It is an interactive
546TUI program that displays time across a few time zones of your choosing.")
547 (license gpl3+)))
548
efe7a174
RPG
549(define-public countdown
550 (package
551 (name "countdown")
552 (version "1.0.0")
553 (source
554 (origin
555 (method git-fetch)
556 (uri (git-reference
557 (url "https://github.com/antonmedv/countdown")
558 (commit (string-append "v" version))))
559 (file-name (git-file-name name version))
560 (sha256
561 (base32 "0pdaw1krr0bsl4amhwx03v2b02iznvwvqn7af5zp4fkzjaj14cdw"))))
562 (build-system go-build-system)
563 (arguments
564 '(#:import-path "github.com/antonmedv/countdown"))
565 (native-inputs
566 `(("runewidth" ,go-github.com-mattn-go-runewidth)
567 ("termbox" ,go-github.com-nsf-termbox-go)))
568 (home-page "https://github.com/antonmedv/countdown")
569 (synopsis "Counts to zero with a text user interface")
570 (description
571 "Countdown provides a fancy text display while it counts down to zero
572from a starting point you provide. The user can pause and resume the
573countdown from the text user interface.")
574 (license expat)))