diff options
Diffstat (limited to 'gnu/packages/education.scm')
-rw-r--r-- | gnu/packages/education.scm | 199 |
1 files changed, 168 insertions, 31 deletions
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 589c32838c..2039347ddc 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2020 Guy Fleury Iteriteka <[email protected]> ;;; Copyright © 2020 Jakub Kądziołka <[email protected]> ;;; Copyright © 2020 Prafulla Giri <[email protected]> +;;; Copyright © 2021 Nicolò Balzarotti <[email protected]> ;;; ;;; This file is part of GNU Guix. ;;; @@ -140,7 +141,7 @@ of categories with some of the activities available in that category. (define-public gcompris-qt (package (name "gcompris-qt") - (version "1.0") + (version "1.1") (source (origin (method url-fetch) @@ -148,8 +149,8 @@ of categories with some of the activities available in that category. "https://gcompris.net/download/qt/src/gcompris-qt-" version ".tar.xz")) (sha256 - (base32 "08dw1q0h4qz2q0ksa5pbmb9v60hr1zv9skx6z8dlq9b1i7harnds")))) - (build-system cmake-build-system) + (base32 "1bpjwrv83rhikbycpyfpf6dbqr0xfq6amgdpqfgfph6nzr3zka7h")))) + (build-system qt-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -161,23 +162,7 @@ of categories with some of the activities available in that category. (setenv "DISPLAY" ":1") ;; The test suite wants to write to /homeless-shelter (setenv "HOME" (getcwd)) - #t)) - (add-after 'install 'wrap-executable - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/gcompris-qt") - `("QT_PLUGIN_PATH" ":" prefix - ,(map (lambda (label) - (string-append (assoc-ref inputs label) - "/lib/qt5/plugins")) - '("qtbase" "qtdeclarative" "qtmultimedia" "qtsvg"))) - `("QML2_IMPORT_PATH" ":" prefix - ,(map (lambda (label) - (string-append (assoc-ref inputs label) - "/lib/qt5/qml")) - '("qtdeclarative" "qtgraphicaleffects" - "qtmultimedia" "qtquickcontrols")))) - #t)))) + #t))) #:configure-flags (list "-DQML_BOX2D_MODULE=disabled" "-DBUILD_TESTING=TRUE"))) (native-inputs @@ -190,7 +175,7 @@ of categories with some of the activities available in that category. (inputs `(("openssl" ,openssl) ("python" ,python-wrapper) - ("qtbase" ,qtbase) + ("qtbase" ,qtbase-5) ("qtdeclarative" ,qtdeclarative) ("qtgraphicaleffects" ,qtgraphicaleffects) ("qtmultimedia" ,qtmultimedia) @@ -217,6 +202,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") @@ -259,7 +299,7 @@ Currently available boards include: ;; Recreate Makefile (invoke "qmake"))))))) (inputs - `(("qtbase" ,qtbase) + `(("qtbase" ,qtbase-5) ("qtmultimedia" ,qtmultimedia))) (home-page "https://www.tipp10.com/") (synopsis "Touch typing tutor") @@ -276,7 +316,7 @@ easy.") (define-public snap (package (name "snap") - (version "6.6.0") + (version "6.9.0") (source (origin (method git-fetch) @@ -285,7 +325,7 @@ easy.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1k0j0sp6zz2hnh7zc7f086zc3sld01h7sk277j6fak914yv6slzy")))) + (base32 "1wppz57lrrribrfnaiv6jrrf703w7i6ja0dnz8yx8naxhbsglwyf")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -314,8 +354,7 @@ easy.") (call-with-output-file script (lambda (port) (format port "#!~a\n~a '~a'" bash xdg-open snap))) - (chmod script #o555))) - #t))) + (chmod script #o555)))))) (inputs `(("bash" ,bash-minimal) ("js-filesaver" ,js-filesaver) @@ -614,14 +653,14 @@ Portuguese, Spanish and Italian.") (define-public fet (package (name "fet") - (version "5.49.1") + (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 "1aa8xnhwvbhvp7yigcdk7qdwqh59yyfknqbpn3ybgjljc22m8w5n")))) + (base32 "16yajwbvm2ain1p2h81qfm8pbrdp70zljck67j9yijwyr6xqdj2a")))) (build-system gnu-build-system) (arguments `(#:phases @@ -653,14 +692,14 @@ hours.") (define-public klavaro (package (name "klavaro") - (version "3.11") + (version "3.13") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/klavaro/klavaro-" version ".tar.bz2")) (sha256 - (base32 "1rkxaqb62w4mv86fcnmr32lq6y0h4hh92wmsy5ddb9a8jnzx6r7w")))) + (base32 "0z6c3lqikk50mkz3ipm93l48qj7b98lxyip8y6ndg9y9k0z0n878")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) @@ -669,6 +708,7 @@ hours.") `(("cairo" ,cairo) ("curl" ,curl) ("gtk+" ,gtk+) + ("gtkdatabox" ,gtkdatabox) ("pango" ,pango))) (home-page "https://klavaro.sourceforge.io/en/index.html") (synopsis "Touch typing tutor") @@ -710,7 +750,7 @@ language and very flexible regarding to new or unknown keyboard layouts.") ("kxmlgui" ,kxmlgui) ("libxcb" ,libxcb) ("libxkbfile" ,libxkbfile) - ("qtbase" ,qtbase) + ("qtbase" ,qtbase-5) ("qtdeclarative" ,qtdeclarative) ("qtgraphicaleffects" ,qtgraphicaleffects) ("qtquickcontrols2" ,qtquickcontrols2) @@ -726,6 +766,43 @@ 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") + (revision "0")) + (package + (name "kanatest") + (version (git-version "0.4.10" revision commit)) + (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+))) + (home-page "https://kanatest.sourceforge.io/") + (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.") + (license license:gpl2+)))) + (define-public anki (package (name "anki") @@ -942,6 +1019,66 @@ factoring numbers and simplifying fractions, as well as zapping rocks floating through space.") (license license:gpl3+))) +(define-public libeb + (package + (name "libeb") + (version "4.4.3") + (source + (origin + (method url-fetch) + (uri + (string-append "ftp://ftp.sra.co.jp/pub/misc/eb/eb-" version ".tar.bz2")) + (sha256 + (base32 + "0psbdzirazfnn02hp3gsx7xxss9f1brv4ywp6a15ihvggjki1rxb")))) + (build-system gnu-build-system) + (native-inputs ; Required for building docs + `(("perl" ,perl))) + (inputs + `(("zlib" ,zlib))) + (synopsis "C library for accessing Japanese CD-ROM books") + (description "The EB library is a library for accessing CD-ROM +books, which are a common way to distribute electronic dictionaries in +Japan. It supports the EB, EBG, EBXA, EBXA-C, S-EBXA and EPWING +formats.") + ;; FIXME: I cannot find a real home page + (home-page "https://sra.co.jp/") + (license license:bsd-3))) + +(define-public qolibri + (package + (name "qolibri") + (version "2.1.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url"https://github.com/ludios/qolibri") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "066y7jcq9vg6hnvn7qxckzhd1qkgfzpzhw69nw5psm43qbaca8lg")))) + (build-system qt-build-system) + (arguments + '(#:tests? #f)) ; no test target + (native-inputs + `(("qttools", qttools))) + (inputs + `(("libeb" ,libeb) + ("qtbase" ,qtbase-5) + ("qtmultimedia" ,qtmultimedia) + ("qtquickcontrols2" ,qtquickcontrols2) + ("qtdeclarative" ,qtdeclarative) + ("qtwebchannel" ,qtwebchannel) + ("qtwebengine" ,qtwebengine) + ("zlib" ,zlib))) + (synopsis "EPWING dictionary reader") + (description "qolibri is a dictionary viewer for the EPWING dictionary +format. Most monolingual Japanese dictionaries can only be found in the +EPWING format.") + (home-page "https://github.com/ludios/qolibri") + (license license:gpl2))) + (define-public mdk (package (name "mdk") |