aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2019-09-10 12:48:22 +0300
committerEfraim Flashner <efraim@flashner.co.il>2019-09-16 15:04:30 +0300
commitd2c0a7a22f5f40a2ff745752fe6675126c1ed44b (patch)
treeee408f1fd17162ddf9347a2166a324fce4cd690d
parentdece34332b9e4c8e1794dab7c430094f733a2d1a (diff)
downloadguix-d2c0a7a22f5f40a2ff745752fe6675126c1ed44b.tar
guix-d2c0a7a22f5f40a2ff745752fe6675126c1ed44b.tar.gz
gnu: Add ktouch.
* gnu/packages/education.scm (ktouch): New variable.
-rw-r--r--gnu/packages/education.scm72
1 files changed, 72 insertions, 0 deletions
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 0ec1de7b75..3181746282 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -36,6 +36,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages javascript)
+ #:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks) ; extra-cmake-modules
#:use-module (gnu packages perl)
#: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
language and very flexible regarding to new or unknown keyboard layouts.")
(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)))