Subject: [PATCH] Add kanatest

From: Nicolò Balzarotti <[email-masked]>
Date: Tue, 25 May 2021 09:22:10 +0200

Hi guix!

Here's a patch to add kanatest, a learning tool for japanese kana.

guix lint complains about
> URI https://git.code.sf.net/p/kanatest/code not reachable: 404 ("Not
> Found")

but cloning does work, so I don't know if I need to do something in
order to fix it.  I had to use git instead of the release tarball as
that is really old (2009), works only with gtk2 and I could not get it
to build.

Thanks!
Nicolò

>From 7bf9dc833eacaf25a431ac59ff63ed54b87edafc Mon Sep 17 00:00:00 2001
From: nixo <[email-masked]>
Date: Tue, 25 May 2021 09:02:41 +0200
Subject: [PATCH] gnu: Add kanatest.

* gnu/packages/education.scm (kanatest): New variable.
---
 gnu/packages/education.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index cd28e35b78..9002187f1e 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -865,6 +865,42 @@ languages and keyboard layouts, and typing statistics are used to dynamically
 adjust the level of difficulty.")
     (license license:gpl2)))
 
+(define-public kanatest
+  ;; Latest release tarball is 0.4.8, which is really old and does not build
+  ;; commit on sourceforge are not tagged, we take the latest
+  (let ((commit "860e790a35f547cc96669f805d371a5ba3d8daff"))
+    (package
+      (name "kanatest")
+      (version (string-append "0.4.10." (string-take commit 7)))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://git.code.sf.net/p/kanatest/code")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0dz63m9p4ggzw0yb309qmgnl664qb5q268vaa3i9v0i8qsl66d78"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("gettext" ,gettext-minimal)     ; for msgfmt
+         ("pkg-config" ,pkg-config)))
+      (inputs
+       `(("libxml2" ,libxml2)
+         ("gtk+" ,gtk+)))
+      (synopsis "Hiragana and Katakana simple flashcard tool")
+      (description "Kanatest is a Japanese kana (Hiragana and Katakana) simple
+flashcard tool.
+
+During test the Kanatest displays randomly selected kana char (respecting mode
+and lesson) and waits for user answer expected as romaji equivalent.  This
+process continues until all questions will be answered or all questions will
+be answered correctly (depends on options).  At the end of test a short info
+about drilling time and correctness ratio is displayed.  The results are
+stored and user can review his performance in any time.")
+      (home-page "https://kanatest.sourceforge.io/")
+      (license license:gpl2+))))
+
 (define-public anki
   (package
     (name "anki")
-- 
2.31.1