From d2c0a7a22f5f40a2ff745752fe6675126c1ed44b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 10 Sep 2019 12:48:22 +0300 Subject: gnu: Add ktouch. * gnu/packages/education.scm (ktouch): New variable. --- gnu/packages/education.scm | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) (limited to 'gnu/packages/education.scm') 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 @@ (define-module (gnu packages education) #: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 @@ (define-public klavaro "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))) -- cgit v1.2.3