Subject: [PATCH 6/6] gnu: Add python-nerd-dictation/wayland.

From: Nicolas Graves <[email-masked]>
Date: Wed, 28 Sep 2022 13:57:55 +0200

* gnu/packages/machine-learning.scm (python-nerd-dictation/wayland): New variable.
---
 gnu/packages/machine-learning.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 3fec07e6a1..12c5586aa8 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -45,6 +45,7 @@ (define-module (gnu packages machine-learning)
   #:use-module (guix build-system ocaml)
   #:use-module (guix build-system python)
   #:use-module (guix build-system r)
+  #:use-module (guix build-system trivial)
   #:use-module (guix git-download)
   #:use-module (gnu packages)
   #:use-module (gnu packages adns)
@@ -103,6 +104,7 @@ (define-module (gnu packages machine-learning)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (ice-9 match))
 
@@ -3633,3 +3635,28 @@ (define-public python-nerd-dictation
 there are no background processes.  Dictation is accessed manually with
 @code{nerd-dictation begin} and @code{nerd-dictation end} commands.")
       (license license:gpl3+))))
+
+(define-public python-nerd-dictation/wayland
+  (package
+    (inherit python-nerd-dictation)
+    (name "python-nerd-dictation-wayland")
+    (inputs (list bash-minimal python-nerd-dictation sox ydotool))
+    (build-system trivial-build-system)
+    (arguments
+     (list
+      #:modules '((guix build utils))
+      #:builder
+      #~(begin
+          (use-modules (guix build utils))
+          (let* ((out (assoc-ref %outputs "out"))
+                 (exe (string-append out "/bin/nerd-dictation")))
+
+            (mkdir-p (dirname exe))
+            (call-with-output-file exe
+              (lambda (port)
+                (format port "#!~a
+exec ~a $@ --input=SOX --simulate-input-tool=YDOTOOL"
+                        #$(file-append bash-minimal "/bin/bash")
+                        #$(file-append python-nerd-dictation
+                                       "/bin/nerd-dictation"))))
+            (chmod exe #o555)))))))
-- 
2.37.3