From aff1c570b2885f5c36810f5faddedd801ad55f0e Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
Date: Fri, 21 May 2021 18:15:38 +0200
Subject: [PATCH 2/2] gnu: Add tagainijisho.
* gnu/packages/education.scm (tagainijisho): New variable.
---
gnu/packages/education.scm | 94 ++++++++++++++++++++++++++++++++++++++
1 file changed, 94 insertions(+)
@@ -449,6 +449,100 @@ Using KanjiVG, it is possible to create stroke order diagrams or animations
and kanji dictionaries.")
(home-page "https://kanjivg.tagaini.net")
(license license:cc-by-sa3.0)))
+
+(define-public tagainijisho
+ ;; latest release (1.0.3) requires qt4, using latest commit
+ (let ((commit "18078719be75b6b49cffb2f8a22978c635c6b617"))
+ (package
+ (name "tagainijisho")
+ (version (string-append "1.0.3." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Gnurou/tagainijisho")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1i6vcj30q0427ggdjqrsyqb9dg8b8kd0vzmjdzrxabn9wv05vnz4"))))
+ (build-system qt-build-system)
+ (arguments
+ `(#:tests? #f ; no test target
+ #:configure-flags
+ `("-DEMBED_SQLITE=OFF"
+ ,(string-append "-DCMAKE_PREFIX_PATH=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'make-output-bin
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append (assoc-ref outputs "out") "/bin"))))
+ (add-after 'unpack 'add-extra-src
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((jmdict (assoc-ref inputs "jmdict"))
+ (gunzip (which "gunzip"))
+ (out "3rdparty/JMdict.gz"))
+ (mkdir-p "3rdparty")
+ (copy-file jmdict out)
+ (invoke gunzip out))))
+ (add-after 'unpack 'add-kanjidic2
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((kanjidic2 (assoc-ref inputs "kanjidic2"))
+ (gunzip (which "gunzip"))
+ (out "3rdparty/kanjidic2.xml.gz"))
+ (mkdir-p "3rdparty")
+ (copy-file kanjidic2 out)
+ (invoke gunzip out))))
+ (add-after 'unpack 'add-kanjivg
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((fname "kanjivg.xml")
+ (kanjivg
+ (string-append (assoc-ref inputs "kanjivg") "/" fname))
+ (out (string-append "3rdparty/" fname)))
+ (mkdir-p "3rdparty")
+ (copy-file kanjivg out))))
+ (add-after 'unpack 'make-source-writable
+ ;; build requires to modify a .cc file
+ (lambda _
+ (chmod "src/core/kanjidic2/DictionaryDescriptions.cc" #o600))))))
+ (inputs
+ `(("jmdict"
+ ;; URL is not versioned!
+ ;; https://github.com/Gnurou/tagainijisho/blob/master/src/core/jmdict/CMakeLists.txt#L5
+ ,(origin
+ (method url-fetch)
+ (uri
+ '("http://ftp.edrdg.org/pub/Nihongo/JMdict.gz"
+ "http://www.bcit-broadcast.com/monash/JMdict.gz"
+ "ftp://ftp.net.usf.edu/pub/ftp.monash.edu.au/pub/nihongo/JMdict.gz"))
+ (sha256
+ (base32
+ "0nw39gg2i485b85zx7a5isiims83dpmdchcks9974ryb3z0zackm"))))
+ ("kanjidic2"
+ ;; URL is not versioned!
+ ;; https://github.com/Gnurou/tagainijisho/blob/master/src/core/kanjidic2/CMakeLists.txt#L4
+ ,(origin
+ (method url-fetch)
+ (uri "http://www.edrdg.org/kanjidic/kanjidic2.xml.gz")
+ (sha256
+ (base32
+ "0l2n3bqcfz2x6xns7w02dv01xz3cssbfvbjhlymd88sqsdbfn456"))))
+ ("kanjivg" ,kanjivg)
+ ("qtbase" ,qtbase)
+ ("qttools" ,qttools)
+ ("sqlite" ,sqlite)))
+ (synopsis "Japanese dictionary and learning assistant")
+ (description "Tagaini Jisho is a Japanese dictionary and learning
+assistant. It is designed to help you remember Japanese vocabulary and
+kanji (later referred as 'entries') by presenting them in a way that makes it
+easy to create connections between them. It does so by keeping track of all
+the entries you already know and want to study, and letting you tag and annote
+them, in addition to providing easy navigation between related entries. A
+powerful search engine also allows you to search for entries very precisely.
+Finally, Tagaini let you produce printed material (including a handy foldable
+pocket book) so let you study anywhere.")
+ (home-page "https://www.tagaini.net/")
+ (license license:gpl3+))))
+
(define-public childsplay
(package
(name "childsplay")
--
2.31.1