aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2021-07-03 06:03:28 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2021-07-03 15:01:06 +0200
commit7d00f2adde64db72e6a7f20d7a2fdc7d443d918c (patch)
treeb2b5e552e1891bfe9173f48bfeb5912fd5b85ed2
parentc43e1e0f9bc33dfde51c36e131edefe56162b97f (diff)
downloadguix-7d00f2adde64db72e6a7f20d7a2fdc7d443d918c.tar.gz
guix-7d00f2adde64db72e6a7f20d7a2fdc7d443d918c.zip
gnu: Add gotypist.
* gnu/packages/education.scm (gotypist): New public variable.
-rw-r--r--gnu/packages/education.scm55
1 files changed, 55 insertions, 0 deletions
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 45d7311290..5308b4590e 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -218,6 +218,61 @@ Currently available boards include:
(license (list license:silofl1.1 ; bundled fonts
license:gpl3+))))
+(define-public gotypist
+ (let ((revision "0")
+ (commit "03f8618f8e23acdaa94cda3bcf197da520db8dd4"))
+ (package
+ (name "gotypist")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/KappaDistributive/gotypist")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0sjndaspqfzffjxz388m384wqz5lzbiw4cwpi688k5aq7n05jh0f"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:unpack-path "github.com/KappaDistributive/gotypist"
+ #:import-path "github.com/KappaDistributive/gotypist/v1"
+ #:install-source? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'install-data
+ (lambda* (#:key import-path unpack-path outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (data (string-append out "/share/gotypist/data")))
+ (with-directory-excursion "src"
+ (with-directory-excursion import-path
+ (substitute* "lesson.go"
+ (("\"data/")
+ (format #f "\"~a/" data))))
+ (with-directory-excursion unpack-path
+ (mkdir-p data)
+ (copy-recursively "data" data))))))
+ (add-after 'install 'rename-executable
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (with-directory-excursion bin
+ (rename-file "v1" "gotypist"))))))))
+ (native-inputs
+ `(("go-github-com-gizak-termui" ,go-github-com-gizak-termui)
+ ("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
+ (home-page "https://github.com/KappaDistributive/gotypist")
+ (synopsis "Simple typing trainer for text terminals")
+ (description
+ "Gotypist is a simple typing tutor for text terminals, similar to
+gtypist but with no instruction. Hence it's best suited for people who already
+know how to touch type and wish to improve their typing accuracy and/or speed.
+
+You can provide your own lesson text, choose from the included samples, or ask
+@command{gotypist} to construct a random lesson from a fixed list of the most
+frequently used words in American English.")
+ (license license:expat))))
+
(define-public tipp10
(package
(name "tipp10")