summary refs log tree commit diff
path: root/gnu/packages/education.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/education.scm')
-rw-r--r--gnu/packages/education.scm61
1 files changed, 58 insertions, 3 deletions
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index d815c6e689..91ccfd8ca7 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")
@@ -615,14 +670,14 @@ Portuguese, Spanish and Italian.")
 (define-public fet
   (package
     (name "fet")
-    (version "6.0.2")
+    (version "6.0.4")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
                            "fet-" version ".tar.bz2"))
        (sha256
-        (base32 "08q265i43bnj9syh3xlp11fr47xmzb0nma3nnwm76xq314102f0f"))))
+        (base32 "16yajwbvm2ain1p2h81qfm8pbrdp70zljck67j9yijwyr6xqdj2a"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -638,7 +693,7 @@ Portuguese, Spanish and Italian.")
          (replace 'configure
            (lambda _ (invoke "qmake" "fet.pro"))))))
     (inputs
-     `(("qtbase" ,qtbase-5)))
+     `(("qtbase" ,qtbase)))
     (home-page "https://www.lalescu.ro/liviu/fet/")
     (synopsis "Timetabling software")
     (description