diff options
author | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-07-03 06:03:28 +0200 |
---|---|---|
committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-07-03 15:01:06 +0200 |
commit | 7d00f2adde64db72e6a7f20d7a2fdc7d443d918c (patch) | |
tree | b2b5e552e1891bfe9173f48bfeb5912fd5b85ed2 /gnu/packages/education.scm | |
parent | c43e1e0f9bc33dfde51c36e131edefe56162b97f (diff) | |
download | guix-7d00f2adde64db72e6a7f20d7a2fdc7d443d918c.tar.gz |
gnu: Add gotypist.
* gnu/packages/education.scm (gotypist): New public variable.
Diffstat (limited to 'gnu/packages/education.scm')
-rw-r--r-- | gnu/packages/education.scm | 55 |
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") |