[PATCH] gnu: Add Mycroft Voice Assistant

  • Open
  • quality assurance status badge
Details
4 participants
  • Morgan Smith
  • Efraim Flashner
  • Nicolas Goaziou
  • phodina
Owner
unassigned
Submitted by
phodina
Severity
normal
P
P
phodina wrote on 18 Sep 2021 19:01
[PATCH 01/18] gnu: Add python-pyee.
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
qQ-NMjrokukHQud2psYiSbCZ9IpYwa0oatHWsznaPmngNBwHWaDqjE-NIb4plR7BF0snEHpfSGWL_RFYn5_fJ7kdg8lhZNDcW4O5YTfwwOE=@protonmail.com
* gnu/packages/python-xyz.scm (python-pyee): New variable.

Toggle diff (40 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 758c20868e..7add339e90 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16446,6 +16446,35 @@ Record Format (DWARF).")
(define-public python2-pyev
(package-with-python2 python-pyev))

+(define-public python-pyee
+ (package
+ (name "python-pyee")
+ (version "8.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyee" version))
+ (sha256
+ (base32
+ "0cgxbdr4zmil03wwr5fv58789i51gka8a9fxm1dgkf5xs9dwrnlj"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest-trio" ,python-pytest-trio)
+ ("python-pytest-asyncio" ,python-pytest-asyncio)
+ ("python-pytest-runner" ,python-pytest-runner)
+ ("python-pytest" ,python-pytest)
+ ("python-mock" ,python-mock)))
+ (propagated-inputs
+ `(("python-vcversioner" ,python-vcversioner)
+ ("python-twisted" ,python-twisted)
+ ("python-trio" ,python-trio)))
+ (home-page "https://github.com/jfhbrook/pyee")
+ (synopsis
+ "Port of node.js's EventEmitter to python")
+ (description
+ "Port of node.js's EventEmitter to python.")
+ (license license:expat)))
+
(define-public python-imagesize
(package
(name "python-imagesize")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 19:04
[PATCH 02/18] gnu: Add python-fann2.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
dNEaftdaAUsa5CyCkZI_eYHKdef15ifNQsyNpEb3LChpW_qH1uq2-uCyD9E2RYXSiu0l_SjRa-bgQALP3Zu-J4xBGN637SCeUzIJdcy4x-U=@protonmail.com
* gnu/packages/python-xyz.scm (python-fann2): New variable.

Toggle diff (41 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7add339e90..6aa0f3236a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -174,6 +174,7 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages monitoring)
#:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages machine-learning)
#:use-module (gnu packages networking)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages openstack)
@@ -17885,6 +17886,28 @@ current test, while only declaring the test-specific fields")
(define-public python2-factory-boy
(package-with-python2 python-factory-boy))

+(define-public python-fann2
+ (package
+ (name "python-fann2")
+ (version "1.0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fann2" version))
+ (sha256
+ (base32
+ "17zv6hbq26qg9jmsshx3xnnnv203fr4cyjg4v3rgq38a5i5agv2k"))))
+ (build-system python-build-system)
+ (native-inputs `(("swig" ,swig)))
+ (propagated-inputs `(("fann" ,fann)))
+ (home-page
+ "https://github.com/FutureLinkCorporation/fann2")
+ (synopsis
+ "Fast Artificial Neural Network Library (FANN) Python bindings")
+ (description
+ "Fast Artificial Neural Network Library (FANN) Python bindings.")
+ (license license:lgpl2.1)))
+
(define-public python-translate-toolkit
(package
(name "python-translate-toolkit")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 20:58
[PATCH 03/19] gnu: Add python-padaos.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
1Y1jXI0j316yGOUUVTgI8YYNWbjfYVVwrY1ye6FCjH1zvsK9fNlvdOG30SPHHLaR2kEoTG8R9FA32XUcABfdT4wQnevjJR7662pswAtaLyI=@protonmail.com
* gnu/packages/python-xyz.scm (python-padaos): New variable.

Toggle diff (28 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 074f799130..b2d7a290e6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13759,6 +13759,23 @@ anymore.")
(define-public python2-pathlib
(package-with-python2 python-pathlib))

+(define-public python-padaos
+ (package
+ (name "python-padaos")
+ (version "0.1.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "padaos" version))
+ (sha256
+ (base32
+ "10zfk0nfv0fsy6r0by4cf6hlxxid7kp4bai2fwsbad9zskz6dgj7"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/MycroftAI/padaos")
+ (synopsis "Rigid, lightweight, dead-simple intent parser")
+ (description "Converts sentences into one big chunk of regex. Each intent is a single compiled regex matcher.")
+ (license license:expat)))
+
(define-public python2-pathlib2
(package
(name "python2-pathlib2")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 20:59
[PATCH 04/19] gnu: Add python-precise-runner.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
z1bwHDOp7KCYOmqr5TcTxAwNmCGN6H3rwf5tvu5Y2hw58tDleDtjzWps4QoeVr3PM6V6m6nNbfojDF35v4OVaHwQYmJEYmkZqe0EooX5bPg=@protonmail.com
* gnu/packages/python-xyz.scm (python-precise-runner): New variable.

Toggle diff (39 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b2d7a290e6..4fe8748931 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -133,6 +133,7 @@
#:use-module (gnu packages adns)
#:use-module (gnu packages aidc)
#:use-module (gnu packages attr)
+ #:use-module (gnu packages audio)
#:use-module (gnu packages backup)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
@@ -22094,6 +22095,26 @@ multi-language pre-commit hooks.")
RFC 8265 and RFC 8266.")
(license license:expat)))

+(define-public python-precise-runner
+ (package
+ (name "python-precise-runner")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "precise-runner" version))
+ (sha256
+ (base32
+ "13zbxd8yccsk67b5ksrjf7206krwxj2s3q07x9pnhrrn8k6hkn45"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pyaudio" ,python-pyaudio)))
+ (home-page "https://github.com/MycroftAI/mycroft-precise")
+ (synopsis "Wrapper to use Mycroft Precise Wake Word Listener")
+ (description "Audio stream monitoring wrapper which triggers an event when
+it recognizes a specific phrase.")
+ (license license:asl2.0)))
+
(define-public python-absl-py
(package
(name "python-absl-py")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 20:59
[PATCH 05/19] gnu: Add python-petact.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
rwCwfG_sDBgYk-li7wEqFozsxp0tNmqJPSOlDqjGKp_lbr7gUStQyW2t8ueY4UdzgkqMZggGnRqWMXOo_Qd_ZAPXPy5X-YRNfrcf4O93NZM=@protonmail.com
* gnu/packages/python-xyz.scm (python-petact): New variable.

Toggle diff (29 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4fe8748931..072bd121d5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9349,6 +9349,24 @@ PEP 8.")
,@(package-arguments base)))
(native-inputs `()))))

+(define-public python-petact
+ (package
+ (name "python-petact")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "petact" version))
+ (sha256
+ (base32
+ "1rjh0fjimmixbvrv6znkfrfa83ndjc4pgyfyl90iwq3az120vjsx"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/matthewscholefield/petact")
+ (synopsis "Package extraction tool")
+ (description "Library used for installing and updating compressed tar
+files.")
+ (license license:expat))) ; MIT
+
(define-public python-pyflakes
(package
(name "python-pyflakes")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 21:00
[PATCH 06/19] gnu: Add python-padatious.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
jqH83qVESAC1MpmcHRP_9DqOQ_MRWGBhwfCZ0uKqcBZ5Egvv5LjMk_l8uKFYA6b1MkCuEvtFzMTQ0OCH5b2JlzWs7cFDRKdOEDTWt8jOyig=@protonmail.com
* gnu/packages/python-xyz.scm (python-padatious): New variable.

Toggle diff (40 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 072bd121d5..1b1a26f603 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -142,6 +142,7 @@
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
+ #:use-module (gnu packages digest)
#:use-module (gnu packages djvu)
#:use-module (gnu packages docker)
#:use-module (gnu packages enchant)
@@ -13795,6 +13796,27 @@ anymore.")
(description "Converts sentences into one big chunk of regex. Each intent is a single compiled regex matcher.")
(license license:expat)))

+(define-public python-padatious
+ (package
+ (name "python-padatious")
+ (version "0.4.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "padatious" version))
+ (sha256
+ (base32
+ "0xbgf75kxclacgairid8m948hrrngcxhykr1wkvav32fp58z4wg4"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-fann2" ,python-fann2)
+ ("python-padaos" ,python-padaos)
+ ("python-xxhash" ,python-xxhash)))
+ (home-page "https://github.com/MycroftAI/padatious")
+ (synopsis "Neural network intent parser")
+ (description "A neural network intent parser")
+ (license license:asl2.0)))
+
(define-public python2-pathlib2
(package
(name "python2-pathlib2")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 21:01
[PATCH 07/19] gnu: Add python-lazy.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
OLY7gCvWS6mxjo6zqJ-e0uHKyDZhiFuHUMI5LdoUt-PEbnNGunQRCV26x3w9mtl8bhb1IdZAngtcJ7JELOvEC_RdvzP2f-JxK3M-9g7sitU=@protonmail.com
* gnu/packages/python-xyz.scm (python-lazy): New variable.

Toggle diff (33 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1b1a26f603..8f92800112 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15254,6 +15254,28 @@ feels like an AST.")
inspection of types defined in the Python standard typing module.")
(license license:expat)))

+(define-public python-lazy
+ (package
+ (name "python-lazy")
+ (version "1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference ; pypi release link leads to project page
+ (url "https://github.com/stefanholek/lazy")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1y3y35jr0nnfh32zgdrb4r4sf9v8k36j07z2m0g6kz7bf3azsgc5"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/stefanholek/lazy")
+ (synopsis "Lazy attributes for Python objects")
+ (description "Provides lazy attributes that are evaluated only once,
+the first time they are used. Subsequent uses return the results of the first
+call.")
+ (license license:bsd-2)))
+
(define-public python-lazy-object-proxy
(package
(name "python-lazy-object-proxy")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 21:01
[PATCH 08/19] gnu: Add python-pako.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
lVQxLxLtGr99wmQx3Q-z9FRPvlE7Xxbs6i3hAHJtPEn_2h4dh7Hy_J06NXOTaZ2tVCR3hgp21wsNH57qnGQA0gSCMwwY8zGJrsOu4zCeZxU=@protonmail.com
* gnu/packages/python-xyz.scm (python-pako): New variable.

Toggle diff (31 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8f92800112..7180be87e5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13817,6 +13817,26 @@ anymore.")
(description "A neural network intent parser")
(license license:asl2.0)))

+(define-public python-pako
+ (package
+ (name "python-pako")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pako" version))
+ (sha256
+ (base32
+ "07r3f86idlxb2x2mvy24fzkxyq5xalkbmk0zmqva7341pdrs0cy0"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-appdirs" ,python-appdirs)))
+ (home-page "https://github.com/MycroftAI/pako")
+ (synopsis "The universal package manager library")
+ (description
+ "Provides unified way to handle native universal package manager.")
+ (license license:asl2.0)))
+
(define-public python2-pathlib2
(package
(name "python2-pathlib2")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 21:02
[PATCH 09/19] gnu: Add python-adapt-parser.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
9CWWuF11TrnE2Cuq79S8qlkMzdkAGpVyA1yQFWfbvmJGuh_CNWPeMCQ3uh8GWNmo100ewFbAiYF93tfTRFLwK0ZMGnX-vP4t8t-6174vlN8=@protonmail.com
* gnu/packages/python-xyz.scm (python-adapt-parser): New variable.

Toggle diff (35 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7180be87e5..e3f996a2d2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13502,6 +13502,30 @@ ISO 8859, etc.).")
(define-public python2-translitcodec
(package-with-python2 python-translitcodec))

+(define-public python-adapt-parser
+ (package
+ (name "python-adapt-parser")
+ (version "v0.3.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/MycroftAI/adapt")
+ (commit (string-append "release/" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1f67plj9f0314pm2vfqvmzqmngfq4vznzs3ikgkwsz798m1hzl6y"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pyee" ,python-pyee)
+ ("python-six" ,python-six)))
+ (home-page "https://github.com/MycroftAI/adapt")
+ (synopsis "Text-to-intent parsing framework")
+ (description "Flexible and extensible way to parse natural language text
+into a structured intent.")
+ (license license:asl2.0)))
+
(define-public python-anyqt
(package
(name "python-anyqt")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 21:03
[PATCH 10/19] gnu: Add python-msm.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
ypDVEUQFsw3OGCSXSS-LoTIbUR3k-gCbmv6aPgfoIGw71KIYPNITO0CdKiJW78qq4N3nV9U29xjP9kUfImQyMr_TTvinPP9hw4eIOKUPwSo=@protonmail.com
* gnu/packages/python-xyz.scm (python-msm): New variable.

Toggle diff (45 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e3f996a2d2..1379302ef4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -148,6 +148,7 @@
#:use-module (gnu packages enchant)
#:use-module (gnu packages file)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages geo)
#:use-module (gnu packages ghostscript)
@@ -10143,6 +10144,32 @@ reading and writing MessagePack data.")
(define-public python2-msgpack
(package-with-python2 python-msgpack))

+(define-public python-msm
+ (package
+ (name "python-msm")
+ (version "0.8.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "msm" version))
+ (sha256
+ (base32
+ "00z588imq7q33iv3hn83mf2cyqrbs5f6zzyfa6445ainxvskkzz2"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-fasteners" ,python-fasteners)
+ ("python-gitpython" ,python-gitpython)
+ ("python-lazy" ,python-lazy)
+ ("python-pako" ,python-pako)
+ ("python-pyxdg" ,python-pyxdg)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-requests" ,python-requests)))
+ (home-page "https://github.com/MycroftAI/mycroft-skills-manager")
+ (synopsis "Mycroft Skills Manager")
+ (description "Command line tool for interacting with the mycroft-skills
+repository.")
+ (license license:asl2.0)))
+
(define-public python-netaddr
(package
(name "python-netaddr")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 21:03
[PATCH 11/19] gnu: Add python-msk.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
dvK9DSO7wbK1WBU-gVXZjuyfdt2ZVUB9p5e8izYNuHSp7qL-htm35zG32xUNbaZ5AqiSJ0EPqCzvHnCOtL-enBqboFBnCofOIQExwaWwmuQ=@protonmail.com
* gnu/packages/python-xyz.scm (python-msk): New variable.

Toggle diff (35 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1379302ef4..6f03518ea8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10144,6 +10144,30 @@ reading and writing MessagePack data.")
(define-public python2-msgpack
(package-with-python2 python-msgpack))

+(define-public python-msk
+ (package
+ (name "python-msk")
+ (version "0.3.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "msk" version))
+ (sha256
+ (base32
+ "11zf2s5wdglzki2r05plx6j9gykwvbpdn8fbr3fnjz4g0vy1g9y6"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-colorama" ,python-colorama)
+ ("python-gitpython" ,python-gitpython)
+ ("python-msm" ,python-msm)
+ ("python-pygithub" ,python-pygithub)
+ ("python-requests" ,python-requests)))
+ (home-page "https://github.com/MycroftAI/mycroft-skills-kit")
+ (synopsis "Mycroft Skills Kit")
+ (description "Tool to help with creating, uploading, and upgrading Mycroft
+skills.")
+ (license license:asl2.0)))
+
(define-public python-msm
(package
(name "python-msm")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 21:03
[PATCH 12/19] gnu: Add python-lingua-franca.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
YwWPS9kOC0lgNLJapSLqNRE7WzVL-l4-mIbvVAKarWU-HHgkWFAg4SHrgEJzND3_tm4FEFwr7hZ6GxgMoT2XleKQHEXXiMTG37h1Ee_74UQ=@protonmail.com
* gnu/packages/python-xyz.scm (python-lingua-franca): New variable.

Toggle diff (40 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6f03518ea8..5c068ee17b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19348,6 +19348,35 @@ lines are read from a single file.")
(define-public python2-linecache2
(package-with-python2 python-linecache2))

+(define-public python-lingua-franca
+ (package
+ (name "python-lingua-franca")
+ (version "v0.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/MycroftAI/lingua-franca")
+ (commit (string-append "release/" version))))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; Use newer version of pkg
+ (substitute* "requirements.txt"
+ (("python-dateutil==") "python-dateutil>="))
+ #t))
+ (sha256
+ (base32
+ "1qrd1jdi57lv9q3h1g18sg1whgxsmij7x3jw6p608cnhpssf92dr"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-dateutil" ,python-dateutil)))
+ (home-page "https://github.com/MycroftAI/lingua-franca")
+ (synopsis "Mycroft's multilingual text parsing and formatting library")
+ (description "Converts data into spoken equivalents.")
+ (license license:asl2.0)))
+
(define-public python-traceback2
(package
(name "python-traceback2")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 21:04
[PATCH 13/19] gnu: Add python-pocketsphinx.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
C6e8rIo2_W7l36gAQM870V3OZ-Y9rBXO50bBab4rG4KysCdhwjTKxppQQWOagEgv3gLe6GGHyOJsWgrEZ71bqC-VSrxpfgzTEAV6dguLfaI=@protonmail.com
* gnu/packages/python-xyz.scm (python-pocketsphinx): New variable.

Toggle diff (49 lines)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index a7a3443707..5f9967ba0e 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -45,14 +45,44 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages swig)
#:use-module (gnu packages time)
#:use-module (gnu packages python-science)
#:use-module (gnu packages graph))

+(define-public python-pocketsphinx
+ (package
+ (name "python-pocketsphinx")
+ (version "0.1.15")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bambocher/pocketsphinx-python")
+ (recursive? #t)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "18i1jw9138ldxigfcjz6rk9z2c2wc2ng2zdnkzippv45d5izkdz8"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("swig" ,swig)))
+ (propagated-inputs
+ `(("pulseaudio" ,pulseaudio)
+ ("alsa-lib" ,alsa-lib)))
+ (home-page "https://github.com/bambocher/pocketsphinx-python")
+ (synopsis "Python interface to CMU Sphinxbase and Pocketsphinx libraries")
+ (description "Python interface to CMU Sphinxbase and Pocketsphinx libraries")
+ (license license:bsd-3)))
+
(define-public python-sphinx
(package
(name "python-sphinx")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 21:04
[PATCH 14/19] gnu: Add python-gtts.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
k2qw9zW5ZxTsP9Fcdc5GZTAB8vMzZpVmmqW5PvwDbfZD8O7x6ZxDnuFAAAisjEXEIjOkHN-eA6C6royUJqZW71--_hI-CoOhHa7j4QnG9p0=@protonmail.com
* gnu/packages/python-xyz.scm (python-gtts): New variable.

Toggle diff (42 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5c068ee17b..46e5c2522d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16371,6 +16371,37 @@ A GraphQL schema describes your data model, and provides a GraphQL server
with an associated set of resolve methods that know how to fetch data.")
(license license:expat)))

+(define-public python-gtts
+ (package
+ (name "python-gtts")
+ (version "2.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "gTTS" version))
+ (sha256
+ (base32
+ "03qah9gxhx8m6apviqyffay2dpijm2k5h88ikzgndyvs6zc18dxm"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-flake8" ,python-flake8)
+ ("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-six" ,python-six)
+ ("python-testfixtures" ,python-testfixtures)))
+ (propagated-inputs
+ `(("python-click" ,python-click)
+ ("python-requests" ,python-requests)
+ ("python-six" ,python-six)))
+ (home-page "https://github.com/pndurette/gTTS")
+ (synopsis
+ "Python interface to Google Translate text-to-speech API")
+ (description
+ "Python library and CLI tool to interface with Google Translate
+text-to-speech API")
+ (license license:expat)))
+
(define-public python-nautilus
(package
(name "python-nautilus")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 21:11
[PATCH 16/19] gnu: Add python-mycroft-messagebus-client.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
ObdpmSNIqwUcT3brbgrBtykw20eitqv1O1SMdLtFij2H3TWt4hhxY18zpehFflUz8DQn_xh8BsRde0GAsxmkN31j2eOfDJw0H9xb5V5j7Hk=@protonmail.com
* gnu/packages/python-xyz.scm (python-mycroft-messagebus-client): New variable.

Toggle diff (34 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 60d597677a..84ad0ae37a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -20700,6 +20700,29 @@ working with iterables.")
(propagated-inputs
`(("python2-six" ,python2-six-bootstrap)))))

+(define-public python-mycroft-messagebus-client
+ (package
+ (name "python-mycroft-messagebus-client")
+ (version "0.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mycroft-messagebus-client" version))
+ (sha256
+ (base32
+ "0dvzq1rnpg88bzz9dp5275fvw4jrr8wdfgdl3bbz81zhxnp151ih"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pyee" ,python-pyee)
+ ("python-websocket-client"
+ ,python-websocket-client)))
+ (home-page "https://github.com/MycroftAI/mycroft-messagebus-client")
+ (synopsis "Mycroft Messagebus Client")
+ (description "This module provides simple interface for the mycroft
+messagebus and can be used to connect to mycroft, send messages and react
+to messages sent by the Mycroft system.")
+ (license license:asl2.0)))
+
(define-public python-latexcodec
(package
(name "python-latexcodec")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 21:11
[PATCH 17/19] gnu: Add mycroft-mimic.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
WLX8HQlBfclOByucU1qDOH9aaRjeGCOqxwYhzLPulq9Fa533g37M_T6VZOtCoiNFlMoQ3G242cgcxeadZuWEl4g-biU1yxCCjyQfm_tTVUo=@protonmail.com
* gnu/packages/speech.scm (mycroft-mimic): New variable.

Toggle diff (57 lines)
diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
index cbc46b32b4..78694362e8 100644
--- a/gnu/packages/speech.scm
+++ b/gnu/packages/speech.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
+;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,6 +46,7 @@
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
@@ -237,6 +239,36 @@ efficiency through the use of a compact vector representation of n-grams.")
(home-page "https://github.com/mitlm/mitlm")
(license license:expat)))

+(define-public mycroft-mimic
+ (package
+ (name "mycroft-mimic")
+ (version "1.3.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/MycroftAI/mimic1")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1agwgby9ql8r3x5rd1rgx3xp9y4cdg4pi3kqlz3vanv9na8nf3id"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("libtool" ,libtool)
+ ("automake" ,automake)
+ ("autoconf" ,autoconf)))
+ (inputs `(("alsa-lib" ,alsa-lib)
+ ("pcre2" ,pcre2)))
+ (synopsis "Mycroft's TTS engine, based on CMU's Flite (Festival Lite)")
+ (description "Mimic is a fast, lightweight Text-to-speech engine developed
+by Mycroft A.I. and VocaliD, based on Carnegie Mellon University’s Flite
+(Festival-Lite) software. Mimic takes in text and reads it out loud to create
+a high quality voice.")
+ (home-page "https://github.com/MycroftAI/mimic1")
+ (license #f)))
+
(define-public speech-dispatcher
(package
(name "speech-dispatcher")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 21:12
[PATCH 18/19] gnu: Add python-speech-recognition.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
OLTAlbo157362lWZtknIgkP9--YAJrA2beRYmTUcnnuWO_qYgsOXg3-L21FWY-vweCwkmymYbCk2kc20eUgrcyYR464JaV-W62anREDd73Y=@protonmail.com
* gnu/packages/python-xyz.scm (python-speech-recognition): New variable.

Toggle diff (36 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 84ad0ae37a..0af13a0423 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5340,6 +5340,31 @@ color scales, and color space conversion easy. It has support for:
(define-public python2-spectra
(package-with-python2 python-spectra))

+(define-public python-speech-recognition
+ (package
+ (name "python-speech-recognition")
+ (version "3.8.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Uberi/speech_recognition")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1lq6g4kl3y1b4ch3b6wik7xy743x6pp5iald0jb9zxqgyxy1zsz4"))))
+ (build-system python-build-system)
+ (arguments
+ ;; Attempts to aquire sound card
+ '(#:tests? #f))
+ (inputs `(("python-pyaudio" ,python-pyaudio)))
+ (home-page "https://github.com/Uberi/speech_recognition")
+ (synopsis "Speech recognition module for Python")
+ (description "Library for performing speech recognition, with support for
+several engines and APIs, online and offline.")
+ (license license:bsd-2)))
+
(define-public python-pyspnego
(package
(name "python-pyspnego")
--
2.32.0
P
P
phodina wrote on 18 Sep 2021 21:12
[PATCH 19/19] gnu: Add python-mycroft-core.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
A7GxbtyWR9aUbxxsQL7CIU5ur19weZRZS6ciUPXLtRMOsXEmeGBRqQEbXHMTUxk8IGTeXt-fVsmIQyQ1am_yTmnJPpfmALNpNKzIjxRt4Co=@protonmail.com
* gnu/packages/python-xyz.scm (python-mycroft-core): New variable.

Toggle diff (100 lines)
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
P
P
phodina wrote on 18 Sep 2021 21:16
[PATCH 02/19] gnu: Add python-pyee.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
F908h1zgGnHxigNPvfWOgc8OgVgxG_4Ezz_ikPC5S1crMSPh9KH09zxDaAEPfqkvVC82JkV1vwnjgQR1bHb_mNJIiQA7PYrDe-hOhq3jxQ0=@protonmail.com
This is the second patch. I unfortunately mismanaged the numbering during rebase operation. If necessary I can send the patches again or if you wrap your head around that here's the order:

0001-gnu-Add-python-requests-futures.patch
0002-gnu-Add-python-pyee.patch
0003-gnu-Add-python-fann2.patch
0004-gnu-Add-python-padaos.patch
0005-gnu-Add-python-precise-runner.patch
0006-gnu-Add-python-petact.patch
0007-gnu-Add-python-padatious.patch
0008-gnu-Add-python-lazy.patch
0009-gnu-Add-python-pako.patch
0010-gnu-Add-python-adapt-parser.patch
0011-gnu-Add-python-msm.patch
0012-gnu-Add-python-msk.patch
0013-gnu-Add-python-lingua-franca.patch
0014-gnu-Add-python-pocketsphinx.patch
0015-gnu-Add-python-gtts.patch
0016-gnu-Add-python-mycroft-messagebus-client.patch
0017-gnu-Add-mycroft-mimic.patch
0018-gnu-Add-python-speech-recognition.patch
0019-gnu-Add-python-mycroft-core.patch

Sorry for that :-)

Toggle snippet (44 lines)
* gnu/packages/python-xyz.scm (python-pyee): New variable.

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d108389aef..c2527e915f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16446,6 +16446,33 @@ Record Format (DWARF).")
(define-public python2-pyev
(package-with-python2 python-pyev))

+(define-public python-pyee
+ (package
+ (name "python-pyee")
+ (version "8.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyee" version))
+ (sha256
+ (base32
+ "0cgxbdr4zmil03wwr5fv58789i51gka8a9fxm1dgkf5xs9dwrnlj"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest-trio" ,python-pytest-trio)
+ ("python-pytest-asyncio" ,python-pytest-asyncio)
+ ("python-pytest-runner" ,python-pytest-runner)
+ ("python-pytest" ,python-pytest)
+ ("python-mock" ,python-mock)))
+ (propagated-inputs
+ `(("python-vcversioner" ,python-vcversioner)
+ ("python-twisted" ,python-twisted)
+ ("python-trio" ,python-trio)))
+ (home-page "https://github.com/jfhbrook/pyee")
+ (synopsis "Port of node.js's EventEmitter to python")
+ (description "Provides a port of node.js's EventEmitter to python.")
+ (license license:expat)))
+
(define-public python-imagesize
(package
(name "python-imagesize")
--
2.32.0
P
P
phodina wrote on 8 Dec 2021 12:48
Add Mycroft - Voice Assistant
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
NCAS0Ded6IK9Wh8T21xbxm7w9sEFdV6MSO5JfW39o1jYoIyzKlOAJwg56n_8vOUuL4hhkKmwPPB8RlH-XNEXRBsnYQWiRWXFaoLtnx8b8YY=@protonmail.com
Hi,

I've rebased the patch set and updated the package definitions.

The aim of this patch set is to bring in the MyCroft - private and open Voice Assistant.

----
Petr
From 247ec26f040f9d6237b9ab28bd7a4acf6da8c8a7 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:15:41 +0200
Subject: [PATCH 01/20] gnu: Add python-requests-futures.

* gnu/packages/python-xyz.scm (python-requests-futures): New variable.

Toggle diff (35 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 81b99e1d2e..23fa409e1a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -21936,6 +21936,28 @@ (define-public python-requests-file
(define-public python2-requests-file
(package-with-python2 python-requests-file))
+(define-public python-requests-futures
+ (package
+ (name "python-requests-futures")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "requests-futures" version))
+ (sha256
+ (base32
+ "0j611g1wkn98qp2b16kqz7lfz29a153jyfm02r3h8n0rpw17am1m"))))
+ (build-system python-build-system)
+ (arguments
+ ;; The test tries to open a connection to a remote server.
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("python-requests" ,python-requests)))
+ (home-page "https://github.com/ross/requests-futures")
+ (synopsis "Asynchronous Python HTTP for Humans")
+ (description "Asynchronous Python HTTP for Humans.")
+ (license license:asl2.0)))
+
(define-public python-identify
(package
(name "python-identify")
--
2.34.0
From 31f15387f18a9e50cf8df030230636bec968cbad Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:19:21 +0200
Subject: [PATCH 02/20] gnu: Add python-pyee.

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

Toggle diff (40 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 23fa409e1a..c6775cf522 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17363,6 +17363,33 @@ (define-public python-pyev
(define-public python2-pyev
(package-with-python2 python-pyev))
+(define-public python-pyee
+ (package
+ (name "python-pyee")
+ (version "8.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyee" version))
+ (sha256
+ (base32
+ "0cgxbdr4zmil03wwr5fv58789i51gka8a9fxm1dgkf5xs9dwrnlj"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest-trio" ,python-pytest-trio)
+ ("python-pytest-asyncio" ,python-pytest-asyncio)
+ ("python-pytest-runner" ,python-pytest-runner)
+ ("python-pytest" ,python-pytest)
+ ("python-mock" ,python-mock)))
+ (propagated-inputs
+ `(("python-vcversioner" ,python-vcversioner)
+ ("python-twisted" ,python-twisted)
+ ("python-trio" ,python-trio)))
+ (home-page "https://github.com/jfhbrook/pyee")
+ (synopsis "Port of node.js's EventEmitter to python")
+ (description "Provides a port of node.js's EventEmitter to python.")
+ (license license:expat)))
+
(define-public python-imagesize
(package
(name "python-imagesize")
--
2.34.0
From 953d8b2c5d353e63c1bd7a1ebfa8be6a5a4e9aa0 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:38:01 +0200
Subject: [PATCH 11/20] gnu: Add python-msm.

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

Toggle diff (47 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 426295844a..23f111092e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -151,6 +151,7 @@ (define-module (gnu packages python-xyz)
#:use-module (gnu packages enchant)
#:use-module (gnu packages file)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages geo)
#:use-module (gnu packages ghostscript)
@@ -10787,6 +10788,32 @@ (define-public python-msgpack-transitional
(define-public python2-msgpack
(package-with-python2 python-msgpack))
+(define-public python-msm
+ (package
+ (name "python-msm")
+ (version "0.8.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "msm" version))
+ (sha256
+ (base32
+ "00z588imq7q33iv3hn83mf2cyqrbs5f6zzyfa6445ainxvskkzz2"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-fasteners" ,python-fasteners)
+ ("python-gitpython" ,python-gitpython)
+ ("python-lazy" ,python-lazy)
+ ("python-pako" ,python-pako)
+ ("python-pyxdg" ,python-pyxdg)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-requests" ,python-requests)))
+ (home-page "https://github.com/MycroftAI/mycroft-skills-manager")
+ (synopsis "Mycroft Skills Manager")
+ (description "Command line tool for interacting with the mycroft-skills
+repository.")
+ (license license:asl2.0)))
+
(define-public python-netaddr
(package
(name "python-netaddr")
--
2.34.0
From 1a6a90388fa2b114ce62f7df3b04c0011679331b Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:22:48 +0200
Subject: [PATCH 03/20] gnu: Add python-fann2.

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

Toggle diff (40 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c6775cf522..6152b82b6e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -177,6 +177,7 @@ (define-module (gnu packages python-xyz)
#:use-module (gnu packages maths)
#:use-module (gnu packages monitoring)
#:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages machine-learning)
#:use-module (gnu packages networking)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages openstack)
@@ -18800,6 +18801,25 @@ (define-public python-factory-boy
(define-public python2-factory-boy
(package-with-python2 python-factory-boy))
+(define-public python-fann2
+ (package
+ (name "python-fann2")
+ (version "1.0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fann2" version))
+ (sha256
+ (base32
+ "17zv6hbq26qg9jmsshx3xnnnv203fr4cyjg4v3rgq38a5i5agv2k"))))
+ (build-system python-build-system)
+ (native-inputs `(("swig" ,swig)))
+ (propagated-inputs `(("fann" ,fann)))
+ (home-page "https://github.com/FutureLinkCorporation/fann2")
+ (synopsis "Fast Artificial Neural Network Library (FANN) Python bindings")
+ (description "Provides bindings for Fast Artificial Neural Networks 2.2.0.")
+ (license license:lgpl2.1)))
+
(define-public python-translate-toolkit
(package
(name "python-translate-toolkit")
--
2.34.0
From fd95175e36583558956a8b9e508e3ccd66d12df6 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:26:12 +0200
Subject: [PATCH 06/20] gnu: Add python-petact.

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

Toggle diff (31 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 82d11f04aa..6d23941899 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9972,6 +9972,24 @@ (define-public python2-pep517
,@(package-arguments base)))
(native-inputs `()))))
+(define-public python-petact
+ (package
+ (name "python-petact")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "petact" version))
+ (sha256
+ (base32
+ "1rjh0fjimmixbvrv6znkfrfa83ndjc4pgyfyl90iwq3az120vjsx"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/matthewscholefield/petact")
+ (synopsis "Package extraction tool")
+ (description "Library used for installing and updating compressed tar
+files.")
+ (license license:expat))) ; MIT
+
(define-public python-pyflakes
(package
(name "python-pyflakes")
--
2.34.0
From b5fe6b583e1993cb4c11af033b724e39a13ca966 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:33:03 +0200
Subject: [PATCH 09/20] gnu: Add python-pako.

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

Toggle diff (33 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2b5e2a94b2..b7a816fef8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14630,6 +14630,26 @@ (define-public python-padatious
(description "A neural network intent parser")
(license license:asl2.0)))
+(define-public python-pako
+ (package
+ (name "python-pako")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pako" version))
+ (sha256
+ (base32
+ "07r3f86idlxb2x2mvy24fzkxyq5xalkbmk0zmqva7341pdrs0cy0"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-appdirs" ,python-appdirs)))
+ (home-page "https://github.com/MycroftAI/pako")
+ (synopsis "The universal package manager library")
+ (description
+ "Provides unified way to handle native universal package manager.")
+ (license license:asl2.0)))
+
(define-public python2-pathlib2
(package
(name "python2-pathlib2")
--
2.34.0
From 02ce61ca029307e35509496281470eaa0a4ab14e Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:29:42 +0200
Subject: [PATCH 07/20] gnu: Add python-padatious.

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

Toggle diff (42 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6d23941899..d36eb615fd 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -144,6 +144,7 @@ (define-module (gnu packages python-xyz)
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
+ #:use-module (gnu packages digest)
#:use-module (gnu packages django)
#:use-module (gnu packages djvu)
#:use-module (gnu packages docker)
@@ -14608,6 +14609,27 @@ (define-public python-padaos
is a single compiled regex matcher.")
(license license:expat)))
+(define-public python-padatious
+ (package
+ (name "python-padatious")
+ (version "0.4.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "padatious" version))
+ (sha256
+ (base32
+ "0xbgf75kxclacgairid8m948hrrngcxhykr1wkvav32fp58z4wg4"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-fann2" ,python-fann2)
+ ("python-padaos" ,python-padaos)
+ ("python-xxhash" ,python-xxhash)))
+ (home-page "https://github.com/MycroftAI/padatious")
+ (synopsis "Neural network intent parser")
+ (description "A neural network intent parser")
+ (license license:asl2.0)))
+
(define-public python2-pathlib2
(package
(name "python2-pathlib2")
--
2.34.0
From 8ce1a3a51e000672e9aa45e52d934e02a0a78dad Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:32:07 +0200
Subject: [PATCH 08/20] gnu: Add python-lazy.

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

Toggle diff (35 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d36eb615fd..2b5e2a94b2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16095,6 +16095,28 @@ (define-public python-typing-inspect
inspection of types defined in the Python standard typing module.")
(license license:expat)))
+(define-public python-lazy
+ (package
+ (name "python-lazy")
+ (version "1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference ; pypi release link leads to project page
+ (url "https://github.com/stefanholek/lazy")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1y3y35jr0nnfh32zgdrb4r4sf9v8k36j07z2m0g6kz7bf3azsgc5"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/stefanholek/lazy")
+ (synopsis "Lazy attributes for Python objects")
+ (description "Provides lazy attributes that are evaluated only once,
+the first time they are used. Subsequent uses return the results of the first
+call.")
+ (license license:bsd-2)))
+
(define-public python-lazy-object-proxy
(package
(name "python-lazy-object-proxy")
--
2.34.0
From c215af1ee2de09a03e87bf908c3e4ebac5174ce3 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:36:26 +0200
Subject: [PATCH 12/20] gnu: Add python-msk.

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

Toggle diff (37 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 23f111092e..39c6741d2f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10788,6 +10788,30 @@ (define-public python-msgpack-transitional
(define-public python2-msgpack
(package-with-python2 python-msgpack))
+(define-public python-msk
+ (package
+ (name "python-msk")
+ (version "0.3.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "msk" version))
+ (sha256
+ (base32
+ "11zf2s5wdglzki2r05plx6j9gykwvbpdn8fbr3fnjz4g0vy1g9y6"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-colorama" ,python-colorama)
+ ("python-gitpython" ,python-gitpython)
+ ("python-msm" ,python-msm)
+ ("python-pygithub" ,python-pygithub)
+ ("python-requests" ,python-requests)))
+ (home-page "https://github.com/MycroftAI/mycroft-skills-kit")
+ (synopsis "Mycroft Skills Kit")
+ (description "Tool to help with creating, uploading, and upgrading Mycroft
+skills.")
+ (license license:asl2.0)))
+
(define-public python-msm
(package
(name "python-msm")
--
2.34.0
From c716eba3bcb200935ade8022e6c9b6accd168cc0 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:38:54 +0200
Subject: [PATCH 13/20] gnu: Add python-lingua-franca.

* gnu/packages/python-xyz.scm (python-lingua-franca): New variable.

Toggle diff (42 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 39c6741d2f..527cf80903 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -20308,6 +20308,35 @@ (define-public python-linecache2
(define-public python2-linecache2
(package-with-python2 python-linecache2))
+(define-public python-lingua-franca
+ (package
+ (name "python-lingua-franca")
+ (version "0.4.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/MycroftAI/lingua-franca")
+ (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.txt"
+ (("python-dateutil==") "python-dateutil>="))
+ #t))
+ (sha256
+ (base32
+ "1wx1c8a2k9155z74113yn1xcs6y0zljbgan2pbbmzsvki8m0z6jn"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-dateutil" ,python-dateutil)))
+ (home-page "https://github.com/MycroftAI/lingua-franca")
+ (synopsis "Mycroft's multilingual text parsing and formatting library")
+ (description "Converts data into spoken equivalents.")
+ (license license:asl2.0)))
+
(define-public python-traceback2
(package
(name "python-traceback2")
--
2.34.0
From 12160ba8d72c6a5738bca7cc7f2f92ea95548f49 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 20:35:12 +0200
Subject: [PATCH 17/20] gnu: Add mycroft-mimic.

* gnu/packages/speech.scm (mycroft-mimic): New variable.

Toggle diff (59 lines)
diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
index cbc46b32b4..ad073322cf 100644
--- a/gnu/packages/speech.scm
+++ b/gnu/packages/speech.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
+;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,6 +46,7 @@ (define-module (gnu packages speech)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
@@ -237,6 +239,36 @@ (define-public mitlm
(home-page "https://github.com/mitlm/mitlm")
(license license:expat)))
+(define-public mycroft-mimic
+ (package
+ (name "mycroft-mimic")
+ (version "1.3.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/MycroftAI/mimic1")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1agwgby9ql8r3x5rd1rgx3xp9y4cdg4pi3kqlz3vanv9na8nf3id"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("libtool" ,libtool)
+ ("automake" ,automake)
+ ("autoconf" ,autoconf)))
+ (inputs `(("alsa-lib" ,alsa-lib)
+ ("pcre2" ,pcre2)))
+ (synopsis "Mycroft's TTS engine, based on CMU's Flite (Festival Lite)")
+ (description "Mimic is a fast, lightweight Text-to-speech engine developed
+by Mycroft A.I. and VocaliD, based on Carnegie Mellon University’s Flite
+(Festival-Lite) software. Mimic takes in text and reads it out loud to create
+a high quality voice.")
+ (home-page "https://github.com/MycroftAI/mimic1")
+ (license license:asl2.0)))
+
(define-public speech-dispatcher
(package
(name "speech-dispatcher")
--
2.34.0
From 3f5b3fde4527c04c40aab777696061a424b31f09 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:21:07 +0200
Subject: [PATCH 20/20] gnu: Add python-mycroft-core.

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

Toggle diff (101 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 992c6fbd1b..e236b170c2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -206,6 +206,7 @@ (define-module (gnu packages python-xyz)
#: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)
@@ -21685,6 +21686,86 @@ (define-public python2-more-itertools
(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))
+ (sha256
+ (base32
+ "1v5yb48y3zr4s0cgkid8y1zsi6x1wrhy1jfb9axzi090ammgy700"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-requirements
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Use newer version of pkg
+ (substitute* "requirements/requirements.txt"
+ (("mycroft-messagebus-client==") "mycroft-messagebus-client>=")
+ (("tornado==") "tornado>=")
+ (("pyserial==") "pyserial>=")
+ (("psutil==") "psutil>=")
+ (("padaos==") "padaos>=")
+ (("precise-runner==") "precise-runner>=")
+ (("pocketsphinx==") "pocketsphinx>=")
+ (("python-dateutil==") "python-dateutil>=")
+ (("fasteners==") "fasteners>=")
+ (("requests-futures==") "requests-futures>=")
+ (("pillow==") "pillow>=")
+ (("PyYAML==5.4") "PyYAML>=5.3.1")
+ (("pyxdg==") "pyxdg>="))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (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.34.0
From 135d4b404bb00b10e27a9c464126d4fa02402758 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:23:50 +0200
Subject: [PATCH 04/20] gnu: Add python-padaos.

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

Toggle diff (31 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6152b82b6e..fd3a2e1b75 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14571,6 +14571,24 @@ (define-public python-pathlib
(define-public python2-pathlib
(package-with-python2 python-pathlib))
+(define-public python-padaos
+ (package
+ (name "python-padaos")
+ (version "0.1.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "padaos" version))
+ (sha256
+ (base32
+ "0wkd6p3ggf3ffsg3j47fgfcfmmj5k7h5rak88mbkr1r6r35mzh1a"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/MycroftAI/padaos")
+ (synopsis "Rigid, lightweight, dead-simple intent parser")
+ (description "Converts sentences into one big chunk of regex. Each intent
+is a single compiled regex matcher.")
+ (license license:expat)))
+
(define-public python2-pathlib2
(package
(name "python2-pathlib2")
--
2.34.0
From 31ec8ea31331f55fae43bf2f0689be7db91e2de5 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 20:29:15 +0200
Subject: [PATCH 15/20] gnu: Add python-gtts.

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

Toggle diff (42 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 527cf80903..e70e21beaa 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17289,6 +17289,35 @@ (define-public python-graphene
with an associated set of resolve methods that know how to fetch data.")
(license license:expat)))
+(define-public python-gtts
+ (package
+ (name "python-gtts")
+ (version "2.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "gTTS" version))
+ (sha256
+ (base32
+ "0g467h1501kxw4zniym03xkz3766bdp6j2j5l04p11ki4h8smkw8"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-flake8" ,python-flake8)
+ ("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-six" ,python-six)
+ ("python-testfixtures" ,python-testfixtures)))
+ (propagated-inputs
+ `(("python-click" ,python-click)
+ ("python-requests" ,python-requests)
+ ("python-six" ,python-six)))
+ (home-page "https://github.com/pndurette/gTTS")
+ (synopsis "Python interface to Google Translate text-to-speech API")
+ (description "Python library and CLI tool to interface with Google Translate
+text-to-speech API")
+ (license license:expat)))
+
(define-public python-nautilus
(package
(name "python-nautilus")
--
2.34.0
From d567ad4e5d7f36704fc6241ae0a6791355dbf09b Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:40:47 +0200
Subject: [PATCH 14/20] gnu: Add python-pocketsphinx.

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

Toggle diff (51 lines)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index a7a3443707..acab5c1178 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -45,14 +45,44 @@ (define-module (gnu packages sphinx)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages swig)
#:use-module (gnu packages time)
#:use-module (gnu packages python-science)
#:use-module (gnu packages graph))
+(define-public python-pocketsphinx
+ (package
+ (name "python-pocketsphinx")
+ (version "0.1.15")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bambocher/pocketsphinx-python")
+ (recursive? #t)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "18i1jw9138ldxigfcjz6rk9z2c2wc2ng2zdnkzippv45d5izkdz8"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("swig" ,swig)))
+ (propagated-inputs
+ `(("pulseaudio" ,pulseaudio)
+ ("alsa-lib" ,alsa-lib)))
+ (home-page "https://github.com/bambocher/pocketsphinx-python")
+ (synopsis "Python interface to CMU Sphinxbase and Pocketsphinx libraries")
+ (description "Python interface to CMU Sphinxbase and Pocketsphinx libraries")
+ (license license:bsd-3)))
+
(define-public python-sphinx
(package
(name "python-sphinx")
--
2.34.0
From 3ca8914bb993b6e23ffcd5836d932d9003a6d7b0 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sat, 18 Sep 2021 18:44:39 +0200
Subject: [PATCH 18/20] gnu: Add python-speech-recognition.

* gnu/packages/python-xyz.scm (python-speech-recognition): New variable.

Toggle diff (38 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index eb902b95a2..03f734169d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5631,6 +5631,31 @@ (define-public python-spectra
(define-public python2-spectra
(package-with-python2 python-spectra))
+(define-public python-speech-recognition
+ (package
+ (name "python-speech-recognition")
+ (version "3.8.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Uberi/speech_recognition")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1lq6g4kl3y1b4ch3b6wik7xy743x6pp5iald0jb9zxqgyxy1zsz4"))))
+ (build-system python-build-system)
+ (arguments
+ ;; Attempts to aquire sound card
+ '(#:tests? #f))
+ (inputs `(("python-pyaudio" ,python-pyaudio)))
+ (home-page "https://github.com/Uberi/speech_recognition")
+ (synopsis "Speech recognition module for Python")
+ (description "Library for performing speech recognition, with support for
+several engines and APIs, online and offline.")
+ (license license:bsd-2)))
+
(define-public python-pyspnego
(package
(name "python-pyspnego")
--
2.34.0
From b7494794d545306bb61a6976d0618e47d2c3a366 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:17:21 +0200
Subject: [PATCH 16/20] gnu: Add python-mycroft-messagebus-client.

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

Toggle diff (36 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e70e21beaa..eb902b95a2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -21660,6 +21660,29 @@ (define-public python2-more-itertools
(propagated-inputs
`(("python2-six" ,python2-six-bootstrap)))))
+(define-public python-mycroft-messagebus-client
+ (package
+ (name "python-mycroft-messagebus-client")
+ (version "0.9.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mycroft-messagebus-client" version))
+ (sha256
+ (base32
+ "08vsamppk12a15yiv5ra6rr3x3psinsln7y06aw4abpj6cja8pgw"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pyee" ,python-pyee)
+ ("python-websocket-client"
+ ,python-websocket-client)))
+ (home-page "https://github.com/MycroftAI/mycroft-messagebus-client")
+ (synopsis "Mycroft Messagebus Client")
+ (description "This module provides simple interface for the mycroft
+messagebus and can be used to connect to mycroft, send messages and react
+to messages sent by the Mycroft system.")
+ (license license:asl2.0)))
+
(define-public python-latexcodec
(package
(name "python-latexcodec")
--
2.34.0
From 4b139255155356ef68585b794c7374f146dfc832 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:34:56 +0200
Subject: [PATCH 10/20] gnu: Add python-adapt-parser.

* gnu/packages/python-xyz.scm (python-adapt-parser): New variable.

Toggle diff (37 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b7a816fef8..426295844a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14267,6 +14267,30 @@ (define-public python-translitcodec
(define-public python2-translitcodec
(package-with-python2 python-translitcodec))
+(define-public python-adapt-parser
+ (package
+ (name "python-adapt-parser")
+ (version "0.5.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/MycroftAI/adapt")
+ (commit (string-append "release/v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08ma098saysspm7bbja8ic26lqg2bibz51bzfnifdch89r30i23n"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pyee" ,python-pyee)
+ ("python-six" ,python-six)))
+ (home-page "https://github.com/MycroftAI/adapt")
+ (synopsis "Text-to-intent parsing framework")
+ (description "Flexible and extensible way to parse natural language text
+into a structured intent.")
+ (license license:asl2.0)))
+
(define-public python-anyqt
(package
(name "python-anyqt")
--
2.34.0
From 2e87e2e4dd0cd8a8c4cd362e459004c024685c78 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:25:02 +0200
Subject: [PATCH 05/20] gnu: Add python-precise-runner.

* gnu/packages/python-xyz.scm (python-precise-runner): New variable.

Toggle diff (41 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index fd3a2e1b75..82d11f04aa 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -135,6 +135,7 @@ (define-module (gnu packages python-xyz)
#:use-module (gnu packages adns)
#:use-module (gnu packages aidc)
#:use-module (gnu packages attr)
+ #:use-module (gnu packages audio)
#:use-module (gnu packages backup)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
@@ -23094,6 +23095,26 @@ (define-public python-precis-i18n
RFC 8265 and RFC 8266.")
(license license:expat)))
+(define-public python-precise-runner
+ (package
+ (name "python-precise-runner")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "precise-runner" version))
+ (sha256
+ (base32
+ "03dqjvw0mafxs5hakhvb3ah8f157n8632a54spss7w2bzc4l4ihs"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pyaudio" ,python-pyaudio)))
+ (home-page "https://github.com/MycroftAI/mycroft-precise")
+ (synopsis "Wrapper to use Mycroft Precise Wake Word Listener")
+ (description "Audio stream monitoring wrapper which triggers an event when
+it recognizes a specific phrase.")
+ (license license:asl2.0)))
+
(define-public python-absl-py
(package
(name "python-absl-py")
--
2.34.0
From a5466aab965cce20c7b490af7b98628769cba239 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Wed, 8 Dec 2021 12:44:47 +0100
Subject: [PATCH 19/20] gnu: python-pillow: Update to 8.4.0.

* gnu/packages/python-xyz.scm (python-pillow): Update to 8.4.0.

Toggle diff (23 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 03f734169d..992c6fbd1b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7018,14 +7018,14 @@ (define-public python-pikepdf
(define-public python-pillow
(package
(name "python-pillow")
- (version "8.1.1")
+ (version "8.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Pillow" version))
(sha256
(base32
- "086g7nhv52wclrwnzbzs2x3nvyzs2hfq1bvgivsrp5f7r7wiiz7n"))))
+ "1vbn66rlzpqfvbca569wdvxzp7biwcnqajs674694hg1aqygiqmq"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
--
2.34.0
M
M
Morgan Smith wrote on 30 Dec 2021 09:12
control message for bug #50663
(address . control@debbugs.gnu.org)
BYAPR05MB4023F8D5B3C698DB921E7B79C5459@BYAPR05MB4023.namprd05.prod.outlook.com
retitle 50663 [PATCH] gnu: Add Mycroft Voice Assistant
quit
N
N
Nicolas Goaziou wrote on 24 Jan 2022 23:45
Re: [bug#50663] Add Mycroft - Voice Assistant
(name . phodina via Guix-patches via)(address . guix-patches@gnu.org)
87r18wbvnq.fsf@nicolasgoaziou.fr
Hello,

phodina via Guix-patches via <guix-patches@gnu.org> writes:

Toggle quote (3 lines)
> The aim of this patch set is to bring in the MyCroft - private and
> open Voice Assistant.

Thank you.

I fixed some descriptions, removed labels from inputs, fixed compilation
with GCC 10 (for Mimic). Then I tried to apply the patch set. Alas
Mycroft core fails to build. You may want to have a look at it.

I'm sending back the updated patches to you, if that helps.

Regards,
--
Nicolas Goaziou
From a8e11183ad26ec2bc601c5a4e8265a10ce52948e Mon Sep 17 00:00:00 2001
Message-Id: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:15:41 +0200
Subject: [PATCH v2 01/19] gnu: Add python-requests-futures.

* gnu/packages/python-xyz.scm (python-requests-futures): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8bd5f655ba..4500121e10 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -22223,6 +22223,29 @@ (define-public python-requests-file
(define-public python2-requests-file
(package-with-python2 python-requests-file))
+(define-public python-requests-futures
+ (package
+ (name "python-requests-futures")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "requests-futures" version))
+ (sha256
+ (base32
+ "0j611g1wkn98qp2b16kqz7lfz29a153jyfm02r3h8n0rpw17am1m"))))
+ (build-system python-build-system)
+ (arguments
+ ;; The test tries to open a connection to a remote server.
+ `(#:tests? #f))
+ (propagated-inputs
+ (list python-requests))
+ (home-page "https://github.com/ross/requests-futures")
+ (synopsis "Asynchronous Python HTTP for humans")
+ (description "This package is a small add-on for the Python Requests HTTP
+library. It makes use of @code{concurrent.futures}.")
+ (license license:asl2.0)))
+
(define-public python-identify
(package
(name "python-identify")
--
2.34.0
From f0b3d8e874ec2bba9851166bfa27cf34ca1a53fe Mon Sep 17 00:00:00 2001
Message-Id: <f0b3d8e874ec2bba9851166bfa27cf34ca1a53fe.1643064268.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:19:21 +0200
Subject: [PATCH v2 02/19] gnu: Add python-pyee.

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

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4500121e10..2e90f540f4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17733,6 +17733,31 @@ (define-public python-pyev
(define-public python2-pyev
(package-with-python2 python-pyev))
+(define-public python-pyee
+ (package
+ (name "python-pyee")
+ (version "8.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyee" version))
+ (sha256
+ (base32
+ "0cgxbdr4zmil03wwr5fv58789i51gka8a9fxm1dgkf5xs9dwrnlj"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list python-pytest-trio python-pytest-asyncio python-pytest-runner
+ python-pytest python-mock))
+ (propagated-inputs
+ (list python-vcversioner python-twisted python-trio))
+ (home-page "https://github.com/jfhbrook/pyee")
+ (synopsis "Port of Node.js's EventEmitter to Python")
+ (description "Pyee supplies a @code{EventEmitter} object that is similar
+to the @code{EventEmitter} class from Node.js. It also supplies a number of
+subclasses with added support for async and threaded programming in Python,
+such as async/await.")
+ (license license:expat)))
+
(define-public python-imagesize
(package
(name "python-imagesize")
--
2.34.0
From 599b00e8f24ebaa8951e9510f9c2956b732dad1b Mon Sep 17 00:00:00 2001
Message-Id: <599b00e8f24ebaa8951e9510f9c2956b732dad1b.1643064268.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 24 Jan 2022 15:56:57 +0100
Subject: [PATCH v2 03/19] gnu: Add python-fann2.

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

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2e90f540f4..f05827a1a4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -177,6 +177,7 @@ (define-module (gnu packages python-xyz)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
+ #:use-module (gnu packages machine-learning)
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages maths)
@@ -19134,6 +19135,25 @@ (define-public python-factory-boy
current test, while only declaring the test-specific fields")
(license license:expat)))
+(define-public python-fann2
+ (package
+ (name "python-fann2")
+ (version "1.0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fann2" version))
+ (sha256
+ (base32
+ "17zv6hbq26qg9jmsshx3xnnnv203fr4cyjg4v3rgq38a5i5agv2k"))))
+ (build-system python-build-system)
+ (native-inputs (list swig))
+ (propagated-inputs (list fann))
+ (home-page "https://github.com/FutureLinkCorporation/fann2")
+ (synopsis "Fast Artificial Neural Network library (FANN) Python bindings")
+ (description "This package provides Python bindings for Fast Artificial
+Neural Networks (FANN) 2.2.0.")
+ (license license:lgpl2.1)))
(define-public python-translate-toolkit
(package
(name "python-translate-toolkit")
--
2.34.0
From 5abc0b770c771b54ed7fb90ef36ebee76391a3cc Mon Sep 17 00:00:00 2001
Message-Id: <5abc0b770c771b54ed7fb90ef36ebee76391a3cc.1643064268.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:23:50 +0200
Subject: [PATCH v2 04/19] gnu: Add python-padaos.

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

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f05827a1a4..c1ea6c47f6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15040,6 +15040,27 @@ (define-public python-pathlib
(define-public python2-pathlib
(package-with-python2 python-pathlib))
+(define-public python-padaos
+ (package
+ (name "python-padaos")
+ (version "0.1.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "padaos" version))
+ (sha256
+ (base32
+ "0wkd6p3ggf3ffsg3j47fgfcfmmj5k7h5rak88mbkr1r6r35mzh1a"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/MycroftAI/padaos")
+ (synopsis "Rigid, lightweight, simple intent parser")
+ (description "To deploy an intent parser into production with an automated
+feedback loop, it's essential that the new data doesn't interfere with the old
+data. It's also necessary that the parser can learn from sentences that
+closely match written English (or any other language). That's what Padaos
+does.")
+ (license license:expat)))
+
(define-public python2-pathlib2
(package
(name "python2-pathlib2")
--
2.34.0
From 048e7f578828ac84944de827d06d0538434aea70 Mon Sep 17 00:00:00 2001
Message-Id: <048e7f578828ac84944de827d06d0538434aea70.1643064268.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:25:02 +0200
Subject: [PATCH v2 05/19] gnu: Add python-precise-runner.

* gnu/packages/python-xyz.scm (python-precise-runner): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c1ea6c47f6..25c10752e6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -139,6 +139,7 @@ (define-module (gnu packages python-xyz)
#:use-module (gnu packages adns)
#:use-module (gnu packages aidc)
#:use-module (gnu packages attr)
+ #:use-module (gnu packages audio)
#:use-module (gnu packages backup)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
@@ -23378,6 +23379,27 @@ (define-public python-precis-i18n
RFC 8265 and RFC 8266.")
(license license:expat)))
+(define-public python-precise-runner
+ (package
+ (name "python-precise-runner")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "precise-runner" version))
+ (sha256
+ (base32
+ "03dqjvw0mafxs5hakhvb3ah8f157n8632a54spss7w2bzc4l4ihs"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-pyaudio))
+ (home-page "https://github.com/MycroftAI/mycroft-precise")
+ (synopsis "Wrapper to use Mycroft Precise Wake Word Listener")
+ (description "Precise is a wake word listener. The software monitors an
+audio stream---usually a microphone---and when it recognizes a specific phrase
+it triggers an event.")
+ (license license:asl2.0)))
+
(define-public python-absl-py
(package
(name "python-absl-py")
--
2.34.0
From bdb397ea8b48a8de193482f0394a8f6ddda2d0f4 Mon Sep 17 00:00:00 2001
Message-Id: <bdb397ea8b48a8de193482f0394a8f6ddda2d0f4.1643064268.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:26:12 +0200
Subject: [PATCH v2 06/19] gnu: Add python-petact.

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

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 25c10752e6..9be5e77be8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10235,6 +10235,24 @@ (define-public python2-pep517
,@(package-arguments base)))
(native-inputs `()))))
+(define-public python-petact
+ (package
+ (name "python-petact")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "petact" version))
+ (sha256
+ (base32
+ "1rjh0fjimmixbvrv6znkfrfa83ndjc4pgyfyl90iwq3az120vjsx"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/matthewscholefield/petact")
+ (synopsis "Library for installing and updating compressed tar files")
+ (description "Petact is a library used for installing and updating
+compressed tar files.")
+ (license license:expat))) ; MIT
+
(define-public python-pyflakes
(package
(name "python-pyflakes")
--
2.34.0
From 96fa261f50a067a3b1e08d750bc875bd0f3055e6 Mon Sep 17 00:00:00 2001
Message-Id: <96fa261f50a067a3b1e08d750bc875bd0f3055e6.1643064268.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:29:42 +0200
Subject: [PATCH v2 07/19] gnu: Add python-padatious.

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

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 9be5e77be8..c8230030ff 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -148,6 +148,7 @@ (define-module (gnu packages python-xyz)
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
+ #:use-module (gnu packages digest)
#:use-module (gnu packages django)
#:use-module (gnu packages djvu)
#:use-module (gnu packages docker)
@@ -15080,6 +15081,26 @@ (define-public python-padaos
does.")
(license license:expat)))
+(define-public python-padatious
+ (package
+ (name "python-padatious")
+ (version "0.4.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "padatious" version))
+ (sha256
+ (base32
+ "0xbgf75kxclacgairid8m948hrrngcxhykr1wkvav32fp58z4wg4"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-fann2 python-padaos python-xxhash))
+ (home-page "https://github.com/MycroftAI/padatious")
+ (synopsis "Neural network intent parser")
+ (description "Padatious is an efficient and agile neural network intent
+parser. It is a core component of Mycroft AI.")
+ (license license:asl2.0)))
+
(define-public python2-pathlib2
(package
(name "python2-pathlib2")
--
2.34.0
From d7e819a3d0803aa8bb3a361803fa60697e60f8db Mon Sep 17 00:00:00 2001
Message-Id: <d7e819a3d0803aa8bb3a361803fa60697e60f8db.1643064268.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:32:07 +0200
Subject: [PATCH v2 08/19] gnu: Add python-lazy.

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

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c8230030ff..534aeabec2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16527,6 +16527,28 @@ (define-public python-typing-inspect
inspection of types defined in the Python standard typing module.")
(license license:expat)))
+(define-public python-lazy
+ (package
+ (name "python-lazy")
+ (version "1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference ;pypi release link leads to project page
+ (url "https://github.com/stefanholek/lazy")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1y3y35jr0nnfh32zgdrb4r4sf9v8k36j07z2m0g6kz7bf3azsgc5"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/stefanholek/lazy")
+ (synopsis "Lazy attributes for Python objects")
+ (description "This library provides lazy attributes that are evaluated
+only once, the first time they are used. Subsequent uses return the results
+of the first call.")
+ (license license:bsd-2)))
+
(define-public python-lazy-object-proxy
(package
(name "python-lazy-object-proxy")
--
2.34.0
From ffbd98650b530679b923fe67cdb209cb6a438c9d Mon Sep 17 00:00:00 2001
Message-Id: <ffbd98650b530679b923fe67cdb209cb6a438c9d.1643064268.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:33:03 +0200
Subject: [PATCH v2 09/19] gnu: Add python-pako.

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

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 534aeabec2..6f4c88a953 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15101,6 +15101,26 @@ (define-public python-padatious
parser. It is a core component of Mycroft AI.")
(license license:asl2.0)))
+(define-public python-pako
+ (package
+ (name "python-pako")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pako" version))
+ (sha256
+ (base32
+ "07r3f86idlxb2x2mvy24fzkxyq5xalkbmk0zmqva7341pdrs0cy0"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-appdirs))
+ (home-page "https://github.com/MycroftAI/pako")
+ (synopsis "Universal package manager library")
+ (description
+ "Pako provides a unified way to handle native package managers.")
+ (license license:asl2.0)))
+
(define-public python2-pathlib2
(package
(name "python2-pathlib2")
--
2.34.0
From 39abe4f0a6aefe087073d7546fffa6b22de4400e Mon Sep 17 00:00:00 2001
Message-Id: <39abe4f0a6aefe087073d7546fffa6b22de4400e.1643064269.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:34:56 +0200
Subject: [PATCH v2 10/19] gnu: Add python-adapt-parser.

* gnu/packages/python-xyz.scm (python-adapt-parser): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6f4c88a953..2706dac029 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14746,6 +14746,31 @@ (define-public python-translitcodec
(define-public python2-translitcodec
(package-with-python2 python-translitcodec))
+(define-public python-adapt-parser
+ (package
+ (name "python-adapt-parser")
+ (version "0.5.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/MycroftAI/adapt")
+ (commit (string-append "release/v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08ma098saysspm7bbja8ic26lqg2bibz51bzfnifdch89r30i23n"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-pyee python-six))
+ (home-page "https://github.com/MycroftAI/adapt")
+ (synopsis "Text-to-intent parsing framework")
+ (description "The Adapt intent parser is a flexible and extensible intent
+definition and determination framework. It is intended to parse natural
+language text into a structured intent that can then be invoked
+programatically.")
+ (license license:asl2.0)))
+
(define-public python-anyqt
(package
(name "python-anyqt")
--
2.34.0
From 10c02e7b77e51e3946fff4c1ca0f9ada154fadb7 Mon Sep 17 00:00:00 2001
Message-Id: <10c02e7b77e51e3946fff4c1ca0f9ada154fadb7.1643064269.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 24 Jan 2022 16:01:00 +0100
Subject: [PATCH v2 11/19] gnu: Add python-msm.

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

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 33 ++++++++++++++++++++++++++++++---
1 file changed, 30 insertions(+), 3 deletions(-)

Toggle diff (58 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2706dac029..aec75b3ac4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11196,6 +11196,33 @@ (define-public python-msgpack-transitional
(define-public python2-msgpack
(package-with-python2 python-msgpack))
+(define-public python-msm
+ (package
+ (name "python-msm")
+ (version "0.8.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "msm" version))
+ (sha256
+ (base32
+ "00z588imq7q33iv3hn83mf2cyqrbs5f6zzyfa6445ainxvskkzz2"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-fasteners
+ python-gitpython
+ python-lazy
+ python-pako
+ python-pyxdg
+ python-pyyaml
+ python-requests))
+ (home-page "https://github.com/MycroftAI/mycroft-skills-manager")
+ (synopsis "Mycroft skills manager")
+ (description "This package provides a command line tool for interacting
+with the Mycroft skills repository.")
+ (license license:asl2.0)))
+
+
(define-public python-netaddr
(package
(name "python-netaddr")
@@ -11205,14 +11232,14 @@ (define-public python-netaddr
(method url-fetch)
(uri (pypi-uri "netaddr" version))
(sha256
- (base32
- "0hx2npi0wnhwlcybilgwlddw6qffx1mb7a3sj4p9s7bvl33mgk6n"))))
+ (base32
+ "0hx2npi0wnhwlcybilgwlddw6qffx1mb7a3sj4p9s7bvl33mgk6n"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ;; No tests.
(home-page "https://github.com/drkjam/netaddr/")
(synopsis "Pythonic manipulation of network addresses")
(description
- "A Python library for representing and manipulating IPv4, IPv6, CIDR, EUI
+ "A Python library for representing and manipulating IPv4, IPv6, CIDR, EUI
and MAC network addresses.")
(license license:bsd-3)))
--
2.34.0
From 53b3478c8df3f8bbe39a6215322afc2a314437a5 Mon Sep 17 00:00:00 2001
Message-Id: <53b3478c8df3f8bbe39a6215322afc2a314437a5.1643064269.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:36:26 +0200
Subject: [PATCH v2 12/19] gnu: Add python-msk.

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

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index aec75b3ac4..ff33d7adba 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11196,6 +11196,27 @@ (define-public python-msgpack-transitional
(define-public python2-msgpack
(package-with-python2 python-msgpack))
+(define-public python-msk
+ (package
+ (name "python-msk")
+ (version "0.3.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "msk" version))
+ (sha256
+ (base32
+ "11zf2s5wdglzki2r05plx6j9gykwvbpdn8fbr3fnjz4g0vy1g9y6"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-colorama python-gitpython python-msm python-pygithub
+ python-requests))
+ (home-page "https://github.com/MycroftAI/mycroft-skills-kit")
+ (synopsis "Mycroft Skills Kit")
+ (description "MSK is a tool to help with creating, uploading, and
+upgrading Mycroft skills.")
+ (license license:asl2.0)))
+
(define-public python-msm
(package
(name "python-msm")
--
2.34.0
From 4a52fa1d3009007376af92d01f8574dbebd11dd0 Mon Sep 17 00:00:00 2001
Message-Id: <4a52fa1d3009007376af92d01f8574dbebd11dd0.1643064269.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:38:54 +0200
Subject: [PATCH v2 13/19] gnu: Add python-lingua-franca.

* gnu/packages/python-xyz.scm (python-lingua-franca): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ff33d7adba..ede522d61e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -20542,6 +20542,36 @@ (define-public python-linecache2
(define-public python2-linecache2
(package-with-python2 python-linecache2))
+(define-public python-lingua-franca
+ (package
+ (name "python-lingua-franca")
+ (version "0.4.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/MycroftAI/lingua-franca")
+ (commit (string-append "release/v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1wx1c8a2k9155z74113yn1xcs6y0zljbgan2pbbmzsvki8m0z6jn"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "requirements.txt"
+ (("python-dateutil==") "python-dateutil>=")))))))
+ (propagated-inputs
+ (list python-dateutil))
+ (home-page "https://github.com/MycroftAI/lingua-franca")
+ (synopsis "Mycroft's multilingual text parsing and formatting library")
+ (description "Lingua Franca converts data into spoken equivalents.")
+ (license license:asl2.0)))
+
(define-public python-traceback2
(package
(name "python-traceback2")
--
2.34.0
From 79fea0ab52d4f390f3640c173644e2ae421af656 Mon Sep 17 00:00:00 2001
Message-Id: <79fea0ab52d4f390f3640c173644e2ae421af656.1643064269.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 24 Jan 2022 16:03:28 +0100
Subject: [PATCH v2 14/19] gnu: Add python-pocketsphinx.

* gnu/packages/sphinx.scm (python-pocketsphinx): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/sphinx.scm | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)

Toggle diff (60 lines)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index dfbc3194ea..c62f28b24e 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -46,15 +46,44 @@ (define-module (gnu packages sphinx)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages swig)
#:use-module (gnu packages time)
#:use-module (gnu packages python-science)
#:use-module (gnu packages graph))
+(define-public python-pocketsphinx
+ (package
+ (name "python-pocketsphinx")
+ (version "0.1.15")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bambocher/pocketsphinx-python")
+ (recursive? #t)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "18i1jw9138ldxigfcjz6rk9z2c2wc2ng2zdnkzippv45d5izkdz8"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list python-pytest swig))
+ (propagated-inputs
+ (list pulseaudio alsa-lib))
+ (home-page "https://github.com/bambocher/pocketsphinx-python")
+ (synopsis "Python interface to CMU Sphinxbase and Pocketsphinx libraries")
+ (description "This package provides a Python interface to CMU Sphinxbase
+and Pocketsphinx libraries.")
+ (license license:bsd-3)))
+
(define-public python-sphinx
(package
(name "python-sphinx")
@@ -97,7 +126,7 @@ (define-public python-sphinx
python-sphinxcontrib-serializinghtml))
(native-inputs
(list graphviz
- imagemagick ;for "convert"
+ imagemagick ;for "convert"
python-html5lib
python-mock
python-nose
--
2.34.0
From 8f8dcdbd69c76beed20bdc88c86a5033d54f8dcc Mon Sep 17 00:00:00 2001
Message-Id: <8f8dcdbd69c76beed20bdc88c86a5033d54f8dcc.1643064269.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 24 Jan 2022 16:05:19 +0100
Subject: [PATCH v2 15/19] gnu: Add python-gtts.

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

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ede522d61e..e8b7139073 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17705,6 +17705,35 @@ (define-public python-graphene
with an associated set of resolve methods that know how to fetch data.")
(license license:expat)))
+(define-public python-gtts
+ (package
+ (name "python-gtts")
+ (version "2.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "gTTS" version))
+ (sha256
+ (base32
+ "0g467h1501kxw4zniym03xkz3766bdp6j2j5l04p11ki4h8smkw8"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list python-flake8
+ python-mock
+ python-pytest
+ python-pytest-cov
+ python-six
+ python-testfixtures))
+ (propagated-inputs
+ (list python-click
+ python-requests
+ python-six))
+ (home-page "https://github.com/pndurette/gTTS")
+ (synopsis "Python interface to Google Translate text-to-speech API")
+ (description "This package provides a Python library and CLI tool to
+interface with Google Translate text-to-speech API.")
+ (license license:expat)))
+
(define-public python-random2
(package
(name "python-random2")
--
2.34.0
From 31b5eee023b1bd62775157d281bfb34134fdd6fc Mon Sep 17 00:00:00 2001
Message-Id: <31b5eee023b1bd62775157d281bfb34134fdd6fc.1643064269.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:17:21 +0200
Subject: [PATCH v2 16/19] gnu: Add python-mycroft-messagebus-client.

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

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e8b7139073..f3c05232e1 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -21943,6 +21943,27 @@ (define-public python2-more-itertools
(propagated-inputs
`(("python2-six" ,python2-six-bootstrap)))))
+(define-public python-mycroft-messagebus-client
+ (package
+ (name "python-mycroft-messagebus-client")
+ (version "0.9.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mycroft-messagebus-client" version))
+ (sha256
+ (base32
+ "08vsamppk12a15yiv5ra6rr3x3psinsln7y06aw4abpj6cja8pgw"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-pyee python-websocket-client))
+ (home-page "https://github.com/MycroftAI/mycroft-messagebus-client")
+ (synopsis "Mycroft Messagebus Client")
+ (description "This module provides simple interface for the mycroft
+messagebus and can be used to connect to mycroft, send messages and react
+to messages sent by the Mycroft system.")
+ (license license:asl2.0)))
+
(define-public python-latexcodec
(package
(name "python-latexcodec")
--
2.34.0
From a8500175c36ce90a97d78d9bfcfbcb1db40af9cc Mon Sep 17 00:00:00 2001
Message-Id: <a8500175c36ce90a97d78d9bfcfbcb1db40af9cc.1643064269.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 20:35:12 +0200
Subject: [PATCH v2 17/19] gnu: Add mycroft-mimic.

* gnu/packages/speech.scm (mycroft-mimic): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/speech.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (57 lines)
diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
index f6ca6099de..98b6ebffe2 100644
--- a/gnu/packages/speech.scm
+++ b/gnu/packages/speech.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
+;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,6 +46,7 @@ (define-module (gnu packages speech)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
@@ -232,6 +234,34 @@ (define-public mitlm
(home-page "https://github.com/mitlm/mitlm")
(license license:expat)))
+(define-public mycroft-mimic
+ (package
+ (name "mycroft-mimic")
+ (version "1.3.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/MycroftAI/mimic1")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1agwgby9ql8r3x5rd1rgx3xp9y4cdg4pi3kqlz3vanv9na8nf3id"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("CFLAGS=-fcommon"))) ;for GCC-10
+ (native-inputs
+ (list pkg-config libtool automake autoconf))
+ (inputs (list alsa-lib pcre2))
+ (synopsis "Mycroft's TTS engine, based on CMU's Flite (Festival Lite)")
+ (description "Mimic is a fast, lightweight Text-to-speech engine developed
+by Mycroft A.I. and VocaliD, based on Carnegie Mellon University’s Flite
+(Festival-Lite) software. Mimic takes in text and reads it out loud to create
+a high quality voice.")
+ (home-page "https://github.com/MycroftAI/mimic1")
+ (license license:asl2.0)))
+
(define-public speech-dispatcher
(package
(name "speech-dispatcher")
--
2.34.0
From cc13f0700b7b2c3f49e76a45b38f3f7a72a0d6a5 Mon Sep 17 00:00:00 2001
Message-Id: <cc13f0700b7b2c3f49e76a45b38f3f7a72a0d6a5.1643064269.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 24 Jan 2022 16:07:12 +0100
Subject: [PATCH v2 18/19] gnu: Add python-speech-recognition.

* gnu/packages/python-xyz.scm (python-speech-recognition): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f3c05232e1..4353797e83 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5787,6 +5787,31 @@ (define-public python-spectra
@end enumerate\n")
(license license:expat)))
+(define-public python-speech-recognition
+ (package
+ (name "python-speech-recognition")
+ (version "3.8.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Uberi/speech_recognition")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1lq6g4kl3y1b4ch3b6wik7xy743x6pp5iald0jb9zxqgyxy1zsz4"))))
+ (build-system python-build-system)
+ (arguments
+ ;; Attempts to aquire sound card
+ '(#:tests? #f))
+ (inputs (list python-pyaudio))
+ (home-page "https://github.com/Uberi/speech_recognition")
+ (synopsis "Speech recognition module for Python")
+ (description "This package is a Python library for performing speech
+recognition, with support for several engines and APIs, online and offline.")
+ (license license:bsd-2)))
+
(define-public python-pyspnego
(package
(name "python-pyspnego")
--
2.34.0
From 51e054b823c60442317bc3487a0c769f14de9d1f Mon Sep 17 00:00:00 2001
Message-Id: <51e054b823c60442317bc3487a0c769f14de9d1f.1643064269.git.mail@nicolasgoaziou.fr>
In-Reply-To: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
References: <a8e11183ad26ec2bc601c5a4e8265a10ce52948e.1643064268.git.mail@nicolasgoaziou.fr>
From: Petr Hodina <phodina@protonmail.com>
Date: Fri, 30 Jul 2021 17:21:07 +0200
Subject: [PATCH v2 19/19] gnu: Add python-mycroft-core.

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

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
---
gnu/packages/python-xyz.scm | 80 +++++++++++++++++++++++++++++++++++++
1 file changed, 80 insertions(+)

Toggle diff (100 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4353797e83..1834152c3c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -210,6 +210,7 @@ (define-module (gnu packages python-xyz)
#: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)
@@ -21968,6 +21969,85 @@ (define-public python2-more-itertools
(propagated-inputs
`(("python2-six" ,python2-six-bootstrap)))))
+(define-public python-mycroft-core
+ (package
+ (name "python-mycroft-core")
+ (version "21.2.2")
+ (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))
+ (sha256
+ (base32
+ "02r0vxw0hsihnvviwn4fyspwky3kwq42f9z455q1s70k0snzhb28"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-requirements
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Use newer version of pkg
+ (substitute* "requirements/requirements.txt"
+ (("mycroft-messagebus-client==") "mycroft-messagebus-client>=")
+ (("tornado==") "tornado>=")
+ (("pyserial==") "pyserial>=")
+ (("psutil==") "psutil>=")
+ (("padaos==") "padaos>=")
+ (("precise-runner==") "precise-runner>=")
+ (("pocketsphinx==") "pocketsphinx>=")
+ (("python-dateutil==") "python-dateutil>=")
+ (("fasteners==") "fasteners>=")
+ (("requests-futures==") "requests-futures>=")
+ (("pillow==") "pillow>=")
+ (("PyYAML==5.4") "PyYAML>=5.3.1")
+ (("pyxdg==") "pyxdg>=")
+ (("requests>=2.20.0,<2.26.0") "requests>=2.20.0"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "PYTHONPATH"
+ (string-append "./build/lib:"
+ (or (getenv "PYTHONPATH")
+ "")))))))))
+ (inputs (list mycroft-mimic pocketsphinx))
+ (propagated-inputs
+ (list python-fasteners
+ python-inflection
+ python-pyxdg
+ python-mycroft-messagebus-client
+ python-psutil
+ python-tornado-6
+ python-petact
+ python-precise-runner
+ python-padaos
+ python-speech-recognition
+ python-padatious
+ python-msk
+ python-pillow
+ python-gtts
+ python-requests-futures
+ python-pyserial
+ python-pocketsphinx
+ python-adapt-parser
+ python-lingua-franca
+ python-pyyaml
+ python-fasteners
+ python-pyee
+ python-psutil
+ python-fann2
+ python-pyxdg
+ python-websocket-client
+ python-requests
+ 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.34.0
E
E
Efraim Flashner wrote on 25 Jan 2022 11:49
(name . Nicolas Goaziou)(address . mail@nicolasgoaziou.fr)
Ye/VvVG2FWBFUE8a@3900XT
On Mon, Jan 24, 2022 at 11:45:13PM +0100, Nicolas Goaziou wrote:
Toggle quote (19 lines)
> Hello,
>
> phodina via Guix-patches via <guix-patches@gnu.org> writes:
>
> > The aim of this patch set is to bring in the MyCroft - private and
> > open Voice Assistant.
>
> Thank you.
>
> I fixed some descriptions, removed labels from inputs, fixed compilation
> with GCC 10 (for Mimic). Then I tried to apply the patch set. Alas
> Mycroft core fails to build. You may want to have a look at it.
>
> I'm sending back the updated patches to you, if that helps.
>
> Regards,
> --
> Nicolas Goaziou

I made some changes to python-mycroft-core but I couldn't get it to pass
the sanity-check or the test suite. I've attached my changes. Also make
sure you sort the inputs alphabetically, I found at least a duplicate
python-pyxdg. Also some of the patches include a line or two of
unrelated indentation changes in other packages.

--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
Toggle diff (102 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1834152c3c..b9c4529cd5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -21986,63 +21986,61 @@ (define-public python-mycroft-core
"02r0vxw0hsihnvviwn4fyspwky3kwq42f9z455q1s70k0snzhb28"))))
(build-system python-build-system)
(arguments
- `(#:phases
+ `(#:tests? #f ; TODO
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-requirements
(lambda* (#:key inputs #:allow-other-keys)
- ;; Use newer version of pkg
+ ;; Use newer version of packages.
+ (setenv "MYCROFT_LOOSE_REQUIREMENTS" "1")
(substitute* "requirements/requirements.txt"
- (("mycroft-messagebus-client==") "mycroft-messagebus-client>=")
- (("tornado==") "tornado>=")
- (("pyserial==") "pyserial>=")
- (("psutil==") "psutil>=")
- (("padaos==") "padaos>=")
- (("precise-runner==") "precise-runner>=")
- (("pocketsphinx==") "pocketsphinx>=")
- (("python-dateutil==") "python-dateutil>=")
- (("fasteners==") "fasteners>=")
- (("requests-futures==") "requests-futures>=")
- (("pillow==") "pillow>=")
- (("PyYAML==5.4") "PyYAML>=5.3.1")
- (("pyxdg==") "pyxdg>=")
(("requests>=2.20.0,<2.26.0") "requests>=2.20.0"))))
+ (replace 'sanity-check
+ (lambda args
+ ;(setenv "PYTHONPATH"
+ ; (string-append "./build/lib:"
+ ; (or (getenv "PYTHONPATH")
+ ; "")))
+ (apply (assoc-ref %standard-phases 'sanity-check) args)))
(replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
+ (lambda* (#:key tests? #:allow-other-keys #:rest args)
(when tests?
(setenv "PYTHONPATH"
(string-append "./build/lib:"
(or (getenv "PYTHONPATH")
- "")))))))))
+ "")))
+ (apply (assoc-ref %standard-phases 'check) args)))))))
(inputs (list mycroft-mimic pocketsphinx))
(propagated-inputs
- (list python-fasteners
+ (list python-adapt-parser
+ python-dateutil
+ python-fann2
+ python-fasteners
+ python-gtts
python-inflection
- python-pyxdg
+ python-lingua-franca
+ python-msk
+ python-msm
python-mycroft-messagebus-client
- python-psutil
- python-tornado-6
- python-petact
- python-precise-runner
python-padaos
- python-speech-recognition
python-padatious
- python-msk
+ python-petact
python-pillow
- python-gtts
- python-requests-futures
- python-pyserial
python-pocketsphinx
- python-adapt-parser
- python-lingua-franca
- python-pyyaml
- python-fasteners
+ python-psutil
+ python-pyaudio
python-pyee
- python-psutil
- python-fann2
python-pyxdg
- python-websocket-client
+ python-pyyaml
+ python-pyserial
+ python-precise-runner
python-requests
- python-requests-futures))
+ python-requests-futures
+ python-speech-recognition
+ python-tornado-6
+ python-websocket-client))
+ (native-inputs
+ (list python-pytest))
(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")
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmHv1boACgkQQarn3Mo9
g1GvCRAAuXAf/pkBB7Z11VKrewBDfJkpm6yp+UUoyHtCHtwuBe3IhmBw4kyLDB2m
20NRBB/5UtkgpwLP0SZ7u7dzbf90wEQRZbqBYCe8Fq8fx0CCQM4G1aDp9GX16Ii6
UE+9RGBvqgi5uC0viokxIP6n4KTBs77e/kac942Vkwb7q2a1ryf7+gjvj2CU88gs
X99kg41Nr/9yF/Eh6jONOPoB8us+P64kuL4cuxFEkpnzKig0vjKxvG0GN0BTre/l
nlKQhnerZ56LSE0frlcOOYTwCD+OpBWIplCJRlEl8DYhbFuM7eCEVB3HM5xrRbu8
bzie+oDRZGnkdJ5UcU8fSEJSgWLgg9UPrlxrPRvUbCY+/bNGqNM5ho3Q3foa/l6W
I5KhTJpnpBcegE9Tt3V4Szriz3OvwbNXjtYL0b7PZAIt+iqygNsHS2hWOz75aGQ4
mhzHE6DPXYIQKtbTMa5TE76nC5P+ebQHF5Xc4Z7rrvXNZUBneWaekzQg9Vh0y/JH
pGcXCVhJA+5YA7g9nB+M/0IhT32s9vrhUUZIJtKKEbDm4k8bTFkdHNMX405N1Jzr
GpYNXveMZN2v1CHw/GLZGiaPM0xFgiqNbf3QpBHpKquXrIlN8yyMXtdkwuZHfZYo
Jy/eBzc0Rr/DTwPhBsDPOvsLOmEBhXwArjOUN/vtB8oSfm1DLfM=
=VlMw
-----END PGP SIGNATURE-----


P
P
phodina wrote on 26 Jan 2022 13:53
(name . Efraim Flashner)(address . efraim@flashner.co.il)
JPhhxQuVdnbXirJAA3WuVSURoutH_KgJ7hEsLoiglUMxdljsXjHIRElWaChVfXAIrFkI7Gaz29EBhqRcVEVbosHbBKsCe1qe6zeOuaW3_-w=@protonmail.com
Hi Efraim and Nicolas,

Toggle quote (43 lines)
> On Mon, Jan 24, 2022 at 11:45:13PM +0100, Nicolas Goaziou wrote:
>
> > Hello,
> >
> > phodina via Guix-patches via guix-patches@gnu.org writes:
> >
> > > The aim of this patch set is to bring in the MyCroft - private and
> > >
> > > open Voice Assistant.
> >
> > Thank you.
> >
> > I fixed some descriptions, removed labels from inputs, fixed compilation
> >
> > with GCC 10 (for Mimic). Then I tried to apply the patch set. Alas
> >
> > Mycroft core fails to build. You may want to have a look at it.
> >
> > I'm sending back the updated patches to you, if that helps.
> >
> > Regards,
> > --------
> >
> > Nicolas Goaziou
>
> I made some changes to python-mycroft-core but I couldn't get it to pass
>
> the sanity-check or the test suite. I've attached my changes. Also make
>
> sure you sort the inputs alphabetically, I found at least a duplicate
>
> python-pyxdg. Also some of the patches include a line or two of
>
> unrelated indentation changes in other packages.
>
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Efraim Flashner efraim@flashner.co.il רנשלפ םירפא
>
> GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
>
> Confidentiality cannot be guaranteed on emails sent or received unencrypted

Thanks for the review and updated patches. I'll check the reason why it won't build and failing tests.

----
Petr
P
P
phodina wrote on 15 Feb 2022 15:37
[PATCH v3 1/2] gnu: Add python-xdg.
(name . 50663@debbugs.gnu.org)(address . 50663@debbugs.gnu.org)
buIpKGDFKHj2syAWDtX3ittSW7KKIKhFmkhKpJ8U8GhWEjoWaqY0tvW7qq-IhbINsxXSjH8DpNPF2S37xjw4dlDgZ2lu_h8SkhfzuO4r120=@protonmail.com
Hi,

here are updated patches based on the review. Also I manged to fix the issues in the sanity-check phase.

However, there are still some points to be solved
https://github.com/MycroftAI/mycroft-core/issues/3074as the ALSA lib error blocks the tests. I also don't know how to mock the audio subsystem in tests properly.

FIY I renamed the package from python-mycroft-core to mycroft-core and move it to gnu/packages/speech.scm as this IMHO reflect more the purpose of this package.

Python module xdg was added as it's referenced in the code.

----
Petr
Attachment: file
From c5a8653641595e549369a9ff008194a4a749f98e Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 15 Feb 2022 09:07:15 +0100
Subject: [PATCH v3 1/2] gnu: Add python-xdg.

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

Toggle diff (30 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index feab9c7b50..d95fc12465 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14511,6 +14511,23 @@ (define-public python-pyfiglet
in pure Python.")
(license license:expat)))
+(define-public python-xdg
+ (package
+ (name "python-xdg")
+ (version "5.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "xdg" version))
+ (sha256
+ (base32 "0v6hmhjqlc6km284lr14kc4h5rl6xva231q1lsr8hq7crhk9yqda"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/srstevenson/xdg")
+ (synopsis "Implementation of the XDG Base Directory Specification")
+ (description "This package provides implementation of the XDG Base Directory
+Specification.")
+ (license license:isc)))
+
(define-public python-xdo
(package
(name "python-xdo")
--
2.34.0
?