gnu: Add ktouch.

* gnu/packages/education.scm (ktouch): New variable.
This commit is contained in:
Efraim Flashner 2019-09-10 12:48:22 +03:00
parent dece34332b
commit d2c0a7a22f
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
1 changed files with 72 additions and 0 deletions

View File

@ -36,6 +36,7 @@
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages javascript) #:use-module (gnu packages javascript)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks) ; extra-cmake-modules #:use-module (gnu packages kde-frameworks) ; extra-cmake-modules
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@ -547,3 +548,74 @@ difficult timetables, it may take a longer time, a matter of hours.")
"Klavaro is a simple tutor to teach correct typing, almost independently of "Klavaro is a simple tutor to teach correct typing, almost independently of
language and very flexible regarding to new or unknown keyboard layouts.") language and very flexible regarding to new or unknown keyboard layouts.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public ktouch
(package
(name "ktouch")
(version "19.08.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/applications/"
version "/src/ktouch-" version ".tar.xz"))
(sha256
(base32
"19rdk94pls75hdvx11hnfk3qpm6l28p9q45q5f04sknxagrfaznr"))))
(build-system cmake-build-system)
(arguments
`(#:modules ((guix build cmake-build-system)
(guix build qt-utils)
(guix build utils))
#:imported-modules (,@%cmake-build-system-modules
(guix build qt-utils))
#:phases
(modify-phases %standard-phases
(add-after 'configure 'patch-makefiles
(lambda* (#:key inputs #:allow-other-keys)
(let ((qtdec (assoc-ref inputs "qtdeclarative")))
(substitute* '("src/CMakeFiles/ktouch_autogen.dir/build.make"
"src/CMakeFiles/ktouch.dir/build.make")
(("/gnu/store/.*qmlcachegen")
(string-append qtdec "/bin/qmlcachegen"))))
#t))
(add-after 'install 'wrap-executable
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-qt-program out "ktouch"))
#t)))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("kdoctools" ,kdoctools)
("pkg-config" ,pkg-config)))
(inputs
`(("kcmutils" ,kcmutils)
("kcompletion" ,kcompletion)
("kconfig" ,kconfig)
("kconfigwidgets" ,kconfigwidgets)
("kcoreaddons" ,kcoreaddons)
("kdeclarative" ,kdeclarative)
("ki18n" ,ki18n)
("kiconthemes" ,kiconthemes)
("kitemviews" ,kitemviews)
("kqtquickcharts" ,kqtquickcharts)
("ktextwidgets" ,ktextwidgets)
("kwidgetsaddons" ,kwidgetsaddons)
("kwindowsystem" ,kwindowsystem)
("kxmlgui" ,kxmlgui)
("libxcb" ,libxcb)
("libxkbfile" ,libxkbfile)
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
("qtgraphicaleffects" ,qtgraphicaleffects)
("qtquickcontrols2" ,qtquickcontrols2)
("qtx11extras" ,qtx11extras)
("qtxmlpatterns" ,qtxmlpatterns)))
(home-page "https://edu.kde.org/ktouch/")
(synopsis "Touch typing tutor")
(description
"KTouch is an aid for learning how to type with speed and accuracy. It
provides a sample text to type and indicates which fingers should be used for
each key. A collection of lessons are included for a wide range of different
languages and keyboard layouts, and typing statistics are used to dynamically
adjust the level of difficulty.")
(license license:gpl2)))