summary refs log tree commit diff
path: root/gnu/packages/stenography.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/stenography.scm')
-rw-r--r--gnu/packages/stenography.scm86
1 files changed, 69 insertions, 17 deletions
diff --git a/gnu/packages/stenography.scm b/gnu/packages/stenography.scm
index 3b86ab6bcf..f95910dcff 100644
--- a/gnu/packages/stenography.scm
+++ b/gnu/packages/stenography.scm
@@ -1,7 +1,8 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2021 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2023 Parnikkapore <poomklao@yahoo.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,41 +21,92 @@
 
 (define-module (gnu packages stenography)
   #:use-module (guix build-system python)
+  #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (gnu packages)
-  #:use-module (gnu packages qt)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages wxwidgets))
 
+(define-public python-plover-stroke
+  (package
+    (name "python-plover-stroke")
+    (version "1.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "plover_stroke" version))
+              (sha256
+               (base32
+                "0lyifam9xqpx2jzqcbah84sv909n4g2frm7pd5gvcrpf98zv40yy"))))
+    (build-system python-build-system)
+    (native-inputs (list python-pytest))
+    (home-page "https://github.com/benoit-pierre/plover_stroke")
+    (synopsis "Stroke handling helper library for Plover")
+    (description "This package provides a helper class for working with steno strokes.")
+    (license license:gpl2+)))
+
 (define-public plover
   (package
     (name "plover")
-    (version "4.0.0.dev10")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/openstenoproject/plover")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "1nyllqv4jq4idgn4cp5mypransw3rh3x8c1h9p6ld1anfr3zx7m0"))))
+    (version "4.0.0.dev12")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/openstenoproject/plover")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0vk6nh2gpn7f7rv2spi2a7n3m0d9kaan6r22mx3vwxprpbvrkbm8"))))
     (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "python" "-m" "pytest"
+                        "-p" "pytest-qt"
+                        "-p" "xvfb"
+                        "test"
+                        ;; FIXME: Ignore failing test.
+                        "--ignore" "test/gui_qt/test_dictionaries_widget.py"))))
+          ;; Ensure that icons are found at runtime.
+          (add-after 'install 'wrap-executable
+            (lambda* (#:key inputs #:allow-other-keys)
+              (wrap-program (string-append #$output "/bin/plover")
+                `("QT_PLUGIN_PATH" prefix
+                  (,(search-input-directory inputs "/lib/qt5/plugins/")))
+                `("LD_LIBRARY_PATH" prefix
+                  (,(string-append #$(this-package-input "dbus") "/lib")))))))))
     (native-inputs
-     (list python-pytest))
+     (list python-babel
+           python-mock
+           python-pytest
+           python-pytest-qt
+           python-pytest-xvfb))
     (inputs
-     (list python-appdirs
-           python-pyqt
-           python-babel
+     (list bash-minimal
+           dbus
+           python-appdirs
            python-dbus
            python-hidapi
+           python-plover-stroke
+           python-pyqt
            python-pyserial
-           python-xlib))
+           python-rtf-tokenize
+           python-xlib
+           qtsvg-5))
     (home-page "https://www.openstenoproject.org/plover/")
     (synopsis "Stenography engine")
     (description