Subject: [bug#50663] [PATCH 19/19] gnu: Add python-mycroft-core.

From: phodina <[email-masked]>
Date: Sat, 18 Sep 2021 19:12:40 +0000

* gnu/packages/python-xyz.scm (python-mycroft-core): New variable.

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0af13a0423..fcb936e31e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -202,6 +202,7 @@
   #:use-module (gnu packages search)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages shells)
+  #:use-module (gnu packages speech)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages swig)
@@ -20725,6 +20726,87 @@ working with iterables.")
     (propagated-inputs
      `(("python2-six" ,python2-six-bootstrap)))))

+(define-public python-mycroft-core
+  (package
+    (name "python-mycroft-core")
+    (version "21.2.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri
+          (git-reference
+               (url "https://github.com/MycroftAI/mycroft-core")
+               (commit (string-append "release/v" version))))
+        (file-name (git-file-name name version))
+        (modules '((guix build utils)))
+        (snippet '(begin
+                     ;; Use newer version of pkg
+                     (substitute* "requirements/requirements.txt"
+                        (("tornado==") "tornado>="))
+                     (substitute* "requirements/requirements.txt"
+                        (("pyserial==") "pyserial>="))
+                     (substitute* "requirements/requirements.txt"
+                        (("psutil==") "psutil>="))
+                     (substitute* "requirements/requirements.txt"
+                        (("pocketsphinx==") "pocketsphinx>="))
+                     (substitute* "requirements/requirements.txt"
+                        (("python-dateutil==") "python-dateutil>="))
+                     (substitute* "requirements/requirements.txt"
+                        (("fasteners==") "fasteners>="))
+                     (substitute* "requirements/requirements.txt"
+                        (("PyYAML==5.4") "PyYAML>=5.3.1"))
+                     (substitute* "requirements/requirements.txt"
+                        (("pyxdg==") "pyxdg>="))
+                     #t))
+        (sha256
+          (base32
+            "1v5yb48y3zr4s0cgkid8y1zsi6x1wrhy1jfb9axzi090ammgy700"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+         (modify-phases %standard-phases
+           (replace 'check
+             (lambda _
+               (setenv "PYTHONPATH"
+                 (string-append "./build/lib:" (getenv "PYTHONPATH"))))))))
+    (inputs `(("mycroft-mimic" ,mycroft-mimic)
+              ("pocketsphinx" ,pocketsphinx)))
+    (propagated-inputs
+      `(("python-fasteners" ,python-fasteners)
+        ("python-inflection" ,python-inflection)
+        ("python-pyxdg" ,python-pyxdg)
+        ("python-mycroft-messagebus-client"
+         ,python-mycroft-messagebus-client)
+        ("python-psutil" ,python-psutil)
+        ("python-tornado" ,python-tornado-6)
+        ("python-petact" ,python-petact)
+        ("python-precise-runner" ,python-precise-runner)
+        ("python-padaos" ,python-padaos)
+        ("python-speech-recoginition" ,python-speech-recognition)
+        ("python-padatious" ,python-padatious)
+        ("python-msk" ,python-msk)
+        ("python-pillow" ,python-pillow)
+        ("python-gtts" ,python-gtts)
+        ("python-requests-futures" ,python-requests-futures)
+        ("python-pyserial" ,python-pyserial)
+        ("python-pocketsphinx" ,python-pocketsphinx)
+        ("python-adapt-parser" ,python-adapt-parser)
+        ("python-lingua-franca" ,python-lingua-franca)
+        ("python-pyyaml" ,python-pyyaml)
+        ("python-fasteners" ,python-fasteners)
+        ("python-pyee" ,python-pyee)
+        ("python-psutil" ,python-psutil)
+        ("python-fann2" ,python-fann2)
+        ("python-pyxdg" ,python-pyxdg)
+        ("python-websocket-client" ,python-websocket-client)
+        ("python-requests" ,python-requests)
+        ("python-requests-futures"
+         ,python-requests-futures)))
+    (home-page "https://github.com/HelloChatterbox/HolmesIV")
+    (synopsis "Mycroft Core, the Mycroft Artificial Intelligence platform")
+    (description "This module provides a hackable open source voice assistant - Mycroft")
+    (license license:asl2.0)))
+
 (define-public python-mycroft-messagebus-client
   (package
     (name "python-mycroft-messagebus-client")
--
2.32.0