* gnu/packages/qt.scm (qtvirtualkeyboard-5): New variable. --- gnu/packages/qt.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 89e49661de..405a981dc1 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2022 Petr Hodina ;;; Copyright © 2022 Yash Tiwari ;;; Copyright © 2023 Sharlatan Hellseher +;;; Copyright © 2022 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2355,6 +2356,50 @@ (define-public qtspeech In such a scenario, the messaging application can read out the incoming message."))) +(define-public qtvirtualkeyboard-5 + (package + (inherit qtsvg-5) + (name "qtvirtualkeyboard") + (version %qt-version) + (source (origin + (method url-fetch) + (uri (qt-urls name version)) + (sha256 + (base32 + "1skdjh9q4m438wwl8hwx3jc5hg22dmi5pwm3vd2yksxw6ny67rd7")))) + (arguments + (substitute-keyword-arguments (package-arguments qtsvg-5) + ((#:tests? _ #f) #f) ; TODO: pass 2 fail test + ((#:phases phases) + `(modify-phases ,phases + (add-before 'check 'set-display + (lambda _ + ;; Make Qt render "offscreen", required for tests. + (setenv "QT_QPA_PLATFORM" "offscreen") + (setenv "DISPLAY" ":1") + (system "Xvfb +extension GLX :1 &"))) + (delete 'check) ;move after the install phase + (add-after 'install 'check + (assoc-ref %standard-phases 'check)) + (add-before 'check 'prepare-for-tests + (lambda* (#:key outputs #:allow-other-keys) + (setenv "QML2_IMPORT_PATH" + (string-append (assoc-ref outputs "out") + "/lib/qt5/qml:" + (getenv "QML2_IMPORT_PATH"))) + (setenv "QT_PLUGIN_PATH" + (string-append (assoc-ref outputs "out") + "/lib/qt6/plugins:" + (getenv "QT_PLUGIN_PATH"))))))))) + (native-inputs (list perl xorg-server-for-tests)) + (inputs (list qtbase-5 qtdeclarative-5)) + (propagated-inputs + (list qtquickcontrols-5 qtsvg-5)) + (synopsis " QtQuick virtual keyboard") + (description "The Qt Speech module provides a virtual keyboard framework +that consists of a C++ backend supporting custom input methods as well as a UI +frontend implemented in QML."))) + (define-public qtspell (package (name "qtspell") -- 2.41.0