unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#60316] [PATCH] WIP: Add homeassistant.
@ 2022-12-25 17:24 phodina via Guix-patches via
  2022-12-26  5:11 ` Raghav Gururajan via Guix-patches via
  0 siblings, 1 reply; 5+ messages in thread
From: phodina via Guix-patches via @ 2022-12-25 17:24 UTC (permalink / raw)
  To: marius, rg, 60316


[-- Attachment #1.1: Type: text/plain, Size: 2494 bytes --]

Hi,

I'd love to add Home assistant to Guix to liberate our homes :-D

However, it has one nasty problem. There's one Python module 'orjson' which depends on rust package [1]. Since it would mean to add a lot of Rust packages I'd like to ask for help if there isn't a better way to build the package 'orjson'? [2]

FIY Marius I saw you patch set where you mentioned module 'orjson' as test dependency [3]

Just out of curiosity have you been able to package the Home assistant? [4]

$ /gnu/store/8dgdzxj7vvawbd77q405fbjm4rnjdxld-homeassistant-2022.12.8/bin/hass
Traceback (most recent call last):
File "/gnu/store/8dgdzxj7vvawbd77q405fbjm4rnjdxld-homeassistant-2022.12.8/bin/.hass-real", line 5, in <module>
sys.exit (mod.main ())
File "/gnu/store/8dgdzxj7vvawbd77q405fbjm4rnjdxld-homeassistant-2022.12.8/lib/python3.9/site-packages/homeassistant/__main__.py", line 169, in main
args = get_arguments()
File "/gnu/store/8dgdzxj7vvawbd77q405fbjm4rnjdxld-homeassistant-2022.12.8/lib/python3.9/site-packages/homeassistant/__main__.py", line 69, in get_arguments
from . import config as config_util
File "/gnu/store/8dgdzxj7vvawbd77q405fbjm4rnjdxld-homeassistant-2022.12.8/lib/python3.9/site-packages/homeassistant/config.py", line 20, in <module>
from . import auth
File "/gnu/store/8dgdzxj7vvawbd77q405fbjm4rnjdxld-homeassistant-2022.12.8/lib/python3.9/site-packages/homeassistant/auth/__init__.py", line 12, in <module>
from homeassistant import data_entry_flow
File "/gnu/store/8dgdzxj7vvawbd77q405fbjm4rnjdxld-homeassistant-2022.12.8/lib/python3.9/site-packages/homeassistant/data_entry_flow.py", line 16, in <module>
from .core import HomeAssistant, callback
File "/gnu/store/8dgdzxj7vvawbd77q405fbjm4rnjdxld-homeassistant-2022.12.8/lib/python3.9/site-packages/homeassistant/core.py", line 46, in <module>
from . import block_async_io, loader, util
File "/gnu/store/8dgdzxj7vvawbd77q405fbjm4rnjdxld-homeassistant-2022.12.8/lib/python3.9/site-packages/homeassistant/loader.py", line 34, in <module>
from .helpers.json import JSON_DECODE_EXCEPTIONS, json_loads
File "/gnu/store/8dgdzxj7vvawbd77q405fbjm4rnjdxld-homeassistant-2022.12.8/lib/python3.9/site-packages/homeassistant/helpers/json.py", line 7, in <module>
import orjsonModuleNotFoundError: No module named 'orjson'

1 https://github.com/PyO3/maturin
2 https://github.com/ijl/orjson/blob/master/pyproject.toml3 https://issues.guix.gnu.org/58587
4 https://community.home-assistant.io/t/packaging-home-assistant-into-guix/264117

----
Petr

[-- Attachment #1.2: Type: text/html, Size: 3841 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0002-gnu-Add-python-lru-dict.patch --]
[-- Type: text/x-patch; name=0002-gnu-Add-python-lru-dict.patch, Size: 1386 bytes --]

From ca6bdd2758e02c239e2c31a64997b8022f7c43bf Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 25 Dec 2022 16:56:06 +0100
Subject: [PATCH 02/11] gnu: Add python-lru-dict.

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

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3ea2763b49..b1b0bb46fb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5704,6 +5704,24 @@ (define-public python-feedgenerator
 which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.")
     (license license:bsd-3)))
 
+(define-public python-lru-dict
+  (package
+    (name "python-lru-dict")
+    (version "1.1.8")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "lru-dict" version))
+              (sha256
+               (base32
+                "059i1c6yw02dwfynl4602jwfhhfvhm2wzhfzafwwzrbk83pwi2w7"))))
+    (build-system python-build-system)
+    (native-inputs (list python-pytest))
+    (home-page "https://github.com/amitdev/lru-dict")
+    (synopsis "Fixed size dict like container")
+    (description "This package provides fixed size dict like container which
+evicts Least Recently Used (LRU) items once size limit is exceeded.")
+    (license license:expat)))
+
 (define-public python-lsp-jsonrpc
   (package
     (name "python-lsp-jsonrpc")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0011-gnu-Add-homeassistant.patch --]
[-- Type: text/x-patch; name=0011-gnu-Add-homeassistant.patch, Size: 4065 bytes --]

From 65217ed1fb1d4cf3667a6ce1ca270504dc7fa585 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 25 Dec 2022 17:04:43 +0100
Subject: [PATCH 11/11] ! gnu: Add homeassistant.

* gnu/packages/engineering.scm (homeassistant): New variable.

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index ee224ad173..ab225f398f 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -69,9 +69,11 @@ (define-module (gnu packages engineering)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system pyproject)
   #:use-module (guix build-system qt)
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages astronomy)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
@@ -130,6 +132,7 @@ (define-module (gnu packages engineering)
   #:use-module (gnu packages pretty-print)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-science)
@@ -146,6 +149,7 @@ (define-module (gnu packages engineering)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages text-editors)
+  #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages version-control)
@@ -1440,6 +1444,57 @@ (define-public harminv
 determines the frequencies, decay constants, amplitudes, and phases of those sinusoids.")
     (license license:gpl2+)))
 
+(define-public homeassistant
+  (package
+    (name "homeassistant")
+    (version "2022.12.8")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/home-assistant/core")
+                    (commit version)))
+              (sha256
+               (base32
+                "0cjw73i2ix6zpy6bagwbasyfphllqsq8hmzxkldh75hbh78h1750"))))
+    (build-system pyproject-build-system)
+    ;; TODO: Remove once python-orjson is packaged
+    (arguments
+     (list #:tests? #f ;missing orjson
+           #:phases #~(modify-phases %standard-phases
+                        (delete 'sanity-check))))
+    (native-inputs (list python-pytest-socket python-requests-mock python-pip))
+    (propagated-inputs (list python-aiohttp
+                             python-astral
+                             python-async-timeout
+                             python-atomicwrites
+                             python-attrs
+                             python-awesomeversion
+                             python-bcrypt
+                             python-certifi
+                             python-ciso8601
+                             python-cryptography
+                             python-home-assistant-bluetooth
+                             python-httpx
+                             python-ifaddr
+                             python-jinja2
+                             python-lru-dict
+                             python-freezegun
+                             ;; python-orjson
+                             python-pyjwt
+                             python-pyyaml
+                             python-requests
+                             python-slugify-4
+                             python-typing-extensions
+                             python-voluptuous
+                             python-voluptuous-serialize
+                             python-yarl))
+    (home-page "https://www.home-assistant.io/")
+    (synopsis "home automation platform")
+    (description
+     "This package provides home automation that puts local control
+and privacy first.")
+    (license license:asl2.0)))
+
 (define-public guile-libctl
   (package
     (name "guile-libctl")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-gnu-Add-python-awesomeversion.patch --]
[-- Type: text/x-patch; name=0003-gnu-Add-python-awesomeversion.patch, Size: 1293 bytes --]

From 65e2961c4af21ffac88871ce1d9a4c0944ce7b18 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 25 Dec 2022 16:56:44 +0100
Subject: [PATCH 03/11] gnu: Add python-awesomeversion.

* gnu/pacakges/python-xyz.scm (python-awesomeversion): New variable.

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b1b0bb46fb..3baa1b0b01 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9464,6 +9464,23 @@ (define-public python-asttokens
 for automated refactoring or highlighting.")
     (license license:asl2.0)))
 
+(define-public python-awesomeversion
+  (package
+    (name "python-awesomeversion")
+    (version "22.9.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "awesomeversion" version))
+              (sha256
+               (base32
+                "0zkzl6kpl19rp98rszm63pqzb5imvc6iamp1ljr107p86g9r0h9g"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/ludeeus/awesomeversion")
+    (synopsis "Version parsing and comparison")
+    (description "This package provides semantic version parsing and
+comparison.")
+    (license license:expat)))
+
 (define-public python-littleutils
   (package
     (name "python-littleutils")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: 0008-gnu-Add-python-yarl-Update-to-1.8.1.patch --]
[-- Type: text/x-patch; name=0008-gnu-Add-python-yarl-Update-to-1.8.1.patch, Size: 968 bytes --]

From 341ab116cd6a697583a4a47e391d771c81439a90 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 25 Dec 2022 17:02:03 +0100
Subject: [PATCH 08/11] gnu: Add python-yarl: Update to 1.8.1.

* gnu/packages/python-web.scm (python-yarl): Update to 1.8.1.

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 15f22925f6..922be35c68 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -4685,14 +4685,14 @@ (define-public python-pycares
 (define-public python-yarl
   (package
     (name "python-yarl")
-    (version "1.6.3")
+    (version "1.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "yarl" version))
        (sha256
         (base32
-         "045z4ssg8g5h0qhz8hnx74hswgkndaldqq1xi5l1n5s0j996d44a"))
+         "1gxba93lyccxv0zkfy8kfrxananxyav75zq5avmn1q62p12pi25g"))
        (modules '((guix build utils)))
        (snippet
          #~(begin
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #6: 0006-gnu-python-voluptuous-Update-to-0.13.1.patch --]
[-- Type: text/x-patch; name=0006-gnu-python-voluptuous-Update-to-0.13.1.patch, Size: 1019 bytes --]

From 9d91f8ecb760e115a77e6de2f552900aee4820ec Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 25 Dec 2022 17:00:11 +0100
Subject: [PATCH 06/11] gnu: python-voluptuous: Update to 0.13.1.

* gnu/packages/python-xyz.scm (python-voluptuous): Update 0.13.1.

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5bf30c0184..be971d3bc1 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27119,14 +27119,14 @@ (define-public python-osc
 (define-public python-voluptuous
   (package
     (name "python-voluptuous")
-    (version "0.11.7")
+    (version "0.13.1")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "voluptuous" version))
         (sha256
           (base32
-            "0mplkcpb5d8wjf8vk195fys4y6a3wbibiyf708imw33lphfk9g1a"))))
+            "08wp91dn1ibsmjd0660hpldq5ii9xqmg9h6l2k5p6rqxc0h1rlz8"))))
     (build-system python-build-system)
     (native-inputs
      (list python-nose))
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #7: 0005-gnu-python-typing-extensions-next-Update-to-4.4.0.patch --]
[-- Type: text/x-patch; name=0005-gnu-python-typing-extensions-next-Update-to-4.4.0.patch, Size: 1376 bytes --]

From 2dc08ab845aef62453e2a5afa0975e64ee8d8e87 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 25 Dec 2022 16:58:53 +0100
Subject: [PATCH 05/11] gnu: python-typing-extensions-next: Update to 4.4.0.

* gnu/packages/python-xyz.scm (python-typing-extensions-next): Update to
4.4.0.
[arguments]: Remove phase 'enter-source-directory.

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 32e37b4eed..5bf30c0184 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -22510,7 +22510,7 @@ (define-public python-typing-extensions-next
   (package
     (inherit python-typing-extensions)
     (name "python-typing-extensions")
-    (version "4.2.0")
+    (version "4.4.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -22519,7 +22519,11 @@ (define-public python-typing-extensions-next
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1bbry1rg7q5ppkgzdk4nwl7q1w8bbhajm4q68wb9dm6rf7hg1023"))))))
+                "1al7634rq9zqw1s7d1nbry0l23c05s0wrc8jihcxvy1bp55l648m"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments python-typing-extensions)
+       ((#:phases phases)
+	   (delete 'enter-source-directory))))))
 
 (define-public bpython
   (package
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #8: 0004-gnu-Add-python-dbus-fast.patch --]
[-- Type: text/x-patch; name=0004-gnu-Add-python-dbus-fast.patch, Size: 1280 bytes --]

From fbf092a0023c1dd7b570d41e254420cb2e048d10 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 25 Dec 2022 16:57:17 +0100
Subject: [PATCH 04/11] gnu: Add python-dbus-fast.

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

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3baa1b0b01..32e37b4eed 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9912,6 +9912,23 @@ (define-public python-dbus-next
 mobile environments.")
     (license license:expat)))
 
+(define-public python-dbus-fast
+  (package
+    (name "python-dbus-fast")
+    (version "1.83.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "dbus_fast" version))
+              (sha256
+               (base32
+                "0cwdxs3sj4czcjy1x1yjxwacacxjdfqc1jpc034crcrhbpp9n9ij"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-async-timeout))
+    (home-page "https://github.com/bluetooth-devices/dbus-fast")
+    (synopsis "Faster version of dbus-next")
+    (description "This package provides a faster version of dbus-next")
+    (license license:expat)))
+
 (define-public python-notify2
   (package
     (name "python-notify2")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #9: 0001-gnu-Add-python-slugify-4.patch --]
[-- Type: text/x-patch; name=0001-gnu-Add-python-slugify-4.patch, Size: 1046 bytes --]

From 62dbbb1af6b2817d1c5c1fbbcec441a6376121ec Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 25 Dec 2022 16:46:09 +0100
Subject: [PATCH 01/11] gnu: Add python-slugify-4.

* gnu/package/python-web.scm (python-slugify-4): New variable.

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 18c0b47b67..15f22925f6 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -5060,6 +5060,18 @@ (define-public python-slugify
 library to create slugs from unicode strings while keeping it DRY.")
     (license license:expat)))
 
+(define-public python-slugify-4
+  (package
+    (inherit python-slugify)
+    (name "python-slugify")
+    (version "4.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "python-slugify" version))
+              (sha256
+               (base32
+                "0w22fapghmzk3xdasc4dn7h8sl58l08d1h5zbf72dh80drv1g9b9"))))))
+
 (define-public python-branca
   (package
     (name "python-branca")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #10: 0009-gnu-Add-python-bleak.patch --]
[-- Type: text/x-patch; name=0009-gnu-Add-python-bleak.patch, Size: 1474 bytes --]

From 0c9a3d85178c14cfa1aa9e3c85ce1968bafb4829 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 25 Dec 2022 17:02:48 +0100
Subject: [PATCH 09/11] gnu: Add python-bleak.

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

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 655724d95a..bb734ee6ea 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13789,6 +13789,28 @@ (define-public python-bleach
     (description "Bleach is an easy whitelist-based HTML-sanitizing tool.")
     (license license:asl2.0)))
 
+(define-public python-bleak
+  (package
+    (name "python-bleak")
+    (version "0.19.5")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "bleak" version))
+              (sha256
+               (base32
+                "126dwfd9w4aflwxz5lxw6h2q0miigd548df7668c2n1w8nb5m147"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:tests? #f))
+    (propagated-inputs (list python-async-timeout
+                             python-dbus-fast
+                             python-typing-extensions))
+    (home-page "https://github.com/hbldh/bleak")
+    (synopsis "Bluetooth Low Energy platform Agnostic Klient")
+    (description "This package provides GATT client software using
+asyncio.")
+    (license license:expat)))
+
 (define-public python-entrypoints
   (package
     (name "python-entrypoints")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #11: 0007-gnu-Add-python-voluptuous-serialize.patch --]
[-- Type: text/x-patch; name=0007-gnu-Add-python-voluptuous-serialize.patch, Size: 1862 bytes --]

From bff394cbce48b9e59b72b5b4c2bfefd2ede2d595 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 25 Dec 2022 17:01:13 +0100
Subject: [PATCH 07/11] gnu: Add python-voluptuous-serialize.

* gnu/packages/python-xyz.scm (python-voluptuous-serialize): New variable.
[native-inputs]: Use python-pytest instead of python-nose.

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index be971d3bc1..655724d95a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27129,7 +27129,7 @@ (define-public python-voluptuous
             "08wp91dn1ibsmjd0660hpldq5ii9xqmg9h6l2k5p6rqxc0h1rlz8"))))
     (build-system python-build-system)
     (native-inputs
-     (list python-nose))
+     (list python-pytest))
     (home-page "https://github.com/alecthomas/voluptuous")
     (synopsis "Python data validation library")
     (description
@@ -27137,6 +27137,24 @@ (define-public python-voluptuous
 intended for validating data coming into Python as JSON, YAML, etc.")
     (license license:bsd-3)))
 
+(define-public python-voluptuous-serialize
+  (package
+    (name "python-voluptuous-serialize")
+    (version "2.5.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "voluptuous-serialize" version))
+              (sha256
+               (base32
+                "0ys43byjwhsmzjj9q2dgn8k94p3my2s7f1vf0q1swwprlkhg4nak"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-voluptuous))
+    (home-page "https://github.com/home-assistant-libs/voluptuous-serialize")
+    (synopsis "Convert voluptuous schemas to dictionaries")
+    (description "This package provides library for converting
+voluptuous schemas to dictionaries")
+    (license license:asl2.0)))
+
 (define-public python-cmd2
   (package
     (name "python-cmd2")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #12: 0010-gnu-Add-python-home-assistant-bluetooth.patch --]
[-- Type: text/x-patch; name=0010-gnu-Add-python-home-assistant-bluetooth.patch, Size: 1447 bytes --]

From 8859d65e8236009ebe605ab8089958ae2c1ef35a Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 25 Dec 2022 17:04:06 +0100
Subject: [PATCH 10/11] gnu: Add python-home-assistant-bluetooth.

* gnu/packages/python-xyz.scm (python-home-assistant-bluetooth): New
variable.

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bb734ee6ea..c4eb7aaba6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8479,6 +8479,25 @@ (define-public python-gridmap
 cluster without needing to write any wrapper code yourself.")
     (license license:gpl3+)))
 
+(define-public python-home-assistant-bluetooth
+  (package
+    (name "python-home-assistant-bluetooth")
+    (version "1.9.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "home_assistant_bluetooth" version))
+              (sha256
+               (base32
+                "0jcb7l8pn30dsh3rhkcmd5h9b7r7igpqi4kk9wz0lzlqi0568a45"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-bleak))
+    (home-page
+     "https://github.com/home-assistant-libs/home-assistant-bluetooth")
+    (synopsis "Home Assistant Bluetooth Models and Helpers")
+    (description "This package provides helpers for accessing Home
+Assistant Bluetooth models.")
+    (license license:asl2.0)))
+
 (define-public python-honcho
   (package
     (name "python-honcho")
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [bug#60316] [PATCH] WIP: Add homeassistant.
  2022-12-25 17:24 [bug#60316] [PATCH] WIP: Add homeassistant phodina via Guix-patches via
@ 2022-12-26  5:11 ` Raghav Gururajan via Guix-patches via
  2022-12-27 22:06   ` phodina via Guix-patches via
  0 siblings, 1 reply; 5+ messages in thread
From: Raghav Gururajan via Guix-patches via @ 2022-12-26  5:11 UTC (permalink / raw)
  To: phodina; +Cc: 60316, Marius Bakke


[-- Attachment #1.1: Type: text/plain, Size: 790 bytes --]

Petr,

> I'd love to add Home assistant to Guix to liberate our homes :-D

Woah! Thanks so much for working on this. I've been eyeing at 
homeassitant for a while. :D

> However, it has one nasty problem. There's one Python module 'orjson' which depends on rust package [1]. Since it would mean to add a lot of Rust packages I'd like to ask for help if there isn't a better way to build the package 'orjson'?

I'd like to help. Let's see if we can avoid that dependency. If we 
can't, I'll aid this work with packing the related rust packages.


> Just out of curiosity have you been able to package the Home assistant?

Darn! I forgot that I created that post. I must've working on that and 
lost the work because of SSD failure happened midst 2021. :(

Regards,
RG.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#60316] [PATCH] WIP: Add homeassistant.
  2022-12-26  5:11 ` Raghav Gururajan via Guix-patches via
@ 2022-12-27 22:06   ` phodina via Guix-patches via
  2023-01-14 19:54     ` phodina via Guix-patches via
  0 siblings, 1 reply; 5+ messages in thread
From: phodina via Guix-patches via @ 2022-12-27 22:06 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 60316, Marius Bakke

[-- Attachment #1: Type: text/plain, Size: 1212 bytes --]

>> > I'd love to add Home assistant to Guix to liberate our homes :-D
> 
> 
> Woah! Thanks so much for working on this. I've been eyeing at
> homeassitant for a while. :D
> 
> > However, it has one nasty problem. There's one Python module 'orjson' which depends on rust package [1]. Since it would mean to add a lot of Rust packages I'd like to ask for help if there isn't a better way to build the package 'orjson'?
> 
> 
> I'd like to help. Let's see if we can avoid that dependency. If we
> can't, I'll aid this work with packing the related rust packages.

Here are the additional Python packages from the orjson module repo from various requirements.txt.
Please consider them more WIP as they build and allow you to have a look around the 'python-orjson'.
I also have the Rust modules, but packaging them is quite tedious as it's almost 3k lines of code :-/
Any ideas here?

> 
> > Just out of curiosity have you been able to package the Home assistant?
> 
> 
> Darn! I forgot that I created that post. I must've working on that and
> lost the work because of SSD failure happened midst 2021. :(

Home the 'smartmontools' might save you from similar thing in future :-)

----
Petr

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0005-gnu-Add-python-pytest-random-order.patch --]
[-- Type: text/x-patch; name=0005-gnu-Add-python-pytest-random-order.patch, Size: 1457 bytes --]

From 5e1fa4cdebd127d37a19cc1f01098cea7d3ae2d4 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 27 Dec 2022 22:58:46 +0100
Subject: [PATCH 05/10] gnu: Add python-pytest-random-order.

* gnu/packages/python-xyz.scm (python-pytest-random-order): New variable.

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 985d36ba49..d98a442fde 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12729,6 +12729,26 @@ (define-public python-pytest-black
 Python code formatter \"black\".")
     (license license:expat)))
 
+(define-public python-pytest-random-order
+  (package
+    (name "python-pytest-random-order")
+    (version "1.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pytest-random-order" version))
+              (sha256
+               (base32
+                "01annkcqxxi17ngafa8mrjxlvpbp6pmxpvf99jcaz9skjfxxxrnv"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-pytest))
+    (home-page "https://github.com/jbasko/pytest-random-order")
+    (synopsis
+     "Randomise the order in which pytest tests are run with some control over the           randomness")
+    (description
+     "Randomise the order in which pytest tests are run with some control over the
+randomness")
+    (license license:expat)))
+
 (define-public python-geojson
   (package
     (name "python-geojson")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0007-gnu-Add-python-types-python-dateutil.patch --]
[-- Type: text/x-patch; name=0007-gnu-Add-python-types-python-dateutil.patch, Size: 1338 bytes --]

From 81bc7b36643300b9a67ffae7a4cb5f11fb9d3032 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 27 Dec 2022 23:00:04 +0100
Subject: [PATCH 07/10] gnu: Add python-types-python-dateutil.

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

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2e08e6cf2b..48044a3ef3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -30569,6 +30569,23 @@ (define-public python-types-protobuf
 collection.")
     (license license:asl2.0)))
 
+(define-public python-types-python-dateutil
+  (package
+    (name "python-types-python-dateutil")
+    (version "2.8.19.5")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "types-python-dateutil" version))
+              (sha256
+               (base32
+                "17bsv3j5lmq60px9q8zhaj5f7pv81i6xfg8dlpcpczazf5gzr4db"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/python/typeshed")
+    (synopsis "Typing stubs for python-dateutil")
+    (description "This package provides collection of library stubs for Python,
+with static types for python-dateutil.")
+    (license license:asl2.0)))
+
 (define-public python-types-pytz
   (package
     (name "python-types-pytz")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-gnu-python-pytest-benchmark-Update-to-4.0.0.patch --]
[-- Type: text/x-patch; name=0003-gnu-python-pytest-benchmark-Update-to-4.0.0.patch, Size: 1229 bytes --]

From 4eafcd5a1d5ddaff75636122a7885b33a77d8b94 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 27 Dec 2022 22:56:43 +0100
Subject: [PATCH 03/10] gnu: python-pytest-benchmark: Update to 4.0.0.

* gnu/packages/python-check.scm (python-pytest-benchmark): Update to 4.0.0.

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 8ab3b5641e..d7d1ccbaaf 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -1315,14 +1315,13 @@ (define-public python-pytest-pycodestyle
 (define-public python-pytest-benchmark
   (package
     (name "python-pytest-benchmark")
-    (version "3.4.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "pytest-benchmark" version))
-       (sha256
-        (base32
-         "0ivvrnhax2xr62grlgw4hlyjmmjp6nc35431j7c82nny2bwn7qj0"))))
+    (version "4.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pytest-benchmark" version))
+              (sha256
+               (base32
+                "1la802m5r49y1zqilmhqh0qvbnz139lw0qb3jmm9lngy7sw8a1zv"))))
     (build-system python-build-system)
     (arguments
      '(#:test-target "check"))
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: 0006-gnu-Add-python-memory-profiler.patch --]
[-- Type: text/x-patch; name=0006-gnu-Add-python-memory-profiler.patch, Size: 1380 bytes --]

From 9fe93b8afdcf3149d19c05bf9077d5c38b4350b7 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 27 Dec 2022 22:59:28 +0100
Subject: [PATCH 06/10] gnu: Add python-memory-profiler.

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

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d98a442fde..2e08e6cf2b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17613,6 +17613,25 @@ (define-public python-memcached
 more, possibly remote, memcached servers.")
     (license license:psfl)))
 
+(define-public python-memory-profiler
+  (package
+    (name "python-memory-profiler")
+    (version "0.61.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "memory_profiler" version))
+              (sha256
+               (base32
+                "1c3743d7dnnsv6caca38s0sgk3p7lf13x83nzf9147aahvbp6nsf"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-psutil))
+    (home-page "https://github.com/pythonprofilers/memory_profiler")
+    (synopsis "Monitor memory usage of a python program")
+    (description
+     "This package provides a module for monitoring memory usage of a python
+program")
+    (license license:bsd-3)))
+
 (define-public python-mergedeep
   (package
     (name "python-mergedeep")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #6: 0001-gnu-system-settings-Add-phase-wrap-executable-and-ad.patch --]
[-- Type: text/x-patch; name=0001-gnu-system-settings-Add-phase-wrap-executable-and-ad.patch, Size: 3419 bytes --]

From 063ea2790d55780943a0bd07be64421106b22d4d Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Mon, 26 Dec 2022 10:50:19 +0100
Subject: [PATCH] gnu: system-settings: Add phase 'wrap-executable and
 additional inputs.

* gnu/packages/kde-plasma.scm (system-settings)[inputs]: Add qtquickcontrols-5.
[arguments]: Add phase 'wrap-executable.
[inputs]: Add kcoreaddons, kdeclarative, knewstuff, kuserfeedback,
qtgraphicaleffects and qtquickcontrols2-5.

diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 89405bacaa..157ac3e1dd 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -2495,9 +2495,34 @@ (define-public system-settings
                (base32
                 "0n7mf6ygi8fgn1m6pk2fadnqj1h58mxqni3h19xbi373wfypq5fl"))))
     (build-system qt-build-system)
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-after 'install 'wrap-executable
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (let ((out #$output)
+                                  (qml "/lib/qt5/qml"))
+                              (wrap-program (string-append out
+                                                           "/bin/systemsettings5")
+                                            `("QML2_IMPORT_PATH" ":" prefix
+                                              (,(string-append out qml)
+                                               ,@(map (lambda (i)
+                                                     (string-append
+                                                      (assoc-ref inputs i) qml))
+                                               '("kirigami"
+                                                 "kcoreaddons"
+                                                 "kdeclarative"
+                                                 "knewstuff"
+                                                 "kuserfeedback"
+                                                 "plasma-workspace"
+                                                 "qtdeclarative"
+                                                 "qtgraphicaleffects"
+                                                 "qtquickcontrols"
+                                                 "qtquickcontrols2")))))))))))
     (native-inputs (list extra-cmake-modules))
     (inputs (list kauth
                   kcrash
+                  kcoreaddons
+                  kdeclarative
                   kitemviews
                   kitemmodels
                   kcmutils
@@ -2511,14 +2536,19 @@ (define-public system-settings
                   kdbusaddons
                   kconfig
                   kpackage
+                  knewstuff
                   kactivities
                   kactivities-stats
                   kguiaddons
                   kirigami
                   knotifications
                   krunner
+                  kuserfeedback
                   plasma-workspace
-                  qtdeclarative-5))
+                  qtdeclarative-5
+                  qtgraphicaleffects
+                  qtquickcontrols-5
+                  qtquickcontrols2-5))
     (synopsis "Control center to configure Plasma Desktop")
     (description "This package provides configuration UI for Plasma Desktop.")
     (home-page "https://invent.kde.org/plasma/systemsettings")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #7: 0002-gnu-Add-python-benchmark.patch --]
[-- Type: text/x-patch; name=0002-gnu-Add-python-benchmark.patch, Size: 1233 bytes --]

From 8212bbc5ecf66f73ecc95d477be4d12079cd6c4a Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 27 Dec 2022 22:55:54 +0100
Subject: [PATCH 02/10] gnu: Add python-benchmark.

* gnu/packages/python-check.scm (python-benchmark): New variable.

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 486abf1c13..8ab3b5641e 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -109,6 +109,22 @@ (define-public python-beartype
 written in pure Python.")
     (license license:expat)))
 
+(define-public python-benchmark
+  (package
+    (name "python-benchmark")
+    (version "0.1.5")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "benchmark" version))
+              (sha256
+               (base32
+                "08vwzlr5n2r0sf0niv1hvdk3n2wy93x2cs2yw7c2w7c3cmbb51qg"))))
+    (build-system python-build-system)
+    (home-page "http://jspi.es/benchmark")
+    (synopsis "Python benchmarker / benchmarking framework")
+    (description "Python benchmarker / benchmarking framework")
+    (license license:asl2.0)))
+
 (define-public python-pytest-click
   (package
     (name "python-pytest-click")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #8: 0004-gnu-Add-python-statistics.patch --]
[-- Type: text/x-patch; name=0004-gnu-Add-python-statistics.patch, Size: 1299 bytes --]

From b12d61ec74fc8fe8e4782cb932b9393b99f26811 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 27 Dec 2022 22:58:17 +0100
Subject: [PATCH 04/10] gnu: Add python-statistics.

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

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 13b9129a3d..985d36ba49 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9543,6 +9543,25 @@ (define-public python-stack-data
 than the default.")
     (license license:expat)))
 
+(define-public python-statistics
+  (package
+    (name "python-statistics")
+    (version "1.0.3.5")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "statistics" version))
+              (sha256
+               (base32
+                "0f61hrj25p60kvf09nqysd6xlccm5dmx1jl8akfjvgq71fw7khrd"))))
+    (build-system python-build-system)
+    (arguments (list #:tests? #f))
+    (propagated-inputs (list python-docutils))
+    (home-page "UNKNOWN")
+    (synopsis "A Python 2.* port of 3.4 Statistics Module")
+    (description
+     "This package provides a Python 2.* port of 3.4 Statistics Module")
+    (license #f)))
+
 (define-public python-ipython
   (package
     (name "python-ipython")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #9: 0009-gnu-Add-python-gunicorn.patch --]
[-- Type: text/x-patch; name=0009-gnu-Add-python-gunicorn.patch, Size: 1424 bytes --]

From 91ed56a730c40ea0d52e53e3bbbd42b24859efc5 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 27 Dec 2022 23:01:03 +0100
Subject: [PATCH 09/10] gnu: Add python-gunicorn.

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

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 922be35c68..01cab6712b 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -3612,6 +3612,25 @@ (define-public python-grequests
 @code{Requests} with @code{Gevent} to make asynchronous HTTP Requests easily")
     (license license:bsd-2)))
 
+(define-public python-gunicorn
+  (package
+    (name "python-gunicorn")
+    (version "20.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "gunicorn" version))
+              (sha256
+               (base32
+                "1s7670qw36x90bgmazmgib170i5gnpyb2ypxzlla7y0mpasniag0"))))
+    (build-system python-build-system)
+    (arguments (list #:tests? #f)) ;; 1 failing test out of 223
+    (native-inputs (list python-pytest-cov python-aiohttp python-eventlet python-gevent))
+    (propagated-inputs (list python-setuptools))
+    (home-page "https://gunicorn.org")
+    (synopsis "WSGI HTTP Server for UNIX")
+    (description "WSGI HTTP Server for UNIX")
+    (license license:expat)))
+
 (define-public python-dpkt
   (package
     (name "python-dpkt")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #10: 0010-gnu-Add-python-orjson.patch --]
[-- Type: text/x-patch; name=0010-gnu-Add-python-orjson.patch, Size: 5249 bytes --]

From eab6c1e8db569369c69f58af5906251dfde24245 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 27 Dec 2022 23:01:30 +0100
Subject: [PATCH 10/10] gnu: Add python-orjson.

* gnu/packages/python-xyz.scm (python-orjson): New vairable.

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 91af772a4f..dd9fc64f3f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -30047,6 +30047,113 @@ (define-public python-orgparse
      "This package is a Python module for reading Emacs Org mode files.")
     (license license:bsd-3)))
 
+(define-public python-orjson
+  (package
+    (name "python-orjson")
+    (version "3.8.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "orjson" version))
+              (sha256
+               (base32
+                "0y3ig7067n13m25hmh365nlbiaxipwf8c8hly8a8c5l9a95578gd"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+     ; #:imported-modules (append %cargo-build-system-modules
+     ;                            %pyproject-build-system-modules)
+     ; #:modules `(((guix build cargo-build-system) #:prefix cargo:)
+     ;             ,@%pyproject-build-system-modules
+     ;             (srfi srfi-1)
+     ;             (ice-9 match))
+      #:phases
+      #~(modify-phases (@ (guix build pyproject-build-system) %standard-phases)
+;          (add-after 'unpack 'adjust-pyo3-requirement
+;            (lambda _
+;              ;; The package depends on 0.15.2, which is not on crates.io(!?).
+;              ;; Downgrade to 0.15.1...
+;              (substitute* "src/rust/Cargo.toml"
+;                (("pyo3 = \\{ version = \"0\\.15\\.2\"")
+;                 "pyo3 = { version = \"0.15.1\""))))
+;          (add-before 'build 'configure-cargo
+;            (lambda* (#:key inputs #:allow-other-keys)
+;              ;; Hide irrelevant inputs from cargo-build-system so it does
+;              ;; not try to unpack sanity-check.py, etc.
+;              (let ((cargo-inputs (filter (match-lambda
+;                                            ((name . path)
+;                                             (or (string-prefix? "rust-" name)
+;                                                 (string=? "gcc" name))))
+;                                          inputs)))
+;                (with-directory-excursion "src"
+;                  ((assoc-ref cargo:%standard-phases 'unpack-rust-crates)
+;                   #:inputs cargo-inputs
+;                   #:vendor-dir "guix-vendor")
+;                  ((assoc-ref cargo:%standard-phases 'configure)
+;                   #:inputs cargo-inputs)
+;                  ((assoc-ref cargo:%standard-phases 'patch-cargo-checksums)
+;                   #:vendor-dir "guix-vendor"))
+;                (rename-file "src/.cargo" ".cargo"))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv" "tests")))))))
+    (home-page "https://github.com/ijl/orjson")
+;    (native-inputs (list rust-cc-1
+;                      	  rust-pyo3-build-config-0.17
+;                         rust-version-check-0.9))
+;                         rust-maturin-0.14))
+	(inputs (list python-autoflake
+                  python-black
+                  python-isort
+                  ;maturin
+                  python-mypy
+                  python-types-python-dateutil
+                  python-types-pytz
+                  python-types-simplejson
+                  python-types-ujson
+                  python-memory-profiler
+                  python-pytest-benchmark
+                  python-pytest-random-order
+                  python-rapidjson
+                  python-simplejson
+                  python-tabulate
+                  python-ujson
+                  python-flask
+                  python-gunicorn
+                  python-httpx
+                  python-psutil
+                  python-pendulum
+                  python-numpy
+                  python-arrow
+                  python-pytest
+                  python-pytz
+                  python-typing-extensions
+                  python-xxhash
+                 ; rust-maturin-0.14
+                 ; rust-ahash-0.8
+                 ; rust-arrayvec-0.7
+                 ; rust-associative-cache-1
+                 ; rust-beef-0.5
+                 ; rust-bytecount-0.6
+                 ; rust-chrono-0.4
+                 ; rust-compact-str-0.6
+                 ; rust-encoding-rs-0.8
+                 ; rust-itoa-1
+                 ; rust-once-cell-1
+                 ; rust-pyo3-ffi-0.17
+                 ; rust-ryu-1
+                 ; rust-serde-1
+                 ; rust-serde-json-1
+                 ; rust-simdutf8-0.1
+                 ; rust-smallvec-1
+                 ))
+    (synopsis
+     "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy")
+    (description
+     "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy")
+    ;; Dual-licensed
+    (license (list license:expat license:asl2.0))))
+
 (define-public dynaconf
   (package
     (name "dynaconf")
-- 
2.38.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #11: 0008-gnu-Add-python-types-simplejson.patch --]
[-- Type: text/x-patch; name=0008-gnu-Add-python-types-simplejson.patch, Size: 1230 bytes --]

From 1898eda096589690a29f77679ae313701ee6ea4a Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 27 Dec 2022 23:00:34 +0100
Subject: [PATCH 08/10] gnu: Add python-types-simplejson.

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

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 48044a3ef3..91af772a4f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -30604,6 +30604,22 @@ (define-public python-types-pytz
 collection.")
     (license license:asl2.0)))
 
+(define-public python-types-simplejson
+  (package
+    (name "python-types-simplejson")
+    (version "3.18.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "types-simplejson" version))
+              (sha256
+               (base32
+                "0lizf6aiiphvd3l02gk6qm16i6p7a98rdgh3s786bg8a349xnyl5"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/python/typeshed")
+    (synopsis "Typing stubs for simplejson")
+    (description "Typing stubs for simplejson")
+    (license license:asl2.0)))
+
 (define-public python-types-toml
   (package
     (name "python-types-toml")
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [bug#60316] [PATCH] WIP: Add homeassistant.
  2022-12-27 22:06   ` phodina via Guix-patches via
@ 2023-01-14 19:54     ` phodina via Guix-patches via
  2023-01-16  3:53       ` Raghav Gururajan via Guix-patches via
  0 siblings, 1 reply; 5+ messages in thread
From: phodina via Guix-patches via @ 2023-01-14 19:54 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 60316, Marius Bakke

Hi Raghav,

have you had the time to check the Rust dependencies for the Python module `orjson`?

Kind regards
Petr






^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#60316] [PATCH] WIP: Add homeassistant.
  2023-01-14 19:54     ` phodina via Guix-patches via
@ 2023-01-16  3:53       ` Raghav Gururajan via Guix-patches via
  0 siblings, 0 replies; 5+ messages in thread
From: Raghav Gururajan via Guix-patches via @ 2023-01-16  3:53 UTC (permalink / raw)
  To: phodina; +Cc: 60316, Marius Bakke


[-- Attachment #1.1: Type: text/plain, Size: 217 bytes --]

Petr,

> have you had the time to check the Rust dependencies for the Python module `orjson`?

Not yet, unfortunately.

I'll be working on the 21st and 22nd of this month. I'll let you know.

Regards,
RG.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-01-16  3:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-25 17:24 [bug#60316] [PATCH] WIP: Add homeassistant phodina via Guix-patches via
2022-12-26  5:11 ` Raghav Gururajan via Guix-patches via
2022-12-27 22:06   ` phodina via Guix-patches via
2023-01-14 19:54     ` phodina via Guix-patches via
2023-01-16  3:53       ` Raghav Gururajan via Guix-patches via

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).