unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [bug#69591] [PATCH 06/31] gnu: Add python-expecttest.
                     ` (3 preceding siblings ...)
  2024-03-06 19:40 65% ` [bug#69591] [PATCH 05/31] gnu: Add python-pytest-shard David Elsing
@ 2024-03-06 19:40 64% ` David Elsing
  2024-03-06 19:40 65% ` [bug#69591] [PATCH 07/31] gnu: Add python-pytest-rerunfailures-13 David Elsing
  5 siblings, 0 replies; 200+ results
From: David Elsing @ 2024-03-06 19:40 UTC (permalink / raw)
  To: 69591; +Cc: David Elsing

* gnu/packages/python-check.scm (python-expecttest): New variable.
---
 gnu/packages/python-check.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 2338f32801..94694316ca 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -2077,6 +2077,41 @@ (define-public python-eradicate
 valid Python syntax that are likely to be commented out code.")
     (license license:expat)))
 
+(define-public python-expecttest
+  (let ((commit "683b09a352cc426851adc2e3a9f46e0ab25e4dee")
+        (revision "0"))
+    (package
+      (name "python-expecttest")
+      (version (git-version "0.2.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/ezyang/expecttest")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1djwxp9x1hczzxbimv1b1bmd083am88v27l82nmlkhvzyg2cmpvv"))))
+      (build-system pyproject-build-system)
+      (arguments
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  ;; The test runs tests expected to fail, so the output is
+                  ;; confusing
+                  (invoke "python3" "test_expecttest.py")))))))
+      (native-inputs (list python-hypothesis poetry))
+      (home-page "https://github.com/ezyang/expecttest")
+      (synopsis "Python module for expect tests")
+      (description "@code{expecttest} is a Python module for expect tests, where
+the initial expected value of a test can be automatically set by running the
+test itself.")
+      (license license:expat))))
+
 (define-public python-robber
   (package
     (name "python-robber")
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* [bug#69591] [PATCH 07/31] gnu: Add python-pytest-rerunfailures-13.
                     ` (4 preceding siblings ...)
  2024-03-06 19:40 64% ` [bug#69591] [PATCH 06/31] gnu: Add python-expecttest David Elsing
@ 2024-03-06 19:40 65% ` David Elsing
  5 siblings, 0 replies; 200+ results
From: David Elsing @ 2024-03-06 19:40 UTC (permalink / raw)
  To: 69591; +Cc: David Elsing

* gnu/packages/python-check.scm (python-pytest-rerunfailures-13): New variable.
---
 gnu/packages/python-check.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 94694316ca..67822c4c50 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -2463,6 +2463,17 @@ (define-public python-pytest-rerunfailures
 eliminate flaky failures.")
     (license license:mpl2.0)))
 
+(define-public python-pytest-rerunfailures-13
+  (package
+    (inherit python-pytest-rerunfailures)
+    (version "13.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pytest-rerunfailures" version))
+       (sha256
+        (base32 "16cin0chv59w4rvnd6r0fisp0s8avmp07rwn9da6yixw43jdncp1"))))))
+
 (define-public python-xunitparser
   (package
     (name "python-xunitparser")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69591] [PATCH 05/31] gnu: Add python-pytest-shard.
                     ` (2 preceding siblings ...)
  2024-03-06 19:40 65% ` [bug#69591] [PATCH 04/31] gnu: Add python-pytest-flakefinder David Elsing
@ 2024-03-06 19:40 65% ` David Elsing
  2024-03-06 19:40 64% ` [bug#69591] [PATCH 06/31] gnu: Add python-expecttest David Elsing
  2024-03-06 19:40 65% ` [bug#69591] [PATCH 07/31] gnu: Add python-pytest-rerunfailures-13 David Elsing
  5 siblings, 0 replies; 200+ results
From: David Elsing @ 2024-03-06 19:40 UTC (permalink / raw)
  To: 69591; +Cc: David Elsing

* gnu/packages/python-check.scm (python-pytest-shard): New variable.
---
 gnu/packages/python-check.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 36d4025b9d..2338f32801 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -209,6 +209,30 @@ (define-public python-pytest-flakefinder
 times and detect flakyness.")
     (license license:asl2.0)))
 
+(define-public python-pytest-shard
+  (let ((commit "64610a08dac6b0511b6d51cf895d0e1040d162ad")
+        (revision "0"))
+    (package
+      (name "python-pytest-shard")
+      (version (git-version "0.1.2" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/AdamGleave/pytest-shard")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1h31m68igz670bzl307hazjrfbr8pk14mxflllar18ydmlrnl677"))))
+      (build-system pyproject-build-system)
+      (propagated-inputs (list python-pytest))
+      (home-page "https://github.com/AdamGleave/pytest-shard")
+      (synopsis "Pytest plugin for sharding tests")
+      (description "This package provides a Pytest extension for sharding
+tests at the granularity of individual test cases, which can be run in
+parallel and on multiple machines.")
+      (license license:expat))))
+
 (define-public python-testfixtures
   (package
     (name "python-testfixtures")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69591] [PATCH 02/31] gnu: Add python-typing-extensions-4.10.
  @ 2024-03-06 19:40 65% ` David Elsing
  2024-03-06 19:40 64% ` [bug#69591] [PATCH 03/31] gnu: Add python-optree David Elsing
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 200+ results
From: David Elsing @ 2024-03-06 19:40 UTC (permalink / raw)
  To: 69591; +Cc: David Elsing

* gnu/packages/python-build.scm (python-typing-extensions-4.10): New variable.
---
 gnu/packages/python-build.scm | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 2ea457cdba..21e7e422f9 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -252,6 +252,18 @@ (define-public python-typing-extensions
 @end enumerate\n")
     (license license:psfl)))
 
+(define-public python-typing-extensions-4.10
+  (package
+    (inherit python-typing-extensions)
+    (version "4.10.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "typing_extensions" version))
+       (sha256
+        (base32
+         "1jxkj4pni8pdyrn79sq441lsp40xzw363n0qvfc6zfcgkv4dgaxh"))))))
+
 \f
 ;;;
 ;;; Python builder packages.
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69591] [PATCH 04/31] gnu: Add python-pytest-flakefinder.
    2024-03-06 19:40 65% ` [bug#69591] [PATCH 02/31] gnu: Add python-typing-extensions-4.10 David Elsing
  2024-03-06 19:40 64% ` [bug#69591] [PATCH 03/31] gnu: Add python-optree David Elsing
@ 2024-03-06 19:40 65% ` David Elsing
  2024-03-06 19:40 65% ` [bug#69591] [PATCH 05/31] gnu: Add python-pytest-shard David Elsing
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 200+ results
From: David Elsing @ 2024-03-06 19:40 UTC (permalink / raw)
  To: 69591; +Cc: David Elsing

* gnu/packages/python-check.scm (python-pytest-flakefinder): New variable.
---
 gnu/packages/python-check.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 51a38bbcbe..36d4025b9d 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -191,6 +191,24 @@ (define-public python-pytest-csv
 it adds to the Pytest command line interface (CLI).")
     (license license:gpl3+)))
 
+(define-public python-pytest-flakefinder
+  (package
+    (name "python-pytest-flakefinder")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pytest-flakefinder" version))
+       (sha256
+        (base32 "03iy80xlkpgzjs2kxa9rrj8dbnp9awyhpcl3hy8fgf5x40cjlhg2"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-pytest))
+    (home-page "https://github.com/dropbox/pytest-flakefinder")
+    (synopsis "Pytest plugin for finding flaky tests")
+    (description "This package provides a Pytest plugin to run tests multiple
+times and detect flakyness.")
+    (license license:asl2.0)))
+
 (define-public python-testfixtures
   (package
     (name "python-testfixtures")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69591] [PATCH 03/31] gnu: Add python-optree.
    2024-03-06 19:40 65% ` [bug#69591] [PATCH 02/31] gnu: Add python-typing-extensions-4.10 David Elsing
@ 2024-03-06 19:40 64% ` David Elsing
  2024-03-06 19:40 65% ` [bug#69591] [PATCH 04/31] gnu: Add python-pytest-flakefinder David Elsing
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 200+ results
From: David Elsing @ 2024-03-06 19:40 UTC (permalink / raw)
  To: 69591; +Cc: David Elsing

* gnu/packages/python-xyz.scm (python-optree): New variable.
---
 .../patches/python-optree-fix-32-bit.patch    | 122 ++++++++++++++++++
 gnu/packages/python-xyz.scm                   |  29 +++++
 2 files changed, 151 insertions(+)
 create mode 100644 gnu/packages/patches/python-optree-fix-32-bit.patch

diff --git a/gnu/packages/patches/python-optree-fix-32-bit.patch b/gnu/packages/patches/python-optree-fix-32-bit.patch
new file mode 100644
index 0000000000..6a32c39bd8
--- /dev/null
+++ b/gnu/packages/patches/python-optree-fix-32-bit.patch
@@ -0,0 +1,122 @@
+In include/utils.h, ssize_t is an alias for py::ssize_t, which is an alias for
+Py_ssize_t in Python, which is an alias for the system ssize_t.
+The latter is defined in glibc as int if __WORDSIZE == 32 and as long int if
+__WORDSIZE == 64.  Therefore, we need to remove the explicit template
+specialization for int in the first case.
+
+diff --git a/include/utils.h b/include/utils.h
+index 950a02b..82a9591 100644
+--- a/include/utils.h
++++ b/include/utils.h
+@@ -141,10 +141,12 @@ template <>
+ inline py::handle GET_ITEM_HANDLE<py::tuple>(const py::handle& container, const size_t& item) {
+     return PyTuple_GET_ITEM(container.ptr(), py::ssize_t_cast(item));
+ }
++#if __WORDSIZE != 32
+ template <>
+ inline py::handle GET_ITEM_HANDLE<py::tuple>(const py::handle& container, const int& item) {
+     return PyTuple_GET_ITEM(container.ptr(), py::ssize_t_cast(item));
+ }
++#endif
+ template <>
+ inline py::handle GET_ITEM_HANDLE<py::list>(const py::handle& container, const ssize_t& item) {
+     return PyList_GET_ITEM(container.ptr(), item);
+@@ -153,10 +155,12 @@ template <>
+ inline py::handle GET_ITEM_HANDLE<py::list>(const py::handle& container, const size_t& item) {
+     return PyList_GET_ITEM(container.ptr(), py::ssize_t_cast(item));
+ }
++#if __WORDSIZE != 32
+ template <>
+ inline py::handle GET_ITEM_HANDLE<py::list>(const py::handle& container, const int& item) {
+     return PyList_GET_ITEM(container.ptr(), py::ssize_t_cast(item));
+ }
++#endif
+ 
+ template <typename Container, typename Item>
+ inline py::object GET_ITEM_BORROW(const py::handle& container, const Item& item) {
+@@ -171,11 +175,13 @@ inline py::object GET_ITEM_BORROW<py::tuple>(const py::handle& container, const
+     return py::reinterpret_borrow<py::object>(
+         PyTuple_GET_ITEM(container.ptr(), py::ssize_t_cast(item)));
+ }
++#if __WORDSIZE != 32
+ template <>
+ inline py::object GET_ITEM_BORROW<py::tuple>(const py::handle& container, const int& item) {
+     return py::reinterpret_borrow<py::object>(
+         PyTuple_GET_ITEM(container.ptr(), py::ssize_t_cast(item)));
+ }
++#endif
+ template <>
+ inline py::object GET_ITEM_BORROW<py::list>(const py::handle& container, const ssize_t& item) {
+     return py::reinterpret_borrow<py::object>(PyList_GET_ITEM(container.ptr(), item));
+@@ -185,11 +191,13 @@ inline py::object GET_ITEM_BORROW<py::list>(const py::handle& container, const s
+     return py::reinterpret_borrow<py::object>(
+         PyList_GET_ITEM(container.ptr(), py::ssize_t_cast(item)));
+ }
++#if __WORDSIZE != 32
+ template <>
+ inline py::object GET_ITEM_BORROW<py::list>(const py::handle& container, const int& item) {
+     return py::reinterpret_borrow<py::object>(
+         PyList_GET_ITEM(container.ptr(), py::ssize_t_cast(item)));
+ }
++#endif
+ 
+ template <typename Container, typename Item>
+ inline py::object GET_ITEM_STEAL(const py::handle& container, const Item& item) {
+@@ -204,11 +212,13 @@ inline py::object GET_ITEM_STEAL<py::tuple>(const py::handle& container, const s
+     return py::reinterpret_steal<py::object>(
+         PyTuple_GET_ITEM(container.ptr(), py::ssize_t_cast(item)));
+ }
++#if __WORDSIZE != 32
+ template <>
+ inline py::object GET_ITEM_STEAL<py::tuple>(const py::handle& container, const int& item) {
+     return py::reinterpret_steal<py::object>(
+         PyTuple_GET_ITEM(container.ptr(), py::ssize_t_cast(item)));
+ }
++#endif
+ template <>
+ inline py::object GET_ITEM_STEAL<py::list>(const py::handle& container, const ssize_t& item) {
+     return py::reinterpret_steal<py::object>(PyList_GET_ITEM(container.ptr(), item));
+@@ -218,11 +228,13 @@ inline py::object GET_ITEM_STEAL<py::list>(const py::handle& container, const si
+     return py::reinterpret_steal<py::object>(
+         PyList_GET_ITEM(container.ptr(), py::ssize_t_cast(item)));
+ }
++#if __WORDSIZE != 32
+ template <>
+ inline py::object GET_ITEM_STEAL<py::list>(const py::handle& container, const int& item) {
+     return py::reinterpret_steal<py::object>(
+         PyList_GET_ITEM(container.ptr(), py::ssize_t_cast(item)));
+ }
++#endif
+ 
+ template <typename Container, typename Item>
+ inline void SET_ITEM(const py::handle& container, const Item& item, const py::handle& value) {
+@@ -240,12 +252,14 @@ inline void SET_ITEM<py::tuple>(const py::handle& container,
+                                 const py::handle& value) {
+     PyTuple_SET_ITEM(container.ptr(), py::ssize_t_cast(item), value.inc_ref().ptr());
+ }
++#if __WORDSIZE != 32
+ template <>
+ inline void SET_ITEM<py::tuple>(const py::handle& container,
+                                 const int& item,
+                                 const py::handle& value) {
+     PyTuple_SET_ITEM(container.ptr(), py::ssize_t_cast(item), value.inc_ref().ptr());
+ }
++#endif
+ template <>
+ inline void SET_ITEM<py::list>(const py::handle& container,
+                                const ssize_t& item,
+@@ -258,12 +272,14 @@ inline void SET_ITEM<py::list>(const py::handle& container,
+                                const py::handle& value) {
+     PyList_SET_ITEM(container.ptr(), py::ssize_t_cast(item), value.inc_ref().ptr());
+ }
++#if __WORDSIZE != 32
+ template <>
+ inline void SET_ITEM<py::list>(const py::handle& container,
+                                const int& item,
+                                const py::handle& value) {
+     PyList_SET_ITEM(container.ptr(), py::ssize_t_cast(item), value.inc_ref().ptr());
+ }
++#endif
+ 
+ template <typename PyType>
+ inline void AssertExact(const py::handle& object) {
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index fc6e997b6c..e1e68ca343 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11635,6 +11635,35 @@ (define-public python-treelib
      "This package provides a Python implementation of a tree structure.")
     (license license:asl2.0)))
 
+(define-public python-optree
+  (package
+    (name "python-optree")
+    (version "0.10.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/metaopt/optree")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1q3wljk7cyl5rsam02sfsj8zjrqx4c3x9vic8j6xx13p8czpsisg"))
+       (patches (search-patches "python-optree-fix-32-bit.patch"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-typing-extensions))
+    (native-inputs
+     (list python-pytest
+           python-pytest-cov
+           python-pytest-xdist
+           cmake
+           pybind11))
+    (home-page "https://github.com/metaopt/optree")
+    (synopsis "Optimized PyTree Utilities")
+    (description "This package contains operations on PyTrees (a tree made of
+container data structures in Python).")
+    (license license:asl2.0)))
+
 (define-public python-jupyter-core
   (package
     (name "python-jupyter-core")
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* [bug#60240] [PATCH v3] gnu: Add python-3.12 and python-next.
    2024-02-21 12:13 34% ` [bug#60240] [PATCH v2] gnu: Add python-3.12 and python-next Tanguy Le Carrour
@ 2024-03-06 12:55 35% ` Tanguy Le Carrour
  1 sibling, 0 replies; 200+ results
From: Tanguy Le Carrour @ 2024-03-06 12:55 UTC (permalink / raw)
  To: 60240
  Cc: Tanguy Le Carrour, Lars-Dominik Braun, Lars-Dominik Braun,
	Marius Bakke, Munyoki Kilyungi, Sharlatan Hellseher, jgart

Patch v3 changes the name of the package to `python-next` and
actually exclude Tcl/Tk from `out`. Thanks Lars!

* gnu/packages/python.scm (python-3.12, python-next): New variables.
* gnu/packages/patches/python-3.12-fix-tests.patch: New file.

Change-Id: Ie393b732a8863569578e72e62603b75a1655a34e
---
 .../patches/python-3.12-fix-tests.patch       | 334 +++++++++++++++
 gnu/packages/python.scm                       | 385 +++++++++++++++++-
 2 files changed, 718 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/python-3.12-fix-tests.patch

diff --git a/gnu/packages/patches/python-3.12-fix-tests.patch b/gnu/packages/patches/python-3.12-fix-tests.patch
new file mode 100644
index 0000000000..fa5c8027ce
--- /dev/null
+++ b/gnu/packages/patches/python-3.12-fix-tests.patch
@@ -0,0 +1,334 @@
+From f0698133e7d6c353a3e6ae0fc62e57ba558a9bc0 Mon Sep 17 00:00:00 2001
+From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
+Date: Wed, 28 Oct 2020 22:55:05 -0400
+Subject: [PATCH] Skip problematic Python 3 tests in Guix.
+
+A subset of the hunks in this patch is tracked upstream at
+https://bugs.python.org/issue38845, which was contributed by Tanguy Le
+Carrour <tanguy@bioneland.org>.
+
+diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
+index e42c7ab4bd..8087c84dab 100644
+--- a/Lib/test/_test_multiprocessing.py
++++ b/Lib/test/_test_multiprocessing.py
+@@ -1695,6 +1695,7 @@ def _test_wait_result(cls, c, pid):
+         if pid is not None:
+             os.kill(pid, signal.SIGINT)
+
++    @unittest.skipIf(True, "This fails for unknown reasons on Guix")
+     def test_wait_result(self):
+         if isinstance(self, ProcessesMixin) and sys.platform != 'win32':
+             pid = os.getpid()
+@@ -4150,6 +4151,7 @@ def test_shared_memory_across_processes(self):
+         sms.close()
+
+     @unittest.skipIf(os.name != "posix", "not feasible in non-posix platforms")
++    @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+     def test_shared_memory_SharedMemoryServer_ignores_sigint(self):
+         # bpo-36368: protect SharedMemoryManager server process from
+         # KeyboardInterrupt signals.
+diff --git a/Lib/test/test_asyncio/test_base_events.py b/Lib/test/test_asyncio/test_base_events.py
+index 85c8152d49..e35cfffe84 100644
+--- a/Lib/test/test_asyncio/test_base_events.py
++++ b/Lib/test/test_asyncio/test_base_events.py
+@@ -1377,6 +1377,8 @@ def test_create_connection_no_inet_pton(self, m_socket):
+         self._test_create_connection_ip_addr(m_socket, False)
+
+     @patch_socket
++    @unittest.skipUnless(support.is_resource_enabled('network'),
++                         'network is not enabled')
+     def test_create_connection_service_name(self, m_socket):
+         m_socket.getaddrinfo = socket.getaddrinfo
+         sock = m_socket.socket.return_value
+diff --git a/Lib/test/test_ctypes/test_find.py b/Lib/test/test_ctypes/test_find.py
+index a41e94971d..1291af3057 100644
+--- a/Lib/test/test_ctypes/test_find.py
++++ b/Lib/test/test_ctypes/test_find.py
+@@ -117,6 +117,7 @@ def test_find_library_with_gcc(self):
+         with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None):
+             self.assertNotEqual(find_library('c'), None)
+
++    @unittest.skipIf(True, 'Fails on Guix.')
+     def test_find_library_with_ld(self):
+         with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None), \
+              unittest.mock.patch("ctypes.util._findLib_gcc", lambda *args: None):
+diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py
+index 1ee9958445..ab6b41befe 100644
+--- a/Lib/test/test_generators.py
++++ b/Lib/test/test_generators.py
+@@ -34,6 +34,7 @@ def generator2(self):
+         else:
+             return "FAILED"
+
++    @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment')
+     def test_raise_and_yield_from(self):
+         gen = self.generator1()
+         gen.send(None)
+diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py
+index ec105ae1a0..ae4c5b672e 100644
+--- a/Lib/test/test_pathlib.py
++++ b/Lib/test/test_pathlib.py
+@@ -3069,6 +3069,7 @@ def test_rglob(self):
+                          'pwd module does not expose getpwall()')
+     @unittest.skipIf(sys.platform == "vxworks",
+                      "no home directory on VxWorks")
++    @unittest.skipIf(True, "Guix builder home is '/' which causes trouble for these tests")
+     def test_expanduser(self):
+         P = self.cls
+         import_helper.import_module('pwd')
+diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py
+index 51b844262e..004d3133cf 100644
+--- a/Lib/test/test_pdb.py
++++ b/Lib/test/test_pdb.py
+@@ -1580,6 +1580,7 @@ def test_pdb_next_command_subiterator():
+     (Pdb) continue
+     """
+
++@unittest.skipIf(True, 'Fails on Guix… but skipIf not taken into account?!')
+ def test_pdb_issue_20766():
+     """Test for reference leaks when the SIGINT handler is set.
+
+@@ -1598,11 +1599,11 @@ def test_pdb_issue_20766():
+     > <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function()
+     -> print('pdb %d: %s' % (i, sess._previous_sigint_handler))
+     (Pdb) continue
+-    pdb 1: <built-in function default_int_handler>
++    pdb 1: 1
+     > <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function()
+     -> print('pdb %d: %s' % (i, sess._previous_sigint_handler))
+     (Pdb) continue
+-    pdb 2: <built-in function default_int_handler>
++    pdb 2: 1
+     """
+
+ def test_pdb_issue_43318():
+diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py
+index 2ab6f6a986..8cf6b4d1c8 100644
+--- a/Lib/test/test_regrtest.py
++++ b/Lib/test/test_regrtest.py
+@@ -1049,6 +1049,7 @@ def test_fromfile(self):
+         output = self.run_tests('--fromfile', filename)
+         self.check_executed_tests(output, tests, stats=stats)
+
++    @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment.')
+     def test_interrupted(self):
+         code = TEST_INTERRUPTED
+         test = self.create_test('sigint', code=code)
+@@ -1066,6 +1067,7 @@ def test_slowest(self):
+                  % (self.TESTNAME_REGEX, len(tests)))
+         self.check_line(output, regex)
+
++    @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment.')
+     def test_slowest_interrupted(self):
+         # Issue #25373: test --slowest with an interrupted test
+         code = TEST_INTERRUPTED
+diff --git a/Lib/test/test_resource.py b/Lib/test/test_resource.py
+index 317e7ca8f8..7f272daf24 100644
+--- a/Lib/test/test_resource.py
++++ b/Lib/test/test_resource.py
+@@ -151,6 +151,7 @@ def test_freebsd_contants(self):
+
+     @unittest.skipUnless(hasattr(resource, 'prlimit'), 'no prlimit')
+     @support.requires_linux_version(2, 6, 36)
++    @unittest.skipIf(True, "Bug: the PermissionError is not raised")
+     def test_prlimit(self):
+         self.assertRaises(TypeError, resource.prlimit)
+         self.assertRaises(ProcessLookupError, resource.prlimit,
+diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py
+index bf60f37934..5e3a96380a 100644
+--- a/Lib/test/test_shutil.py
++++ b/Lib/test/test_shutil.py
+@@ -1743,6 +1743,7 @@ def test_make_archive(self):
+         base_name = os.path.join(tmpdir, 'archive')
+         self.assertRaises(ValueError, make_archive, base_name, 'xxx')
+
++    @unittest.skipIf(True, "The Guix build container has no root user")
+     @support.requires_zlib()
+     def test_make_archive_owner_group(self):
+         # testing make_archive with owner and group, with various combinations
+@@ -1771,6 +1772,7 @@ def test_make_archive_owner_group(self):
+         self.assertTrue(os.path.isfile(res))
+
+
++    @unittest.skipIf(True, "The Guix build container has no root user")
+     @support.requires_zlib()
+     @unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support")
+     def test_tarfile_root_owner(self):
+diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
+index 637a0ca3b3..2fb804e340 100644
+--- a/Lib/test/test_signal.py
++++ b/Lib/test/test_signal.py
+@@ -160,6 +160,7 @@ def test_valid_signals(self):
+                 self.assertLess(signum, signal.NSIG)
+
+     @unittest.skipUnless(sys.executable, "sys.executable required.")
++    @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+     @support.requires_subprocess()
+     def test_keyboard_interrupt_exit_code(self):
+         """KeyboardInterrupt triggers exit via SIGINT."""
+@@ -211,6 +212,7 @@ def test_issue9324(self):
+             signal.signal(7, handler)
+
+     @unittest.skipUnless(sys.executable, "sys.executable required.")
++    @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+     @support.requires_subprocess()
+     def test_keyboard_interrupt_exit_code(self):
+         """KeyboardInterrupt triggers an exit using STATUS_CONTROL_C_EXIT."""
+@@ -1407,6 +1409,7 @@ def cycle_handlers():
+
+ class RaiseSignalTest(unittest.TestCase):
+
++    @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+     def test_sigint(self):
+         with self.assertRaises(KeyboardInterrupt):
+             signal.raise_signal(signal.SIGINT)
+@@ -1452,6 +1455,7 @@ def __del__(self):
+
+ class PidfdSignalTest(unittest.TestCase):
+
++    @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+     @unittest.skipUnless(
+         hasattr(signal, "pidfd_send_signal"),
+         "pidfd support not built in",
+diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
+index 4eb5af99d6..9c7b8f6dbc 100644
+--- a/Lib/test/test_socket.py
++++ b/Lib/test/test_socket.py
+@@ -1016,6 +1016,8 @@ def testHostnameRes(self):
+         if not fqhn in all_host_names:
+             self.fail("Error testing host resolution mechanisms. (fqdn: %s, all: %s)" % (fqhn, repr(all_host_names)))
+
++    @unittest.skipUnless(support.is_resource_enabled('network'),
++                         'network is not enabled')
+     def test_host_resolution(self):
+         for addr in [socket_helper.HOSTv4, '10.0.0.1', '255.255.255.255']:
+             self.assertEqual(socket.gethostbyname(addr), addr)
+@@ -1161,6 +1163,8 @@ def testNtoHErrors(self):
+             self.assertRaises(OverflowError, socket.ntohl, k)
+             self.assertRaises(OverflowError, socket.htonl, k)
+
++    @unittest.skipUnless(os.path.exists("/etc/services"),
++                         "getservbyname uses /etc/services, which is not in the chroot")
+     def testGetServBy(self):
+         eq = self.assertEqual
+         # Find one service that exists, then check all the related interfaces.
+@@ -1521,6 +1525,8 @@ def test_sio_loopback_fast_path(self):
+             raise
+         self.assertRaises(TypeError, s.ioctl, socket.SIO_LOOPBACK_FAST_PATH, None)
+
++    @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
++                         "getaddrinfo() will fail")
+     def testGetaddrinfo(self):
+         try:
+             socket.getaddrinfo('localhost', 80)
+@@ -1653,6 +1659,8 @@ def test_getnameinfo(self):
+         # only IP addresses are allowed
+         self.assertRaises(OSError, socket.getnameinfo, ('mail.python.org',0), 0)
+
++    @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
++                         "getaddrinfo() will fail")
+     @unittest.skipUnless(support.is_resource_enabled('network'),
+                          'network is not enabled')
+     def test_idna(self):
+diff --git a/Lib/test/test_spwd.py b/Lib/test/test_spwd.py
+index 50766c2548..0c7eb7a83a 100644
+--- a/Lib/test/test_spwd.py
++++ b/Lib/test/test_spwd.py
+@@ -9,8 +9,7 @@
+     spwd = import_helper.import_module('spwd')
+
+
+-@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() == 0,
+-                     'root privileges required')
++@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow')
+ class TestSpwdRoot(unittest.TestCase):
+
+     def test_getspall(self):
+@@ -60,8 +59,7 @@ def test_getspnam(self):
+             self.assertRaises(TypeError, spwd.getspnam, bytes_name)
+
+
+-@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() != 0,
+-                     'non-root user required')
++@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow')
+ class TestSpwdNonRoot(unittest.TestCase):
+
+     def test_getspnam_exception(self):
+diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py
+index 71489ea493..33351919fe 100644
+--- a/Lib/test/test_tarfile.py
++++ b/Lib/test/test_tarfile.py
+@@ -2911,9 +2911,12 @@ def root_is_uid_gid_0():
+         import pwd, grp
+     except ImportError:
+         return False
+-    if pwd.getpwuid(0)[0] != 'root':
+-        return False
+-    if grp.getgrgid(0)[0] != 'root':
++    try:
++        if pwd.getpwuid(0)[0] != 'root':
++            return False
++        if grp.getgrgid(0)[0] != 'root':
++            return False
++    except KeyError:
+         return False
+     return True
+
+diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
+index 00d9e591c7..2515603715 100644
+--- a/Lib/test/test_threading.py
++++ b/Lib/test/test_threading.py
+@@ -1962,6 +1962,7 @@ def check_interrupt_main_noerror(self, signum):
+             # Restore original handler
+             signal.signal(signum, handler)
+
++    @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build container.')
+     def test_interrupt_main_subthread(self):
+         # Calling start_new_thread with a function that executes interrupt_main
+         # should raise KeyboardInterrupt upon completion.
+@@ -1973,6 +1974,8 @@ def call_interrupt():
+             t.join()
+         t.join()
+
++
++    @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build container.')
+     def test_interrupt_main_mainthread(self):
+         # Make sure that if interrupt_main is called in main thread that
+         # KeyboardInterrupt is raised instantly.
+diff --git a/Lib/test/test_tools/test_freeze.py b/Lib/test/test_tools/test_freeze.py
+index 0e7ed67de7..6539a2983b 100644
+--- a/Lib/test/test_tools/test_freeze.py
++++ b/Lib/test/test_tools/test_freeze.py
+@@ -23,6 +23,7 @@
+                  'test is too slow with PGO')
+ class TestFreeze(unittest.TestCase):
+
++    @unittest.skipIf(True, 'Fails on Guix.')
+     @support.requires_resource('cpu') # Building Python is slow
+     def test_freeze_simple_script(self):
+         script = textwrap.dedent("""
+diff --git a/Lib/test/test_unicodedata.py b/Lib/test/test_unicodedata.py
+index 515c3840cb..a96dfad0fe 100644
+--- a/Lib/test/test_unicodedata.py
++++ b/Lib/test/test_unicodedata.py
+@@ -342,6 +342,7 @@ def test_linebreak_7643(self):
+                 self.assertEqual(len(lines), 1,
+                                  r"\u%.4x should not be a linebreak" % i)
+
++@requires_resource('network')
+ class NormalizationTest(unittest.TestCase):
+     @staticmethod
+     def check_version(testfile):
+diff --git a/Tools/scripts/run_tests.py b/Tools/scripts/run_tests.py
+index 445a34ae3e..8f750537c3 100644
+--- a/Tools/scripts/run_tests.py
++++ b/Tools/scripts/run_tests.py
+@@ -69,7 +69,7 @@ def main(regrtest_args):
+         else:
+             args.extend(['-j', '0'])  # Use all CPU cores
+     if not any(is_resource_use_flag(arg) for arg in regrtest_args):
+-        args.extend(['-u', 'all,-largefile,-audio,-gui'])
++        args.extend(['-u', 'all,-largefile,-audio,-gui,-network'])
+
+     if cross_compile and hostrunner:
+         # If HOSTRUNNER is set and -p/--python option is not given, then
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 51d5f598d7..25fe83ea69 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -55,7 +55,7 @@
 ;;; Copyright © 2018, 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
 ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
-;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2019, 2024 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com>
 ;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
@@ -596,6 +596,389 @@ (define-public python-3.10
             (variable "PYTHONTZPATH")
             (files (list "share/zoneinfo")))))))
 
+(define-public python-3.12
+  (package
+    (name "python-next")
+    (version "3.12.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.python.org/ftp/python/" version
+                           "/Python-" version ".tar.xz"))
+       (sha256
+        (base32 "0w6qyfhc912xxav9x9pifwca40b4l49vy52wai9j0gc1mhni2a5y"))
+       (patches (search-patches "python-3-deterministic-build-info.patch"
+                                "python-3.12-fix-tests.patch"
+                                "python-3-hurd-configure.patch"))
+       (modules '((guix build utils)))
+       (snippet '(begin
+                   ;; Delete the bundled copy of libexpat.
+                   (delete-file-recursively "Modules/expat")
+                   (substitute* "Modules/Setup"
+                     ;; Link Expat instead of embedding the bundled one.
+                     (("^#pyexpat.*")
+                      "pyexpat pyexpat.c -lexpat\n"))
+                   ;; Delete windows binaries
+                   (for-each delete-file
+                             (find-files "Lib/distutils/command" "\\.exe$"))))))
+    (outputs '("out" "tk" ;tkinter; adds 50 MiB to the closure
+               "idle")) ;programming environment; weighs 5MB
+    (build-system gnu-build-system)
+    (arguments
+     `(#:test-target "test"
+       #:configure-flags (list "--enable-shared" ;allow embedding
+                               "--with-system-expat" ;for XML support
+                               "--with-system-ffi" ;build ctypes
+                               "--with-ensurepip=install" ;install pip and setuptools
+                               "--with-computed-gotos" ;main interpreter loop optimization
+                               "--enable-unicode=ucs4"
+                               "--without-static-libpython"
+
+                               ;; FIXME: These flags makes Python significantly faster, but
+                               ;; leads to non-reproducible binaries.
+                               ;; "--with-lto"               ;increase size by 20MB, but 15% speedup
+                               ;; "--enable-optimizations"
+
+                               ;; Prevent the installed _sysconfigdata.py from retaining a reference
+                               ;; to coreutils.
+                               "INSTALL=install -c"
+                               "MKDIR_P=mkdir -p"
+
+                               ;; Disable runtime check failing if cross-compiling, see:
+                               ;; https://lists.yoctoproject.org/pipermail/poky/2013-June/008997.html
+                               ,@(if (%current-target-system)
+                                     '("ac_cv_buggy_getaddrinfo=no"
+                                       "ac_cv_file__dev_ptmx=no"
+                                       "ac_cv_file__dev_ptc=no")
+                                     '())
+                               ;; -fno-semantic-interposition reinstates some optimizations by gcc
+                               ;; leading to around 15% speedup. This is the default starting from
+                               ;; python 3.10.
+                               "CFLAGS=-fno-semantic-interposition"
+                               (string-append "LDFLAGS=-Wl,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib"
+                                              " -fno-semantic-interposition"))
+       ;; With no -j argument tests use all available cpus, so provide one.
+       #:make-flags (list (string-append (format #f "TESTOPTS=-j~d"
+                                                 (parallel-job-count))
+                           ;; those tests fail on low-memory systems
+                           " --exclude test_mmap test_socket test_threading test_asyncio"
+                           ,@(if (system-hurd?)
+                                 '(" test_posix" ;multiple errors
+                                   " test_time"
+                                   " test_pty"
+                                   " test_shutil"
+                                   " test_tempfile" ;chflags: invalid argument:
+                                   ;; tbv14c9t/dir0/dir0/dir0/test0.txt
+                                   " test_os" ;stty: 'standard input':
+                                   ;; Inappropriate ioctl for device
+                                   " test_openpty" ;No such file or directory
+                                   " test_selectors" ;assertEqual(NUM_FDS // 2, len(fds))
+                                   ;; 32752 != 4
+                                   " test_compileall" ;multiple errors
+                                   " test_poll" ;list index out of range
+                                   " test_subprocess" ;runs over 10min
+                                   " test_asyncore" ;multiple errors
+                                   " test_threadsignals"
+                                   " test_eintr" ;Process return code is -14
+                                   " test_io" ;multiple errors
+                                   " test_logging"
+                                   " test_signal"
+                                   " test_flags" ;ERROR
+                                   " test_bidirectional_pty"
+                                   " test_create_unix_connection"
+                                   " test_unix_sock_client_ops"
+                                   " test_open_unix_connection"
+                                   " test_open_unix_connection_error"
+                                   " test_read_pty_output"
+                                   " test_write_pty"
+                                   " test_concurrent_futures" ;freeze
+                                   " test_venv" ;freeze
+                                   " test_multiprocessing_forkserver" ;runs over 10min
+                                   " test_multiprocessing_spawn" ;runs over 10min
+                                   " test_builtin"
+                                   " test_capi"
+                                   " test_dbm_ndbm"
+                                   " test_exceptions"
+                                   " test_faulthandler"
+                                   " test_getopt"
+                                   " test_importlib"
+                                   " test_json"
+                                   " test_multiprocessing_fork"
+                                   " test_multiprocessing_main_handling"
+                                   " test_pdb "
+                                   " test_regrtest"
+                                   " test_sqlite")
+                                 '())))
+
+       #:modules ((ice-9 ftw)
+                  (ice-9 match)
+                  (guix build utils)
+                  (guix build gnu-build-system))
+
+       #:phases (modify-phases %standard-phases
+                  ,@(if (system-hurd?)
+                        `((add-after 'unpack
+                                     'disable-multi-processing
+                                     (lambda _
+                                       (substitute* "Makefile.pre.in"
+                                         (("-j0")
+                                          "-j1")))))
+                        '())
+                  (add-before 'configure 'patch-lib-shells
+                    (lambda _
+                      ;; This variable is used in setup.py to enable cross compilation
+                      ;; specific switches. As it is not set properly by configure
+                      ;; script, set it manually.
+                      ,@(if (%current-target-system)
+                            '((setenv "_PYTHON_HOST_PLATFORM" ""))
+                            '())
+                      ;; Filter for existing files, since some may not exist in all
+                      ;; versions of python that are built with this recipe.
+                      (substitute* (filter file-exists?
+                                           '("Lib/subprocess.py"
+                                             "Lib/popen2.py"
+                                             "Lib/distutils/tests/test_spawn.py"
+                                             "Lib/test/support/__init__.py"
+                                             "Lib/test/test_subprocess.py"))
+                        (("/bin/sh")
+                         (which "sh")))))
+                  (add-before 'configure 'do-not-record-configure-flags
+                    (lambda* (#:key configure-flags #:allow-other-keys)
+                      ;; Remove configure flags from the installed '_sysconfigdata.py'
+                      ;; and 'Makefile' so we don't end up keeping references to the
+                      ;; build tools.
+                      ;;
+                      ;; Preserve at least '--with-system-ffi' since otherwise the
+                      ;; thing tries to build libffi, fails, and we end up with a
+                      ;; Python that lacks ctypes.
+                      (substitute* "configure"
+                        (("^CONFIG_ARGS=.*$")
+                         (format #f "CONFIG_ARGS='~a'\n"
+                                 (if (member "--with-system-ffi"
+                                             configure-flags)
+                                     "--with-system-ffi" ""))))))
+                  (add-before 'check 'pre-check
+                    (lambda _
+                      ;; 'Lib/test/test_site.py' needs a valid $HOME
+                      (setenv "HOME"
+                              (getcwd))))
+                  (add-after 'unpack 'set-source-file-times-to-1980
+                    ;; XXX One of the tests uses a ZIP library to pack up some of the
+                    ;; source tree, and fails with "ZIP does not support timestamps
+                    ;; before 1980".  Work around this by setting the file times in the
+                    ;; source tree to sometime in early 1980.
+                    (lambda _
+                      (let ((circa-1980 (* 10 366 24 60 60)))
+                        (ftw "."
+                             (lambda (file stat flag)
+                               (utime file circa-1980 circa-1980) #t)))))
+                  (add-after 'unpack 'remove-windows-binaries
+                    (lambda _
+                      ;; Delete .exe from embedded .whl (zip) files
+                      (for-each (lambda (whl)
+                                  (let ((dir "whl-content")
+                                        (circa-1980 (* 10 366 24 60 60)))
+                                    (mkdir-p dir)
+                                    (with-directory-excursion dir
+                                      (let ((whl (string-append "../" whl)))
+                                        (invoke "unzip" whl)
+                                        (for-each delete-file
+                                                  (find-files "." "\\.exe$"))
+                                        (delete-file whl)
+                                        ;; Reset timestamps to prevent them from ending
+                                        ;; up in the Zip archive.
+                                        (ftw "."
+                                             (lambda (file stat flag)
+                                               (utime file circa-1980
+                                                      circa-1980) #t))
+                                        (apply invoke "zip" "-X" whl
+                                               (find-files "."
+                                                           #:directories? #t))))
+                                    (delete-file-recursively dir)))
+                                (find-files "Lib/ensurepip" "\\.whl$"))))
+                  (add-after 'install 'remove-tests
+                    ;; Remove 25 MiB of unneeded unit tests.  Keep test_support.*
+                    ;; because these files are used by some libraries out there.
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let ((out (assoc-ref outputs "out")))
+                        (match (scandir (string-append out "/lib")
+                                        (lambda (name)
+                                          (string-prefix? "python" name)))
+                          ((pythonX.Y)
+                           (let ((testdir (string-append out "/lib/" pythonX.Y
+                                                         "/test")))
+                             (with-directory-excursion testdir
+                               (for-each delete-file-recursively
+                                         (scandir testdir
+                                                  (match-lambda
+                                                    ((or "." "..")
+                                                     #f)
+                                                    ("support" #f)
+                                                    (file (not (string-prefix?
+                                                                "test_support."
+                                                                file))))))
+                               (call-with-output-file "__init__.py"
+                                 (const #t))))
+                           (let ((libdir (string-append out "/lib/" pythonX.Y)))
+                             (for-each (lambda (directory)
+                                         (let ((dir (string-append libdir "/"
+                                                                   directory)))
+                                           (when (file-exists? dir)
+                                             (delete-file-recursively dir))))
+                                       '("email/test" "ctypes/test"
+                                         "unittest/test"
+                                         "tkinter/test"
+                                         "sqlite3/test"
+                                         "bsddb/test"
+                                         "lib-tk/test"
+                                         "json/tests"
+                                         "distutils/tests"))))))))
+                  (add-after 'remove-tests 'move-tk-inter
+                    (lambda* (#:key outputs inputs #:allow-other-keys)
+                      ;; When Tkinter support is built move it to a separate output so
+                      ;; that the main output doesn't contain a reference to Tcl/Tk.
+                      (let ((out (assoc-ref outputs "out"))
+                            (tk (assoc-ref outputs "tk")))
+                        (when tk
+                          (match (find-files out "tkinter.*\\.so")
+                            ((tkinter.so)
+                             ;; The .so is in OUT/lib/pythonX.Y/lib-dynload, but we
+                             ;; want it under TK/lib/pythonX.Y/site-packages.
+                             (let* ((len (string-length out))
+                                    (target (string-append tk "/"
+                                                           (string-drop (dirname
+                                                                         (dirname
+                                                                          tkinter.so))
+                                                                        len)
+                                                           "/site-packages")))
+                               (install-file tkinter.so target)
+                               (delete-file tkinter.so))))
+                          ;; Remove explicit store path references.
+                          (let ((tcl (assoc-ref inputs "tcl"))
+                                (tk (assoc-ref inputs "tk")))
+                            (substitute* (find-files (string-append out "/lib")
+                                                     "^(_sysconfigdata_.*\\.py|Makefile)$")
+                                         (((string-append "-L" tk "/lib")) "")
+                                         (((string-append "-L" tcl "/lib")) "")))))))
+                  (add-after 'move-tk-inter 'move-idle
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      ;; when idle is built, move it to a separate output to save some
+                      ;; space (5MB)
+                      (let ((out (assoc-ref outputs "out"))
+                            (idle (assoc-ref outputs "idle")))
+                        (when idle
+                          (for-each (lambda (file)
+                                      (let ((target (string-append idle
+                                                                   "/bin/"
+                                                                   (basename
+                                                                    file))))
+                                        (install-file file
+                                                      (dirname target))
+                                        (delete-file file)))
+                                    (find-files (string-append out "/bin")
+                                                "^idle"))
+                          (match (find-files out "^idlelib$"
+                                             #:directories? #t)
+                            ((idlelib)
+                             (let* ((len (string-length out))
+                                    (target (string-append idle "/"
+                                                           (string-drop
+                                                            idlelib len)
+                                                           "/site-packages")))
+                               (mkdir-p (dirname target))
+                               (rename-file idlelib target))))))))
+                  (add-after 'move-idle 'rebuild-bytecode
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let ((out (assoc-ref outputs "out")))
+                        ;; Disable hash randomization to ensure the generated .pycs
+                        ;; are reproducible.
+                        (setenv "PYTHONHASHSEED" "0")
+
+                        (for-each (lambda (output)
+                                    ;; XXX: Delete existing pycs generated by the build
+                                    ;; system beforehand because the -f argument does
+                                    ;; not necessarily overwrite all files, leading to
+                                    ;; indeterministic results.
+                                    (for-each (lambda (pyc)
+                                                (delete-file pyc))
+                                              (find-files output "\\.pyc$"))
+
+                                    (apply invoke
+                                           `(,,(if (%current-target-system)
+                                                   "python3"
+                                                   '(string-append out
+                                                     "/bin/python3")) "-m"
+                                             "compileall"
+                                             "-o"
+                                             "0"
+                                             "-o"
+                                             "1"
+                                             "-o"
+                                             "2"
+                                             "-f" ;force rebuild
+                                             "--invalidation-mode=unchecked-hash"
+                                             ;; Don't build lib2to3, because it's
+                                             ;; Python 2 code.
+                                             "-x"
+                                             "lib2to3/.*"
+                                             ,output)))
+                                  (map cdr outputs)))))
+                  (add-before 'check 'set-TZDIR
+                    (lambda* (#:key inputs native-inputs #:allow-other-keys)
+                      ;; test_email requires the Olson time zone database.
+                      (setenv "TZDIR"
+                              (string-append (assoc-ref (or native-inputs
+                                                            inputs) "tzdata")
+                                             "/share/zoneinfo"))))
+                  (add-after 'install 'install-sitecustomize.py
+                    ,(customize-site version)))))
+    (inputs (list bzip2
+                  expat
+                  gdbm
+                  libffi ;for ctypes
+                  sqlite ;for sqlite extension
+                  openssl
+                  readline
+                  zlib
+                  tcl
+                  tk)) ;for tkinter
+    (native-inputs `(("tzdata" ,tzdata-for-tests)
+                     ("unzip" ,unzip)
+                     ("zip" ,(@ (gnu packages compression) zip))
+                     ("pkg-config" ,pkg-config)
+                     ("sitecustomize.py" ,(local-file (search-auxiliary-file
+                                                       "python/sitecustomize.py")))
+                     ;; When cross-compiling, a native version of Python itself is needed.
+                     ,@(if (%current-target-system)
+                           `(("python" ,this-package)
+                             ("which" ,which))
+                           '())))
+    (native-search-paths
+     (list (guix-pythonpath-search-path version)
+           ;; Used to locate tzdata by the zoneinfo module introduced in
+           ;; Python 3.9.
+           (search-path-specification
+            (variable "PYTHONTZPATH")
+            (files (list "share/zoneinfo")))))
+    (home-page "https://www.python.org")
+    (synopsis "High-level, dynamically-typed programming language")
+    (description
+     "Python is a remarkably powerful dynamic programming language that
+is used in a wide variety of application domains.  Some of its key
+distinguishing features include: clear, readable syntax; strong
+introspection capabilities; intuitive object orientation; natural
+expression of procedural code; full modularity, supporting hierarchical
+packages; exception-based error handling; and very high level dynamic
+data types.")
+    (properties '((cpe-name . "python")))
+    (license license:psfl)))
+
+
+;; Next 3.x version.
+(define-public python-next python-3.12)
+
 ;; Current 3.x version.
 (define-public python-3 python-3.10)
 

base-commit: f3ea06baca2b96cd20170616fd5da13ec2daac54
-- 
2.41.0





^ permalink raw reply related	[relevance 35%]

* [bug#69579] [PATCH] gnu: python-joblib: Update to 1.3.2.
@ 2024-03-06  9:38 64% Nicolas Graves via Guix-patches via
  0 siblings, 0 replies; 200+ results
From: Nicolas Graves via Guix-patches via @ 2024-03-06  9:38 UTC (permalink / raw)
  To: 69579; +Cc: ngraves

* gnu/packages/python-xyz.scm (python-joblib): Update to 1.3.2.
[build-system]: Update to pyproject-build-system.
[arguments]
  <#:phases>: Remove check phase.
  <#:test-flags>: Keep former test flag.
[propagated-inputs]: Add python-psutil.

Change-Id: Ide110a19431b1d26e1d7dd8d1adc3b3f0f417749
---
 gnu/packages/python-xyz.scm | 22 ++++++++--------------
 1 file changed, 8 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 46232d3c98..122dca6e4e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6169,26 +6169,20 @@ (define-public python-pystitcher
 (define-public python-joblib
   (package
     (name "python-joblib")
-    (version "1.1.1")
+    (version "1.3.2")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "joblib" version))
               (sha256
                (base32
-                "0019p280s2k941mihl67l7y6amwx86639xp3zvpsg1lmyish67rh"))))
-    (build-system python-build-system)
+                "1cbjjzsh9hzaqr2cqja95673p7j88b8bd02hjpkq8xz147k6by4j"))))
+    (build-system pyproject-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda* (#:key tests? #:allow-other-keys)
-             (when tests?
-               (setenv "JOBLIB_MULTIPROCESSING" "0")
-               (invoke "pytest" "-v" "joblib"
-                       ;; We disable this test to avoid having to depend on ipython/jupyter
-                       "-k" "not test_parallel_call_cached_function_defined_in_jupyter")))))))
-    (native-inputs
-     (list python-pytest))
+     (list
+      #:test-flags  ; disabled to avoid having to depend on ipython/jupyter
+      #~(list "-k" "not test_parallel_call_cached_function_defined_in_jupyter")))
+    (native-inputs (list python-pytest))
+    (propagated-inputs (list python-psutil))
     (home-page "https://joblib.readthedocs.io/")
     (synopsis "Using Python functions as pipeline jobs")
     (description
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* [bug#69514] [PATCH] gnu: python-pandera: Update to 0.18.0.
@ 2024-03-02 20:46 62% Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-03-02 20:46 UTC (permalink / raw)
  To: 69514

* gnu/packages/python-science.scm (python-pandera): Update to 0.18.0.
[source]: Remove snippet.
[arguments]<#:phases>: Add 'fix-tests phase.
---
 gnu/packages/python-science.scm | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index b6a116f16b..93b5c5c91d 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -826,7 +826,7 @@ (define-public python-pandarallel
 (define-public python-pandera
   (package
     (name "python-pandera")
-    (version "0.17.2")
+    (version "0.18.0")
     (source
      (origin
        ;; No tests in the PyPI tarball.
@@ -836,14 +836,7 @@ (define-public python-pandera
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1mnqk583z90k1n0z3lfa4rd0ng40v7hqfk7phz5gjmxlzfjbxa1x"))
-       (modules '((guix build utils)))
-       ;; These tests require PySpark and Modin. We need to remove the entire
-       ;; directory, since the conftest.py in these directories contain
-       ;; imports.  (See: https://github.com/pytest-dev/pytest/issues/7452)
-       (snippet '(begin
-                   (delete-file-recursively "tests/pyspark")
-                   (delete-file-recursively "tests/modin")))))
+        (base32 "14b5aij5zjkwvsimg0v00qvp59mhhq7ljim4qghcn432vkg9gh47"))))
     (build-system pyproject-build-system)
     (arguments
      (list
@@ -854,7 +847,16 @@ (define-public python-pandera
                            ;; positives. These tests currently fail.
                            "not test_python_std_list_dict_generics"
                            " and not test_python_std_list_dict_empty_and_none"
-                           " and not test_pandas_modules_importable"))))
+                           " and not test_pandas_modules_importable"))
+      #:phases #~(modify-phases %standard-phases
+                   (add-before 'check 'fix-tests
+                     (lambda _
+                       ;; These tests require PySpark and Modin. We need to
+                       ;; remove the entire directory, since the conftest.py
+                       ;; in these directories contain imports.  (See:
+                       ;; https://github.com/pytest-dev/pytest/issues/7452)
+                       (for-each delete-file-recursively
+                                 '("tests/pyspark" "tests/modin")))))))
     ;; Pandera comes with a lot of extras. We test as many as possible, but do
     ;; not include all of them in the propagated-inputs. Currently, we have to
     ;; skip the pyspark and io tests due to missing packages python-pyspark

base-commit: 6f5ea7ac1acb3d1c53baf7620cca66cc87fe5a73
-- 
2.42.0





^ permalink raw reply related	[relevance 62%]

* [bug#68721] [PATCH 1/2] gnu: Add python-cramjam.
    2024-01-25 20:39 72% ` [bug#68721] [PATCH 1/2] gnu: Add python-cramjam Troy Figiel
@ 2024-03-02 18:40 72% ` Troy Figiel
  1 sibling, 0 replies; 200+ results
From: Troy Figiel @ 2024-03-02 18:40 UTC (permalink / raw)
  To: 68721

* gnu/packages/python-compression.scm (python-cramjam): New variable.
---
 gnu/packages/python-compression.scm | 80 ++++++++++++++++++++++++++++-
 1 file changed, 79 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index 6f249dd3af..691fbd3065 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2020, 2022, 2023 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
-;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -30,12 +30,14 @@ (define-module (gnu packages python-compression)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix gexp)
+  #:use-module (guix build-system cargo)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix build-system pyproject)
   #:use-module (gnu packages)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages crates-io)
   #:use-module (gnu packages check)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages pkg-config)
@@ -44,6 +46,7 @@ (define-module (gnu packages python-compression)
   #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages rust-apps)
   #:use-module (gnu packages sphinx))
 
 (define-public python-multivolumefile
@@ -73,6 +76,81 @@ (define-public python-multivolumefile
 were a single file.")
     (license license:lgpl2.1+)))
 
+(define-public python-cramjam
+  (package
+    (name "python-cramjam")
+    (version "2.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "cramjam" version))
+       (sha256
+        (base32 "1b69qlr0q7q3spa7zy55xc1dr5pjgsdavxx8ijhv2j60xqjbg7sp"))))
+    (build-system cargo-build-system)
+    (arguments
+     (list
+      #:imported-modules `(,@%cargo-build-system-modules
+                           ,@%pyproject-build-system-modules)
+      #:modules '((guix build cargo-build-system)
+                  ((guix build pyproject-build-system)
+                   #:prefix py:)
+                  (guix build utils))
+      #:phases #~(modify-phases %standard-phases
+                   ;; We use Maturin to build the project.
+                   (replace 'build
+                     (assoc-ref py:%standard-phases
+                                'build))
+                   ;; Before being able to run Python tests, we need to
+                   ;; install the module and add it to PYTHONPATH.
+                   (delete 'install)
+                   (add-after 'build 'install
+                     (assoc-ref py:%standard-phases
+                                'install))
+                   (add-after 'install 'add-install-to-pythonpath
+                     (assoc-ref py:%standard-phases
+                                'add-install-to-pythonpath))
+                   ;; Finally run the tests. Only Python tests are provided.
+                   (replace 'check
+                     (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+                       (when tests?
+                         ;; Without the CI variable, tests are run in "local"
+                         ;; mode, which sets a deadline for hypothesis.  For a
+                         ;; deterministic build, we need to set CI.
+                         (setenv "CI" "1")
+                         (invoke "pytest" "-vv" "tests")))))
+      #:cargo-inputs `(("rust-brotli" ,rust-brotli-3)
+                       ("rust-bzip2" ,rust-bzip2-0.4)
+                       ("rust-flate2" ,rust-flate2-1)
+                       ("rust-lz4" ,rust-lz4-1)
+                       ("rust-pyo3" ,rust-pyo3-0.18)
+                       ("rust-snap" ,rust-snap-1)
+                       ("rust-zstd" ,rust-zstd-0.11))
+      #:install-source? #f))
+    (native-inputs (list maturin
+                         python-pytest
+                         python-pytest-xdist
+                         python-numpy
+                         python-hypothesis
+                         python-wrapper))
+    (home-page "https://github.com/milesgranger/cramjam")
+    (synopsis "Python bindings to compression algorithms in Rust")
+    (description
+     "This package provides thin Python bindings to compression and
+decomporession algorithms implemented in Rust.  This allows for using
+algorithms such as Snappy without additional system dependencies.  The
+following algorithms are available:
+
+@itemize
+@item Snappy
+@item Brotli
+@item Bzip2
+@item LZ4
+@item Gzip
+@item Deflate
+@item Zstd
+@end itemize")
+    (license license:expat)))
+
 (define-public python-pybcj
   (package
     (name "python-pybcj")
-- 
2.42.0





^ permalink raw reply related	[relevance 72%]

* [bug#69434] [PATCH v2] gnu: Add python-ldaptor.
  2024-02-27 19:09 60% [bug#69434] [PATCH] gnu: Add python-ldaptor Sharlatan Hellseher
@ 2024-03-02 14:15 61% ` Sharlatan Hellseher
  0 siblings, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-03-02 14:15 UTC (permalink / raw)
  To: 69434
  Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

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

Change-Id: If7d2cb7b51bb0ccc85b76d7f2d4b31857e042066
---
 gnu/packages/python-xyz.scm | 49 +++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index fc6e997b6c..71e629896c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -30099,6 +30099,55 @@ (define-public python-ldap3
 library.")
     (license license:lgpl3+)))
 
+(define-public python-ldaptor
+  (package
+    (name "python-ldaptor")
+    (version "21.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ldaptor" version))
+       (sha256
+        (base32 "0n53czn5pyh8923y282spdb7xc8c9rhn0n43bczanjjx6wcynjcc"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      #~(list "-m" "twisted.trial"
+              (string-append "-j" (number->string (parallel-job-count)))
+              "ldaptor")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'check 'disable-failing-tests
+          (lambda _
+            ;; Testing with Twisted 22.4 results in infinite loop creating
+            ;; temporary config files, see
+            ;; <https://github.com/twisted/ldaptor/issues/238>.
+            (delete-file "ldaptor/test/test_config.py")))
+          (replace 'check
+            (lambda* (#:key tests? test-flags #:allow-other-keys)
+              (when tests?
+                (apply invoke "python" test-flags)))))))
+    (propagated-inputs
+     (list python-passlib
+           python-pyparsing
+           python-six
+           python-twisted-22
+           python-zope-interface))
+    (home-page "https://github.com/twisted/ldaptor")
+    (synopsis "Pure-Python Twisted library for LDAP")
+    (description
+     "This package provides a Python Twisted library for LDAP, which key
+feaatures are:
+@itemize
+@item LDAP client logic
+@item separately-accessible LDAP and BER protocol message generation/parsing
+@item ASCII-format LDAP filter generation and parsing
+@item LDIF format data generation
+@item Samba password changing logic
+@end itemize")
+    (license license:expat)))
+
 (define-public python-boltons
   (package
     (name "python-boltons")

base-commit: efdaa885b083e85bd380ca914addfcf32d0834f7
-- 
2.41.0





^ permalink raw reply related	[relevance 61%]

* [bug#67999] [PATCH v2] gnu: Add kalamine.
    2024-02-16 14:57 59% ` [bug#67999] [PATCH] gnu: python-kalamine: Update to 0.30 Adriel Dumas--Jondeau via Guix-patches via
  2024-03-01 11:32 59% ` [bug#67999] [PATCH] gnu: Add python-kalamine Adriel Dumas--Jondeau via Guix-patches via
@ 2024-03-02 14:08 60% ` Sharlatan Hellseher
  2 siblings, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-03-02 14:08 UTC (permalink / raw)
  To: 67999
  Cc: Sharlatan Hellseher, Adriel Dumas--Jondeau, Lars-Dominik Braun,
	Marius Bakke, Munyoki Kilyungi, Sharlatan Hellseher, jgart

From: Adriel Dumas--Jondeau <leirda@disroot.org>

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

Change-Id: If13f258440bb35973b3d79a87fea68e4708845bf
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
 gnu/packages/python-xyz.scm | 41 +++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index fc6e997b6c..7410f40465 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -147,6 +147,7 @@
 ;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
 ;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
 ;;; Copyright © 2024 Timothee Mathieu <timothee.mathieu@inria.fr>
+;;; Copyright © 2024 Adriel Dumas--Jondeau <leirda@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -6375,6 +6376,46 @@ (define-public autokey
 flexibility and power of the Python language.")
     (license license:gpl3+)))
 
+(define-public kalamine
+  (package
+    (name "kalamine")
+    (version "0.33")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "kalamine" version))
+       (sha256
+        (base32 "11hci02lvjc8657lylfcdw24bff0g1q0qxi8wcrjgqcqka9vm63c"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'check 'make-test-layouts
+            (lambda _
+              (apply invoke
+                     (cons* "python" "-m" "kalamine.cli" "build"
+                            (find-files "layouts" "\\.toml")))
+              (invoke "python" "-m" "kalamine.cli" "new" "test.toml"))))))
+    (propagated-inputs
+     (list python-click
+           python-livereload
+           python-lxml
+           python-progress
+           python-pyyaml
+           python-tomli))
+    ;; TODO: Add python-pytest-ruff to native-inputs once it has been
+    ;; packaged.
+    (native-inputs
+     (list python-hatchling python-mypy python-pytest))
+    (home-page "https://github.com/OneDeadKey/kalamine")
+    (synopsis "Keyboard Layout Maker")
+    (description
+     "Kalamine provides a CLI to create advanced keyboard layout from a
+textual portable description.  It also supports layout emulation via web
+browser.")
+    (license license:expat)))
+
 (define-public python-dm-tree
   (package
     (name "python-dm-tree")

base-commit: 4a0549be52f3f46fbce61342d8de30f7b83130c5
-- 
2.41.0





^ permalink raw reply related	[relevance 60%]

* [bug#60240] [PATCH v2] gnu: Add python-3.12 and python-next.
  @ 2024-03-02  9:59 57%       ` Lars-Dominik Braun
  0 siblings, 0 replies; 200+ results
From: Lars-Dominik Braun @ 2024-03-02  9:59 UTC (permalink / raw)
  To: Tanguy LE CARROUR; +Cc: 60240

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

Hey,

> Sorry, but I’m not sure to see what you mean!?
> Outputs are defined for `out`, `tk` and `idle`. And I see phases to move
> files to the outputs: `move-tk-inter` and `move-idle`.
> 
> What do you mean by `referenced from out`? And how would you remove such
> a reference!

so, if you look at `guix size python@3.12`, you can see
it lists tk and tcl. And then a `grep -Ri /gnu/store/path/to/tcl
/gnu/store/path/to/python` reveals it’s being referenced by
lib/python3.12/_sysconfigdata__linux_x86_64-linux-gnu.py and
lib/python3.12/config-3.12-x86_64-linux-gnu/Makefile, which are both
part of the default “out” output. That means TCL and TK are both
part of the closure of the python@3.12 package, i.e. they are downloaded
whenever you install it, making the package “bigger” in size (234.5
MiB in total to be precise). I believe we wanted to avoid that by moving
some parts of Python into the separate “tk” output. But apparently
that does not work (any more).

The attached patch (on top of yours) removes these references and shrinks
the closure of python@3.12 to 180.6 MiB. But I don’t know whether it
has any negative side-effects (i.e. packages not building any more),
because I can’t build libxslt with Python 3.12 due to the module
“imp” having been removed in Python 3.12.

> I searched in the issue list on GH, but couldn’t find anything relevant.
> But there are quite a lot of issues there.
> Do we have to fix this before we merge it?

No, we’d have to dig deeper into which particular test causes this
behavior.

And actually one more nitpick: The name of the package should be
“python-next” not “python”, otherwise `guix install python`
will pick Python 3.12 (it’s based on the name property, not the
variable name).

Cheers,
Lars


[-- Attachment #2: python-3.12-remove-tk-tcl-refs.patch --]
[-- Type: text/plain, Size: 1901 bytes --]

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 471cf190fb..0b887a2cdb 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -836,7 +836,7 @@ (define-public python-3.12
                                          "json/tests"
                                          "distutils/tests"))))))))
                   (add-after 'remove-tests 'move-tk-inter
-                    (lambda* (#:key outputs #:allow-other-keys)
+                    (lambda* (#:key outputs inputs #:allow-other-keys)
                       ;; When Tkinter support is built move it to a separate output so
                       ;; that the main output doesn't contain a reference to Tcl/Tk.
                       (let ((out (assoc-ref outputs "out"))
@@ -854,7 +854,14 @@ (define-public python-3.12
                                                                         len)
                                                            "/site-packages")))
                                (install-file tkinter.so target)
-                               (delete-file tkinter.so))))))))
+                               (delete-file tkinter.so))))
+                          ;; Remove explicit store path references.
+                          (let ((tcl (assoc-ref inputs "tcl"))
+                                (tk (assoc-ref inputs "tk")))
+                            (substitute* (find-files (string-append out "/lib")
+                                                     "^(_sysconfigdata_.*\\.py|Makefile)$")
+                                         (((string-append "-L" tk "/lib")) "")
+                                         (((string-append "-L" tcl "/lib")) "")))))))
                   (add-after 'move-tk-inter 'move-idle
                     (lambda* (#:key outputs #:allow-other-keys)
                       ;; when idle is built, move it to a separate output to save some

^ permalink raw reply related	[relevance 57%]

* [bug#67999] [PATCH] gnu: Add python-kalamine.
    2024-02-16 14:57 59% ` [bug#67999] [PATCH] gnu: python-kalamine: Update to 0.30 Adriel Dumas--Jondeau via Guix-patches via
@ 2024-03-01 11:32 59% ` Adriel Dumas--Jondeau via Guix-patches via
  2024-03-02 14:08 60% ` [bug#67999] [PATCH v2] gnu: Add kalamine Sharlatan Hellseher
  2 siblings, 0 replies; 200+ results
From: Adriel Dumas--Jondeau via Guix-patches via @ 2024-03-01 11:32 UTC (permalink / raw)
  To: 67999
  Cc: Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: If13f258440bb35973b3d79a87fea68e4708845bf
---
 gnu/packages/python-xyz.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)


Hi o/

Thank you for your answers!
Here's a squashed version of previous patches, as if V1 never existed in
the first place. Does that looks good to you?


diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 29e2bfd222..64060d44e3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6327,6 +6327,43 @@ (define-public autokey
 flexibility and power of the Python language.")
     (license license:gpl3+)))
 
+(define-public python-kalamine
+  (package
+    (name "python-kalamine")
+    (version "0.30")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "kalamine" version))
+       (sha256
+        (base32 "1aqwfp0m2fr9miwh0d8ljmb58k4mw7bp9bzn5fk3kyj2d6zr0cxg"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (apply invoke
+                            (cons* "python" "-m" "kalamine.cli" "make"
+                                   (find-files "layouts" "\\.toml")))
+                     (invoke "pytest" "-vv" "tests")))))))
+    (propagated-inputs (list python-click python-livereload python-lxml
+                             python-pyyaml python-tomli python-hatchling))
+    (native-inputs (list python-black
+                         python-isort
+                         python-mypy
+                         python-pytest))
+    (home-page "https://github.com/OneDeadKey/kalamine")
+    (synopsis "A cross-platform Keyboard Layout Maker")
+    (description "Kalamine provides a CLI to create advanced keyboard layout
+for Windows (@file{.ahk} or @file{.klc} files), MacOS (@file{.keylayout} files)
+and GNU/Linux (@file{.xkb_custom} or @file{.xkb} files) from a textual,
+portable description.  It also provides @command{xkalamine} to install XKB
+files on GNU/Linux in either @file{/usr/share/X11/xbk} or the rootless
+user-only equivalent @file{.config/xkb}.")
+    (license license:expat)))
+
 (define-public python-dm-tree
   (package
     (name "python-dm-tree")

base-commit: 203344cc37c8a7df1ec1454381b5069d53ce7f9e
prerequisite-patch-id: cefc174692b72660bf5ed4c03442f33dbaf6e784
prerequisite-patch-id: 6b1015959d122056b883e766306b0ff8ba30bde9
prerequisite-patch-id: a3116f7908bc9fdb237e4cde52260856b083596d
prerequisite-patch-id: db1d3d945579284d401944b18fcbc506a000714f
prerequisite-patch-id: 84bff5e4689979f565315edf96250ccc367f8fb8
prerequisite-patch-id: bd69d4115bc86b7d2739e9890625788f1fa5a006
prerequisite-patch-id: 0834ca6f4e7f1ed91b5dcb679096a953a6e36273
-- 
2.41.0





^ permalink raw reply related	[relevance 59%]

* [bug#69486] [PATCH] gnu: Add python-pypugjs.
@ 2024-03-01  9:22 61% Tanguy Le Carrour
  0 siblings, 0 replies; 200+ results
From: Tanguy Le Carrour @ 2024-03-01  9:22 UTC (permalink / raw)
  To: 69486
  Cc: Tanguy Le Carrour, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

Hi Guix,

This patch adds PyPugJS. Not much more to say, except… thanks for
reviewing! 😉

Tanguy

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

Change-Id: I050ab42d0149fcffddcf6b12dd9c1ddea23f84c9
---
 gnu/packages/python-xyz.scm | 48 +++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8691f70375..338bc72582 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6098,6 +6098,54 @@ (define-public python-jinja2-time
 templates.  A format string can be provided to control the output.")
     (license license:expat)))
 
+(define-public python-pypugjs
+  (package
+    (name "python-pypugjs")
+    (version "5.9.12")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/kakulukia/pypugjs")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0zj7a560h973cl7brfw1nmyhgm8rp8j80wnih0shvhmw4ql23lpa"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   ;; Our pyramid is outdated and pyramid-mako is not packaged.
+                   (add-after 'unpack 'disable-pyramid
+                     (lambda* (#:key inputs #:allow-other-keys)
+                       (substitute* "setup.py"
+                         (("'pyramid")
+                          "#'pyramid"))))
+                   (replace 'check
+                     (lambda* (#:key tests? #:allow-other-keys)
+                       (when tests?
+                         (invoke "python" "-m" "pytest" "-v"
+                                 "pypugjs/testsuite/")))))))
+    (native-inputs (list python-coverage
+                         python-django
+                         python-jinja2
+                         python-flake8
+                         python-flask
+                         python-mako
+                         python-nose
+                         python-pip
+                         python-poetry-core
+                         python-pytest
+                         python-setuptools
+                         python-tornado-6
+                         python-wheel))
+    (propagated-inputs (list python-charset-normalizer python-six))
+    (home-page "https://github.com/kakulukia/pypugjs")
+    (synopsis "Convert Pug source files into different template languages")
+    (description
+     "PugJS syntax template adapter for Django, Jinja2, Mako and Tornado templates.")
+    (license license:expat))) ;; MIT
+
 (define-public python-pysdl2
   (package
     (name "python-pysdl2")

base-commit: a3a7d51a31957f185e4e6e3059610769d48ffd70
-- 
2.41.0





^ permalink raw reply related	[relevance 61%]

* [bug#68492] [PATCH v2 2/2] gnu: Add python-fastapi-pagination.
  2024-02-28 23:35 60% ` [bug#68492] [PATCH v2 1/2] gnu: Add python-fastapi-pagination-minimal Giacomo Leidi via Guix-patches via
@ 2024-02-28 23:35 63%   ` Giacomo Leidi via Guix-patches via
  0 siblings, 0 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-02-28 23:35 UTC (permalink / raw)
  To: 68492
  Cc: Giacomo Leidi, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-web.scm (python-fastapi-pagination): New variable.

Change-Id: I3d5563baf7167e0bd0718cdbfc4a869a0bc96911
---
 gnu/packages/python-web.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 1ff5d1009d..8d0c5c278b 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -8824,6 +8824,38 @@ (define-public python-fastapi-pagination-minimal
 return paginated responses to your clients.")
     (license license:expat)))
 
+(define-public python-fastapi-pagination
+  (package
+    (inherit python-fastapi-pagination-minimal)
+    (name "python-fastapi-pagination")
+    (propagated-inputs
+     (modify-inputs (package-propagated-inputs
+                     python-fastapi-pagination-minimal)
+       (prepend python-asyncpg
+                python-databases
+                python-django
+                python-fastapi
+                python-pydantic
+                python-sqlalchemy
+                (package
+                  (inherit python-tortoise-orm)
+                  (arguments
+                   (substitute-keyword-arguments (package-arguments
+                                                  python-tortoise-orm)
+                     ((#:phases phases '%standard-phases)
+                      `(modify-phases ,phases
+                        (delete 'sanity-check)))))
+                  (propagated-inputs
+                   (modify-inputs (package-propagated-inputs python-tortoise-orm)
+                     (replace "python-aiosqlite" python-aiosqlite)))))))
+    (description
+     (string-append (package-description python-fastapi-pagination-minimal)
+                    "
+
+This package, as opposed to @code{python-fastapi-pagination-minimal}, depends on
+all available optional dependencies supported by mainline
+@code{fastapi-pagination}."))))
+
 (define-public python-pyactiveresource
   (package
     (name "python-pyactiveresource")
-- 
2.41.0





^ permalink raw reply related	[relevance 63%]

* [bug#68492] [PATCH v2 1/2] gnu: Add python-fastapi-pagination-minimal.
  2024-01-15 23:25 62% [bug#68492] [PATCH] gnu: Add python-fastapi-pagination Giacomo Leidi via Guix-patches via
@ 2024-02-28 23:35 60% ` Giacomo Leidi via Guix-patches via
  2024-02-28 23:35 63%   ` [bug#68492] [PATCH v2 2/2] gnu: Add python-fastapi-pagination Giacomo Leidi via Guix-patches via
  0 siblings, 1 reply; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-02-28 23:35 UTC (permalink / raw)
  To: 68492
  Cc: Giacomo Leidi, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-web.scm
(python-fastapi-pagination-minimal): New variable.

Change-Id: I69e06ba405bce57409d83f3545e6db2905d3c6a4
---
 gnu/packages/python-web.scm | 35 ++++++++++++++++++++++++++++++++++-
 1 file changed, 34 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index cde4ac4f58..1ff5d1009d 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -39,7 +39,7 @@
 ;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
 ;;; Copyright © 2020, 2021, 2022, 2023 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
-;;; Copyright © 2020, 2022 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2020, 2022, 2024 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
 ;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
@@ -8791,6 +8791,39 @@ (define-public python-fastapi-csrf-protect
 pattern.")
     (license license:expat)))
 
+(define-public python-fastapi-pagination-minimal
+  (package
+    (name "python-fastapi-pagination-minimal")
+    (version "0.12.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/uriyyo/fastapi-pagination")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0qkcphjk1qy680v1hkmqbs4p7srvx020wy39b97anrn9dyyi5ah6"))))
+    (build-system pyproject-build-system)
+    (arguments
+     ;; Tests depend on python-cassandra,
+     ;; which is not yet packaged in Guix.
+     `(#:tests? #f))
+    (native-inputs
+     (list poetry))
+    ;; These are the only required dependencies,
+    ;; please add all optional dependencies to the
+    ;; full python-fastapi-pagination below.
+    (propagated-inputs (list python-fastapi
+                             python-pydantic))
+    (home-page "https://github.com/uriyyo/fastapi-pagination")
+    (synopsis "FastAPI pagination library")
+    (description "@code{fastapi-pagination} is a Python library designed to
+simplify pagination in FastAPI applications.  It provides a set of utility
+functions and data models to help you paginate your database queries and
+return paginated responses to your clients.")
+    (license license:expat)))
+
 (define-public python-pyactiveresource
   (package
     (name "python-pyactiveresource")

base-commit: 23283c50e96d7812a42b1272329fa3ba05a5a6e6
-- 
2.41.0





^ permalink raw reply related	[relevance 60%]

* [bug#69453] [PATCH] gnu: Add python-jinja2-fragments.
@ 2024-02-28 11:20 63% Tanguy Le Carrour
  0 siblings, 0 replies; 200+ results
From: Tanguy Le Carrour @ 2024-02-28 11:20 UTC (permalink / raw)
  To: 69453
  Cc: Tanguy Le Carrour, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

Hi Guix,

This patch adds python-jinja2-fragments. I disabled tests because
they rely unconditionally on many web frameworks, some we don’t even have
packaged.

Regards.

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

Change-Id: Iaa272050b8b54bb19a19fbf2e700eac8b9428063
---
 gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 348b3084b5..0f8429852d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6068,6 +6068,29 @@ (define-public python-jinja2-time
 templates.  A format string can be provided to control the output.")
     (license license:expat)))
 
+(define-public python-jinja2-fragments
+  (package
+    (name "python-jinja2-fragments")
+    (version "1.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jinja2_fragments" version))
+       (sha256
+        (base32 "0z98704fzz5xl54a95s3lii2wc8y5cz6zi3ajiij03wjxfshj877"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      ;; Framework integration tests that depend on too many packages.
+      #:tests? #f))
+    (native-inputs (list python-setuptools python-wheel))
+    (propagated-inputs (list python-jinja2))
+    (home-page "https://github.com/sponsfreixes/jinja2-fragments")
+    (synopsis "Jinja2 extension for template fragments")
+    (description
+     "Render Jinja2 template block as HTML page fragments on Python web frameworks.")
+    (license license:expat)))  ;; MIT
+
 (define-public python-pysdl2
   (package
     (name "python-pysdl2")

base-commit: 03a03ed64a62e23b9d3da8758dbf7754b186982f
-- 
2.41.0





^ permalink raw reply related	[relevance 63%]

* [bug#69452] [PATCH] gnu: Add python-mistune-3.
@ 2024-02-28 10:27 63% Tanguy Le Carrour
  0 siblings, 0 replies; 200+ results
From: Tanguy Le Carrour @ 2024-02-28 10:27 UTC (permalink / raw)
  To: 69452
  Cc: Tanguy Le Carrour, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

Hi Guix,

This patch adds Mistune v3, but… we already have 2 other versions of
Mistune:

- python-mistune (0.8.4)
- python-mistune-next (2.0.4)

Would it be ok if, in a following patch, I renamed python-mistune-next to
python-mistune-2 and change the 3 packages that use it?

Regards.

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

Change-Id: I59adfb92ed65a10292090c758108e889467f28d7
---
 gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8691f70375..4ecc2e5e5d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14155,6 +14155,24 @@ (define-public python-mistune-next
                 (invoke "pytest" "-vv")))))))
     (native-inputs (list python-pytest))))
 
+(define-public python-mistune-3
+  (package
+    (name "python-mistune")
+    (version "3.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "mistune" version))
+       (sha256
+        (base32 "1s4ba1m69yldrhnyfj8lm4bl3axbi95g1dicxya27j9hv7g96zzw"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-pytest python-setuptools python-wheel))
+    (home-page "https://github.com/lepture/mistune")
+    (synopsis "Markdown parser in pure Python")
+    (description "This package provides a fast markdown parser in pure
+Python.")
+    (license license:bsd-3)))
+
 (define-public python-markdown
   (package
     (name "python-markdown")

base-commit: 178c36e1ee6915a27f042f64a6357d5ed9c8cb49
-- 
2.41.0





^ permalink raw reply related	[relevance 63%]

* [bug#69449] [PATCH python-team 8/9] gnu: python-flask: Rename to python-flask-2.
                     ` (6 preceding siblings ...)
  2024-02-28 10:15 61% ` [bug#69449] [PATCH python-team 7/9] gnu: Add python-werkzeug-3 Tanguy Le Carrour
@ 2024-02-28 10:15 65% ` Tanguy Le Carrour
  2024-02-28 10:15 62% ` [bug#69449] [PATCH python-team 9/9] gnu: Add python-flask-3 Tanguy Le Carrour
  8 siblings, 0 replies; 200+ results
From: Tanguy Le Carrour @ 2024-02-28 10:15 UTC (permalink / raw)
  To: 69449
  Cc: Tanguy Le Carrour, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-web.scm (python-flask): Rename to...
(python-flask-2): ... this. Add new variable defining
default python-flask.

Change-Id: Ibcfa805089f1ea17de52525b75e20dc5c2d54ee8
---
 gnu/packages/python-web.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index e8edc1604c..3bdabc311a 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -3923,7 +3923,7 @@ (define-public python-webtest
 minimum of WSGI.")
     (license license:expat)))
 
-(define-public python-flask
+(define-public python-flask-2
   (package
     (name "python-flask")
     (version "2.1.1")
@@ -3957,6 +3957,8 @@ (define-public python-flask
 presume or force a developer to use a particular tool or library.")
     (license license:bsd-3)))
 
+(define-public python-flask python-flask-2)
+
 (define-public python-flask-compress
   (package
     (name "python-flask-compress")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69449] [PATCH python-team 4/9] gnu: python-blinker: Update to 1.7.0.
                     ` (2 preceding siblings ...)
  2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 3/9] gnu: python-click: Update to 8.1.7 Tanguy Le Carrour
@ 2024-02-28 10:15 65% ` Tanguy Le Carrour
  2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 5/9] gnu: Add python-ephemeral-port-reserve Tanguy Le Carrour
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 200+ results
From: Tanguy Le Carrour @ 2024-02-28 10:15 UTC (permalink / raw)
  To: 69449
  Cc: Tanguy Le Carrour, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-blinker): Update to 1.7.0.
[build-system]: Use pyproject-build-system.
[native-inputs]: Add python-flit-core, python-pytest and
python-pytest-asyncio.

Change-Id: Ie825fb38b326facf54b0788c78733b8de4a74920
---
 gnu/packages/python-xyz.scm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c7492650cc..a6f3aec7ed 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7654,16 +7654,17 @@ (define-public python-black-macchiato
 (define-public python-blinker
   (package
     (name "python-blinker")
-    (version "1.4")
+    (version "1.7.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "blinker" version))
        (sha256
         (base32
-         "1dpq0vb01p36jjwbhhd08ylvrnyvcc82yxx3mwjx6awrycjyw6j7"))))
-    (build-system python-build-system)
-    (home-page "https://pythonhosted.org/blinker/")
+         "10k1k4raxkfdan2vj4p1zvj4gxf394vjihj74y71skafzbv0z0p6"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-flit-core python-pytest python-pytest-asyncio))
+    (home-page "https://blinker.readthedocs.io")
     (synopsis "Fast, simple object-to-object and broadcast signaling")
     (description
      "Blinker provides a fast dispatching system that allows any number of
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69449] [PATCH python-team 3/9] gnu: python-click: Update to 8.1.7.
    2024-02-28 10:15 64% ` [bug#69449] [PATCH python-team 1/9] gnu: python-itsdangerous: Update to 2.1.2 Tanguy Le Carrour
  2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 2/9] gnu: python-jinja2: Update to 3.1.3 Tanguy Le Carrour
@ 2024-02-28 10:15 65% ` Tanguy Le Carrour
  2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 4/9] gnu: python-blinker: Update to 1.7.0 Tanguy Le Carrour
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 200+ results
From: Tanguy Le Carrour @ 2024-02-28 10:15 UTC (permalink / raw)
  To: 69449
  Cc: Tanguy Le Carrour, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-click): Update to 8.1.7.

Change-Id: Ifac59bb2a373c519bb0da0f3f8e818d9e869cbf5
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3348cc0d58..c7492650cc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5175,14 +5175,14 @@ (define-public python-cli-helpers
 (define-public python-click
   (package
     (name "python-click")
-    (version "8.1.3")
+    (version "8.1.7")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "click" version))
        (sha256
         (base32
-         "13kvp8visj5xh9d43brnda6q0kc1s40flxa5cw0p0a9hzf5dr0kn"))))
+         "1pm6khdv88h764scik67jki98xbyj367h591j8hpwy4y8nnm766a"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69449] [PATCH python-team 6/9] gnu: python-werkzeug: Rename variable to python-werkzeug-2.
                     ` (4 preceding siblings ...)
  2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 5/9] gnu: Add python-ephemeral-port-reserve Tanguy Le Carrour
@ 2024-02-28 10:15 62% ` Tanguy Le Carrour
  2024-02-28 10:15 61% ` [bug#69449] [PATCH python-team 7/9] gnu: Add python-werkzeug-3 Tanguy Le Carrour
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 200+ results
From: Tanguy Le Carrour @ 2024-02-28 10:15 UTC (permalink / raw)
  To: 69449
  Cc: Tanguy Le Carrour, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-web.scm (python-werkzeug): Rename to...
(python-werkzeug-2): ... this. Add new variable defining
default python-werkzeug.

Change-Id: I6b77baf7731303735bcd7ae707fdd68f8b956c99
---
 gnu/packages/python-web.scm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 88e40959c3..960ad0d879 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -30,7 +30,7 @@
 ;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org>
 ;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
-;;; Copyright © 2019, 2020 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2019, 2020, 2024 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
 ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
@@ -4971,7 +4971,7 @@ (define-public python-publicsuffix2
 List.  Forked from and using the same API as the publicsuffix package.")
     (license (list license:expat license:mpl2.0))))
 
-(define-public python-werkzeug
+(define-public python-werkzeug-2
   (package
     (name "python-werkzeug")
     (version "2.0.2")
@@ -5008,7 +5008,7 @@ (define-public python-werkzeug
 
 (define-public python-werkzeug-1.0
   (package
-    (inherit python-werkzeug)
+    (inherit python-werkzeug-2)
     (version "1.0.1")
     (source (origin
               (method url-fetch)
@@ -5030,6 +5030,8 @@ (define-public python-werkzeug-1.0
     (native-inputs
      (list python-pytest python-pytest-timeout))))
 
+(define-public python-werkzeug python-werkzeug-2)
+
 (define-public python-bottle
   (package
     (name "python-bottle")
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#69449] [PATCH python-team 9/9] gnu: Add python-flask-3.
                     ` (7 preceding siblings ...)
  2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 8/9] gnu: python-flask: Rename to python-flask-2 Tanguy Le Carrour
@ 2024-02-28 10:15 62% ` Tanguy Le Carrour
  8 siblings, 0 replies; 200+ results
From: Tanguy Le Carrour @ 2024-02-28 10:15 UTC (permalink / raw)
  To: 69449
  Cc: Tanguy Le Carrour, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-web.scm (python-flask-3): New variable.

Change-Id: I8556a3e2fed74368c6d4db99cd859ecb33a3d573
---
 gnu/packages/python-web.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 3bdabc311a..215cdd2335 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -3957,6 +3957,39 @@ (define-public python-flask-2
 presume or force a developer to use a particular tool or library.")
     (license license:bsd-3)))
 
+(define-public python-flask-3
+  (package
+    (name "python-flask")
+    (version "3.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "flask" version))
+              (sha256
+               (base32
+                "0zfbxxgl5zpbvswxywrr6fam6rj0vknv317flx84484rnzs06b42"))))
+    (build-system pyproject-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "python" "-m" "pytest" "-vv" "tests")))))))
+    (native-inputs
+     (list python-flit-core python-pytest))
+    (propagated-inputs
+     (list python-blinker
+           python-click
+           python-itsdangerous
+           python-jinja2
+           python-werkzeug-3))
+    (home-page "https://flask.palletsprojects.com")
+    (synopsis "Microframework based on Werkzeug, Jinja2 and good intentions")
+    (description "Flask is a micro web framework based on the Werkzeug toolkit
+and Jinja2 template engine.  It is called a micro framework because it does not
+presume or force a developer to use a particular tool or library.")
+    (license license:bsd-3)))
+
 (define-public python-flask python-flask-2)
 
 (define-public python-flask-compress
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#69449] [PATCH python-team 2/9] gnu: python-jinja2: Update to 3.1.3.
    2024-02-28 10:15 64% ` [bug#69449] [PATCH python-team 1/9] gnu: python-itsdangerous: Update to 2.1.2 Tanguy Le Carrour
@ 2024-02-28 10:15 65% ` Tanguy Le Carrour
  2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 3/9] gnu: python-click: Update to 8.1.7 Tanguy Le Carrour
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 200+ results
From: Tanguy Le Carrour @ 2024-02-28 10:15 UTC (permalink / raw)
  To: 69449
  Cc: Tanguy Le Carrour, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-jinja2): Update to 3.1.3.

Change-Id: I2dc33972577c579fa255f031705cc1961c2c4f7f
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bdcdf8c7c8..3348cc0d58 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6019,14 +6019,14 @@ (define-public python-markupsafe
 (define-public python-jinja2
   (package
     (name "python-jinja2")
-    (version "3.1.1")
+    (version "3.1.3")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Jinja2" version))
        (sha256
         (base32
-         "1saawzys14l1p4kafs7hkihmnvqjq8fwxjmkjiqx3jq1nm5ys2v4"))))
+         "145s4mcjshv5snpc66z80xzxm3xs1gl5k8gk5dwwkcjb9madd2xc"))))
     (build-system python-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69449] [PATCH python-team 7/9] gnu: Add python-werkzeug-3.
                     ` (5 preceding siblings ...)
  2024-02-28 10:15 62% ` [bug#69449] [PATCH python-team 6/9] gnu: python-werkzeug: Rename variable to python-werkzeug-2 Tanguy Le Carrour
@ 2024-02-28 10:15 61% ` Tanguy Le Carrour
  2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 8/9] gnu: python-flask: Rename to python-flask-2 Tanguy Le Carrour
  2024-02-28 10:15 62% ` [bug#69449] [PATCH python-team 9/9] gnu: Add python-flask-3 Tanguy Le Carrour
  8 siblings, 0 replies; 200+ results
From: Tanguy Le Carrour @ 2024-02-28 10:15 UTC (permalink / raw)
  To: 69449
  Cc: Tanguy Le Carrour, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-web.scm (python-werkzeug-3): New variable.

Change-Id: I9e53b3a5e303cc36aeaf7b3cfb678fb6aab1b6a7
---
 gnu/packages/python-web.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 960ad0d879..e8edc1604c 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -5030,6 +5030,41 @@ (define-public python-werkzeug-1.0
     (native-inputs
      (list python-pytest python-pytest-timeout))))
 
+(define-public python-werkzeug-3
+  (package
+    (name "python-werkzeug")
+    (version "3.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "werkzeug" version))
+       (sha256
+        (base32 "1k0x7fxlbvshcpbr9d16z2w1s3irngadwyll0jj1hax7rqg82zjh"))))
+    (build-system pyproject-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+                      (when tests?
+                        ;; Some tests rely on the network and on a newer version
+                        ;; or python-watchdog.
+                        (delete-file "tests/test_serving.py")
+                        (invoke "python" "-m" "pytest")))))))
+    (propagated-inputs (list))
+    (native-inputs (list python-ephemeral-port-reserve python-flit-core
+                         python-markupsafe python-watchdog
+                         python-pytest python-pytest-timeout
+                         python-pytest-xprocess))
+    (home-page "https://werkzeug.palletsprojects.com")
+    (synopsis "Utilities for WSGI applications")
+    (description
+     "One of the most advanced WSGI utility modules.  It includes a
+powerful debugger, full-featured request and response objects, HTTP utilities to
+handle entity tags, cache control headers, HTTP dates, cookie handling, file
+uploads, a powerful URL routing system and a bunch of community-contributed
+addon modules.")
+    (license license:bsd-3)))
+
 (define-public python-werkzeug python-werkzeug-2)
 
 (define-public python-bottle
-- 
2.41.0





^ permalink raw reply related	[relevance 61%]

* [bug#69449] [PATCH python-team 1/9] gnu: python-itsdangerous: Update to 2.1.2.
  @ 2024-02-28 10:15 64% ` Tanguy Le Carrour
  2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 2/9] gnu: python-jinja2: Update to 3.1.3 Tanguy Le Carrour
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 200+ results
From: Tanguy Le Carrour @ 2024-02-28 10:15 UTC (permalink / raw)
  To: 69449
  Cc: Tanguy Le Carrour, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-itsdangerous): Update to 2.1.2.

Change-Id: I59ad3927995fc5f8b63f578a4f7fc4c0ea60678e
---
 gnu/packages/python-xyz.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e5aeeef14e..bdcdf8c7c8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -65,7 +65,7 @@
 ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
 ;;; Copyright © 2019-2021, 2023, 2024 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
-;;; Copyright © 2019, 2020, 2021, 2022 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2019, 2020, 2021, 2022, 2024 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2019, 2021-2023 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
 ;;; Copyright © 2020 Riku Viitanen <riku.viitanen@protonmail.com>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
@@ -5743,14 +5743,14 @@ (define-public python-pympler
 (define-public python-itsdangerous
   (package
     (name "python-itsdangerous")
-    (version "2.0.1")
+    (version "2.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "itsdangerous" version))
        (sha256
         (base32
-         "1w6gfb2zhbcmrfj6digwzw1z68w6zg1q87rm6la2m412zil4swly"))))
+         "0shmfj4c67xgdawxxri2zqxzrhsxaiiif0pr4zrl4pky665wdfsx"))))
     (build-system python-build-system)
     (home-page "https://palletsprojects.com/p/itsdangerous/")
     (synopsis "Python library for passing data to/from untrusted environments")
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* [bug#69449] [PATCH python-team 5/9] gnu: Add python-ephemeral-port-reserve.
                     ` (3 preceding siblings ...)
  2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 4/9] gnu: python-blinker: Update to 1.7.0 Tanguy Le Carrour
@ 2024-02-28 10:15 65% ` Tanguy Le Carrour
  2024-02-28 10:15 62% ` [bug#69449] [PATCH python-team 6/9] gnu: python-werkzeug: Rename variable to python-werkzeug-2 Tanguy Le Carrour
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 200+ results
From: Tanguy Le Carrour @ 2024-02-28 10:15 UTC (permalink / raw)
  To: 69449
  Cc: Tanguy Le Carrour, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-ephemeral-port-reserve): New variable.

Change-Id: I98d153179ac533fad3fa7c12a838bd12bb615a15
---
 gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a6f3aec7ed..348b3084b5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16439,6 +16439,24 @@ (define-public python-epc
 from elisp.")
     (license license:gpl3)))
 
+(define-public python-ephemeral-port-reserve
+  (package
+    (name "python-ephemeral-port-reserve")
+    (version "1.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ephemeral_port_reserve" version))
+       (sha256
+        (base32 "1chl9hil7ggz6l4sfhmp0l2j55qcskbc3pj9360b0309jwndmxxq"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-setuptools python-wheel))
+    (home-page "https://github.com/Yelp/ephemeral-port-reserve/")
+    (synopsis "Utility to bind to an ephemeral port")
+    (description
+     "Bind to an ephemeral port, force it into the TIME_WAIT state, and unbind it.")
+    (license license:expat)))  ;; MIT
+
 (define-public python-forex-python
   (package
     (name "python-forex-python")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69450] [PATCH python-team] gnu: python-markdown: Update to 3.5.2.
@ 2024-02-28 10:13 64% Tanguy Le Carrour
  0 siblings, 0 replies; 200+ results
From: Tanguy Le Carrour @ 2024-02-28 10:13 UTC (permalink / raw)
  To: 69450
  Cc: Tanguy Le Carrour, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

Hi Guix, hi Python team,

This patch is trivial, but unfortunately it triggers 3000+ package rebuilds.
So, I guess, it should go to the python-team branch, right?

Regards.

* gnu/packages/python-xyz.scm (python-markdown): Update to 3.5.2.

Change-Id: I4e7465cf7603d2674ecfdeb96a64a6fae022d7db
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 348b3084b5..9105bc342b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14117,14 +14117,14 @@ (define-public python-mistune-next
 (define-public python-markdown
   (package
     (name "python-markdown")
-    (version "3.3.4")
+    (version "3.5.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Markdown" version))
        (sha256
         (base32
-         "0jbs73nincha8fkfxx267sfxac6pl0ckszjbqbb8gk4dhs8v9d9i"))))
+         "1y1fvzaayk966rmf448vkzj65w02h0b1s7770bk81vjhqlyppb71"))))
     (build-system python-build-system)
     (native-inputs
      (list python-nose python-pyyaml))

base-commit: b77f45a62c71e326aeaab486c700bc51af29760c
prerequisite-patch-id: bdf95871f3fc6501fc2e8cff3de2f05e094b6c84
prerequisite-patch-id: 330a1248d1c165bc4ab72daf0d15ed39ee136517
prerequisite-patch-id: 4fbd3b5b5f07f7ce126c77a118d33b754c80a81d
prerequisite-patch-id: 40ba865eb7566cc508ff834373fa2853962a6701
prerequisite-patch-id: 80d998b788cea19887882c8595a0b7d4a2e701a4
prerequisite-patch-id: 82057f7fc2022b739079e9fbffe26a28bf447425
prerequisite-patch-id: 6cd31f32cad7996b8c9ad0ead019df08c76cfbe1
prerequisite-patch-id: 9072d987d861e2e84154bf01dceff7be9fc104e8
prerequisite-patch-id: 5c5d1a8a637301735a437fa09c8d7ee0d5736798
prerequisite-patch-id: 3b6f2e050b7b6ef132ba89ac862c707bf8576f55
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* [bug#69434] [PATCH] gnu: Add python-ldaptor.
@ 2024-02-27 19:09 60% Sharlatan Hellseher
  2024-03-02 14:15 61% ` [bug#69434] [PATCH v2] " Sharlatan Hellseher
  0 siblings, 1 reply; 200+ results
From: Sharlatan Hellseher @ 2024-02-27 19:09 UTC (permalink / raw)
  To: 69434
  Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

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

Change-Id: If7d2cb7b51bb0ccc85b76d7f2d4b31857e042066
---
 gnu/packages/python-xyz.scm | 49 +++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 80ec098b7a..6df55c1b7c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -20007,6 +20007,55 @@ (define-public python-twisted-22
                python-typing-extensions
                `(,python "tk"))))))
 
+(define-public python-ldaptor
+  (package
+    (name "python-ldaptor")
+    (version "21.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ldaptor" version))
+       (sha256
+        (base32 "0n53czn5pyh8923y282spdb7xc8c9rhn0n43bczanjjx6wcynjcc"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      #~(list "-m" "twisted.trial"
+              (string-append "-j" (number->string (parallel-job-count)))
+              "ldaptor")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'check 'disable-failing-tests
+          (lambda _
+            ;; Testing with Twisted 22.4 results in infinite loop creating
+            ;; temporary config files, see
+            ;; <https://github.com/twisted/ldaptor/issues/238>.
+            (delete-file "ldaptor/test/test_config.py")))
+          (replace 'check
+            (lambda* (#:key tests? test-flags #:allow-other-keys)
+              (when tests?
+                (apply invoke "python" test-flags)))))))
+    (propagated-inputs
+     (list python-passlib
+           python-pyparsing
+           python-six
+           python-twisted-22
+           python-zope-interface))
+    (home-page "https://github.com/twisted/ldaptor")
+    (synopsis "Pure-Python Twisted library for LDAP")
+    (description
+     "This package provides a Python Twisted library for LDAP, which key
+feaatures are:
+@itemize
+@item LDAP client logic
+@item separately-accessible LDAP and BER protocol message generation/parsing
+@item ASCII-format LDAP filter generation and parsing
+@item LDIF format data generation
+@item Samba password changing logic
+@end itemize")
+    (license license:expat)))
+
 (define-public python-pika
   (package
     (name "python-pika")

base-commit: 1306beaf3f6c8ddded2a956f5863bc65aad78882
prerequisite-patch-id: e95e4f5dfdbb868da6fd30f0a02105147faf91f5
prerequisite-patch-id: 82aa4f0d751771b48cad84aff0e2c44aee64a212
prerequisite-patch-id: bf036a9eacd9f13ec4fd6bfa5fe5d941101f1e7a
prerequisite-patch-id: 0c1231398b1f03c8c353c4169f4633d57a8c382b
prerequisite-patch-id: 8eb030a25f8399d3183ad0613487f408b2e24997
prerequisite-patch-id: 362a2851ab947aad0ff87255206e4e23b60efd4e
prerequisite-patch-id: 9393c6262847dd7a8fa31d77ab0397c7c94f1dae
prerequisite-patch-id: 7337fa584ae6858660cd62cc09acfbc312bea064
prerequisite-patch-id: e24f28c35db27a23dc3afb6a095a4b0efabc897e
prerequisite-patch-id: 3e0785bcda3dd606524e04fd7a9f76312a800de5
-- 
2.41.0





^ permalink raw reply related	[relevance 60%]

* [bug#67120] [PATCH v6 1/5] gnu: Add python-mpv-jsonipc.
  @ 2024-02-25 22:20 65% ` Ian Eure
  2024-02-25 22:20 64% ` [bug#67120] [PATCH v6 2/5] gnu: Add python-jellyfin-apiclient Ian Eure
  2024-02-25 22:20 62% ` [bug#67120] [PATCH v6 3/5] gnu: Add python-pystray Ian Eure
  2 siblings, 0 replies; 200+ results
From: Ian Eure @ 2024-02-25 22:20 UTC (permalink / raw)
  To: 67120
  Cc: Ian Eure, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: Iec7679213d9b9e8e5cbf01a30838e27e71704e54
---
 gnu/packages/python-xyz.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a051f5a8db..b6001416a6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -25808,6 +25808,23 @@ (define-public online-judge-tools
 submitting it.")
     (license license:expat)))
 
+(define-public python-mpv-jsonipc
+  (package
+    (name "python-mpv-jsonipc")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "python-mpv-jsonipc" version))
+       (sha256
+        (base32 "0ymdwrx544a6gn6wm9dixpgzbfrbpxvcj5ys7m41cgb4lvpvx691"))))
+    (build-system pyproject-build-system)
+    (home-page "https://github.com/iwalton3/python-mpv-jsonipc")
+    (synopsis "Python API to control MPV using JSON IPC")
+    (description "python-mpv-jsonipc implements an interface similar to
+python-mpv, but it uses the JSON IPC protocol instead of the C API.")
+    (license license:asl2.0)))
+
 (define-public python-parso
   (package
     (name "python-parso")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#67120] [PATCH v6 2/5] gnu: Add python-jellyfin-apiclient.
    2024-02-25 22:20 65% ` [bug#67120] [PATCH v6 1/5] gnu: Add python-mpv-jsonipc Ian Eure
@ 2024-02-25 22:20 64% ` Ian Eure
  2024-02-25 22:20 62% ` [bug#67120] [PATCH v6 3/5] gnu: Add python-pystray Ian Eure
  2 siblings, 0 replies; 200+ results
From: Ian Eure @ 2024-02-25 22:20 UTC (permalink / raw)
  To: 67120
  Cc: Ian Eure, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: If84546b14d380a3a10af63d4f41711125298487a
---
 gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b6001416a6..1ed1f0e135 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -25825,6 +25825,26 @@ (define-public python-mpv-jsonipc
 python-mpv, but it uses the JSON IPC protocol instead of the C API.")
     (license license:asl2.0)))
 
+(define-public python-jellyfin-apiclient
+  (package
+    (name "python-jellyfin-apiclient")
+    (version "1.9.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jellyfin-apiclient-python" version))
+       (sha256
+        (base32 "0r67cp9nizvn3cbslgi30zpd3mw4a6zal0ygik3jv5lni1xdkk5w"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-certifi python-requests python-urllib3
+                             python-websocket-client))
+    (home-page "https://github.com/jellyfin/jellyfin-apiclient-python")
+    (synopsis "Python API client for Jellyfin")
+    (description "python-jellyfin-apiclient allows use of the Jellyfin API
+from Python.  It was extracted from the Jellyfin Kodi plugin so other users
+may use the Jellyfin API more easily.")
+    (license license:gpl3)))
+
 (define-public python-parso
   (package
     (name "python-parso")
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* [bug#67120] [PATCH v6 3/5] gnu: Add python-pystray.
    2024-02-25 22:20 65% ` [bug#67120] [PATCH v6 1/5] gnu: Add python-mpv-jsonipc Ian Eure
  2024-02-25 22:20 64% ` [bug#67120] [PATCH v6 2/5] gnu: Add python-jellyfin-apiclient Ian Eure
@ 2024-02-25 22:20 62% ` Ian Eure
  2 siblings, 0 replies; 200+ results
From: Ian Eure @ 2024-02-25 22:20 UTC (permalink / raw)
  To: 67120
  Cc: Ian Eure, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: If10777c9ec91b549b9937b4825565223786a75cb
---
 gnu/packages/python-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1ed1f0e135..36442f0870 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -31728,6 +31728,42 @@ (define-public python-qdarkstyle
 Qt applications.")
     (license license:expat)))
 
+(define-public python-pystray
+  (package
+    (name "python-pystray")
+    (version "0.19.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/moses-palmer/pystray")
+             (commit "1907f8681d6d421517c63d94f425f9cdd74d0034")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1vj6c8s7rbc7xc4bi5brx5629ls1ri9prcw9290v85hagilmp609"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      ;; The test suite requires user interaction, there are no automated
+      ;; tests.
+      #:tests? #false
+      #:phases #~(modify-phases %standard-phases
+                   (add-before 'sanity-check 'use-dummy-backend
+                     (lambda _
+                       ;; Without setting this, pystray tries to connect to
+                       ;; X11 on import.
+                       (setenv "PYSTRAY_BACKEND" "dummy"))))))
+    (native-inputs (list python-sphinx))
+    (propagated-inputs (list python-pillow python-six python-xlib))
+    (home-page "https://github.com/moses-palmer/pystray")
+    (synopsis "Create a system tray icon")
+    (description "This library allows you to create a system tray icon.
+
+It allows specifying an icon, a title and a callback for when the icon is
+activated. The icon and title can be changed after the icon has been created,
+and the visibility of the icon can be toggled.")
+    (license license:lgpl3)))
+
 (define-public python-bitstring
   (package
     (name "python-bitstring")
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#69389] [PATCH] gnu: Add python-xmp-toolkit.
@ 2024-02-25 17:42 66% Felix Gruber
  0 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-02-25 17:42 UTC (permalink / raw)
  To: 69389
  Cc: Felix Gruber, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-xmp-toolkit): New variable.
* gnu/packages/patches/python-xmp-toolkit-add-missing-error-codes.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Change-Id: Ibce05155961eb5ba199754646e08acff2410f95d
---
 gnu/local.mk                                  |  1 +
 ...-xmp-toolkit-add-missing-error-codes.patch | 51 +++++++++++++++++++
 gnu/packages/python-xyz.scm                   | 51 ++++++++++++++++++-
 3 files changed, 102 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/python-xmp-toolkit-add-missing-error-codes.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 741c72a653..b10063678e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1943,6 +1943,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-versioneer-guix-support.patch	\
   %D%/packages/patches/python-waitress-fix-tests.patch		\
   %D%/packages/patches/python-werkzeug-tests.patch		\
+  %D%/packages/patches/python-xmp-toolkit-add-missing-error-codes.patch	\
   %D%/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch	\
   %D%/packages/patches/qemu-build-info-manual.patch		\
   %D%/packages/patches/qemu-disable-some-qtests-tests.patch	\
diff --git a/gnu/packages/patches/python-xmp-toolkit-add-missing-error-codes.patch b/gnu/packages/patches/python-xmp-toolkit-add-missing-error-codes.patch
new file mode 100644
index 0000000000..17bdae188f
--- /dev/null
+++ b/gnu/packages/patches/python-xmp-toolkit-add-missing-error-codes.patch
@@ -0,0 +1,51 @@
+From fd9e887a1853d9b4bc3fce20d414d648fb5abbfc Mon Sep 17 00:00:00 2001
+From: Asher Glick <asher.glick@gmail.com>
+Date: Mon, 1 Mar 2021 14:35:46 -0600
+Subject: [PATCH] Add missing error codes and graceful handling of possible
+ future missing codes.
+
+---
+ libxmp/exempi.py | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/libxmp/exempi.py b/libxmp/exempi.py
+index 683e240..f58003c 100644
+--- a/libxmp/exempi.py
++++ b/libxmp/exempi.py
+@@ -85,6 +85,7 @@ ERROR_MESSAGE = {    0: "unknown error",
+                    -13: "std exception",
+                    -14: "unknown exception",
+                    -15: "no memory",
++                   -16: "progress abort",
+                   -101: "bad schema",
+                   -102: "bad XPath",
+                   -103: "bad options",
+@@ -95,6 +96,14 @@ ERROR_MESSAGE = {    0: "unknown error",
+                   -108: "bad file format",
+                   -109: "no file handler",
+                   -110: "too large for JPEG",
++                  -111: "no file",
++                  -112: "file permission error",
++                  -113: "disk space",
++                  -114: "read error",
++                  -115: "write error",
++                  -116: "bad block format",
++                  -117: "file path not a file",
++                  -118: "rejected file extension",
+                   -201: "bad XML",
+                   -202: "bad RDF",
+                   -203: "bad XMP",
+@@ -1697,6 +1706,9 @@ def check_error(success):
+     # so we supplement it by explicitly checking the error code.
+     ecode = EXEMPI.xmp_get_error()
+     if not success or ecode != 0:
+-        error_msg = ERROR_MESSAGE[ecode]
++        if ecode in ERROR_MESSAGE:
++            error_msg = ERROR_MESSAGE[ecode]
++        else:
++            error_msg = "Unexpected error code " + str(ecode)
+         msg = 'Exempi function failure ("{0}").'.format(error_msg)
+         raise XMPError(msg)
+-- 
+2.30.2
+
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a051f5a8db..6cbedcb5e9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -108,7 +108,7 @@
 ;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
 ;;; Copyright © 2021, 2022, 2023 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
 ;;; Copyright © 2021, 2022 Pradana Aumars <paumars@courrier.dev>
-;;; Copyright © 2021, 2022, 2023 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021–2024 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2021 Sébastien Lerique <sl@eauchat.org>
 ;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
 ;;; Copyright © 2021 ZmnSCPxj <ZmnSCPxj@protonmail.com>
@@ -35628,6 +35628,55 @@ (define-public python-zeroc-ice-3.6
                (base32
                 "0mikjfvq26kh8asnn9v55z41pap4c5ypymqnwwi4xkavc3mzyda2"))))))
 
+(define-public python-xmp-toolkit
+  (package
+    (name "python-xmp-toolkit")
+    (version "2.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "python-xmp-toolkit" version))
+       (sha256
+        (base32 "12x6lyaxjpbl8ll3cj97039kwvsha2nkx2v8v8irfbi2p0dl721s"))
+        (patches (search-patches
+                   "python-xmp-toolkit-add-missing-error-codes.patch"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      '(list "-k" (string-append "not test_can_put_xmp and "
+                                 "not test_exempi_bad_combinations and "
+                                 "not test_formats and "
+                                 "not test_get_xmp and "
+                                 "not test_open_file_with_options"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'build 'configure-environment
+            (lambda* (#:key outputs inputs #:allow-other-keys)
+              (let ((exempi #$(this-package-input "exempi")))
+                (setenv "LD_LIBRARY_PATH"
+                        (string-append exempi "/lib"))))))))
+    (inputs (list exempi))
+    (propagated-inputs (list python-pytz))
+    (native-inputs (list python-pytest))
+    (home-page "https://github.com/python-xmp-toolkit/python-xmp-toolkit")
+    (synopsis "Python XMP Toolkit for working with metadata.")
+    (description "Python XMP Toolkit is a library for working with XMP
+metadata, as well as reading/writing XMP metadata stored in many different
+file formats.
+
+Python XMP Toolkit is wrapping Exempi (using ctypes), a C/C++ XMP library
+based on Adobe XMP Toolkit, ensuring that future updates to the XMP standard
+are easily incorporated into the library with a minimum amount of work.
+
+Python XMP Toolkit has been developed by:
+@itemize
+@item ESA/Hubble - European Space Agency
+@item ESO - European Southern Observatory
+@item CRS4 - Centre for Advanced Studies, Research and Development in Sardinia
+@end itemize")
+      (license license:bsd-3)))
+
 ;;;
 ;;; Avoid adding new packages to the end of this file. To reduce the chances
 ;;; of a merge conflict, place them above by existing packages with similar

base-commit: b25b94335a3ee8d68d2145da8e5ea0325ecea451
-- 
2.43.0





^ permalink raw reply related	[relevance 66%]

* [bug#69352] [PATCH OPTIONAL 13/13] gnu: python: python-scikit-build: Add more non-deterministic test failures.
    2024-02-24  6:57 65% ` [bug#69352] [PATCH 02/13] gnu: python-scikit-build: Install cmake modules Liliana Marie Prikler
  2024-02-24  7:59 57% ` [bug#69352] [PATCH 12/13] gnu: python-telingo: Update to 2.1.3 Liliana Marie Prikler
@ 2024-02-24  9:17 65% ` Liliana Marie Prikler
  2 siblings, 0 replies; 200+ results
From: Liliana Marie Prikler @ 2024-02-24  9:17 UTC (permalink / raw)
  To: 69352

* gnu/packages/python-xyz.scm (python-scikit-build)[#:phases]<check>: Also
exclude “test_cxx_compiler” and “test_fortran_compiler”.
---
This one might be a bit controversial, as I haven't reported this issue
upstream either, but I've noticed that some quite fundamental-seeming
tests fail locally.  Shouldn't happen on CI, but you never know.

 gnu/packages/python-xyz.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 88dadb9f4a..dc99588ccb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -31930,7 +31930,10 @@ (define-public python-scikit-build
                               ;; nondeterministically (see:
                               ;; https://github.com/scikit-build/scikit-build/issues/711).
                               "and not test_generator_cleanup "
-                              "and not test_generator_selection ")))))
+                              "and not test_generator_selection "
+                              ;; … and there's more of them
+                              "and not test_cxx_compiler "
+                              "and not test_fortran_compiler ")))))
           (add-after 'install 'install-cmake
             (lambda* (#:key outputs #:allow-other-keys)
               (let ((lib (string-append (assoc-ref outputs "out")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69352] [PATCH 12/13] gnu: python-telingo: Update to 2.1.3.
    2024-02-24  6:57 65% ` [bug#69352] [PATCH 02/13] gnu: python-scikit-build: Install cmake modules Liliana Marie Prikler
@ 2024-02-24  7:59 57% ` Liliana Marie Prikler
  2024-02-24  9:17 65% ` [bug#69352] [PATCH OPTIONAL 13/13] gnu: python: python-scikit-build: Add more non-deterministic test failures Liliana Marie Prikler
  2 siblings, 0 replies; 200+ results
From: Liliana Marie Prikler @ 2024-02-24  7:59 UTC (permalink / raw)
  To: 69352

* gnu/packages/potassco.scm (python-telingo): Update to 2.1.3.
[source]: Drop obsolete patch.
* gnu/packages/patches/python-telingo-fix-comparison.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
---
 gnu/local.mk                                  |  1 -
 .../python-telingo-fix-comparison.patch       | 19 -------------------
 gnu/packages/potassco.scm                     |  5 ++---
 3 files changed, 2 insertions(+), 23 deletions(-)
 delete mode 100644 gnu/packages/patches/python-telingo-fix-comparison.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 25e2341a72..9eef46bf57 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1809,7 +1809,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-sip-include-dirs.patch	\
   %D%/packages/patches/python-sgmllib3k-assertions.patch	\
   %D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch	\
-  %D%/packages/patches/python-telingo-fix-comparison.patch	\
   %D%/packages/patches/python-typeguard-python3.10.patch	\
   %D%/packages/patches/python-uqbar-python3.10.patch	        \
   %D%/packages/patches/python-wxwidgets-type-errors.patch	\
diff --git a/gnu/packages/patches/python-telingo-fix-comparison.patch b/gnu/packages/patches/python-telingo-fix-comparison.patch
deleted file mode 100644
index 6d05048dcb..0000000000
--- a/gnu/packages/patches/python-telingo-fix-comparison.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Index: source/telingo/transformers/head.py
-===================================================================
---- source.orig/telingo/transformers/head.py
-+++ source/telingo/transformers/head.py
-@@ -564,10 +564,12 @@ class HeadTransformer:
-                 cond = []
-                 diff = _ast.BinaryOperation(loc, _ast.BinaryOperator.Minus, param, shift)
-                 if lhs.ast_type != _ast.ASTType.SymbolicTerm or lhs.symbol.type != _clingo.SymbolType.Number or lhs.symbol.number > 0:
--                    cond.append(_ast.Literal(loc, _ast.Sign.NoSign, _ast.Comparison(_ast.ComparisonOperator.LessEqual, lhs, diff)))
-+                    cond.append(_ast.Literal(loc, _ast.Sign.NoSign,
-+                                             _ast.Comparison(lhs, [_ast.Guard(_ast.ComparisonOperator.LessEqual, diff)])))
- 
-                 if rhs.ast_type != _ast.ASTType.SymbolicTerm or rhs.symbol.type != _clingo.SymbolType.Supremum:
--                    cond.append(_ast.Literal(loc, _ast.Sign.NoSign, _ast.Comparison(_ast.ComparisonOperator.LessEqual, diff, rhs)))
-+                    cond.append(_ast.Literal(loc, _ast.Sign.NoSign,
-+                                             _ast.Comparison(diff, [_ast.Guard(_ast.ComparisonOperator.LessEqual, rhs)])))
- 
-                 elems.extend([_ast.ConditionalLiteral(loc, _ast.Literal(loc, _ast.Sign.NoSign, head), cond) for head in heads])
- 
diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index 4eb0f4a2c7..43d9ea6647 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -520,17 +520,16 @@ (define-public python-plingo
 (define-public python-telingo
   (package
     (name "python-telingo")
-    (version "2.1.1")
+    (version "2.1.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/potassco/telingo")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
-              (patches (search-patches "python-telingo-fix-comparison.patch"))
               (sha256
                (base32
-                "0g3khxfdzc2hc7dkiyyqhb399h6h21m5wkp6wy8w71n0m32fiy53"))))
+                "1q6hlh4b5hsa4n5agvmfa9rhsxfd2g6kpl4b9kfccwbmf6dh51k6"))))
     (build-system pyproject-build-system)
     (propagated-inputs (list python-clingo))
     (home-page "https://potassco.org/")
-- 
2.41.0





^ permalink raw reply related	[relevance 57%]

* [bug#69352] [PATCH 02/13] gnu: python-scikit-build: Install cmake modules.
  @ 2024-02-24  6:57 65% ` Liliana Marie Prikler
  2024-02-24  7:59 57% ` [bug#69352] [PATCH 12/13] gnu: python-telingo: Update to 2.1.3 Liliana Marie Prikler
  2024-02-24  9:17 65% ` [bug#69352] [PATCH OPTIONAL 13/13] gnu: python: python-scikit-build: Add more non-deterministic test failures Liliana Marie Prikler
  2 siblings, 0 replies; 200+ results
From: Liliana Marie Prikler @ 2024-02-24  6:57 UTC (permalink / raw)
  To: 69352

* gnu/packages/python-xyz.scm (python-scikit-build)[#:phases]: Add
‘install-cmake’.
---
 gnu/packages/python-xyz.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a051f5a8db..88dadb9f4a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -31930,7 +31930,15 @@ (define-public python-scikit-build
                               ;; nondeterministically (see:
                               ;; https://github.com/scikit-build/scikit-build/issues/711).
                               "and not test_generator_cleanup "
-                              "and not test_generator_selection "))))))))
+                              "and not test_generator_selection ")))))
+          (add-after 'install 'install-cmake
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((lib (string-append (assoc-ref outputs "out")
+                                        "/lib/cmake/modules")))
+                (mkdir-p lib)
+                (with-directory-excursion "skbuild/resources/cmake"
+                   (for-each (lambda (file) (install-file file lib))
+                             (find-files "." "\\.cmake")))))))))
     (native-inputs
      (list cmake-minimal
            gfortran
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#68052] [PATCH v3 1/4] gnu: python-poppler-qt5: Update to 21.3.0.
    2023-12-26 22:14 57% ` [bug#68052] [PATCH 2/4] gnu : python-poppler-qt5: Remove no longer needed patch Marco Rimoldi via Guix-patches via
@ 2024-02-21 19:30 45% ` Marco Rimoldi via Guix-patches via
  1 sibling, 0 replies; 200+ results
From: Marco Rimoldi via Guix-patches via @ 2024-02-21 19:30 UTC (permalink / raw)
  To: 68052; +Cc: Marco Rimoldi

From: Marco Rimoldi <rimarko@libero.it>

* gnu/packages/pdf.scm (python-poppler-qt5): Update to 21.3.0.
[build-system]: Change to pyproject.
[inputs]: Change SIP to current version variant.
* gnu/packages/patches/python-poppler-qt5-fix-build.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): De-register said patch.

Change-Id: I30d6e2a3180505091d8072ed452211b0bb3a0178
---
 gnu/local.mk                                  |   1 -
 .../python-poppler-qt5-fix-build.patch        | 116 ------------------
 gnu/packages/pdf.scm                          |  50 +++-----
 3 files changed, 18 insertions(+), 149 deletions(-)
 delete mode 100644 gnu/packages/patches/python-poppler-qt5-fix-build.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index c08b27f94d..631addcb29 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1800,7 +1800,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-feedparser-missing-import.patch	\
   %D%/packages/patches/python-louvain-fix-test.patch		\
   %D%/packages/patches/python-random2-getrandbits-test.patch		\
-  %D%/packages/patches/python-poppler-qt5-fix-build.patch	\
   %D%/packages/patches/python-pyreadstat-link-libiconv.patch	\
   %D%/packages/patches/python-pyls-black-41.patch		\
   %D%/packages/patches/python-pypdf-annotate-tests-appropriately.patch	\
diff --git a/gnu/packages/patches/python-poppler-qt5-fix-build.patch b/gnu/packages/patches/python-poppler-qt5-fix-build.patch
deleted file mode 100644
index 099bb86d2f..0000000000
--- a/gnu/packages/patches/python-poppler-qt5-fix-build.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-Patch taken from the upstream repository
-https://github.com/frescobaldi/python-poppler-qt5/issues/43
-
-From 92e5962ec3751ab051d0b655fd61afc7a1cf709e Mon Sep 17 00:00:00 2001
-From: Ben Greiner <code@bnavigator.de>
-Date: Thu, 4 Mar 2021 17:02:51 +0100
-Subject: [PATCH] map type QVector< QPair<TYPE, TYPE> > for
- FormFieldChoice::choicesWithExportValues() (#45)
-
----
- types.sip | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 93 insertions(+)
-
-diff --git a/types.sip b/types.sip
-index 239b8c9..81cb283 100644
---- a/types.sip
-+++ b/types.sip
-@@ -331,5 +331,98 @@ template <TYPE>
- };
- 
- 
-+/**
-+ * Convert QVector< QPair<TYPE, TYPE> >
-+ * from and to a Python list of a 2-item tuple
-+ */
-+
-+template<TYPE>
-+%MappedType QVector< QPair<TYPE, TYPE> >
-+{
-+%TypeHeaderCode
-+#include <qvector.h>
-+#include <qpair.h>
-+%End
-+
-+%ConvertFromTypeCode
-+  // Create the list.
-+  PyObject *l;
-+
-+  if ((l = PyList_New(sipCpp->size())) == NULL)
-+      return NULL;
-+
-+  // Set the list elements.
-+  for (int i = 0; i < sipCpp->size(); ++i)
-+  {
-+    QPair<TYPE, TYPE>* p = new QPair<TYPE, TYPE>(sipCpp->at(i));
-+    PyObject *ptuple = PyTuple_New(2);
-+    PyObject *pfirst;
-+    PyObject *psecond;
-+
-+    TYPE *sfirst = new TYPE(p->first);
-+    if ((pfirst = sipConvertFromType(sfirst, sipType_TYPE, sipTransferObj)) == NULL)
-+    {
-+      Py_DECREF(l);
-+      Py_DECREF(ptuple);
-+      return NULL;
-+    }
-+    PyTuple_SET_ITEM(ptuple, 0, pfirst);
-+
-+    TYPE *ssecond = new TYPE(p->second);
-+    if ((psecond = sipConvertFromType(ssecond, sipType_TYPE, sipTransferObj)) == NULL)
-+    {
-+      Py_DECREF(l);
-+      Py_DECREF(ptuple);
-+      Py_DECREF(pfirst);
-+      return NULL;
-+    }
-+    PyTuple_SET_ITEM(ptuple, 1, psecond);
-+
-+    PyList_SET_ITEM(l, i, ptuple);
-+  }
-+
-+  return l;
-+%End
-+
-+%ConvertToTypeCode
-+  const sipTypeDef* qpair_type = sipFindType("QPair<TYPE, TYPE>");
-+
-+  // Check the type if that is all that is required.
-+  if (sipIsErr == NULL)
-+  {
-+    if (!PySequence_Check(sipPy))
-+      return 0;
-+
-+    for (int i = 0; i < PySequence_Size(sipPy); ++i)
-+      if (!sipCanConvertToType(PySequence_ITEM(sipPy, i), qpair_type, SIP_NOT_NONE))
-+        return 0;
-+
-+    return 1;
-+  }
-+
-+
-+  QVector< QPair<TYPE, TYPE> > *qv = new QVector< QPair<TYPE, TYPE> >;
-+
-+  for (int i = 0; i < PySequence_Size(sipPy); ++i)
-+  {
-+    int state;
-+    QPair<TYPE, TYPE> * p = reinterpret_cast< QPair<TYPE, TYPE> * >(sipConvertToType(PySequence_ITEM(sipPy, i), qpair_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
-+
-+    if (*sipIsErr)
-+    {
-+      sipReleaseType(p, qpair_type, state);
-+      delete qv;
-+      return 0;
-+    }
-+    qv->append(*p);
-+    sipReleaseType(p, qpair_type, state);
-+  }
-+
-+  *sipCppPtr = qv;
-+  return sipGetState(sipTransferObj);
-+%End
-+
-+};
-+
- 
- /* kate: indent-width 4; space-indent on; hl c++; indent-mode cstyle; */
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 0d796f65bb..9076407740 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -431,40 +431,26 @@ (define-public poppler-qt5
 (define-public python-poppler-qt5
   (package
     (name "python-poppler-qt5")
-    (version "21.1.0")
+    (version "21.3.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "python-poppler-qt5" version))
-        (sha256
-         (base32
-          "0b82gm4i75q5v19kfbq0h4y0b2vcwr2213zkhxh6l0h45kdndmxd"))
-       (patches (search-patches "python-poppler-qt5-fix-build.patch"))))
-    (build-system python-build-system)
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "python-poppler-qt5" version))
+       (sha256
+        (base32 "1q3gvmsmsq3llf9mcbhlkryrgprqrw2z7wmnvagy180f3y2fhxxl"))))
+    (build-system pyproject-build-system)
     (arguments
-     `(;; There are no tests.  The check phase just causes a rebuild.
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'build
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "setup.py"
-               ;; This check always fails, so disable it.
-               (("if not check_qtxml\\(\\)")
-                "if True"))
-             ;; We need to pass an extra flag here.  This cannot be in
-             ;; configure-flags because it should not be passed for the
-             ;; installation phase.
-             ((@@ (guix build python-build-system) call-setuppy)
-              "build_ext" (list (string-append "--pyqt-sip-dir="
-                                               (assoc-ref inputs "python-pyqt")
-                                               "/share/sip")) #t))))))
-    (native-inputs
-     (list pkg-config))
-    (inputs
-     (list python-sip-4 python-pyqt poppler-qt5 qtbase-5))
-    (home-page "https://pypi.org/project/python-poppler-qt5/")
-    (synopsis "Python bindings for Poppler-Qt5")
+     `(;; The sipbuild.api backend builder expects a Python dictionary as per
+       
+       ;; https://peps.python.org/pep-0517/#config-settings, but we
+       ;; give it lists and it fails.  The next line is a workaround.
+       #:configure-flags '#nil
+       #:tests? #f))
+    (native-inputs (list pkg-config))
+    (inputs (list python-sip python-pyqt-builder python-pyqt poppler-qt5
+                  qtbase-5))
+    (home-page "https://github.com/frescobaldi/python-poppler-qt5")
+    (synopsis "Python binding to Poppler-Qt5")
     (description
      "This package provides Python bindings for the Qt5 interface of the
 Poppler PDF rendering library.")

base-commit: fdbf4192f5eaa7fdb5e6e2e98ada0726c8104824
-- 
2.41.0





^ permalink raw reply related	[relevance 45%]

* [bug#60240] [PATCH v2] gnu: Add python-3.12 and python-next.
  @ 2024-02-21 12:13 34% ` Tanguy Le Carrour
    2024-03-06 12:55 35% ` [bug#60240] [PATCH v3] " Tanguy Le Carrour
  1 sibling, 1 reply; 200+ results
From: Tanguy Le Carrour @ 2024-02-21 12:13 UTC (permalink / raw)
  To: 60240
  Cc: john.kehayias, andreas, Tanguy Le Carrour, zimon.toutoune,
	Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

Hi Guix,

Sorry it took me so long —thanks again John for the reminder!—, but I
eventually made it! I have a Python 3.12.2 running on my computer.

I created a brand new package definition for it, not inheriting from
`python-2`. I actually copied/pasted the `python-2` package definition,
removed what was specific to Python 2 and then copied over the things
specific to Python 3 from the `python-3.10` package definition.

There are still things here and there that I’m not happy with, though:
- skipping `test_pdb_issue_20766` doesn’t seem to work, so I modified
  the expected output;
- I use the old style for `native-inputs`, for I was not sure how to
  make the new style work with a `local-file`;
- I left the `(@ (gnu packages compression) zip)`, even though I’m not
  sur why it’s better than "just" `zip`;
- When I apply the patch I get whitespace errors, but I don’t know how
  those whitespace were introduced and how to get rid of them.

Btw, the patch targets the branch `python-team`.

Looking forwards to your comments!


* gnu/packages/python.scm (python-3.12, python-next): New variables.
* gnu/packages/patches/python-3.12-fix-tests.patch: New file.

Change-Id: Ie393b732a8863569578e72e62603b75a1655a34e
---
 .../patches/python-3.12-fix-tests.patch       | 334 ++++++++++++++++
 gnu/packages/python.scm                       | 378 +++++++++++++++++-
 2 files changed, 711 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/python-3.12-fix-tests.patch

diff --git a/gnu/packages/patches/python-3.12-fix-tests.patch b/gnu/packages/patches/python-3.12-fix-tests.patch
new file mode 100644
index 0000000000..206a7223f5
--- /dev/null
+++ b/gnu/packages/patches/python-3.12-fix-tests.patch
@@ -0,0 +1,334 @@
+From f0698133e7d6c353a3e6ae0fc62e57ba558a9bc0 Mon Sep 17 00:00:00 2001
+From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
+Date: Wed, 28 Oct 2020 22:55:05 -0400
+Subject: [PATCH] Skip problematic Python 3 tests in Guix.
+
+A subset of the hunks in this patch is tracked upstream at
+https://bugs.python.org/issue38845, which was contributed by Tanguy Le
+Carrour <tanguy@bioneland.org>.
+
+diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
+index e42c7ab4bd..8087c84dab 100644
+--- a/Lib/test/_test_multiprocessing.py
++++ b/Lib/test/_test_multiprocessing.py
+@@ -1695,6 +1695,7 @@ def _test_wait_result(cls, c, pid):
+         if pid is not None:
+             os.kill(pid, signal.SIGINT)
+ 
++    @unittest.skipIf(True, "This fails for unknown reasons on Guix")
+     def test_wait_result(self):
+         if isinstance(self, ProcessesMixin) and sys.platform != 'win32':
+             pid = os.getpid()
+@@ -4150,6 +4151,7 @@ def test_shared_memory_across_processes(self):
+         sms.close()
+ 
+     @unittest.skipIf(os.name != "posix", "not feasible in non-posix platforms")
++    @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+     def test_shared_memory_SharedMemoryServer_ignores_sigint(self):
+         # bpo-36368: protect SharedMemoryManager server process from
+         # KeyboardInterrupt signals.
+diff --git a/Lib/test/test_asyncio/test_base_events.py b/Lib/test/test_asyncio/test_base_events.py
+index 85c8152d49..e35cfffe84 100644
+--- a/Lib/test/test_asyncio/test_base_events.py
++++ b/Lib/test/test_asyncio/test_base_events.py
+@@ -1377,6 +1377,8 @@ def test_create_connection_no_inet_pton(self, m_socket):
+         self._test_create_connection_ip_addr(m_socket, False)
+ 
+     @patch_socket
++    @unittest.skipUnless(support.is_resource_enabled('network'),
++                         'network is not enabled')
+     def test_create_connection_service_name(self, m_socket):
+         m_socket.getaddrinfo = socket.getaddrinfo
+         sock = m_socket.socket.return_value
+diff --git a/Lib/test/test_ctypes/test_find.py b/Lib/test/test_ctypes/test_find.py
+index a41e94971d..1291af3057 100644
+--- a/Lib/test/test_ctypes/test_find.py
++++ b/Lib/test/test_ctypes/test_find.py
+@@ -117,6 +117,7 @@ def test_find_library_with_gcc(self):
+         with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None):
+             self.assertNotEqual(find_library('c'), None)
+ 
++    @unittest.skipIf(True, 'Fails on Guix.')
+     def test_find_library_with_ld(self):
+         with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None), \
+              unittest.mock.patch("ctypes.util._findLib_gcc", lambda *args: None):
+diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py
+index 1ee9958445..ab6b41befe 100644
+--- a/Lib/test/test_generators.py
++++ b/Lib/test/test_generators.py
+@@ -34,6 +34,7 @@ def generator2(self):
+         else:
+             return "FAILED"
+ 
++    @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment')
+     def test_raise_and_yield_from(self):
+         gen = self.generator1()
+         gen.send(None)
+diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py
+index ec105ae1a0..ae4c5b672e 100644
+--- a/Lib/test/test_pathlib.py
++++ b/Lib/test/test_pathlib.py
+@@ -3069,6 +3069,7 @@ def test_rglob(self):
+                          'pwd module does not expose getpwall()')
+     @unittest.skipIf(sys.platform == "vxworks",
+                      "no home directory on VxWorks")
++    @unittest.skipIf(True, "Guix builder home is '/' which causes trouble for these tests")
+     def test_expanduser(self):
+         P = self.cls
+         import_helper.import_module('pwd')
+diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py
+index 51b844262e..004d3133cf 100644
+--- a/Lib/test/test_pdb.py
++++ b/Lib/test/test_pdb.py
+@@ -1580,6 +1580,7 @@ def test_pdb_next_command_subiterator():
+     (Pdb) continue
+     """
+ 
++@unittest.skipIf(True, 'Fails on Guix… but skipIf not taken into account?!')
+ def test_pdb_issue_20766():
+     """Test for reference leaks when the SIGINT handler is set.
+ 
+@@ -1598,11 +1599,11 @@ def test_pdb_issue_20766():
+     > <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function()
+     -> print('pdb %d: %s' % (i, sess._previous_sigint_handler))
+     (Pdb) continue
+-    pdb 1: <built-in function default_int_handler>
++    pdb 1: 1
+     > <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function()
+     -> print('pdb %d: %s' % (i, sess._previous_sigint_handler))
+     (Pdb) continue
+-    pdb 2: <built-in function default_int_handler>
++    pdb 2: 1
+     """
+ 
+ def test_pdb_issue_43318():
+diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py
+index 2ab6f6a986..8cf6b4d1c8 100644
+--- a/Lib/test/test_regrtest.py
++++ b/Lib/test/test_regrtest.py
+@@ -1049,6 +1049,7 @@ def test_fromfile(self):
+         output = self.run_tests('--fromfile', filename)
+         self.check_executed_tests(output, tests, stats=stats)
+ 
++    @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment.')
+     def test_interrupted(self):
+         code = TEST_INTERRUPTED
+         test = self.create_test('sigint', code=code)
+@@ -1066,6 +1067,7 @@ def test_slowest(self):
+                  % (self.TESTNAME_REGEX, len(tests)))
+         self.check_line(output, regex)
+ 
++    @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment.')
+     def test_slowest_interrupted(self):
+         # Issue #25373: test --slowest with an interrupted test
+         code = TEST_INTERRUPTED
+diff --git a/Lib/test/test_resource.py b/Lib/test/test_resource.py
+index 317e7ca8f8..7f272daf24 100644
+--- a/Lib/test/test_resource.py
++++ b/Lib/test/test_resource.py
+@@ -151,6 +151,7 @@ def test_freebsd_contants(self):
+ 
+     @unittest.skipUnless(hasattr(resource, 'prlimit'), 'no prlimit')
+     @support.requires_linux_version(2, 6, 36)
++    @unittest.skipIf(True, "Bug: the PermissionError is not raised")
+     def test_prlimit(self):
+         self.assertRaises(TypeError, resource.prlimit)
+         self.assertRaises(ProcessLookupError, resource.prlimit,
+diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py
+index bf60f37934..5e3a96380a 100644
+--- a/Lib/test/test_shutil.py
++++ b/Lib/test/test_shutil.py
+@@ -1743,6 +1743,7 @@ def test_make_archive(self):
+         base_name = os.path.join(tmpdir, 'archive')
+         self.assertRaises(ValueError, make_archive, base_name, 'xxx')
+ 
++    @unittest.skipIf(True, "The Guix build container has no root user")
+     @support.requires_zlib()
+     def test_make_archive_owner_group(self):
+         # testing make_archive with owner and group, with various combinations
+@@ -1771,6 +1772,7 @@ def test_make_archive_owner_group(self):
+         self.assertTrue(os.path.isfile(res))
+ 
+ 
++    @unittest.skipIf(True, "The Guix build container has no root user")
+     @support.requires_zlib()
+     @unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support")
+     def test_tarfile_root_owner(self):
+diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
+index 637a0ca3b3..2fb804e340 100644
+--- a/Lib/test/test_signal.py
++++ b/Lib/test/test_signal.py
+@@ -160,6 +160,7 @@ def test_valid_signals(self):
+                 self.assertLess(signum, signal.NSIG)
+ 
+     @unittest.skipUnless(sys.executable, "sys.executable required.")
++    @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+     @support.requires_subprocess()
+     def test_keyboard_interrupt_exit_code(self):
+         """KeyboardInterrupt triggers exit via SIGINT."""
+@@ -211,6 +212,7 @@ def test_issue9324(self):
+             signal.signal(7, handler)
+ 
+     @unittest.skipUnless(sys.executable, "sys.executable required.")
++    @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+     @support.requires_subprocess()
+     def test_keyboard_interrupt_exit_code(self):
+         """KeyboardInterrupt triggers an exit using STATUS_CONTROL_C_EXIT."""
+@@ -1407,6 +1409,7 @@ def cycle_handlers():
+ 
+ class RaiseSignalTest(unittest.TestCase):
+ 
++    @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+     def test_sigint(self):
+         with self.assertRaises(KeyboardInterrupt):
+             signal.raise_signal(signal.SIGINT)
+@@ -1452,6 +1455,7 @@ def __del__(self):
+ 
+ class PidfdSignalTest(unittest.TestCase):
+ 
++    @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+     @unittest.skipUnless(
+         hasattr(signal, "pidfd_send_signal"),
+         "pidfd support not built in",
+diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
+index 4eb5af99d6..9c7b8f6dbc 100644
+--- a/Lib/test/test_socket.py
++++ b/Lib/test/test_socket.py
+@@ -1016,6 +1016,8 @@ def testHostnameRes(self):
+         if not fqhn in all_host_names:
+             self.fail("Error testing host resolution mechanisms. (fqdn: %s, all: %s)" % (fqhn, repr(all_host_names)))
+ 
++    @unittest.skipUnless(support.is_resource_enabled('network'),
++                         'network is not enabled')
+     def test_host_resolution(self):
+         for addr in [socket_helper.HOSTv4, '10.0.0.1', '255.255.255.255']:
+             self.assertEqual(socket.gethostbyname(addr), addr)
+@@ -1161,6 +1163,8 @@ def testNtoHErrors(self):
+             self.assertRaises(OverflowError, socket.ntohl, k)
+             self.assertRaises(OverflowError, socket.htonl, k)
+ 
++    @unittest.skipUnless(os.path.exists("/etc/services"),
++                         "getservbyname uses /etc/services, which is not in the chroot")
+     def testGetServBy(self):
+         eq = self.assertEqual
+         # Find one service that exists, then check all the related interfaces.
+@@ -1521,6 +1525,8 @@ def test_sio_loopback_fast_path(self):
+             raise
+         self.assertRaises(TypeError, s.ioctl, socket.SIO_LOOPBACK_FAST_PATH, None)
+ 
++    @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
++                         "getaddrinfo() will fail")
+     def testGetaddrinfo(self):
+         try:
+             socket.getaddrinfo('localhost', 80)
+@@ -1653,6 +1659,8 @@ def test_getnameinfo(self):
+         # only IP addresses are allowed
+         self.assertRaises(OSError, socket.getnameinfo, ('mail.python.org',0), 0)
+ 
++    @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
++                         "getaddrinfo() will fail")
+     @unittest.skipUnless(support.is_resource_enabled('network'),
+                          'network is not enabled')
+     def test_idna(self):
+diff --git a/Lib/test/test_spwd.py b/Lib/test/test_spwd.py
+index 50766c2548..0c7eb7a83a 100644
+--- a/Lib/test/test_spwd.py
++++ b/Lib/test/test_spwd.py
+@@ -9,8 +9,7 @@
+     spwd = import_helper.import_module('spwd')
+ 
+ 
+-@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() == 0,
+-                     'root privileges required')
++@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow')
+ class TestSpwdRoot(unittest.TestCase):
+ 
+     def test_getspall(self):
+@@ -60,8 +59,7 @@ def test_getspnam(self):
+             self.assertRaises(TypeError, spwd.getspnam, bytes_name)
+ 
+ 
+-@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() != 0,
+-                     'non-root user required')
++@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow')
+ class TestSpwdNonRoot(unittest.TestCase):
+ 
+     def test_getspnam_exception(self):
+diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py
+index 71489ea493..33351919fe 100644
+--- a/Lib/test/test_tarfile.py
++++ b/Lib/test/test_tarfile.py
+@@ -2911,9 +2911,12 @@ def root_is_uid_gid_0():
+         import pwd, grp
+     except ImportError:
+         return False
+-    if pwd.getpwuid(0)[0] != 'root':
+-        return False
+-    if grp.getgrgid(0)[0] != 'root':
++    try:
++        if pwd.getpwuid(0)[0] != 'root':
++            return False
++        if grp.getgrgid(0)[0] != 'root':
++            return False
++    except KeyError:
+         return False
+     return True
+ 
+diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
+index 00d9e591c7..2515603715 100644
+--- a/Lib/test/test_threading.py
++++ b/Lib/test/test_threading.py
+@@ -1962,6 +1962,7 @@ def check_interrupt_main_noerror(self, signum):
+             # Restore original handler
+             signal.signal(signum, handler)
+ 
++    @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build container.')
+     def test_interrupt_main_subthread(self):
+         # Calling start_new_thread with a function that executes interrupt_main
+         # should raise KeyboardInterrupt upon completion.
+@@ -1973,6 +1974,8 @@ def call_interrupt():
+             t.join()
+         t.join()
+ 
++
++    @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build container.')
+     def test_interrupt_main_mainthread(self):
+         # Make sure that if interrupt_main is called in main thread that
+         # KeyboardInterrupt is raised instantly.
+diff --git a/Lib/test/test_tools/test_freeze.py b/Lib/test/test_tools/test_freeze.py
+index 0e7ed67de7..6539a2983b 100644
+--- a/Lib/test/test_tools/test_freeze.py
++++ b/Lib/test/test_tools/test_freeze.py
+@@ -23,6 +23,7 @@
+                  'test is too slow with PGO')
+ class TestFreeze(unittest.TestCase):
+ 
++    @unittest.skipIf(True, 'Fails on Guix.')
+     @support.requires_resource('cpu') # Building Python is slow
+     def test_freeze_simple_script(self):
+         script = textwrap.dedent("""
+diff --git a/Lib/test/test_unicodedata.py b/Lib/test/test_unicodedata.py
+index 515c3840cb..a96dfad0fe 100644
+--- a/Lib/test/test_unicodedata.py
++++ b/Lib/test/test_unicodedata.py
+@@ -342,6 +342,7 @@ def test_linebreak_7643(self):
+                 self.assertEqual(len(lines), 1,
+                                  r"\u%.4x should not be a linebreak" % i)
+ 
++@requires_resource('network')
+ class NormalizationTest(unittest.TestCase):
+     @staticmethod
+     def check_version(testfile):
+diff --git a/Tools/scripts/run_tests.py b/Tools/scripts/run_tests.py
+index 445a34ae3e..8f750537c3 100644
+--- a/Tools/scripts/run_tests.py
++++ b/Tools/scripts/run_tests.py
+@@ -69,7 +69,7 @@ def main(regrtest_args):
+         else:
+             args.extend(['-j', '0'])  # Use all CPU cores
+     if not any(is_resource_use_flag(arg) for arg in regrtest_args):
+-        args.extend(['-u', 'all,-largefile,-audio,-gui'])
++        args.extend(['-u', 'all,-largefile,-audio,-gui,-network'])
+ 
+     if cross_compile and hostrunner:
+         # If HOSTRUNNER is set and -p/--python option is not given, then
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 51d5f598d7..471cf190fb 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -55,7 +55,7 @@
 ;;; Copyright © 2018, 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
 ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
-;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2019, 2024 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com>
 ;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
@@ -596,6 +596,382 @@ (define-public python-3.10
             (variable "PYTHONTZPATH")
             (files (list "share/zoneinfo")))))))
 
+(define-public python-3.12
+  (package
+    (name "python")
+    (version "3.12.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.python.org/ftp/python/" version
+                           "/Python-" version ".tar.xz"))
+       (sha256
+        (base32 "0w6qyfhc912xxav9x9pifwca40b4l49vy52wai9j0gc1mhni2a5y"))
+       (patches (search-patches "python-3-deterministic-build-info.patch"
+                                "python-3.12-fix-tests.patch"
+                                "python-3-hurd-configure.patch"))
+       (modules '((guix build utils)))
+       (snippet '(begin
+                   ;; Delete the bundled copy of libexpat.
+                   (delete-file-recursively "Modules/expat")
+                   (substitute* "Modules/Setup"
+                     ;; Link Expat instead of embedding the bundled one.
+                     (("^#pyexpat.*")
+                      "pyexpat pyexpat.c -lexpat\n"))
+                   ;; Delete windows binaries
+                   (for-each delete-file
+                             (find-files "Lib/distutils/command" "\\.exe$"))))))
+    (outputs '("out" "tk" ;tkinter; adds 50 MiB to the closure
+               "idle")) ;programming environment; weighs 5MB
+    (build-system gnu-build-system)
+    (arguments
+     `(#:test-target "test"
+       #:configure-flags (list "--enable-shared" ;allow embedding
+                               "--with-system-expat" ;for XML support
+                               "--with-system-ffi" ;build ctypes
+                               "--with-ensurepip=install" ;install pip and setuptools
+                               "--with-computed-gotos" ;main interpreter loop optimization
+                               "--enable-unicode=ucs4"
+                               "--without-static-libpython"
+
+                               ;; FIXME: These flags makes Python significantly faster, but
+                               ;; leads to non-reproducible binaries.
+                               ;; "--with-lto"               ;increase size by 20MB, but 15% speedup
+                               ;; "--enable-optimizations"
+                               
+                               ;; Prevent the installed _sysconfigdata.py from retaining a reference
+                               ;; to coreutils.
+                               "INSTALL=install -c"
+                               "MKDIR_P=mkdir -p"
+
+                               ;; Disable runtime check failing if cross-compiling, see:
+                               ;; https://lists.yoctoproject.org/pipermail/poky/2013-June/008997.html
+                               ,@(if (%current-target-system)
+                                     '("ac_cv_buggy_getaddrinfo=no"
+                                       "ac_cv_file__dev_ptmx=no"
+                                       "ac_cv_file__dev_ptc=no")
+                                     '())
+                               ;; -fno-semantic-interposition reinstates some optimizations by gcc
+                               ;; leading to around 15% speedup. This is the default starting from
+                               ;; python 3.10.
+                               "CFLAGS=-fno-semantic-interposition"
+                               (string-append "LDFLAGS=-Wl,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib"
+                                              " -fno-semantic-interposition"))
+       ;; With no -j argument tests use all available cpus, so provide one.
+       #:make-flags (list (string-append (format #f "TESTOPTS=-j~d"
+                                                 (parallel-job-count))
+                           ;; those tests fail on low-memory systems
+                           " --exclude test_mmap test_socket test_threading test_asyncio"
+                           ,@(if (system-hurd?)
+                                 '(" test_posix" ;multiple errors
+                                   " test_time"
+                                   " test_pty"
+                                   " test_shutil"
+                                   " test_tempfile" ;chflags: invalid argument:
+                                   ;; tbv14c9t/dir0/dir0/dir0/test0.txt
+                                   " test_os" ;stty: 'standard input':
+                                   ;; Inappropriate ioctl for device
+                                   " test_openpty" ;No such file or directory
+                                   " test_selectors" ;assertEqual(NUM_FDS // 2, len(fds))
+                                   ;; 32752 != 4
+                                   " test_compileall" ;multiple errors
+                                   " test_poll" ;list index out of range
+                                   " test_subprocess" ;runs over 10min
+                                   " test_asyncore" ;multiple errors
+                                   " test_threadsignals"
+                                   " test_eintr" ;Process return code is -14
+                                   " test_io" ;multiple errors
+                                   " test_logging"
+                                   " test_signal"
+                                   " test_flags" ;ERROR
+                                   " test_bidirectional_pty"
+                                   " test_create_unix_connection"
+                                   " test_unix_sock_client_ops"
+                                   " test_open_unix_connection"
+                                   " test_open_unix_connection_error"
+                                   " test_read_pty_output"
+                                   " test_write_pty"
+                                   " test_concurrent_futures" ;freeze
+                                   " test_venv" ;freeze
+                                   " test_multiprocessing_forkserver" ;runs over 10min
+                                   " test_multiprocessing_spawn" ;runs over 10min
+                                   " test_builtin"
+                                   " test_capi"
+                                   " test_dbm_ndbm"
+                                   " test_exceptions"
+                                   " test_faulthandler"
+                                   " test_getopt"
+                                   " test_importlib"
+                                   " test_json"
+                                   " test_multiprocessing_fork"
+                                   " test_multiprocessing_main_handling"
+                                   " test_pdb "
+                                   " test_regrtest"
+                                   " test_sqlite")
+                                 '())))
+
+       #:modules ((ice-9 ftw)
+                  (ice-9 match)
+                  (guix build utils)
+                  (guix build gnu-build-system))
+
+       #:phases (modify-phases %standard-phases
+                  ,@(if (system-hurd?)
+                        `((add-after 'unpack
+                                     'disable-multi-processing
+                                     (lambda _
+                                       (substitute* "Makefile.pre.in"
+                                         (("-j0")
+                                          "-j1")))))
+                        '())
+                  (add-before 'configure 'patch-lib-shells
+                    (lambda _
+                      ;; This variable is used in setup.py to enable cross compilation
+                      ;; specific switches. As it is not set properly by configure
+                      ;; script, set it manually.
+                      ,@(if (%current-target-system)
+                            '((setenv "_PYTHON_HOST_PLATFORM" ""))
+                            '())
+                      ;; Filter for existing files, since some may not exist in all
+                      ;; versions of python that are built with this recipe.
+                      (substitute* (filter file-exists?
+                                           '("Lib/subprocess.py"
+                                             "Lib/popen2.py"
+                                             "Lib/distutils/tests/test_spawn.py"
+                                             "Lib/test/support/__init__.py"
+                                             "Lib/test/test_subprocess.py"))
+                        (("/bin/sh")
+                         (which "sh")))))
+                  (add-before 'configure 'do-not-record-configure-flags
+                    (lambda* (#:key configure-flags #:allow-other-keys)
+                      ;; Remove configure flags from the installed '_sysconfigdata.py'
+                      ;; and 'Makefile' so we don't end up keeping references to the
+                      ;; build tools.
+                      ;;
+                      ;; Preserve at least '--with-system-ffi' since otherwise the
+                      ;; thing tries to build libffi, fails, and we end up with a
+                      ;; Python that lacks ctypes.
+                      (substitute* "configure"
+                        (("^CONFIG_ARGS=.*$")
+                         (format #f "CONFIG_ARGS='~a'\n"
+                                 (if (member "--with-system-ffi"
+                                             configure-flags)
+                                     "--with-system-ffi" ""))))))
+                  (add-before 'check 'pre-check
+                    (lambda _
+                      ;; 'Lib/test/test_site.py' needs a valid $HOME
+                      (setenv "HOME"
+                              (getcwd))))
+                  (add-after 'unpack 'set-source-file-times-to-1980
+                    ;; XXX One of the tests uses a ZIP library to pack up some of the
+                    ;; source tree, and fails with "ZIP does not support timestamps
+                    ;; before 1980".  Work around this by setting the file times in the
+                    ;; source tree to sometime in early 1980.
+                    (lambda _
+                      (let ((circa-1980 (* 10 366 24 60 60)))
+                        (ftw "."
+                             (lambda (file stat flag)
+                               (utime file circa-1980 circa-1980) #t)))))
+                  (add-after 'unpack 'remove-windows-binaries
+                    (lambda _
+                      ;; Delete .exe from embedded .whl (zip) files
+                      (for-each (lambda (whl)
+                                  (let ((dir "whl-content")
+                                        (circa-1980 (* 10 366 24 60 60)))
+                                    (mkdir-p dir)
+                                    (with-directory-excursion dir
+                                      (let ((whl (string-append "../" whl)))
+                                        (invoke "unzip" whl)
+                                        (for-each delete-file
+                                                  (find-files "." "\\.exe$"))
+                                        (delete-file whl)
+                                        ;; Reset timestamps to prevent them from ending
+                                        ;; up in the Zip archive.
+                                        (ftw "."
+                                             (lambda (file stat flag)
+                                               (utime file circa-1980
+                                                      circa-1980) #t))
+                                        (apply invoke "zip" "-X" whl
+                                               (find-files "."
+                                                           #:directories? #t))))
+                                    (delete-file-recursively dir)))
+                                (find-files "Lib/ensurepip" "\\.whl$"))))
+                  (add-after 'install 'remove-tests
+                    ;; Remove 25 MiB of unneeded unit tests.  Keep test_support.*
+                    ;; because these files are used by some libraries out there.
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let ((out (assoc-ref outputs "out")))
+                        (match (scandir (string-append out "/lib")
+                                        (lambda (name)
+                                          (string-prefix? "python" name)))
+                          ((pythonX.Y)
+                           (let ((testdir (string-append out "/lib/" pythonX.Y
+                                                         "/test")))
+                             (with-directory-excursion testdir
+                               (for-each delete-file-recursively
+                                         (scandir testdir
+                                                  (match-lambda
+                                                    ((or "." "..")
+                                                     #f)
+                                                    ("support" #f)
+                                                    (file (not (string-prefix?
+                                                                "test_support."
+                                                                file))))))
+                               (call-with-output-file "__init__.py"
+                                 (const #t))))
+                           (let ((libdir (string-append out "/lib/" pythonX.Y)))
+                             (for-each (lambda (directory)
+                                         (let ((dir (string-append libdir "/"
+                                                                   directory)))
+                                           (when (file-exists? dir)
+                                             (delete-file-recursively dir))))
+                                       '("email/test" "ctypes/test"
+                                         "unittest/test"
+                                         "tkinter/test"
+                                         "sqlite3/test"
+                                         "bsddb/test"
+                                         "lib-tk/test"
+                                         "json/tests"
+                                         "distutils/tests"))))))))
+                  (add-after 'remove-tests 'move-tk-inter
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      ;; When Tkinter support is built move it to a separate output so
+                      ;; that the main output doesn't contain a reference to Tcl/Tk.
+                      (let ((out (assoc-ref outputs "out"))
+                            (tk (assoc-ref outputs "tk")))
+                        (when tk
+                          (match (find-files out "tkinter.*\\.so")
+                            ((tkinter.so)
+                             ;; The .so is in OUT/lib/pythonX.Y/lib-dynload, but we
+                             ;; want it under TK/lib/pythonX.Y/site-packages.
+                             (let* ((len (string-length out))
+                                    (target (string-append tk "/"
+                                                           (string-drop (dirname
+                                                                         (dirname
+                                                                          tkinter.so))
+                                                                        len)
+                                                           "/site-packages")))
+                               (install-file tkinter.so target)
+                               (delete-file tkinter.so))))))))
+                  (add-after 'move-tk-inter 'move-idle
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      ;; when idle is built, move it to a separate output to save some
+                      ;; space (5MB)
+                      (let ((out (assoc-ref outputs "out"))
+                            (idle (assoc-ref outputs "idle")))
+                        (when idle
+                          (for-each (lambda (file)
+                                      (let ((target (string-append idle
+                                                                   "/bin/"
+                                                                   (basename
+                                                                    file))))
+                                        (install-file file
+                                                      (dirname target))
+                                        (delete-file file)))
+                                    (find-files (string-append out "/bin")
+                                                "^idle"))
+                          (match (find-files out "^idlelib$"
+                                             #:directories? #t)
+                            ((idlelib)
+                             (let* ((len (string-length out))
+                                    (target (string-append idle "/"
+                                                           (string-drop
+                                                            idlelib len)
+                                                           "/site-packages")))
+                               (mkdir-p (dirname target))
+                               (rename-file idlelib target))))))))
+                  (add-after 'move-idle 'rebuild-bytecode
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let ((out (assoc-ref outputs "out")))
+                        ;; Disable hash randomization to ensure the generated .pycs
+                        ;; are reproducible.
+                        (setenv "PYTHONHASHSEED" "0")
+
+                        (for-each (lambda (output)
+                                    ;; XXX: Delete existing pycs generated by the build
+                                    ;; system beforehand because the -f argument does
+                                    ;; not necessarily overwrite all files, leading to
+                                    ;; indeterministic results.
+                                    (for-each (lambda (pyc)
+                                                (delete-file pyc))
+                                              (find-files output "\\.pyc$"))
+
+                                    (apply invoke
+                                           `(,,(if (%current-target-system)
+                                                   "python3"
+                                                   '(string-append out
+                                                     "/bin/python3")) "-m"
+                                             "compileall"
+                                             "-o"
+                                             "0"
+                                             "-o"
+                                             "1"
+                                             "-o"
+                                             "2"
+                                             "-f" ;force rebuild
+                                             "--invalidation-mode=unchecked-hash"
+                                             ;; Don't build lib2to3, because it's
+                                             ;; Python 2 code.
+                                             "-x"
+                                             "lib2to3/.*"
+                                             ,output)))
+                                  (map cdr outputs)))))
+                  (add-before 'check 'set-TZDIR
+                    (lambda* (#:key inputs native-inputs #:allow-other-keys)
+                      ;; test_email requires the Olson time zone database.
+                      (setenv "TZDIR"
+                              (string-append (assoc-ref (or native-inputs
+                                                            inputs) "tzdata")
+                                             "/share/zoneinfo"))))
+                  (add-after 'install 'install-sitecustomize.py
+                    ,(customize-site version)))))
+    (inputs (list bzip2
+                  expat
+                  gdbm
+                  libffi ;for ctypes
+                  sqlite ;for sqlite extension
+                  openssl
+                  readline
+                  zlib
+                  tcl
+                  tk)) ;for tkinter
+    (native-inputs `(("tzdata" ,tzdata-for-tests)
+                     ("unzip" ,unzip)
+                     ("zip" ,(@ (gnu packages compression) zip))
+                     ("pkg-config" ,pkg-config)
+                     ("sitecustomize.py" ,(local-file (search-auxiliary-file
+                                                       "python/sitecustomize.py")))
+                     ;; When cross-compiling, a native version of Python itself is needed.
+                     ,@(if (%current-target-system)
+                           `(("python" ,this-package)
+                             ("which" ,which))
+                           '())))
+    (native-search-paths
+     (list (guix-pythonpath-search-path version)
+           ;; Used to locate tzdata by the zoneinfo module introduced in
+           ;; Python 3.9.
+           (search-path-specification
+            (variable "PYTHONTZPATH")
+            (files (list "share/zoneinfo")))))
+    (home-page "https://www.python.org")
+    (synopsis "High-level, dynamically-typed programming language")
+    (description
+     "Python is a remarkably powerful dynamic programming language that
+is used in a wide variety of application domains.  Some of its key
+distinguishing features include: clear, readable syntax; strong
+introspection capabilities; intuitive object orientation; natural
+expression of procedural code; full modularity, supporting hierarchical
+packages; exception-based error handling; and very high level dynamic
+data types.")
+    (properties '((cpe-name . "python")))
+    (license license:psfl)))
+
+
+;; Next 3.x version.
+(define-public python-next python-3.12)
+
 ;; Current 3.x version.
 (define-public python-3 python-3.10)
 

base-commit: 6831dfc58bf14341176f7358941ed685f34fb4c3
-- 
2.41.0





^ permalink raw reply related	[relevance 34%]

* [bug#69295] [PATCH 08/46] gnu: python-aioftp: Update to 0.22.3.
    2024-02-20 23:43 65% ` [bug#69295] [PATCH 05/46] gnu: parfive: Update to 2.0.2 Sharlatan Hellseher
  2024-02-20 23:43 64% ` [bug#69295] [PATCH 06/46] gnu: parfive: Simplify package Sharlatan Hellseher
@ 2024-02-20 23:43 65% ` Sharlatan Hellseher
  2024-02-20 23:43 65% ` [bug#69295] [PATCH 18/46] gnu: python-h5netcdf: Update to 1.3.0 Sharlatan Hellseher
  3 siblings, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-02-20 23:43 UTC (permalink / raw)
  To: 69295
  Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-web.scm (python-aioftp): Update to 0.22.3.
[build-system]: Swap to pyproject-build-system, there is no setup.py in
new release.
[arguments] <#:phases>: Use standard 'check phase.

Change-Id: I8e6a145da86e5ed56eb184d98d54bc8093a3bd1f
---
 gnu/packages/python-web.scm | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index de57d5be94..cde4ac4f58 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -3546,20 +3546,14 @@ (define-public python-requests-ftp
 (define-public python-aioftp
   (package
     (name "python-aioftp")
-    (version "0.21.4")
+    (version "0.22.3")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "aioftp" version))
               (sha256
                (base32
-                "1f8vql2j2b3ykqyh5bxzsp8x5f2if2c1ya232ld3hz3cc7a2dfr8"))))
-    (build-system python-build-system)
-    (arguments
-     (list #:phases #~(modify-phases %standard-phases
-                        (replace 'check
-                          (lambda* (#:key tests? #:allow-other-keys)
-                            (when tests?
-                              (invoke "pytest" "-vvv")))))))
+                "0w621mg956m9rn7v39jpwi4gpnpl90pprwl29cp640dahqqv38ms"))))
+    (build-system pyproject-build-system)
     (native-inputs (list python-async-timeout python-pytest
                          python-pytest-asyncio python-pytest-cov
                          python-trustme))
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69295] [PATCH 18/46] gnu: python-h5netcdf: Update to 1.3.0.
                     ` (2 preceding siblings ...)
  2024-02-20 23:43 65% ` [bug#69295] [PATCH 08/46] gnu: python-aioftp: Update to 0.22.3 Sharlatan Hellseher
@ 2024-02-20 23:43 65% ` Sharlatan Hellseher
  3 siblings, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-02-20 23:43 UTC (permalink / raw)
  To: 69295
  Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-h5netcdf): Update to 1.3.0.

Change-Id: I6652b0d7d185b4475fb574b236534bba38a2cf07
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c3dfb9603c..2a773a3bf9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2558,13 +2558,13 @@ (define-public python-hdf4
 (define-public python-h5netcdf
   (package
     (name "python-h5netcdf")
-    (version "1.1.0")
+    (version "1.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "h5netcdf" version))
        (sha256
-        (base32 "0mmzfr6k55zqxxpb64gvdqisak8s1zb2r04yzkmp0wzd7dbknb4k"))))
+        (base32 "1kw3cf01kziwxmb84x0cy6vbpsmqjm0k1dm34i6b4d7bv8kw0wd1"))))
     (build-system pyproject-build-system)
     (native-inputs
      (list python-netcdf4
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69295] [PATCH 06/46] gnu: parfive: Simplify package.
    2024-02-20 23:43 65% ` [bug#69295] [PATCH 05/46] gnu: parfive: Update to 2.0.2 Sharlatan Hellseher
@ 2024-02-20 23:43 64% ` Sharlatan Hellseher
  2024-02-20 23:43 65% ` [bug#69295] [PATCH 08/46] gnu: python-aioftp: Update to 0.22.3 Sharlatan Hellseher
  2024-02-20 23:43 65% ` [bug#69295] [PATCH 18/46] gnu: python-h5netcdf: Update to 1.3.0 Sharlatan Hellseher
  3 siblings, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-02-20 23:43 UTC (permalink / raw)
  To: 69295
  Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-web.scm (parfive) [build-system]: Swap to
pyproject-build-system.
[arguments] <#:phases>: Use standard 'check phase. <#:test-flags>: Move
disabled tests here and remove 'disable-test-requiring-network phase.

Change-Id: I08b67b2aa7027ac37e0a3df4da7ebb01ea3c451e
---
 gnu/packages/python-web.scm | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index adae8d7272..de57d5be94 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1326,18 +1326,15 @@ (define-public parfive
               (sha256
                (base32
                 "0pf8rzfwxpkn84xzb4v8m1fy3k7kjlh8f9ln4y5xqlnbqpwi30lh"))))
-    (build-system python-build-system)
+    (build-system pyproject-build-system)
     (arguments
-     (list #:phases #~(modify-phases %standard-phases
-                        (add-before 'check 'disable-test-requiring-network
-                          (lambda _
-                            (substitute* "parfive/tests/test_downloader.py"
-                              (("def test_ftp")
-                               "def __off_test_ftp"))))
-                        (replace 'check
-                          (lambda* (#:key tests? #:allow-other-keys)
-                            (when tests?
-                              (invoke "python" "-m" "pytest" "-vvv" "parfive")))))))
+     (list
+      ;; Disable tests requiring network access.
+      #:test-flags
+      #~(list "-k" (string-append
+                    "not test_ftp"
+                    " and not test_ftp_pasv_command"
+                    " and not test_ftp_http"))))
     (propagated-inputs (list python-aiofiles python-aioftp python-aiohttp
                              python-tqdm))
     (native-inputs (list python-pytest
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* [bug#69295] [PATCH 05/46] gnu: parfive: Update to 2.0.2.
  @ 2024-02-20 23:43 65% ` Sharlatan Hellseher
  2024-02-20 23:43 64% ` [bug#69295] [PATCH 06/46] gnu: parfive: Simplify package Sharlatan Hellseher
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-02-20 23:43 UTC (permalink / raw)
  To: 69295
  Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-web.scm (parfive): Update to 2.0.2.

Change-Id: I3890cbae4d706c5f3391809fc6b4ce36140f059d
---
 gnu/packages/python-web.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 5a6f401f89..adae8d7272 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1319,13 +1319,13 @@ (define-public httpie
 (define-public parfive
   (package
     (name "parfive")
-    (version "2.0.1")
+    (version "2.0.2")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "parfive" version))
               (sha256
                (base32
-                "19dcbb6g56l5s3ih0bhs3p4acgc0gf4zdzpj4w87m69li2nhmgpx"))))
+                "0pf8rzfwxpkn84xzb4v8m1fy3k7kjlh8f9ln4y5xqlnbqpwi30lh"))))
     (build-system python-build-system)
     (arguments
      (list #:phases #~(modify-phases %standard-phases
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69268] [PATCH 1/2] gnu: Add python-monthdelta.
  @ 2024-02-19  9:53 65% ` Wilko Meyer
  2024-02-19  9:53 64% ` [bug#69268] [PATCH 2/2] gnu: Add python-heatwave Wilko Meyer
  1 sibling, 0 replies; 200+ results
From: Wilko Meyer @ 2024-02-19  9:53 UTC (permalink / raw)
  To: 69268
  Cc: Wilko Meyer, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: I0e651f41252ec50cd2d7063e37d428265b17d8c2
---
 gnu/packages/python-xyz.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c3dfb9603c..c8fc5e1f7c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17727,6 +17727,23 @@ (define-public python-colorama-for-awscli
        (sha256
         (base32 "189n8hpijy14jfan4ha9f5n06mnl33cxz7ay92wjqgkr639s0vg9"))))))
 
+(define-public python-monthdelta
+  (package
+    (name "python-monthdelta")
+    (version "0.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "MonthDelta" version))
+       (sha256
+        (base32 "0iwcsk7ryjw5h1wp10ykwd01f3am8gdlga6461q1v1njsk0rxh41"))))
+    (build-system pyproject-build-system)
+    (home-page "http://packages.python.org/MonthDelta")
+    (synopsis "Date computations with months")
+    (description "MonthDelta provides functionality to do date computations
+with months.")
+    (license license:expat)))
+
 (define-public python-moto
   (package
     (name "python-moto")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69268] [PATCH 2/2] gnu: Add python-heatwave.
    2024-02-19  9:53 65% ` [bug#69268] [PATCH 1/2] gnu: Add python-monthdelta Wilko Meyer
@ 2024-02-19  9:53 64% ` Wilko Meyer
  1 sibling, 0 replies; 200+ results
From: Wilko Meyer @ 2024-02-19  9:53 UTC (permalink / raw)
  To: 69268
  Cc: Wilko Meyer, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-heatwave): New variable.
* gnu/packages/python-xyz.scm: Add my copyright header.

Change-Id: I640aecb3a0d9c454333a3913c039c637d24d9f79
---
 gnu/packages/python-xyz.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c8fc5e1f7c..e318438c94 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -147,6 +147,7 @@
 ;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
 ;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
 ;;; Copyright © 2024 Timothee Mathieu <timothee.mathieu@inria.fr>
+;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31533,6 +31534,24 @@ (define-public python-roundrobin
 distribution in Python.")
     (license license:expat)))
 
+(define-public python-heatwave
+  (package
+    (name "python-heatwave")
+    (version "1.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "heatwave" version))
+       (sha256
+        (base32 "1zzwmb9hvbyswzjgap02rrq8p44hb6xlzk1wd8w01mh2vva0xlx7"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-click python-gitpython python-monthdelta))
+    (home-page "https://github.com/james-stoup/heatwave")
+    (synopsis "A way of visualizing a heat map of a git repo")
+    (description
+     "This package provides a way of visualizing a heat map of a git repo.")
+    (license license:gpl3)))
+
 (define-public python-helpdev
   (package
     (name "python-helpdev")
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* [bug#67120] [PATCH v5 1/5] gnu: Add python-mpv-jsonipc.
  @ 2024-02-17 19:02 65% ` Ian Eure
  2024-02-17 19:02 65% ` [bug#67120] [PATCH v5 2/5] gnu: Add python-jellyfin-apiclient Ian Eure
  2024-02-17 19:02 64% ` [bug#67120] [PATCH v5 3/5] gnu: Add python-pystray Ian Eure
  2 siblings, 0 replies; 200+ results
From: Ian Eure @ 2024-02-17 19:02 UTC (permalink / raw)
  To: 67120
  Cc: Ian Eure, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: Iec7679213d9b9e8e5cbf01a30838e27e71704e54
---
 gnu/packages/python-xyz.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2dd8a12af5..ed80ee1d5e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -25808,6 +25808,22 @@ (define-public online-judge-tools
 submitting it.")
     (license license:expat)))
 
+(define-public python-mpv-jsonipc
+  (package
+    (name "python-mpv-jsonipc")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "python-mpv-jsonipc" version))
+       (sha256
+        (base32 "0ymdwrx544a6gn6wm9dixpgzbfrbpxvcj5ys7m41cgb4lvpvx691"))))
+    (build-system pyproject-build-system)
+    (home-page "https://github.com/iwalton3/python-mpv-jsonipc")
+    (synopsis "Python API to MPV using JSON IPC")
+    (description "Python API to MPV using JSON IPC")
+    (license license:asl2.0)))
+
 (define-public python-parso
   (package
     (name "python-parso")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#67120] [PATCH v5 2/5] gnu: Add python-jellyfin-apiclient.
    2024-02-17 19:02 65% ` [bug#67120] [PATCH v5 1/5] gnu: Add python-mpv-jsonipc Ian Eure
@ 2024-02-17 19:02 65% ` Ian Eure
  2024-02-17 19:02 64% ` [bug#67120] [PATCH v5 3/5] gnu: Add python-pystray Ian Eure
  2 siblings, 0 replies; 200+ results
From: Ian Eure @ 2024-02-17 19:02 UTC (permalink / raw)
  To: 67120
  Cc: Ian Eure, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: If84546b14d380a3a10af63d4f41711125298487a
---
 gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ed80ee1d5e..ba01a008bf 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -25824,6 +25824,24 @@ (define-public python-mpv-jsonipc
     (description "Python API to MPV using JSON IPC")
     (license license:asl2.0)))
 
+(define-public python-jellyfin-apiclient
+  (package
+    (name "python-jellyfin-apiclient")
+    (version "1.9.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jellyfin-apiclient-python" version))
+       (sha256
+        (base32 "0r67cp9nizvn3cbslgi30zpd3mw4a6zal0ygik3jv5lni1xdkk5w"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-certifi python-requests python-urllib3
+                             python-websocket-client))
+    (home-page "https://github.com/jellyfin/jellyfin-apiclient-python")
+    (synopsis "Python API client for Jellyfin")
+    (description "Python API client for Jellyfin")
+    (license license:gpl3)))
+
 (define-public python-parso
   (package
     (name "python-parso")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#67120] [PATCH v5 3/5] gnu: Add python-pystray.
    2024-02-17 19:02 65% ` [bug#67120] [PATCH v5 1/5] gnu: Add python-mpv-jsonipc Ian Eure
  2024-02-17 19:02 65% ` [bug#67120] [PATCH v5 2/5] gnu: Add python-jellyfin-apiclient Ian Eure
@ 2024-02-17 19:02 64% ` Ian Eure
  2 siblings, 0 replies; 200+ results
From: Ian Eure @ 2024-02-17 19:02 UTC (permalink / raw)
  To: 67120
  Cc: Ian Eure, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: If10777c9ec91b549b9937b4825565223786a75cb
---
 gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ba01a008bf..05c29049b8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -31694,6 +31694,32 @@ (define-public python-qdarkstyle
 Qt applications.")
     (license license:expat)))
 
+(define-public python-pystray
+  (package
+    (name "python-pystray")
+    (version "0.19.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/moses-palmer/pystray")
+             (commit "1907f8681d6d421517c63d94f425f9cdd74d0034")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1vj6c8s7rbc7xc4bi5brx5629ls1ri9prcw9290v85hagilmp609"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (delete 'check)
+                   (delete 'sanity-check))))
+    (native-inputs (list python-sphinx xorg-server-for-tests))
+    (propagated-inputs (list python-pillow python-six python-xlib))
+    (home-page "https://github.com/moses-palmer/pystray")
+    (synopsis "Create a system tray icon")
+    (description "This library allows you to create a system tray icon.")
+    (license license:lgpl3)))
+
 (define-public python-bitstring
   (package
     (name "python-bitstring")
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* [bug#67120] [PATCH v4 2/4] gnu: Add python-jellyfin-apiclient.
    2024-02-17 17:49 65% ` [bug#67120] [PATCH v4 1/4] gnu: Add python-mpv-jsonipc Ian Eure
@ 2024-02-17 17:49 65% ` Ian Eure
  2024-02-17 17:49 64% ` [bug#67120] [PATCH v4 3/4] gnu: Add python-pystray Ian Eure
  2 siblings, 0 replies; 200+ results
From: Ian Eure @ 2024-02-17 17:49 UTC (permalink / raw)
  To: 67120
  Cc: Ian Eure, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: If84546b14d380a3a10af63d4f41711125298487a
---
 gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ed80ee1d5e..ba01a008bf 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -25824,6 +25824,24 @@ (define-public python-mpv-jsonipc
     (description "Python API to MPV using JSON IPC")
     (license license:asl2.0)))
 
+(define-public python-jellyfin-apiclient
+  (package
+    (name "python-jellyfin-apiclient")
+    (version "1.9.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jellyfin-apiclient-python" version))
+       (sha256
+        (base32 "0r67cp9nizvn3cbslgi30zpd3mw4a6zal0ygik3jv5lni1xdkk5w"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-certifi python-requests python-urllib3
+                             python-websocket-client))
+    (home-page "https://github.com/jellyfin/jellyfin-apiclient-python")
+    (synopsis "Python API client for Jellyfin")
+    (description "Python API client for Jellyfin")
+    (license license:gpl3)))
+
 (define-public python-parso
   (package
     (name "python-parso")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#67120] [PATCH v4 3/4] gnu: Add python-pystray.
    2024-02-17 17:49 65% ` [bug#67120] [PATCH v4 1/4] gnu: Add python-mpv-jsonipc Ian Eure
  2024-02-17 17:49 65% ` [bug#67120] [PATCH v4 2/4] gnu: Add python-jellyfin-apiclient Ian Eure
@ 2024-02-17 17:49 64% ` Ian Eure
  2 siblings, 0 replies; 200+ results
From: Ian Eure @ 2024-02-17 17:49 UTC (permalink / raw)
  To: 67120
  Cc: Ian Eure, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: If10777c9ec91b549b9937b4825565223786a75cb
---
 gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ba01a008bf..05c29049b8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -31694,6 +31694,32 @@ (define-public python-qdarkstyle
 Qt applications.")
     (license license:expat)))
 
+(define-public python-pystray
+  (package
+    (name "python-pystray")
+    (version "0.19.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/moses-palmer/pystray")
+             (commit "1907f8681d6d421517c63d94f425f9cdd74d0034")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1vj6c8s7rbc7xc4bi5brx5629ls1ri9prcw9290v85hagilmp609"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (delete 'check)
+                   (delete 'sanity-check))))
+    (native-inputs (list python-sphinx xorg-server-for-tests))
+    (propagated-inputs (list python-pillow python-six python-xlib))
+    (home-page "https://github.com/moses-palmer/pystray")
+    (synopsis "Create a system tray icon")
+    (description "This library allows you to create a system tray icon.")
+    (license license:lgpl3)))
+
 (define-public python-bitstring
   (package
     (name "python-bitstring")
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* [bug#67120] [PATCH v4 1/4] gnu: Add python-mpv-jsonipc.
  @ 2024-02-17 17:49 65% ` Ian Eure
  2024-02-17 17:49 65% ` [bug#67120] [PATCH v4 2/4] gnu: Add python-jellyfin-apiclient Ian Eure
  2024-02-17 17:49 64% ` [bug#67120] [PATCH v4 3/4] gnu: Add python-pystray Ian Eure
  2 siblings, 0 replies; 200+ results
From: Ian Eure @ 2024-02-17 17:49 UTC (permalink / raw)
  To: 67120
  Cc: Ian Eure, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: Iec7679213d9b9e8e5cbf01a30838e27e71704e54
---
 gnu/packages/python-xyz.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2dd8a12af5..ed80ee1d5e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -25808,6 +25808,22 @@ (define-public online-judge-tools
 submitting it.")
     (license license:expat)))
 
+(define-public python-mpv-jsonipc
+  (package
+    (name "python-mpv-jsonipc")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "python-mpv-jsonipc" version))
+       (sha256
+        (base32 "0ymdwrx544a6gn6wm9dixpgzbfrbpxvcj5ys7m41cgb4lvpvx691"))))
+    (build-system pyproject-build-system)
+    (home-page "https://github.com/iwalton3/python-mpv-jsonipc")
+    (synopsis "Python API to MPV using JSON IPC")
+    (description "Python API to MPV using JSON IPC")
+    (license license:asl2.0)))
+
 (define-public python-parso
   (package
     (name "python-parso")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#67120] [PATCH v3 3/4] gnu: Add python-pystray.
    2024-02-17 17:20 65% ` [bug#67120] [PATCH v3 1/4] gnu: Add python-mpv-jsonipc Ian Eure
  2024-02-17 17:20 65% ` [bug#67120] [PATCH v3 2/4] gnu: Add python-jellyfin-apiclient Ian Eure
@ 2024-02-17 17:20 64% ` Ian Eure
  2 siblings, 0 replies; 200+ results
From: Ian Eure @ 2024-02-17 17:20 UTC (permalink / raw)
  To: 67120
  Cc: Ian Eure, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: If10777c9ec91b549b9937b4825565223786a75cb
---
 gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ba01a008bf..05c29049b8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -31694,6 +31694,32 @@ (define-public python-qdarkstyle
 Qt applications.")
     (license license:expat)))
 
+(define-public python-pystray
+  (package
+    (name "python-pystray")
+    (version "0.19.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/moses-palmer/pystray")
+             (commit "1907f8681d6d421517c63d94f425f9cdd74d0034")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1vj6c8s7rbc7xc4bi5brx5629ls1ri9prcw9290v85hagilmp609"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (delete 'check)
+                   (delete 'sanity-check))))
+    (native-inputs (list python-sphinx xorg-server-for-tests))
+    (propagated-inputs (list python-pillow python-six python-xlib))
+    (home-page "https://github.com/moses-palmer/pystray")
+    (synopsis "Create a system tray icon")
+    (description "This library allows you to create a system tray icon.")
+    (license license:lgpl3)))
+
 (define-public python-bitstring
   (package
     (name "python-bitstring")
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* [bug#67120] [PATCH v3 2/4] gnu: Add python-jellyfin-apiclient.
    2024-02-17 17:20 65% ` [bug#67120] [PATCH v3 1/4] gnu: Add python-mpv-jsonipc Ian Eure
@ 2024-02-17 17:20 65% ` Ian Eure
  2024-02-17 17:20 64% ` [bug#67120] [PATCH v3 3/4] gnu: Add python-pystray Ian Eure
  2 siblings, 0 replies; 200+ results
From: Ian Eure @ 2024-02-17 17:20 UTC (permalink / raw)
  To: 67120
  Cc: Ian Eure, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: If84546b14d380a3a10af63d4f41711125298487a
---
 gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ed80ee1d5e..ba01a008bf 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -25824,6 +25824,24 @@ (define-public python-mpv-jsonipc
     (description "Python API to MPV using JSON IPC")
     (license license:asl2.0)))
 
+(define-public python-jellyfin-apiclient
+  (package
+    (name "python-jellyfin-apiclient")
+    (version "1.9.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jellyfin-apiclient-python" version))
+       (sha256
+        (base32 "0r67cp9nizvn3cbslgi30zpd3mw4a6zal0ygik3jv5lni1xdkk5w"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-certifi python-requests python-urllib3
+                             python-websocket-client))
+    (home-page "https://github.com/jellyfin/jellyfin-apiclient-python")
+    (synopsis "Python API client for Jellyfin")
+    (description "Python API client for Jellyfin")
+    (license license:gpl3)))
+
 (define-public python-parso
   (package
     (name "python-parso")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#67120] [PATCH v3 1/4] gnu: Add python-mpv-jsonipc.
  @ 2024-02-17 17:20 65% ` Ian Eure
  2024-02-17 17:20 65% ` [bug#67120] [PATCH v3 2/4] gnu: Add python-jellyfin-apiclient Ian Eure
  2024-02-17 17:20 64% ` [bug#67120] [PATCH v3 3/4] gnu: Add python-pystray Ian Eure
  2 siblings, 0 replies; 200+ results
From: Ian Eure @ 2024-02-17 17:20 UTC (permalink / raw)
  To: 67120
  Cc: Ian Eure, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: Iec7679213d9b9e8e5cbf01a30838e27e71704e54
---
 gnu/packages/python-xyz.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2dd8a12af5..ed80ee1d5e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -25808,6 +25808,22 @@ (define-public online-judge-tools
 submitting it.")
     (license license:expat)))
 
+(define-public python-mpv-jsonipc
+  (package
+    (name "python-mpv-jsonipc")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "python-mpv-jsonipc" version))
+       (sha256
+        (base32 "0ymdwrx544a6gn6wm9dixpgzbfrbpxvcj5ys7m41cgb4lvpvx691"))))
+    (build-system pyproject-build-system)
+    (home-page "https://github.com/iwalton3/python-mpv-jsonipc")
+    (synopsis "Python API to MPV using JSON IPC")
+    (description "Python API to MPV using JSON IPC")
+    (license license:asl2.0)))
+
 (define-public python-parso
   (package
     (name "python-parso")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#67999] [PATCH] gnu: python-kalamine: Update to 0.30.
  @ 2024-02-16 14:57 59% ` Adriel Dumas--Jondeau via Guix-patches via
  2024-03-01 11:32 59% ` [bug#67999] [PATCH] gnu: Add python-kalamine Adriel Dumas--Jondeau via Guix-patches via
  2024-03-02 14:08 60% ` [bug#67999] [PATCH v2] gnu: Add kalamine Sharlatan Hellseher
  2 siblings, 0 replies; 200+ results
From: Adriel Dumas--Jondeau via Guix-patches via @ 2024-02-16 14:57 UTC (permalink / raw)
  To: 67999
  Cc: Adriel Dumas--Jondeau, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-kalamine): Update to 0.30.

Change-Id: I95bac1364a22b75bb6f42509da73e1b58bc81d42
---
 gnu/packages/python-xyz.scm | 31 +++++++++++++++++++++++++------
 1 file changed, 25 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 62daa6f889..64060d44e3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6330,19 +6330,38 @@ (define-public autokey
 (define-public python-kalamine
   (package
     (name "python-kalamine")
-    (version "0.18")
+    (version "0.30")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "kalamine" version))
        (sha256
-        (base32 "1qcpn3kknxlh1jcragzgsihn5pysvs82lcrkvk1047im94rgp0i2"))))
+        (base32 "1aqwfp0m2fr9miwh0d8ljmb58k4mw7bp9bzn5fk3kyj2d6zr0cxg"))))
     (build-system pyproject-build-system)
-    (propagated-inputs (list python-click python-lxml python-pyyaml python-tomli))
-    (home-page "http://github.com/fabi1cazenave/kalamine")
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (apply invoke
+                            (cons* "python" "-m" "kalamine.cli" "make"
+                                   (find-files "layouts" "\\.toml")))
+                     (invoke "pytest" "-vv" "tests")))))))
+    (propagated-inputs (list python-click python-livereload python-lxml
+                             python-pyyaml python-tomli python-hatchling))
+    (native-inputs (list python-black
+                         python-isort
+                         python-mypy
+                         python-pytest))
+    (home-page "https://github.com/OneDeadKey/kalamine")
     (synopsis "A cross-platform Keyboard Layout Maker")
-    (description "Creates keyboard descriptions for various operating systems
-from a ASCII-art template within a TOML document.")
+    (description "Kalamine provides a CLI to create advanced keyboard layout
+for Windows (@file{.ahk} or @file{.klc} files), MacOS (@file{.keylayout} files)
+and GNU/Linux (@file{.xkb_custom} or @file{.xkb} files) from a textual,
+portable description.  It also provides @command{xkalamine} to install XKB
+files on GNU/Linux in either @file{/usr/share/X11/xbk} or the rootless
+user-only equivalent @file{.config/xkb}.")
     (license license:expat)))
 
 (define-public python-dm-tree

base-commit: 203344cc37c8a7df1ec1454381b5069d53ce7f9e
prerequisite-patch-id: cefc174692b72660bf5ed4c03442f33dbaf6e784
prerequisite-patch-id: 6b1015959d122056b883e766306b0ff8ba30bde9
prerequisite-patch-id: a3116f7908bc9fdb237e4cde52260856b083596d
prerequisite-patch-id: db1d3d945579284d401944b18fcbc506a000714f
prerequisite-patch-id: 84bff5e4689979f565315edf96250ccc367f8fb8
prerequisite-patch-id: bd69d4115bc86b7d2739e9890625788f1fa5a006
prerequisite-patch-id: 0834ca6f4e7f1ed91b5dcb679096a953a6e36273
prerequisite-patch-id: 9812bf7906d21768559f10f97d8363d2a18fc7e9
prerequisite-patch-id: 68e70365da7db55420105f7cb12c9fffb80d2415
-- 
2.41.0





^ permalink raw reply related	[relevance 59%]

* [bug#69074] [PATCH] gnu: Add python-angr.
                     ` (13 preceding siblings ...)
  2024-02-12 14:58 69% ` [bug#69074] [PATCH] gnu: Add python-angr soeren
@ 2024-02-12 14:58 69% ` Troy Figiel
  14 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074

And here the patch for python-angr. I changed a couple of things:
- Used pytest test-flags
- Used (which "false")
- Used #$(this-package-native-inputs "binaries")
- Removed the "-x" flag in pytest. If it fails in the CI, it can be nice to see all tests that failed

* gnu/packages/python-xyz.scm (python-angr): New variable.
---
 gnu/local.mk                                  |  2 +
 .../python-angr-addition-type-error.patch     | 18 ++++
 .../patches/python-angr-check-exec-deps.patch | 93 ++++++++++++++++++
 gnu/packages/python-xyz.scm                   | 97 +++++++++++++++++++
 4 files changed, 210 insertions(+)
 create mode 100644 gnu/packages/patches/python-angr-addition-type-error.patch
 create mode 100644 gnu/packages/patches/python-angr-check-exec-deps.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 59e930ffb9..716bde347b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1899,6 +1899,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-3-search-paths.patch		\
   %D%/packages/patches/python-3-fix-tests.patch			\
   %D%/packages/patches/python-3-hurd-configure.patch		\
+  %D%/packages/patches/python-angr-addition-type-error.patch	\
+  %D%/packages/patches/python-angr-check-exec-deps.patch	\
   %D%/packages/patches/python-aionotify-0.2.0-py3.8.patch	\
   %D%/packages/patches/python-argcomplete-1.11.1-fish31.patch	\
   %D%/packages/patches/python-capstone-fix-python-constants.patch	\
diff --git a/gnu/packages/patches/python-angr-addition-type-error.patch b/gnu/packages/patches/python-angr-addition-type-error.patch
new file mode 100644
index 0000000000..7301d8b505
--- /dev/null
+++ b/gnu/packages/patches/python-angr-addition-type-error.patch
@@ -0,0 +1,18 @@
+This fixes failures of the test_ln_gcc_O2 and other related tests
+in the angr test suite.  The patch has been proposed upstream.
+
+Taken form: https://github.com/angr/angr/pull/4443
+
+diff --git a/angr/analyses/reassembler.py b/angr/analyses/reassembler.py
+index 7a2399a60..b09b3a8cb 100644
+--- a/angr/analyses/reassembler.py
++++ b/angr/analyses/reassembler.py
+@@ -730,7 +730,7 @@ class Instruction:
+             elif operand.type == capstone.CS_OP_MEM:
+                 operand_offsets.append(capstone_instr.disp_offset)
+             else:
+-                operand_offsets.append(None)
++                operand_offsets.append(0)
+ 
+         if self.addr is not None:
+             self._initialize(capstone_instr.operands, operand_offsets)
diff --git a/gnu/packages/patches/python-angr-check-exec-deps.patch b/gnu/packages/patches/python-angr-check-exec-deps.patch
new file mode 100644
index 0000000000..438f8ef183
--- /dev/null
+++ b/gnu/packages/patches/python-angr-check-exec-deps.patch
@@ -0,0 +1,93 @@
+The angr test suite performs analysis on several pre-compiled binaries
+to ensure its binary analysis capabilities are working as intended.
+Some of these binaries are also executed as part of the test suite to
+test if the simulation engine provided by angr results in the same
+output as native execution of the binary.
+
+For Guix, this files as the glibc shared objects cannot be found.
+Additionally, we don't really want to execute pre-compiled binaries
+on Guix, hence we disable those tests.
+
+diff --git a/tests/test_ctype_locale.py b/tests/test_ctype_locale.py
+index 08cb89836..2b9233558 100644
+--- a/tests/test_ctype_locale.py
++++ b/tests/test_ctype_locale.py
+@@ -14,7 +14,7 @@ test_location = os.path.dirname(os.path.abspath(__file__))
+ 
+ 
+ class TestCtypeLocale(unittest.TestCase):
+-    @skip_if_not_linux
++    @unittest.skip("test executes pre-compiled binaries")
+     def test_ctype_b_loc(self):
+         """
+         test_ctype_locale.test_ctype_b_loc
+@@ -60,7 +60,7 @@ class TestCtypeLocale(unittest.TestCase):
+         output = subprocess.check_output(bin_path, shell=True)
+         assert result == output
+ 
+-    @skip_if_not_linux
++    @unittest.skip("test executes pre-compiled binaries")
+     def test_ctype_tolower_loc(self):
+         """
+         test_ctype_locale.test_ctype_tolower_loc
+@@ -109,7 +109,7 @@ class TestCtypeLocale(unittest.TestCase):
+         output = subprocess.check_output(bin_path, shell=True)
+         assert result == output
+ 
+-    @skip_if_not_linux
++    @unittest.skip("test executes pre-compiled binaries")
+     def test_ctype_toupper_loc(self):
+         """
+         test_ctype_locale.test_ctype_toupper_loc
+diff --git a/tests/test_signed_div.py b/tests/test_signed_div.py
+index 59cb9b8d1..994ed9c65 100644
+--- a/tests/test_signed_div.py
++++ b/tests/test_signed_div.py
+@@ -1,6 +1,7 @@
+ import angr
+ import subprocess
+ import sys
++import pytest
+ 
+ import logging
+ 
+@@ -13,7 +14,7 @@ import os
+ test_location = os.path.dirname(os.path.realpath(__file__))
+ 
+ 
+-@skipUnless(sys.platform.startswith("linux"), "linux only")
++@pytest.mark.skip(reason="test executes pre-compiled binaries")
+ def test_signed_div():
+     test_bin = os.path.join(test_location, "..", "..", "binaries", "tests", "x86_64", "test_signed_div")
+     b = angr.Project(test_bin, auto_load_libs=False)
+diff --git a/tests/test_sscanf.py b/tests/test_sscanf.py
+index 29d2c8403..ea799b310 100644
+--- a/tests/test_sscanf.py
++++ b/tests/test_sscanf.py
+@@ -1,3 +1,4 @@
++import pytest
+ import angr
+ import subprocess
+ import sys
+@@ -14,7 +15,7 @@ test_location = os.path.dirname(os.path.realpath(__file__))
+ 
+ 
+ class TestSscanf(unittest.TestCase):
+-    @unittest.skipUnless(sys.platform.startswith("linux"), "linux only")
++    @unittest.skip("test executes pre-compiled binaries")
+     def test_sscanf(self):
+         test_bin = os.path.join(test_location, "..", "..", "binaries", "tests", "x86_64", "sscanf_test")
+         b = angr.Project(test_bin, auto_load_libs=False)
+diff --git a/tests/test_strtol.py b/tests/test_strtol.py
+index 6c29cab22..f36181407 100644
+--- a/tests/test_strtol.py
++++ b/tests/test_strtol.py
+@@ -11,7 +11,7 @@ class TestStrtol(unittest.TestCase):
+     # pylint: disable=no-self-use
+ 
+     @slow_test
+-    @unittest.skipUnless(sys.platform.startswith("linux"), "linux-only")
++    @unittest.skip("test executes pre-compiled binaries")
+     def test_strtol(self, threads=None):
+         test_bin = os.path.join(bin_location, "tests", "x86_64", "strtol_test")
+         # disabling auto_load_libs increases the execution time of the test case.
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e42cbde76e..b3a0f70bd2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -189,6 +189,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages djvu)
   #:use-module (gnu packages docker)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages emulators)
   #:use-module (gnu packages engineering)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages file)
@@ -32390,6 +32391,102 @@ (define-public python-pyvex
 to enable all kinds of binary analysis tasks.")
     (license license:bsd-2)))
 
+(define-public python-angr
+  (package
+    (name "python-angr")
+    (version "9.2.46")
+    (source
+     (origin
+       (method git-fetch)
+       (patches (search-patches "python-angr-addition-type-error.patch"
+                                "python-angr-check-exec-deps.patch"))
+       (uri (git-reference
+             (url "https://github.com/angr/angr")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "18y9wyf7va7gvp9zd6lhw82j9a2x2ajsvbawh96xnxzml0jwlwjm"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags '(list "tests"
+                          "--dist"
+                          "loadfile"
+                          "-k"
+                          ;; test_mips32_missing_offset_in_instructions fails
+                          ;; with capstone 5 and passes with capstone 4. Might
+                          ;; be a capstone regressions, needs investigation.
+                          "not test_mips32_missing_offset_in_instructions"
+                          "-n"
+                          (number->string (parallel-job-count)))
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'patch-tests
+                     (lambda _
+                       (substitute* "tests/test_vault.py"
+                         (("/bin/false")
+                          (which "false")))
+                       (substitute* "tests/common.py"
+                         (("\\[\"cc\"\\]")
+                          "[\"gcc\"]"))))
+                   (add-before 'build 'set-cc
+                     (lambda _
+                       (setenv "CC" "gcc")))
+                   (add-before 'check 'copy-binaries
+                     (lambda _
+                       (copy-recursively #$(this-package-native-input
+                                            "binaries") "../binaries"))))))
+    (propagated-inputs (list python-ailment
+                             python-archinfo
+                             python-cachetools
+                             python-capstone
+                             python-cffi
+                             python-claripy
+                             python-cle
+                             python-colorama
+                             python-cppheaderparser
+                             python-dpkt
+                             python-gitpython
+                             python-mulpyplexer
+                             python-nampa
+                             python-networkx
+                             python-protobuf
+                             python-psutil
+                             python-itanium-demangle
+                             python-pycparser
+                             python-pyvex
+                             python-progressbar2
+                             python-rpyc
+                             python-sortedcontainers
+                             python-sqlalchemy
+                             python-sympy
+                             unicorn))
+    (native-inputs `(("python-pytest" ,python-pytest)
+                     ("python-pytest-xdist" ,python-pytest-xdist)
+                     ("binaries"
+                      ;; This repository ships several binaries used only for testing
+                      ;; purpose.  The binaries are not executed and not part of the
+                      ;; angr distribution, they are only used to test angr's binary
+                      ;; analysis capabilities.  In the context of the GNU FSDG, these
+                      ;; files should be considered non-functional data.
+                      ,(origin
+                         (method git-fetch)
+                         (uri (git-reference (url
+                                              "https://github.com/angr/binaries")
+                                             (commit (string-append "v"
+                                                                    version))))
+                         (file-name (git-file-name "angr-binaries" version))
+                         (sha256 (base32
+                                  "1f286b2239zavxzwg1184hj1zs380cr9qr549mvy3vywvm8bsmgr"))))))
+    (home-page "https://github.com/angr/angr")
+    (synopsis "Multi-architecture binary analysis toolkit")
+    (description
+     "This package provides a versatile binary analysis platform with the
+ability to perform dynamic symbolic execution as well as various
+static analyses directly on binaries.  As such, it can be used for all
+kinds of reverse engineering, vulnerability discovery, exploit
+generation, and software testing purposes.")
+    (license license:bsd-2)))
+
 (define-public python-archinfo
   (package
     (name "python-archinfo")
-- 
2.42.0





^ permalink raw reply related	[relevance 69%]

* [bug#69074] [PATCH] gnu: Add python-pysmt.
                     ` (4 preceding siblings ...)
  2024-02-12 14:58 64% ` [bug#69074] [PATCH] gnu: Add python-rpyc soeren
@ 2024-02-12 14:58 81% ` Troy Figiel
  2024-02-12 14:58 62% ` soeren
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074

Hi Sören, here an example for python-pysmt, taken from your commit. It might
be good to add a comment why you cannot stick to a fixed version like
0.9.5. Or ask upstream for a new version :-)

* gnu/packages/python-xyz.scm (python-pysmt): New variable.
---
 gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5fe5c0d60a..bb58e3aaa8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -32303,6 +32303,39 @@ (define-public python-opcodes
 and BMI2).")
       (license license:bsd-2))))
 
+(define-public python-pysmt
+  (let ((commit "f7b599c228ee8b429aab1b82ddf167bd956ea8a3")
+        (version "0.9.5")
+        (revision "0"))
+    (package
+      (name "python-pysmt")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/pysmt/pysmt")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "05q70hk9rq3037f999ph5yi1ix4c91db29i17rxwcl6q24vlxiwg"))))
+      (build-system pyproject-build-system)
+      (arguments
+       '(#:phases (modify-phases %standard-phases
+                    (add-before 'check 'set-pysmt-solver
+                      (lambda _
+                        (setenv "PYSMT_SOLVER" "z3"))))))
+      (native-inputs (list python-pytest))
+      (propagated-inputs (list z3))
+      (home-page "https://github.com/pysmt/pysmt")
+      (synopsis
+       "Solver-agnostic library for SMT formula manipulation and solving")
+      (description
+       "This Python module provides a solver-agnostic abstraction for working
+with @acronym{SMT, Satisfiability Modulo Theory} formulas.  For example, it
+allows manipulation and solving such formulas.")
+      (license license:asl2.0))))
+
 (define-public python-rpyc
   (package
     (name "python-rpyc")
-- 
2.42.0





^ permalink raw reply related	[relevance 81%]

* [bug#68207] [PATCH v4 3/8] gnu: Add python-pygments-next.
  2024-02-13 14:15 62% ` [bug#68207] [PATCH v4 1/8] gnu: python-markdown-it-py: Update to 3.0.0 Sharlatan Hellseher
  2024-02-13 14:15 65%   ` [bug#68207] [PATCH v4 2/8] gnu: python-mdit-py-plugins: Update to 0.4.0 Sharlatan Hellseher
@ 2024-02-13 14:15 65%   ` Sharlatan Hellseher
  2024-02-13 14:15 57%   ` [bug#68207] [PATCH v4 4/8] gnu: python-rich: Update to 13.7.0 Sharlatan Hellseher
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-02-13 14:15 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Sharlatan Hellseher, Lars-Dominik Braun,
	Marius Bakke, Munyoki Kilyungi, Sharlatan Hellseher, jgart

From: Felix Gruber <felgru@posteo.net>

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

Change-Id: I12e3e0d6042f34e0375bcbb1dc90ccc9ed9ce050
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
 gnu/packages/python-xyz.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 30f6f1fb3e..b3eed56d06 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6588,6 +6588,21 @@ (define-public python-pygments
      "Pygments is a syntax highlighting package written in Python.")
     (license license:bsd-2)))
 
+(define-public python-pygments-next
+  (package
+    (inherit python-pygments)
+    (name "python-pygments-next")
+    (version "2.17.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pygments" version))
+       (sha256
+        (base32
+         "0ry3qi4rszkiqb20bmjlzys71dja9i746kvqi8xbxr9dzp4wwins"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-hatchling))))
+
 (define-public python-pygments-github-lexers
   (package
     (name "python-pygments-github-lexers")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#68207] [PATCH v4 4/8] gnu: python-rich: Update to 13.7.0.
  2024-02-13 14:15 62% ` [bug#68207] [PATCH v4 1/8] gnu: python-markdown-it-py: Update to 3.0.0 Sharlatan Hellseher
  2024-02-13 14:15 65%   ` [bug#68207] [PATCH v4 2/8] gnu: python-mdit-py-plugins: Update to 0.4.0 Sharlatan Hellseher
  2024-02-13 14:15 65%   ` [bug#68207] [PATCH v4 3/8] gnu: Add python-pygments-next Sharlatan Hellseher
@ 2024-02-13 14:15 57%   ` Sharlatan Hellseher
  2024-02-13 14:15 53%   ` [bug#68207] [PATCH v4 5/8] gnu: python-textual: Update to 0.50.1 Sharlatan Hellseher
  2024-02-13 14:15 65%   ` [bug#68207] [PATCH v4 6/8] gnu: python-jupytext: Update to 1.15.0 Sharlatan Hellseher
  4 siblings, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-02-13 14:15 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Sharlatan Hellseher, Lars-Dominik Braun,
	Marius Bakke, Munyoki Kilyungi, Sharlatan Hellseher, jgart

From: Felix Gruber <felgru@posteo.net>

* gnu/packages/python-xyz.scm (python-rich): Update to 13.7.0.
[source]: Use git-fetch since pypi package doesn't include tests.
[build-system]: Use pyproject-build-system.
[arguments]: Remove custom 'check phase.
[propagated-inputs]: Remove python-attrs, python-colorama,
python-commonmark and python-typingextensions; add
python-ipywidgets and python-markdown-it-py; replace python-pygments
with python-pygments-next.
[native-inputs]: Add python-poetry-core; remove tests (which are now
included in new [source]).

Change-Id: I15f7928fc376d8c2556ca2965fe44453bd15f248
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
 gnu/packages/python-xyz.scm | 49 ++++++++++++-------------------------
 1 file changed, 15 insertions(+), 34 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b3eed56d06..afd5caf541 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19192,42 +19192,23 @@ (define-public python-slugid
 (define-public python-rich
   (package
     (name "python-rich")
-    (version "12.4.1")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "rich" version))
-              (sha256
-               (base32
-                "149vjb4cpf9mz14iig0b6d8065dm8aslp6pc45g9ipmp1wf00ffj"))))
-    (build-system python-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda* (#:key inputs tests? #:allow-other-keys)
-             (when tests?
-               (copy-recursively (string-append
-                                  (assoc-ref inputs "tests") "/tests")
-                                 "tests")
-               (invoke "python" "-m" "pytest" "-vv")))))))
+    (version "13.7.0")
+    (source
+      (origin
+        ;; There are no tests in the PyPI tarball.
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/willmcgugan/rich")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "0qyhw2vvk17qdmfrmi45z4dd0fkwx3l2qrf3iy0yc2y7pfgrmg9g"))))
+    (build-system pyproject-build-system)
     (propagated-inputs
-     (list python-attrs python-colorama python-commonmark python-pygments
-           python-typing-extensions))
+     (list python-ipywidgets python-markdown-it-py python-pygments-next))
     (native-inputs
-     `(("python-pytest" ,python-pytest)
-       ("tests"
-        ;; The release on pypi comes without tests.  We can't build from this
-        ;; checkout, though, because installation requires an invocation of
-        ;; poetry.
-        ,(origin
-           (method git-fetch)
-           (uri (git-reference
-                 (url "https://github.com/willmcgugan/rich")
-                 (commit (string-append "v" version))))
-           (file-name (git-file-name name version))
-           (sha256
-            (base32
-             "17c3gljn8zv32xnpsgd3fqgqn4r7cdfqri41hridcpbhssdgkyp9"))))))
+     (list python-poetry-core python-pytest))
     (home-page "https://github.com/willmcgugan/rich")
     (synopsis "Render rich text and more to the terminal")
     (description
-- 
2.41.0





^ permalink raw reply related	[relevance 57%]

* [bug#68207] [PATCH v4 5/8] gnu: python-textual: Update to 0.50.1.
  2024-02-13 14:15 62% ` [bug#68207] [PATCH v4 1/8] gnu: python-markdown-it-py: Update to 3.0.0 Sharlatan Hellseher
                     ` (2 preceding siblings ...)
  2024-02-13 14:15 57%   ` [bug#68207] [PATCH v4 4/8] gnu: python-rich: Update to 13.7.0 Sharlatan Hellseher
@ 2024-02-13 14:15 53%   ` Sharlatan Hellseher
  2024-02-13 14:15 65%   ` [bug#68207] [PATCH v4 6/8] gnu: python-jupytext: Update to 1.15.0 Sharlatan Hellseher
  4 siblings, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-02-13 14:15 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Sharlatan Hellseher, Lars-Dominik Braun,
	Marius Bakke, Munyoki Kilyungi, Sharlatan Hellseher, jgart

From: Felix Gruber <felgru@posteo.net>

* gnu/packages/python-xyz.scm (python-textual): Update to 0.50.1.
[source]: Download from github as pypi package does not include tests.
[build-system]: Change to pyproject-build-system.
[arguments]: Remove custom 'check phase; add #:test-flags to disable
broken tests.
[propagated-inputs]: Add python-markdown-it-py, python-mdit-py-plugins
and python-tree-sitter.
[native-inputs]: Add python-poetry-core and python-pytest-asyncio.

Change-Id: Ib144dc87f73e91d4c9d2e8f91ce6ce7a86a481a9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
 gnu/packages/python-xyz.scm | 49 ++++++++++++++++++-------------------
 1 file changed, 24 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index afd5caf541..27665e1cad 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -108,7 +108,7 @@
 ;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
 ;;; Copyright © 2021, 2022, 2023 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
 ;;; Copyright © 2021, 2022 Pradana Aumars <paumars@courrier.dev>
-;;; Copyright © 2021, 2022, 2023 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021–2024 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2021 Sébastien Lerique <sl@eauchat.org>
 ;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
 ;;; Copyright © 2021 ZmnSCPxj <ZmnSCPxj@protonmail.com>
@@ -266,6 +266,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages tree-sitter)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
@@ -19242,20 +19243,8 @@ (define-public python-rich-click
 (define-public python-textual
   (package
     (name "python-textual")
-    (version "0.1.18")
+    (version "0.50.1")
     (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "textual" version))
-              (sha256
-               (base32
-                "08yg5a51hz1axfj5hx28hx31gq5apcj6vpkkmawmiplisa73z25j"))))
-    (build-system python-build-system)
-    (arguments
-     (let ((tests
-            ;; The release on pypi comes without tests.  We can't build
-            ;; from this checkout, though, because installation requires
-            ;; an invocation of poetry.
-            (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/Textualize/textual")
@@ -19263,19 +19252,29 @@ (define-public python-textual
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0b3ycwqhp21mg9fvmadgxhgbvkwq6fd784l2xcmvy77rravrnnax")))))
-       (list #:phases
-             #~(modify-phases %standard-phases
-                 (replace 'check
-                   (lambda* (#:key tests? #:allow-other-keys)
-                     (when tests?
-                       (copy-recursively #$(file-append tests "/tests")
-                                         "tests")
-                       (invoke "python" "-m" "pytest" "-vv"))))))))
+                "10mmmgsq5pblr9ijgyln79p3hc7sah56k2hkzlvm2abrr9gwgpcf"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:test-flags
+           ;; Snapshot tests require python-pytest-textual-snapshot which
+           ;; in turn depends on python-textual.
+           '(list "--ignore=tests/snapshot_tests/test_snapshots.py"
+             "-k" (string-append
+                   ;; Broken for unknown reason.
+                   "not test_textual_env_var"
+                   ;; Tests that require python-treesitter-languages.
+                   " and not test_language_binary_missing"
+                   " and not test_register_language"
+                   " and not test_register_language_existing_language"))))
     (propagated-inputs
-     (list python-rich python-typing-extensions))
+     (list python-markdown-it-py
+           python-mdit-py-plugins
+           python-rich
+           python-tree-sitter
+           ;; python-tree-sitter-languages ; optional, not packed yet
+           python-typing-extensions))
     (native-inputs
-     (list python-pytest))
+     (list python-poetry-core python-pytest python-pytest-asyncio))
     (home-page "https://github.com/Textualize/textual")
     (synopsis "Build text user interfaces in Python")
     (description "Textual is a @acronym{TUI, Text User Interface} framework
-- 
2.41.0





^ permalink raw reply related	[relevance 53%]

* [bug#68207] [PATCH v4 6/8] gnu: python-jupytext: Update to 1.15.0.
  2024-02-13 14:15 62% ` [bug#68207] [PATCH v4 1/8] gnu: python-markdown-it-py: Update to 3.0.0 Sharlatan Hellseher
                     ` (3 preceding siblings ...)
  2024-02-13 14:15 53%   ` [bug#68207] [PATCH v4 5/8] gnu: python-textual: Update to 0.50.1 Sharlatan Hellseher
@ 2024-02-13 14:15 65%   ` Sharlatan Hellseher
  4 siblings, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-02-13 14:15 UTC (permalink / raw)
  To: 68207
  Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-jupytext): Update to 1.15.0.

Change-Id: I8cbd4e45eae838cb1733bf8feeb3bc2abe960513
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 27665e1cad..e04c55738e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -339,7 +339,7 @@ (define-public python-janus
 (define-public python-jupytext
   (package
     (name "python-jupytext")
-    (version "1.14.4")
+    (version "1.15.0")
     (source
      (origin
        (method git-fetch)
@@ -348,7 +348,7 @@ (define-public python-jupytext
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "19d443vx597zzxna09qpync9iic3mris80bwm3kd8xaxaq0zq9w4"))))
+        (base32 "0bgf0c4py22ip7qfla8mrmypfh3bg151c8awsr1gvcbw7m4ni01k"))))
     (build-system python-build-system)
     (arguments
      (list
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#68207] [PATCH v4 1/8] gnu: python-markdown-it-py: Update to 3.0.0.
                     ` (9 preceding siblings ...)
  2024-02-12 17:55 54% ` [bug#68207] [PATCH v2 5/5] gnu: python-textual: Update to 0.50.1 Felix Gruber
@ 2024-02-13 14:15 62% ` Sharlatan Hellseher
  2024-02-13 14:15 65%   ` [bug#68207] [PATCH v4 2/8] gnu: python-mdit-py-plugins: Update to 0.4.0 Sharlatan Hellseher
                     ` (4 more replies)
  10 siblings, 5 replies; 200+ results
From: Sharlatan Hellseher @ 2024-02-13 14:15 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Sharlatan Hellseher, Lars-Dominik Braun,
	Marius Bakke, Munyoki Kilyungi, Sharlatan Hellseher, jgart

From: Felix Gruber <felgru@posteo.net>

* gnu/packages/python-xyz.scm (python-markdown-it-py): Update to 3.0.0.
[propagated-inputs]: Remove python-typing-extensions; add python-commonmark,
python-linkify-it-py, python-markdown, python-mistletoe,
python-mistune, python-panflute, python-psutil, and python-pyyaml.
[native-inputs]: Remove python-flit; add python-flit-core.

Change-Id: I5dc06b163ddbec0a32a9d7c3da2c834b2e74cd74
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
 gnu/packages/python-xyz.scm | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a645c45a4c..6a28836acf 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5881,19 +5881,26 @@ (define-public python-makefun
 (define-public python-markdown-it-py
   (package
     (name "python-markdown-it-py")
-    (version "2.1.0")
+    (version "3.0.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "markdown-it-py" version))
               (sha256
                (base32
-                "1nh75i72584r70alhqc479gys04s5m5g3vq601yf2njbs7z5jzng"))))
+                "1swgvyiavak0nmfb31lq5zck5chwhmyf6qb6qwpcav86zaa0mxp3"))))
     (build-system pyproject-build-system)
     (arguments (list #:tests? #f))      ;pypi source does not contains tests
-    (native-inputs (list python-flit))
+    (native-inputs (list python-flit-core))
     (propagated-inputs
-     (list python-mdurl
-           python-typing-extensions))
+     (list python-commonmark
+           python-linkify-it-py
+           python-markdown
+           python-mdurl
+           python-mistletoe
+           python-mistune
+           python-panflute
+           python-psutil
+           python-pyyaml))
     (home-page "https://github.com/executablebooks/markdown-it-py")
     (synopsis "Python port of markdown-it")
     (description

base-commit: e9a6c7094822bc859d0694eeaf8f434317219367
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#68207] [PATCH v4 2/8] gnu: python-mdit-py-plugins: Update to 0.4.0.
  2024-02-13 14:15 62% ` [bug#68207] [PATCH v4 1/8] gnu: python-markdown-it-py: Update to 3.0.0 Sharlatan Hellseher
@ 2024-02-13 14:15 65%   ` Sharlatan Hellseher
  2024-02-13 14:15 65%   ` [bug#68207] [PATCH v4 3/8] gnu: Add python-pygments-next Sharlatan Hellseher
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-02-13 14:15 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Sharlatan Hellseher, Lars-Dominik Braun,
	Marius Bakke, Munyoki Kilyungi, Sharlatan Hellseher, jgart

From: Felix Gruber <felgru@posteo.net>

* gnu/packages/python-xyz.scm (python-mdit-py-plugins): Update to 0.4.0.

Change-Id: I18ca46abebe125d1a6729c10a3f4fa4a62a145ba
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6a28836acf..30f6f1fb3e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1124,7 +1124,7 @@ (define-public python-lunr
 (define-public python-mdit-py-plugins
   (package
     (name "python-mdit-py-plugins")
-    (version "0.3.1")
+    (version "0.4.0")
     (source (origin
               (method git-fetch)        ;for tests
               (uri (git-reference
@@ -1133,7 +1133,7 @@ (define-public python-mdit-py-plugins
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "00ybbfb6dzn9q5qnvnm8bmhd84s215ik7pcdb4r35zhwiv2ikizz"))))
+                "1790fcf3nd9c5j37fx87x3ivfyihk6l74jxj1qxvw3qfyb96w4k0"))))
     (build-system pyproject-build-system)
     (propagated-inputs
      (list python-markdown-it-py
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#68207] [PATCH v2 3/5] gnu: Add python-pygments-next.
                     ` (6 preceding siblings ...)
  2024-02-12 17:55 65% ` [bug#68207] [PATCH v2 2/5] gnu: python-mdit-py-plugins: Update to 0.4.0 Felix Gruber
@ 2024-02-12 17:55 65% ` Felix Gruber
  2024-02-12 17:55 58% ` [bug#68207] [PATCH v2 4/5] gnu: python-rich: Update to 13.7.0 Felix Gruber
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-02-12 17:55 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: I12e3e0d6042f34e0375bcbb1dc90ccc9ed9ce050
---
 gnu/packages/python-xyz.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 30f6f1fb3e..b3eed56d06 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6588,6 +6588,21 @@ (define-public python-pygments
      "Pygments is a syntax highlighting package written in Python.")
     (license license:bsd-2)))
 
+(define-public python-pygments-next
+  (package
+    (inherit python-pygments)
+    (name "python-pygments-next")
+    (version "2.17.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pygments" version))
+       (sha256
+        (base32
+         "0ry3qi4rszkiqb20bmjlzys71dja9i746kvqi8xbxr9dzp4wwins"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-hatchling))))
+
 (define-public python-pygments-github-lexers
   (package
     (name "python-pygments-github-lexers")
-- 
2.43.0





^ permalink raw reply related	[relevance 65%]

* [bug#68207] [PATCH v3 4/5] gnu: python-rich: Update to 13.7.0.
                     ` (2 preceding siblings ...)
  2024-02-12 18:04 65% ` [bug#68207] [PATCH v3 3/5] gnu: Add python-pygments-next Felix Gruber
@ 2024-02-12 18:04 58% ` Felix Gruber
  2024-02-12 18:04 54% ` [bug#68207] [PATCH v3 5/5] gnu: python-textual: Update to 0.50.1 Felix Gruber
  4 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-02-12 18:04 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-rich): Update to 13.7.0.
[source]: Use git-fetch since pypi package doesn't include tests.
[build-system]: Use pyproject-build-system.
[arguments]: Remove custom 'check phase.
[propagated-inputs]: Remove python-attrs, python-colorama,
python-commonmark and python-typingextensions; add
python-ipywidgets and python-markdown-it-py; replace python-pygments
with python-pygments-next.
[native-inputs]: Add python-poetry-core; remove tests (which are now
included in new [source]).

Change-Id: I15f7928fc376d8c2556ca2965fe44453bd15f248
---
 gnu/packages/python-xyz.scm | 49 ++++++++++++-------------------------
 1 file changed, 15 insertions(+), 34 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b3eed56d06..afd5caf541 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19192,42 +19192,23 @@ (define-public python-slugid
 (define-public python-rich
   (package
     (name "python-rich")
-    (version "12.4.1")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "rich" version))
-              (sha256
-               (base32
-                "149vjb4cpf9mz14iig0b6d8065dm8aslp6pc45g9ipmp1wf00ffj"))))
-    (build-system python-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda* (#:key inputs tests? #:allow-other-keys)
-             (when tests?
-               (copy-recursively (string-append
-                                  (assoc-ref inputs "tests") "/tests")
-                                 "tests")
-               (invoke "python" "-m" "pytest" "-vv")))))))
+    (version "13.7.0")
+    (source
+      (origin
+        ;; There are no tests in the PyPI tarball.
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/willmcgugan/rich")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "0qyhw2vvk17qdmfrmi45z4dd0fkwx3l2qrf3iy0yc2y7pfgrmg9g"))))
+    (build-system pyproject-build-system)
     (propagated-inputs
-     (list python-attrs python-colorama python-commonmark python-pygments
-           python-typing-extensions))
+     (list python-ipywidgets python-markdown-it-py python-pygments-next))
     (native-inputs
-     `(("python-pytest" ,python-pytest)
-       ("tests"
-        ;; The release on pypi comes without tests.  We can't build from this
-        ;; checkout, though, because installation requires an invocation of
-        ;; poetry.
-        ,(origin
-           (method git-fetch)
-           (uri (git-reference
-                 (url "https://github.com/willmcgugan/rich")
-                 (commit (string-append "v" version))))
-           (file-name (git-file-name name version))
-           (sha256
-            (base32
-             "17c3gljn8zv32xnpsgd3fqgqn4r7cdfqri41hridcpbhssdgkyp9"))))))
+     (list python-poetry-core python-pytest))
     (home-page "https://github.com/willmcgugan/rich")
     (synopsis "Render rich text and more to the terminal")
     (description
-- 
2.43.0





^ permalink raw reply related	[relevance 58%]

* [bug#68207] [PATCH v2 1/5] gnu: python-markdown-it-py: Update to 3.0.0.
                     ` (4 preceding siblings ...)
  2024-01-02 15:05 55% ` [bug#68207] [PATCH 5/5] gnu: python-textual: Update to 0.46.0 Felix Gruber
@ 2024-02-12 17:55 63% ` Felix Gruber
  2024-02-12 17:55 65% ` [bug#68207] [PATCH v2 2/5] gnu: python-mdit-py-plugins: Update to 0.4.0 Felix Gruber
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-02-12 17:55 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-markdown-it-py): Update to 3.0.0.
[propagated-inputs]: Remove python-typing-extensions; add python-commonmark,
python-linkify-it-py, python-markdown, python-mistletoe,
python-mistune, python-panflute, python-psutil, and python-pyyaml.
[native-inputs]: Remove python-flit; add python-flit-core.

Change-Id: I5dc06b163ddbec0a32a9d7c3da2c834b2e74cd74
---
 gnu/packages/python-xyz.scm | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a645c45a4c..6a28836acf 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5881,19 +5881,26 @@ (define-public python-makefun
 (define-public python-markdown-it-py
   (package
     (name "python-markdown-it-py")
-    (version "2.1.0")
+    (version "3.0.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "markdown-it-py" version))
               (sha256
                (base32
-                "1nh75i72584r70alhqc479gys04s5m5g3vq601yf2njbs7z5jzng"))))
+                "1swgvyiavak0nmfb31lq5zck5chwhmyf6qb6qwpcav86zaa0mxp3"))))
     (build-system pyproject-build-system)
     (arguments (list #:tests? #f))      ;pypi source does not contains tests
-    (native-inputs (list python-flit))
+    (native-inputs (list python-flit-core))
     (propagated-inputs
-     (list python-mdurl
-           python-typing-extensions))
+     (list python-commonmark
+           python-linkify-it-py
+           python-markdown
+           python-mdurl
+           python-mistletoe
+           python-mistune
+           python-panflute
+           python-psutil
+           python-pyyaml))
     (home-page "https://github.com/executablebooks/markdown-it-py")
     (synopsis "Python port of markdown-it")
     (description
-- 
2.43.0





^ permalink raw reply related	[relevance 63%]

* [bug#68207] [PATCH v3 5/5] gnu: python-textual: Update to 0.50.1.
                     ` (3 preceding siblings ...)
  2024-02-12 18:04 58% ` [bug#68207] [PATCH v3 4/5] gnu: python-rich: Update to 13.7.0 Felix Gruber
@ 2024-02-12 18:04 54% ` Felix Gruber
  4 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-02-12 18:04 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-textual): Update to 0.50.1.
[source]: Download from github as pypi package does not include tests.
[build-system]: Change to pyproject-build-system.
[arguments]: Remove custom 'check phase; add #:test-flags to disable
broken tests.
[propagated-inputs]: Add python-markdown-it-py, python-mdit-py-plugins
and python-tree-sitter.
[native-inputs]: Add python-poetry-core and python-pytest-asyncio.

Change-Id: Ib144dc87f73e91d4c9d2e8f91ce6ce7a86a481a9
---
 gnu/packages/python-xyz.scm | 50 ++++++++++++++++++-------------------
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index afd5caf541..28992abb30 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -108,7 +108,7 @@
 ;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
 ;;; Copyright © 2021, 2022, 2023 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
 ;;; Copyright © 2021, 2022 Pradana Aumars <paumars@courrier.dev>
-;;; Copyright © 2021, 2022, 2023 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021–2024 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2021 Sébastien Lerique <sl@eauchat.org>
 ;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
 ;;; Copyright © 2021 ZmnSCPxj <ZmnSCPxj@protonmail.com>
@@ -266,6 +266,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages tree-sitter)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
@@ -19242,20 +19243,8 @@ (define-public python-rich-click
 (define-public python-textual
   (package
     (name "python-textual")
-    (version "0.1.18")
+    (version "0.50.1")
     (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "textual" version))
-              (sha256
-               (base32
-                "08yg5a51hz1axfj5hx28hx31gq5apcj6vpkkmawmiplisa73z25j"))))
-    (build-system python-build-system)
-    (arguments
-     (let ((tests
-            ;; The release on pypi comes without tests.  We can't build
-            ;; from this checkout, though, because installation requires
-            ;; an invocation of poetry.
-            (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/Textualize/textual")
@@ -19263,19 +19252,30 @@ (define-public python-textual
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0b3ycwqhp21mg9fvmadgxhgbvkwq6fd784l2xcmvy77rravrnnax")))))
-       (list #:phases
-             #~(modify-phases %standard-phases
-                 (replace 'check
-                   (lambda* (#:key tests? #:allow-other-keys)
-                     (when tests?
-                       (copy-recursively #$(file-append tests "/tests")
-                                         "tests")
-                       (invoke "python" "-m" "pytest" "-vv"))))))))
+                "10mmmgsq5pblr9ijgyln79p3hc7sah56k2hkzlvm2abrr9gwgpcf"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:test-flags
+           ;; Snapshot tests require python-pytest-textual-snapshot which
+           ;; in turn depends on python-textual.
+           '(list "--ignore=tests/snapshot_tests/test_snapshots.py"
+                  "-k" (string-append
+                         ;broken for unknown reason
+                         "not test_textual_env_var"
+                         ; tests that require python-treesitter-languages
+                         " and not test_language_binary_missing"
+                         " and not test_register_language"
+                         " and not test_register_language_existing_language"
+                         ))))
     (propagated-inputs
-     (list python-rich python-typing-extensions))
+     (list python-markdown-it-py
+           python-mdit-py-plugins
+           python-rich
+           python-tree-sitter
+           ; python-tree-sitter-languages
+           python-typing-extensions))
     (native-inputs
-     (list python-pytest))
+     (list python-poetry-core python-pytest python-pytest-asyncio))
     (home-page "https://github.com/Textualize/textual")
     (synopsis "Build text user interfaces in Python")
     (description "Textual is a @acronym{TUI, Text User Interface} framework
-- 
2.43.0





^ permalink raw reply related	[relevance 54%]

* [bug#68207] [PATCH v3 3/5] gnu: Add python-pygments-next.
    2024-02-12 18:04 63% ` [bug#68207] [PATCH v3 1/5] gnu: python-markdown-it-py: Update to 3.0.0 Felix Gruber
  2024-02-12 18:04 65% ` [bug#68207] [PATCH v3 2/5] gnu: python-mdit-py-plugins: Update to 0.4.0 Felix Gruber
@ 2024-02-12 18:04 65% ` Felix Gruber
  2024-02-12 18:04 58% ` [bug#68207] [PATCH v3 4/5] gnu: python-rich: Update to 13.7.0 Felix Gruber
  2024-02-12 18:04 54% ` [bug#68207] [PATCH v3 5/5] gnu: python-textual: Update to 0.50.1 Felix Gruber
  4 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-02-12 18:04 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: I12e3e0d6042f34e0375bcbb1dc90ccc9ed9ce050
---
 gnu/packages/python-xyz.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 30f6f1fb3e..b3eed56d06 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6588,6 +6588,21 @@ (define-public python-pygments
      "Pygments is a syntax highlighting package written in Python.")
     (license license:bsd-2)))
 
+(define-public python-pygments-next
+  (package
+    (inherit python-pygments)
+    (name "python-pygments-next")
+    (version "2.17.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pygments" version))
+       (sha256
+        (base32
+         "0ry3qi4rszkiqb20bmjlzys71dja9i746kvqi8xbxr9dzp4wwins"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-hatchling))))
+
 (define-public python-pygments-github-lexers
   (package
     (name "python-pygments-github-lexers")
-- 
2.43.0





^ permalink raw reply related	[relevance 65%]

* [bug#68207] [PATCH v3 2/5] gnu: python-mdit-py-plugins: Update to 0.4.0.
    2024-02-12 18:04 63% ` [bug#68207] [PATCH v3 1/5] gnu: python-markdown-it-py: Update to 3.0.0 Felix Gruber
@ 2024-02-12 18:04 65% ` Felix Gruber
  2024-02-12 18:04 65% ` [bug#68207] [PATCH v3 3/5] gnu: Add python-pygments-next Felix Gruber
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-02-12 18:04 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-mdit-py-plugins): Update to 0.4.0.

Change-Id: I18ca46abebe125d1a6729c10a3f4fa4a62a145ba
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6a28836acf..30f6f1fb3e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1124,7 +1124,7 @@ (define-public python-lunr
 (define-public python-mdit-py-plugins
   (package
     (name "python-mdit-py-plugins")
-    (version "0.3.1")
+    (version "0.4.0")
     (source (origin
               (method git-fetch)        ;for tests
               (uri (git-reference
@@ -1133,7 +1133,7 @@ (define-public python-mdit-py-plugins
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "00ybbfb6dzn9q5qnvnm8bmhd84s215ik7pcdb4r35zhwiv2ikizz"))))
+                "1790fcf3nd9c5j37fx87x3ivfyihk6l74jxj1qxvw3qfyb96w4k0"))))
     (build-system pyproject-build-system)
     (propagated-inputs
      (list python-markdown-it-py
-- 
2.43.0





^ permalink raw reply related	[relevance 65%]

* [bug#68207] [PATCH v3 1/5] gnu: python-markdown-it-py: Update to 3.0.0.
  @ 2024-02-12 18:04 63% ` Felix Gruber
  2024-02-12 18:04 65% ` [bug#68207] [PATCH v3 2/5] gnu: python-mdit-py-plugins: Update to 0.4.0 Felix Gruber
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-02-12 18:04 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-markdown-it-py): Update to 3.0.0.
[propagated-inputs]: Remove python-typing-extensions; add python-commonmark,
python-linkify-it-py, python-markdown, python-mistletoe,
python-mistune, python-panflute, python-psutil, and python-pyyaml.
[native-inputs]: Remove python-flit; add python-flit-core.

Change-Id: I5dc06b163ddbec0a32a9d7c3da2c834b2e74cd74
---
 gnu/packages/python-xyz.scm | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a645c45a4c..6a28836acf 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5881,19 +5881,26 @@ (define-public python-makefun
 (define-public python-markdown-it-py
   (package
     (name "python-markdown-it-py")
-    (version "2.1.0")
+    (version "3.0.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "markdown-it-py" version))
               (sha256
                (base32
-                "1nh75i72584r70alhqc479gys04s5m5g3vq601yf2njbs7z5jzng"))))
+                "1swgvyiavak0nmfb31lq5zck5chwhmyf6qb6qwpcav86zaa0mxp3"))))
     (build-system pyproject-build-system)
     (arguments (list #:tests? #f))      ;pypi source does not contains tests
-    (native-inputs (list python-flit))
+    (native-inputs (list python-flit-core))
     (propagated-inputs
-     (list python-mdurl
-           python-typing-extensions))
+     (list python-commonmark
+           python-linkify-it-py
+           python-markdown
+           python-mdurl
+           python-mistletoe
+           python-mistune
+           python-panflute
+           python-psutil
+           python-pyyaml))
     (home-page "https://github.com/executablebooks/markdown-it-py")
     (synopsis "Python port of markdown-it")
     (description
-- 
2.43.0





^ permalink raw reply related	[relevance 63%]

* [bug#68207] [PATCH v2 4/5] gnu: python-rich: Update to 13.7.0.
                     ` (7 preceding siblings ...)
  2024-02-12 17:55 65% ` [bug#68207] [PATCH v2 3/5] gnu: Add python-pygments-next Felix Gruber
@ 2024-02-12 17:55 58% ` Felix Gruber
  2024-02-12 17:55 54% ` [bug#68207] [PATCH v2 5/5] gnu: python-textual: Update to 0.50.1 Felix Gruber
  2024-02-13 14:15 62% ` [bug#68207] [PATCH v4 1/8] gnu: python-markdown-it-py: Update to 3.0.0 Sharlatan Hellseher
  10 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-02-12 17:55 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-rich): Update to 13.7.0.
[source]: Use git-fetch since pypi package doesn't include tests.
[build-system]: Use pyproject-build-system.
[arguments]: Remove custom 'check phase.
[propagated-inputs]: Remove python-attrs, python-colorama,
python-commonmark and python-typingextensions; add
python-ipywidgets and python-markdown-it-py; replace python-pygments
with python-pygments-next.
[native-inputs]: Add python-poetry-core; remove tests (which are now
included in new [source]).

Change-Id: I15f7928fc376d8c2556ca2965fe44453bd15f248
---
 gnu/packages/python-xyz.scm | 49 ++++++++++++-------------------------
 1 file changed, 15 insertions(+), 34 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b3eed56d06..afd5caf541 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19192,42 +19192,23 @@ (define-public python-slugid
 (define-public python-rich
   (package
     (name "python-rich")
-    (version "12.4.1")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "rich" version))
-              (sha256
-               (base32
-                "149vjb4cpf9mz14iig0b6d8065dm8aslp6pc45g9ipmp1wf00ffj"))))
-    (build-system python-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda* (#:key inputs tests? #:allow-other-keys)
-             (when tests?
-               (copy-recursively (string-append
-                                  (assoc-ref inputs "tests") "/tests")
-                                 "tests")
-               (invoke "python" "-m" "pytest" "-vv")))))))
+    (version "13.7.0")
+    (source
+      (origin
+        ;; There are no tests in the PyPI tarball.
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/willmcgugan/rich")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "0qyhw2vvk17qdmfrmi45z4dd0fkwx3l2qrf3iy0yc2y7pfgrmg9g"))))
+    (build-system pyproject-build-system)
     (propagated-inputs
-     (list python-attrs python-colorama python-commonmark python-pygments
-           python-typing-extensions))
+     (list python-ipywidgets python-markdown-it-py python-pygments-next))
     (native-inputs
-     `(("python-pytest" ,python-pytest)
-       ("tests"
-        ;; The release on pypi comes without tests.  We can't build from this
-        ;; checkout, though, because installation requires an invocation of
-        ;; poetry.
-        ,(origin
-           (method git-fetch)
-           (uri (git-reference
-                 (url "https://github.com/willmcgugan/rich")
-                 (commit (string-append "v" version))))
-           (file-name (git-file-name name version))
-           (sha256
-            (base32
-             "17c3gljn8zv32xnpsgd3fqgqn4r7cdfqri41hridcpbhssdgkyp9"))))))
+     (list python-poetry-core python-pytest))
     (home-page "https://github.com/willmcgugan/rich")
     (synopsis "Render rich text and more to the terminal")
     (description
-- 
2.43.0





^ permalink raw reply related	[relevance 58%]

* [bug#68207] [PATCH v2 2/5] gnu: python-mdit-py-plugins: Update to 0.4.0.
                     ` (5 preceding siblings ...)
  2024-02-12 17:55 63% ` [bug#68207] [PATCH v2 1/5] gnu: python-markdown-it-py: Update to 3.0.0 Felix Gruber
@ 2024-02-12 17:55 65% ` Felix Gruber
  2024-02-12 17:55 65% ` [bug#68207] [PATCH v2 3/5] gnu: Add python-pygments-next Felix Gruber
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-02-12 17:55 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-mdit-py-plugins): Update to 0.4.0.

Change-Id: I18ca46abebe125d1a6729c10a3f4fa4a62a145ba
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6a28836acf..30f6f1fb3e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1124,7 +1124,7 @@ (define-public python-lunr
 (define-public python-mdit-py-plugins
   (package
     (name "python-mdit-py-plugins")
-    (version "0.3.1")
+    (version "0.4.0")
     (source (origin
               (method git-fetch)        ;for tests
               (uri (git-reference
@@ -1133,7 +1133,7 @@ (define-public python-mdit-py-plugins
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "00ybbfb6dzn9q5qnvnm8bmhd84s215ik7pcdb4r35zhwiv2ikizz"))))
+                "1790fcf3nd9c5j37fx87x3ivfyihk6l74jxj1qxvw3qfyb96w4k0"))))
     (build-system pyproject-build-system)
     (propagated-inputs
      (list python-markdown-it-py
-- 
2.43.0





^ permalink raw reply related	[relevance 65%]

* [bug#68207] [PATCH v2 5/5] gnu: python-textual: Update to 0.50.1.
                     ` (8 preceding siblings ...)
  2024-02-12 17:55 58% ` [bug#68207] [PATCH v2 4/5] gnu: python-rich: Update to 13.7.0 Felix Gruber
@ 2024-02-12 17:55 54% ` Felix Gruber
  2024-02-13 14:15 62% ` [bug#68207] [PATCH v4 1/8] gnu: python-markdown-it-py: Update to 3.0.0 Sharlatan Hellseher
  10 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-02-12 17:55 UTC (permalink / raw)
  To: 68207
  Cc: Felix Gruber, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-textual): Update to 0.50.1.
[source]: Download from github as pypi package does not include tests.
[build-system]: Change to pyproject-build-system.
[arguments]: Remove custom 'check phase; add #:test-flags to disable
broken tests.
[propagated-inputs]: Add python-markdown-it-py, python-mdit-py-plugins
and python-tree-sitter.
[native-inputs]: Add python-poetry-core and python-pytest-asyncio.

Change-Id: Ib144dc87f73e91d4c9d2e8f91ce6ce7a86a481a9
---
 gnu/packages/python-xyz.scm | 49 ++++++++++++++++++-------------------
 1 file changed, 24 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index afd5caf541..1d25ad6f8a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -108,7 +108,7 @@
 ;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
 ;;; Copyright © 2021, 2022, 2023 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
 ;;; Copyright © 2021, 2022 Pradana Aumars <paumars@courrier.dev>
-;;; Copyright © 2021, 2022, 2023 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021–2024 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2021 Sébastien Lerique <sl@eauchat.org>
 ;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
 ;;; Copyright © 2021 ZmnSCPxj <ZmnSCPxj@protonmail.com>
@@ -266,6 +266,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages tree-sitter)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
@@ -19242,20 +19243,8 @@ (define-public python-rich-click
 (define-public python-textual
   (package
     (name "python-textual")
-    (version "0.1.18")
+    (version "0.50.1")
     (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "textual" version))
-              (sha256
-               (base32
-                "08yg5a51hz1axfj5hx28hx31gq5apcj6vpkkmawmiplisa73z25j"))))
-    (build-system python-build-system)
-    (arguments
-     (let ((tests
-            ;; The release on pypi comes without tests.  We can't build
-            ;; from this checkout, though, because installation requires
-            ;; an invocation of poetry.
-            (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/Textualize/textual")
@@ -19263,19 +19252,29 @@ (define-public python-textual
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0b3ycwqhp21mg9fvmadgxhgbvkwq6fd784l2xcmvy77rravrnnax")))))
-       (list #:phases
-             #~(modify-phases %standard-phases
-                 (replace 'check
-                   (lambda* (#:key tests? #:allow-other-keys)
-                     (when tests?
-                       (copy-recursively #$(file-append tests "/tests")
-                                         "tests")
-                       (invoke "python" "-m" "pytest" "-vv"))))))))
+                "10mmmgsq5pblr9ijgyln79p3hc7sah56k2hkzlvm2abrr9gwgpcf"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:test-flags
+           ;; Snapshot tests require python-pytest-textual-snapshot which
+           ;; in turn depends on python-textual.
+           '(list "--ignore=tests/snapshot_tests/test_snapshots.py"
+                  "-k" (string-append
+                         ;broken for unknown reason
+                         "not test_textual_env_var"
+                         ; tests that require python-treesitter-languages
+                         " and not test_register_language"
+                         " and not test_register_language_existing_language"
+                         ))))
     (propagated-inputs
-     (list python-rich python-typing-extensions))
+     (list python-markdown-it-py
+           python-mdit-py-plugins
+           python-rich
+           python-tree-sitter
+           ; python-tree-sitter-languages
+           python-typing-extensions))
     (native-inputs
-     (list python-pytest))
+     (list python-poetry-core python-pytest python-pytest-asyncio))
     (home-page "https://github.com/Textualize/textual")
     (synopsis "Build text user interfaces in Python")
     (description "Textual is a @acronym{TUI, Text User Interface} framework
-- 
2.43.0





^ permalink raw reply related	[relevance 54%]

* [bug#69074] [PATCH] gnu: Add python-pyvex.
                     ` (8 preceding siblings ...)
  2024-02-12 14:58 63% ` [bug#69074] [PATCH] gnu: Add python-archinfo soeren
@ 2024-02-12 14:58 67% ` soeren
  2024-02-12 14:58 63% ` [bug#69074] [PATCH] gnu: Add python-cle soeren
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: soeren @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074
  Cc: Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

From: Sören Tempel <soeren@soeren-tempel.net>

* gnu/packages/python-xyz.scm (python-pyvex): New variable.
---
 gnu/local.mk                                  |  1 +
 .../python-pyvex-remove-angr-dependency.patch | 80 +++++++++++++++++++
 gnu/packages/python-xyz.scm                   | 35 ++++++++
 3 files changed, 116 insertions(+)
 create mode 100644 gnu/packages/patches/python-pyvex-remove-angr-dependency.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 1946fdcbb6..ecbae4bb53 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1930,6 +1930,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-pytorch-runpath.patch		\
   %D%/packages/patches/python-pytorch-system-libraries.patch	\
   %D%/packages/patches/python-pytorch-1.9.0-system-libraries.patch \
+  %D%/packages/patches/python-pyvex-remove-angr-dependency.patch	\
   %D%/packages/patches/python-robotframework-atest.patch	\
   %D%/packages/patches/python-robotframework-source-date-epoch.patch \
   %D%/packages/patches/python-robotframework-sshlibrary-rf5-compat.patch \
diff --git a/gnu/packages/patches/python-pyvex-remove-angr-dependency.patch b/gnu/packages/patches/python-pyvex-remove-angr-dependency.patch
new file mode 100644
index 0000000000..dccf22bbc6
--- /dev/null
+++ b/gnu/packages/patches/python-pyvex-remove-angr-dependency.patch
@@ -0,0 +1,80 @@
+This patch removes the angr dependency from the pyvex these, thus
+resolving a circular dependency (as angr depends on pyvex). This
+patch has been taken from upstream.
+
+This patch is a squashed version of the following upstream patches:
+
+* https://github.com/angr/pyvex/commit/61fb26f223a8d8a276b702d2448a12e02c5c9c6b
+* https://github.com/angr/pyvex/commit/a1fb2a4d0826b0e43bd8bbdd00b6db032643ec95
+
+diff --git a/tests/test_spotter.py b/tests/test_spotter.py
+index 9271ccd..bed7dd4 100644
+--- a/tests/test_spotter.py
++++ b/tests/test_spotter.py
+@@ -1,6 +1,5 @@
+ import os
+ 
+-import angr
+ import archinfo
+ 
+ import pyvex
+@@ -98,53 +97,28 @@ class CortexSpotter(GymratLifter):
+ register(CortexSpotter, "ARMEL")
+ 
+ 
+-def test_full_binary():
+-    p = angr.Project(
+-        os.path.join(test_location, "armel", "RTOSDemo.axf.issue_685"),
+-        arch="ARMEL",
+-        auto_load_libs=False,
+-    )
+-    st = p.factory.call_state(0x000013CE + 1)
+-    b = st.block().vex
+-    simgr = p.factory.simulation_manager(st)
+-    simgr.step()
+-    assert b.jumpkind == "Ijk_Sys_syscall"
+-    assert simgr.active[0].regs.ip_at_syscall.args[0] == 0x13FB
+-
+-
+ def test_tmrs():
+-    test_location = str(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../../binaries/tests"))
+-    p = angr.Project(
+-        os.path.join(test_location, "armel", "helloworld"),
+-        arch="ARMEL",
+-        auto_load_libs=False,
+-    )
++    arch = archinfo.arch_from_id("ARMEL")
+     ins = b"\xef\xf3\x08\x82"
+-    b = pyvex.block.IRSB(ins, 1, p.arch)
++    b = pyvex.block.IRSB(ins, 1, arch)
+     assert b.jumpkind == "Ijk_Boring"
+     assert type(b.statements[1].data) == pyvex.expr.Get
+-    assert p.arch.register_names.get(b.statements[1].data.offset, "") == "sp"
++    assert arch.register_names.get(b.statements[1].data.offset, "") == "sp"
+     assert type(b.statements[2]) == pyvex.stmt.Put
+ 
+ 
+ def test_tmsr():
+-    test_location = str(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../../binaries/tests"))
+-    p = angr.Project(
+-        os.path.join(test_location, "armel", "helloworld"),
+-        arch="ARMEL",
+-        auto_load_libs=False,
+-    )
++    arch = archinfo.arch_from_id("ARMEL")
+     inss = b"\x82\xf3\x08\x88"
+-    b = pyvex.block.IRSB(inss, 1, p.arch, opt_level=3)
++    b = pyvex.block.IRSB(inss, 1, arch, opt_level=3)
+     assert b.jumpkind == "Ijk_Boring"
+     assert type(b.statements[1].data) == pyvex.expr.Get
+-    assert p.arch.register_names.get(b.statements[1].data.offset, "") == "r2"
++    assert arch.register_names.get(b.statements[1].data.offset, "") == "r2"
+     assert type(b.statements[2]) == pyvex.stmt.Put
+ 
+ 
+ if __name__ == "__main__":
+     test_basic()
+     test_embedded()
+-    test_full_binary()
+     test_tmrs()
+     test_tmsr()
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ba3e85fd2d..d46963c481 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -32304,6 +32304,41 @@ (define-public python-opcodes
 and BMI2).")
       (license license:bsd-2))))
 
+(define-public python-pyvex
+  (package
+    (name "python-pyvex")
+    (version "9.2.46")
+    (source
+     (origin
+       (method url-fetch)
+       (patches (search-patches "python-pyvex-remove-angr-dependency.patch"))
+       (uri (pypi-uri "pyvex" version))
+       (sha256
+        (base32 "1v64rn7gxy6fg065bgsy38z6r494k5ri5r6sn4g08hjj32ihx1ka"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (replace 'check
+                     (lambda* (#:key tests? #:allow-other-keys)
+                       (when tests?
+                         (with-directory-excursion "tests"
+                           (invoke "python" "-m" "unittest")))))
+
+                   (add-before 'build 'set-cc-native
+                     (lambda _
+                       (setenv "CC" "gcc")
+                       (setenv "CC_NATIVE" "gcc"))))))
+    (propagated-inputs (list python-archinfo python-bitstring python-cffi))
+    (home-page "https://github.com/angr/pyvex")
+    (synopsis "Python interface to libVEX and VEX IR")
+    (description
+     "This package provides a Python interface the libVEX and VEX IR.
+VEX is the intermediate representation (also known as intermediate
+language) used by the Valgrind analysis tool.  As such, VEX is designed
+to enable all kinds of binary analysis tasks.")
+    (license license:bsd-2)))
+
 (define-public python-archinfo
   (package
     (name "python-archinfo")




^ permalink raw reply related	[relevance 67%]

* [bug#69074] [PATCH] gnu: capstone: Backport upstream fix for Python bindings.
                     ` (11 preceding siblings ...)
  2024-02-12 14:58 65% ` [bug#69074] [PATCH] gnu: Add python-ailment soeren
@ 2024-02-12 14:58 71% ` soeren
  2024-02-12 14:58 69% ` [bug#69074] [PATCH] gnu: Add python-angr soeren
  2024-02-12 14:58 69% ` Troy Figiel
  14 siblings, 0 replies; 200+ results
From: soeren @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074

From: Sören Tempel <soeren@soeren-tempel.net>

* gnu/packages/engineering.scm (capstone): New patch.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/engineering.scm                  |  2 +
 ...python-capstone-fix-python-constants.patch | 84 +++++++++++++++++++
 3 files changed, 87 insertions(+)
 create mode 100644 gnu/packages/patches/python-capstone-fix-python-constants.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index ecbae4bb53..ce0f1994c5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1901,6 +1901,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-3-hurd-configure.patch		\
   %D%/packages/patches/python-aionotify-0.2.0-py3.8.patch	\
   %D%/packages/patches/python-argcomplete-1.11.1-fish31.patch	\
+  %D%/packages/patches/python-capstone-fix-python-constants.patch	\
   %D%/packages/patches/python-cross-compile.patch		\
   %D%/packages/patches/python-configobj-setuptools.patch	\
   %D%/packages/patches/python-dateutil-pytest-compat.patch	\
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 16f572909c..336c8b0e38 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -39,6 +39,7 @@
 ;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com>
 ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
+;;; Copyright © 2024 Sören Tempel <soeren@soeren-tempel.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1815,6 +1816,7 @@ (define-public capstone
     (version "5.0.1")
     (source (origin
               (method git-fetch)
+              (patches (search-patches "python-capstone-fix-python-constants.patch"))
               (uri (git-reference
                     (url "https://github.com/capstone-engine/capstone")
                     (commit version)))
diff --git a/gnu/packages/patches/python-capstone-fix-python-constants.patch b/gnu/packages/patches/python-capstone-fix-python-constants.patch
new file mode 100644
index 0000000000..75100c6652
--- /dev/null
+++ b/gnu/packages/patches/python-capstone-fix-python-constants.patch
@@ -0,0 +1,84 @@
+Backport upstream patch fixing various constants in the Python bindings.
+
+Taken from: https://github.com/capstone-engine/capstone/commit/f180e176de3efb060db62820ff981d0291ea8525
+
+diff --git a/bindings/python/capstone/__init__.py b/bindings/python/capstone/__init__.py
+index bda2fdb6..52353c28 100755
+--- a/bindings/python/capstone/__init__.py
++++ b/bindings/python/capstone/__init__.py
+@@ -113,7 +113,6 @@ __all__ = [
+     'CS_OPT_SYNTAX_NOREGNAME',
+     'CS_OPT_SYNTAX_MASM',
+     'CS_OPT_SYNTAX_MOTOROLA',
+-    'CS_OPT_SYNTAX_CS_REG_ALIAS',
+ 
+     'CS_OPT_DETAIL',
+     'CS_OPT_MODE',
+@@ -152,19 +151,6 @@ __all__ = [
+     'CS_OP_REG',
+     'CS_OP_IMM',
+     'CS_OP_FP',
+-    'CS_OP_PRED',
+-    'CS_OP_RESERVED_5',
+-    'CS_OP_RESERVED_6',
+-    'CS_OP_RESERVED_7',
+-    'CS_OP_RESERVED_8',
+-    'CS_OP_RESERVED_9',
+-    'CS_OP_RESERVED_10',
+-    'CS_OP_RESERVED_11',
+-    'CS_OP_RESERVED_12',
+-    'CS_OP_RESERVED_13',
+-    'CS_OP_RESERVED_14',
+-    'CS_OP_RESERVED_15',
+-    'CS_OP_SPECIAL',
+     'CS_OP_MEM',
+ 
+     'CS_GRP_INVALID',
+@@ -298,26 +284,13 @@ CS_OPT_NO_BRANCH_OFFSET = 9  # ARM, prints branch immediates without offset.
+ 
+ # Capstone option value
+ CS_OPT_OFF = 0             # Turn OFF an option - default option of CS_OPT_DETAIL
+-CS_OPT_ON = 1 << 0              # Turn ON an option (CS_OPT_DETAIL)
++CS_OPT_ON = 3              # Turn ON an option (CS_OPT_DETAIL)
+ 
+ # Common instruction operand types - to be consistent across all architectures.
+ CS_OP_INVALID = 0  # uninitialized/invalid operand.
+ CS_OP_REG = 1  # Register operand.
+ CS_OP_IMM = 2  # Immediate operand.
+ CS_OP_FP  = 3  # Floating-Point operand.
+-CS_OP_PRED = 4  # Predicate operand.
+-CS_OP_RESERVED_5 = 5
+-CS_OP_RESERVED_6 = 6
+-CS_OP_RESERVED_7 = 7
+-CS_OP_RESERVED_8 = 8
+-CS_OP_RESERVED_9 = 9
+-CS_OP_RESERVED_10 = 10
+-CS_OP_RESERVED_11 = 11
+-CS_OP_RESERVED_12 = 12
+-CS_OP_RESERVED_13 = 13
+-CS_OP_RESERVED_14 = 14
+-CS_OP_RESERVED_15 = 15
+-CS_OP_SPECIAL = 0x10  # Special operands from archs
+ CS_OP_MEM = 0x80  # Memory operand. Can be ORed with another operand type.
+ 
+ # Common instruction groups - to be consistent across all architectures.
+@@ -336,13 +309,12 @@ CS_AC_READ     = (1 << 0) # Operand that is read from.
+ CS_AC_WRITE    = (1 << 1) # Operand that is written to.
+ 
+ # Capstone syntax value
+-CS_OPT_SYNTAX_DEFAULT = 1 << 1  # Default assembly syntax of all platforms (CS_OPT_SYNTAX)
+-CS_OPT_SYNTAX_INTEL = 1 << 2  # Intel X86 asm syntax - default syntax on X86 (CS_OPT_SYNTAX, CS_ARCH_X86)
+-CS_OPT_SYNTAX_ATT = 1 << 3  # ATT asm syntax (CS_OPT_SYNTAX, CS_ARCH_X86)
+-CS_OPT_SYNTAX_NOREGNAME = 1 << 4  # Asm syntax prints register name with only number - (CS_OPT_SYNTAX, CS_ARCH_PPC, CS_ARCH_ARM)
+-CS_OPT_SYNTAX_MASM = 1 << 5  # MASM syntax (CS_OPT_SYNTAX, CS_ARCH_X86)
+-CS_OPT_SYNTAX_MOTOROLA = 1 << 6  # MOS65XX use $ as hex prefix
+-CS_OPT_SYNTAX_CS_REG_ALIAS = 1 << 7  # Prints common register alias which are not defined in LLVM (ARM: r9 = sb etc.)
++CS_OPT_SYNTAX_DEFAULT = 0    # Default assembly syntax of all platforms (CS_OPT_SYNTAX)
++CS_OPT_SYNTAX_INTEL = 1    # Intel X86 asm syntax - default syntax on X86 (CS_OPT_SYNTAX, CS_ARCH_X86)
++CS_OPT_SYNTAX_ATT = 2      # ATT asm syntax (CS_OPT_SYNTAX, CS_ARCH_X86)
++CS_OPT_SYNTAX_NOREGNAME = 3   # Asm syntax prints register name with only number - (CS_OPT_SYNTAX, CS_ARCH_PPC, CS_ARCH_ARM)
++CS_OPT_SYNTAX_MASM = 4      # MASM syntax (CS_OPT_SYNTAX, CS_ARCH_X86)
++CS_OPT_SYNTAX_MOTOROLA = 5 # MOS65XX use $ as hex prefix
+ 
+ # Capstone error type
+ CS_ERR_OK = 0      # No error: everything was fine




^ permalink raw reply related	[relevance 71%]

* [bug#69074] [PATCH] gnu: Add python-angr.
                     ` (12 preceding siblings ...)
  2024-02-12 14:58 71% ` [bug#69074] [PATCH] gnu: capstone: Backport upstream fix for Python bindings soeren
@ 2024-02-12 14:58 69% ` soeren
  2024-02-12 14:58 69% ` Troy Figiel
  14 siblings, 0 replies; 200+ results
From: soeren @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074
  Cc: Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

From: Sören Tempel <soeren@soeren-tempel.net>

* gnu/packages/python-xyz.scm (python-angr): New variable.
---
 gnu/local.mk                                  |  2 +
 .../python-angr-addition-type-error.patch     | 18 ++++
 .../patches/python-angr-check-exec-deps.patch | 93 ++++++++++++++++++
 gnu/packages/python-xyz.scm                   | 96 +++++++++++++++++++
 4 files changed, 209 insertions(+)
 create mode 100644 gnu/packages/patches/python-angr-addition-type-error.patch
 create mode 100644 gnu/packages/patches/python-angr-check-exec-deps.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index ce0f1994c5..8bbf66cc1e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1899,6 +1899,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-3-search-paths.patch		\
   %D%/packages/patches/python-3-fix-tests.patch			\
   %D%/packages/patches/python-3-hurd-configure.patch		\
+  %D%/packages/patches/python-angr-addition-type-error.patch	\
+  %D%/packages/patches/python-angr-check-exec-deps.patch	\
   %D%/packages/patches/python-aionotify-0.2.0-py3.8.patch	\
   %D%/packages/patches/python-argcomplete-1.11.1-fish31.patch	\
   %D%/packages/patches/python-capstone-fix-python-constants.patch	\
diff --git a/gnu/packages/patches/python-angr-addition-type-error.patch b/gnu/packages/patches/python-angr-addition-type-error.patch
new file mode 100644
index 0000000000..7301d8b505
--- /dev/null
+++ b/gnu/packages/patches/python-angr-addition-type-error.patch
@@ -0,0 +1,18 @@
+This fixes failures of the test_ln_gcc_O2 and other related tests
+in the angr test suite.  The patch has been proposed upstream.
+
+Taken form: https://github.com/angr/angr/pull/4443
+
+diff --git a/angr/analyses/reassembler.py b/angr/analyses/reassembler.py
+index 7a2399a60..b09b3a8cb 100644
+--- a/angr/analyses/reassembler.py
++++ b/angr/analyses/reassembler.py
+@@ -730,7 +730,7 @@ class Instruction:
+             elif operand.type == capstone.CS_OP_MEM:
+                 operand_offsets.append(capstone_instr.disp_offset)
+             else:
+-                operand_offsets.append(None)
++                operand_offsets.append(0)
+ 
+         if self.addr is not None:
+             self._initialize(capstone_instr.operands, operand_offsets)
diff --git a/gnu/packages/patches/python-angr-check-exec-deps.patch b/gnu/packages/patches/python-angr-check-exec-deps.patch
new file mode 100644
index 0000000000..438f8ef183
--- /dev/null
+++ b/gnu/packages/patches/python-angr-check-exec-deps.patch
@@ -0,0 +1,93 @@
+The angr test suite performs analysis on several pre-compiled binaries
+to ensure its binary analysis capabilities are working as intended.
+Some of these binaries are also executed as part of the test suite to
+test if the simulation engine provided by angr results in the same
+output as native execution of the binary.
+
+For Guix, this files as the glibc shared objects cannot be found.
+Additionally, we don't really want to execute pre-compiled binaries
+on Guix, hence we disable those tests.
+
+diff --git a/tests/test_ctype_locale.py b/tests/test_ctype_locale.py
+index 08cb89836..2b9233558 100644
+--- a/tests/test_ctype_locale.py
++++ b/tests/test_ctype_locale.py
+@@ -14,7 +14,7 @@ test_location = os.path.dirname(os.path.abspath(__file__))
+ 
+ 
+ class TestCtypeLocale(unittest.TestCase):
+-    @skip_if_not_linux
++    @unittest.skip("test executes pre-compiled binaries")
+     def test_ctype_b_loc(self):
+         """
+         test_ctype_locale.test_ctype_b_loc
+@@ -60,7 +60,7 @@ class TestCtypeLocale(unittest.TestCase):
+         output = subprocess.check_output(bin_path, shell=True)
+         assert result == output
+ 
+-    @skip_if_not_linux
++    @unittest.skip("test executes pre-compiled binaries")
+     def test_ctype_tolower_loc(self):
+         """
+         test_ctype_locale.test_ctype_tolower_loc
+@@ -109,7 +109,7 @@ class TestCtypeLocale(unittest.TestCase):
+         output = subprocess.check_output(bin_path, shell=True)
+         assert result == output
+ 
+-    @skip_if_not_linux
++    @unittest.skip("test executes pre-compiled binaries")
+     def test_ctype_toupper_loc(self):
+         """
+         test_ctype_locale.test_ctype_toupper_loc
+diff --git a/tests/test_signed_div.py b/tests/test_signed_div.py
+index 59cb9b8d1..994ed9c65 100644
+--- a/tests/test_signed_div.py
++++ b/tests/test_signed_div.py
+@@ -1,6 +1,7 @@
+ import angr
+ import subprocess
+ import sys
++import pytest
+ 
+ import logging
+ 
+@@ -13,7 +14,7 @@ import os
+ test_location = os.path.dirname(os.path.realpath(__file__))
+ 
+ 
+-@skipUnless(sys.platform.startswith("linux"), "linux only")
++@pytest.mark.skip(reason="test executes pre-compiled binaries")
+ def test_signed_div():
+     test_bin = os.path.join(test_location, "..", "..", "binaries", "tests", "x86_64", "test_signed_div")
+     b = angr.Project(test_bin, auto_load_libs=False)
+diff --git a/tests/test_sscanf.py b/tests/test_sscanf.py
+index 29d2c8403..ea799b310 100644
+--- a/tests/test_sscanf.py
++++ b/tests/test_sscanf.py
+@@ -1,3 +1,4 @@
++import pytest
+ import angr
+ import subprocess
+ import sys
+@@ -14,7 +15,7 @@ test_location = os.path.dirname(os.path.realpath(__file__))
+ 
+ 
+ class TestSscanf(unittest.TestCase):
+-    @unittest.skipUnless(sys.platform.startswith("linux"), "linux only")
++    @unittest.skip("test executes pre-compiled binaries")
+     def test_sscanf(self):
+         test_bin = os.path.join(test_location, "..", "..", "binaries", "tests", "x86_64", "sscanf_test")
+         b = angr.Project(test_bin, auto_load_libs=False)
+diff --git a/tests/test_strtol.py b/tests/test_strtol.py
+index 6c29cab22..f36181407 100644
+--- a/tests/test_strtol.py
++++ b/tests/test_strtol.py
+@@ -11,7 +11,7 @@ class TestStrtol(unittest.TestCase):
+     # pylint: disable=no-self-use
+ 
+     @slow_test
+-    @unittest.skipUnless(sys.platform.startswith("linux"), "linux-only")
++    @unittest.skip("test executes pre-compiled binaries")
+     def test_strtol(self, threads=None):
+         test_bin = os.path.join(bin_location, "tests", "x86_64", "strtol_test")
+         # disabling auto_load_libs increases the execution time of the test case.
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 92c08020fb..902312584a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -189,6 +189,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages djvu)
   #:use-module (gnu packages docker)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages emulators)
   #:use-module (gnu packages engineering)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages file)
@@ -32390,6 +32391,101 @@ (define-public python-pyvex
 to enable all kinds of binary analysis tasks.")
     (license license:bsd-2)))
 
+(define-public python-angr
+  (package
+    (name "python-angr")
+    (version "9.2.46")
+    (source
+     (origin
+       (method git-fetch)
+       (patches (search-patches "python-angr-addition-type-error.patch"
+                                "python-angr-check-exec-deps.patch"))
+       (uri (git-reference
+             (url "https://github.com/angr/angr")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "18y9wyf7va7gvp9zd6lhw82j9a2x2ajsvbawh96xnxzml0jwlwjm"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'patch-tests
+                     (lambda* (#:key inputs #:allow-other-keys)
+                       (let ((coreutils (assoc-ref inputs "coreutils")))
+                         (substitute* "tests/test_vault.py"
+                           (("/bin/false")
+                            (string-append coreutils "/bin/false")))
+                         (substitute* "tests/common.py"
+                           (("\\[\"cc\"\\]")
+                            "[\"gcc\"]")))))
+                   (replace 'check
+                     (lambda* (#:key inputs tests? #:allow-other-keys)
+                       (when tests?
+                         (copy-recursively (assoc-ref inputs "binaries")
+                                           "../binaries")
+                         (with-directory-excursion "tests"
+                           ;; test_mips32_missing_offset_in_instructions fails
+                           ;; with capstone 5 and passes with capstone 4. Might
+                           ;; be a capstone regressions, needs investigation.
+                           (invoke "pytest" "-vv" "-x" "--dist" "loadfile"
+                                   "-k" "not test_mips32_missing_offset_in_instructions"
+                                   "-n" (number->string (parallel-job-count)))))))
+                   (add-before 'build 'set-cc
+                     (lambda _
+                       (setenv "CC" "gcc"))))))
+    (propagated-inputs (list python-ailment
+                             python-archinfo
+                             python-cachetools
+                             python-capstone
+                             python-cffi
+                             python-claripy
+                             python-cle
+                             python-colorama
+                             python-cppheaderparser
+                             python-dpkt
+                             python-gitpython
+                             python-mulpyplexer
+                             python-nampa
+                             python-networkx
+                             python-protobuf
+                             python-psutil
+                             python-itanium-demangle
+                             python-pycparser
+                             python-pyvex
+                             python-progressbar2
+                             python-rpyc
+                             python-sortedcontainers
+                             python-sqlalchemy
+                             python-sympy
+                             unicorn))
+    (native-inputs `(("python-pytest" ,python-pytest)
+                     ("python-pytest-xdist" ,python-pytest-xdist)
+                     ("binaries"
+                      ;; This repository ships several binaries used only for testing
+                      ;; purpose.  The binaries are not executed and not part of the
+                      ;; angr distribution, they are only used to test angr's binary
+                      ;; analysis capabilities.  In the context of the GNU FSDG, these
+                      ;; files should be considered non-functional data.
+                      ,(origin
+                         (method git-fetch)
+                         (uri (git-reference (url
+                                              "https://github.com/angr/binaries")
+                                             (commit (string-append "v"
+                                                                    version))))
+                         (file-name (git-file-name "angr-binaries" version))
+                         (sha256 (base32
+                                  "1f286b2239zavxzwg1184hj1zs380cr9qr549mvy3vywvm8bsmgr"))))))
+    (home-page "https://github.com/angr/angr")
+    (synopsis "Multi-architecture binary analysis toolkit")
+    (description
+     "This package provides a versatile binary analysis platform with the
+ability to perform dynamic symbolic execution as well as various
+static analyses directly on binaries.  As such, it can be used for all
+kinds of reverse engineering, vulnerability discovery, exploit
+generation, and software testing purposes.")
+    (license license:bsd-2)))
+
 (define-public python-archinfo
   (package
     (name "python-archinfo")




^ permalink raw reply related	[relevance 69%]

* [bug#69074] [PATCH] gnu: Add python-cle.
                     ` (9 preceding siblings ...)
  2024-02-12 14:58 67% ` [bug#69074] [PATCH] gnu: Add python-pyvex soeren
@ 2024-02-12 14:58 63% ` soeren
  2024-02-12 14:58 65% ` [bug#69074] [PATCH] gnu: Add python-ailment soeren
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: soeren @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074
  Cc: Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

From: Sören Tempel <soeren@soeren-tempel.net>

* gnu/packages/python-xyz.scm (python-cle): New variable.
---
 gnu/packages/python-xyz.scm | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d46963c481..6ab83b7dc7 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -32304,6 +32304,31 @@ (define-public python-opcodes
 and BMI2).")
       (license license:bsd-2))))
 
+(define-public python-cle
+  (package
+    (name "python-cle")
+    (version "9.2.46")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "cle" version))
+       (sha256
+        (base32 "0mswv9gd2p2ws7zfsshqv5ybbj27wkdwakdcknq4vsrx9ry9k4yc"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:tests? #f))
+    (propagated-inputs (list python-pefile python-pyelftools python-pyvex
+                             python-sortedcontainers))
+    (native-inputs (list python-cffi))
+    (home-page "https://github.com/angr/cle")
+    (synopsis "Python loader for binaries and their associated libraries")
+    (description
+     "CLE loads binaries and their associated libraries, resolves
+imports and provides an abstraction of process memory the same way as if
+it was loader by the operating system's loader.")
+    (license license:bsd-2)))
+
 (define-public python-pyvex
   (package
     (name "python-pyvex")
@@ -32325,7 +32350,7 @@ (define-public python-pyvex
                          (with-directory-excursion "tests"
                            (invoke "python" "-m" "unittest")))))
 
-                   (add-before 'build 'set-cc-native
+                   (add-before 'build 'set-cc
                      (lambda _
                        (setenv "CC" "gcc")
                        (setenv "CC_NATIVE" "gcc"))))))




^ permalink raw reply related	[relevance 63%]

* [bug#69074] [PATCH] gnu: Add python-ailment.
                     ` (10 preceding siblings ...)
  2024-02-12 14:58 63% ` [bug#69074] [PATCH] gnu: Add python-cle soeren
@ 2024-02-12 14:58 65% ` soeren
  2024-02-12 14:58 71% ` [bug#69074] [PATCH] gnu: capstone: Backport upstream fix for Python bindings soeren
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: soeren @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074
  Cc: Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

From: Sören Tempel <soeren@soeren-tempel.net>

* gnu/packages/python-xyz.scm (python-ailment): New variable.
---
 gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6ab83b7dc7..92c08020fb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -32304,6 +32304,32 @@ (define-public python-opcodes
 and BMI2).")
       (license license:bsd-2))))
 
+(define-public python-ailment
+  (package
+    (name "python-ailment")
+    (version "9.2.46")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ailment" version))
+       (sha256
+        (base32 "073fcssbjis1ckwv2w0dcz2dfl6715bj4d4qdhspajj911mvng2f"))))
+    (build-system pyproject-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (with-directory-excursion "tests"
+                          (invoke "python" "-m" "unittest"))))))))
+    (home-page "https://github.com/angr/ailment")
+    (synopsis "The angr intermediate language")
+    (description
+     "This Python module implements an @acronym{IL, Intermediate Language},
+also known as @acronym{IR, Intermediate Representation}, used by the angr
+binary analysis platform.")
+    (license license:bsd-2)))
+
 (define-public python-cle
   (package
     (name "python-cle")




^ permalink raw reply related	[relevance 65%]

* [bug#69074] [PATCH] gnu: Add python-keystone-engine.
    2024-02-12 14:58 62% ` [bug#69074] [PATCH] gnu: Add python-itanium-demangle soeren
@ 2024-02-12 14:58 65% ` soeren
  2024-02-12 14:58 65% ` [bug#69074] [PATCH] gnu: Add python-mulpyplexer soeren
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: soeren @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074
  Cc: Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

From: Sören Tempel <soeren@soeren-tempel.net>

* gnu/packages/python-xyz.scm (python-keystone-engine): New variable.
---
 gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e630bdb6a6..e4f6483f70 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -32303,6 +32303,28 @@ (define-public python-opcodes
 and BMI2).")
       (license license:bsd-2))))
 
+(define-public python-keystone-engine
+  (package
+    (name "python-keystone-engine")
+    (version "0.9.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "keystone-engine" version))
+       (sha256
+        (base32 "1xahdr6bh3dw5swrc2r8kqa8ljhqlb7k2kxv5mrw5rhcmcnzcyig"))))
+    (native-inputs (list cmake))
+    (build-system pyproject-build-system)
+    (home-page "https://www.keystone-engine.org")
+    (synopsis
+     "Lightweight multi-platform, multi-architecture assembler framework")
+    (description
+     "Keystone is a lightweight multi-platform, multi-architecture
+assembler framework.  It supports a wide-range of different architectures
+and offers an intuitive architecture-neutral API for interacting with
+assembly for these architectures.")
+    (license license:gpl2)))
+
 (define-public python-itanium-demangle
   (package
     (name "python-itanium-demangle")




^ permalink raw reply related	[relevance 65%]

* [bug#69074] [PATCH] gnu: Add python-pysmt.
                     ` (5 preceding siblings ...)
  2024-02-12 14:58 81% ` [bug#69074] [PATCH] gnu: Add python-pysmt Troy Figiel
@ 2024-02-12 14:58 62% ` soeren
  2024-02-12 14:58 62% ` [bug#69074] [PATCH] gnu: Add python-claripy soeren
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: soeren @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074
  Cc: Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

From: Sören Tempel <soeren@soeren-tempel.net>

* gnu/packages/python-xyz.scm (python-pysmt): New variable.
---
 gnu/local.mk                                  |   2 +
 .../python-pysmt-fix-pow-return-type.patch    | 258 ++++++++++++++++++
 ...-pysmt-fix-smtlib-serialization-test.patch |  86 ++++++
 gnu/packages/python-xyz.scm                   |  34 +++
 4 files changed, 380 insertions(+)
 create mode 100644 gnu/packages/patches/python-pysmt-fix-pow-return-type.patch
 create mode 100644 gnu/packages/patches/python-pysmt-fix-smtlib-serialization-test.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index fbdb285695..1946fdcbb6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1925,6 +1925,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-pyan3-fix-absolute-path-bug.patch \
   %D%/packages/patches/python-pyan3-fix-positional-arguments.patch \
   %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch	\
+  %D%/packages/patches/python-pysmt-fix-pow-return-type.patch	\
+  %D%/packages/patches/python-pysmt-fix-smtlib-serialization-test.patch	\
   %D%/packages/patches/python-pytorch-runpath.patch		\
   %D%/packages/patches/python-pytorch-system-libraries.patch	\
   %D%/packages/patches/python-pytorch-1.9.0-system-libraries.patch \
diff --git a/gnu/packages/patches/python-pysmt-fix-pow-return-type.patch b/gnu/packages/patches/python-pysmt-fix-pow-return-type.patch
new file mode 100644
index 0000000000..0ec2d41b3c
--- /dev/null
+++ b/gnu/packages/patches/python-pysmt-fix-pow-return-type.patch
@@ -0,0 +1,258 @@
+Backport of an upstream patch which fixes a test failure with our
+packaged version of the Z3 SMT solver.
+
+Taken from: https://github.com/pysmt/pysmt/commit/f522e8cd8f3e75ff85f5eae29b427e18a6701859
+
+diff --git a/pysmt/formula.py b/pysmt/formula.py
+index ea4b46c..6cb9cbf 100644
+--- a/pysmt/formula.py
++++ b/pysmt/formula.py
+@@ -252,11 +252,7 @@ class FormulaManager(object):
+ 
+         if base.is_constant():
+             val = base.constant_value() ** exponent.constant_value()
+-            if base.is_constant(types.REAL):
+-                return self.Real(val)
+-            else:
+-                assert base.is_constant(types.INT)
+-                return self.Int(val)
++            return self.Real(val)
+         return self.create_node(node_type=op.POW, args=(base, exponent))
+ 
+     def Div(self, left, right):
+diff --git a/pysmt/logics.py b/pysmt/logics.py
+index ef88dd6..9dc45b1 100644
+--- a/pysmt/logics.py
++++ b/pysmt/logics.py
+@@ -495,6 +495,12 @@ QF_NRA = Logic(name="QF_NRA",
+                real_arithmetic=True,
+                linear=False)
+ 
++QF_NIRA = Logic(name="QF_NIRA",
++                description="""Quantifier-free integer and real arithmetic.""",
++                quantifier_free=True,
++                integer_arithmetic=True,
++                real_arithmetic=True,
++                linear=False)
+ 
+ QF_RDL = Logic(name="QF_RDL",
+                description=\
+@@ -619,41 +625,41 @@ QF_AUFBVLIRA = Logic(name="QF_AUFBVLIRA",
+ AUTO = Logic(name="Auto",
+              description="Special logic used to indicate that the logic to be used depends on the formula.")
+ 
+-SMTLIB2_LOGICS = frozenset([ AUFLIA,
+-                             AUFLIRA,
+-                             AUFNIRA,
+-                             ALIA,
+-                             LRA,
+-                             LIA,
+-                             NIA,
+-                             NRA,
+-                             UFLRA,
+-                             UFNIA,
+-                             UFLIRA,
+-                             QF_ABV,
+-                             QF_AUFBV,
+-                             QF_AUFLIA,
+-                             QF_ALIA,
+-                             QF_AX,
+-                             QF_BV,
+-                             QF_IDL,
+-                             QF_LIA,
+-                             QF_LRA,
+-                             QF_NIA,
+-                             QF_NRA,
+-                             QF_RDL,
+-                             QF_UF,
+-                             QF_UFBV ,
+-                             QF_UFIDL,
+-                             QF_UFLIA,
+-                             QF_UFLRA,
+-                             QF_UFNRA,
+-                             QF_UFNIA,
+-                             QF_UFLIRA,
+-                             QF_SLIA
+-                         ])
+-
+-LOGICS = SMTLIB2_LOGICS | frozenset([ QF_BOOL, BOOL, QF_AUFBVLIRA])
++SMTLIB2_LOGICS = frozenset([AUFLIA,
++                            AUFLIRA,
++                            AUFNIRA,
++                            ALIA,
++                            LRA,
++                            LIA,
++                            NIA,
++                            NRA,
++                            UFLRA,
++                            UFNIA,
++                            UFLIRA,
++                            QF_ABV,
++                            QF_AUFBV,
++                            QF_AUFLIA,
++                            QF_ALIA,
++                            QF_AX,
++                            QF_BV,
++                            QF_IDL,
++                            QF_LIA,
++                            QF_LRA,
++                            QF_NIA,
++                            QF_NRA,
++                            QF_RDL,
++                            QF_UF,
++                            QF_UFBV,
++                            QF_UFIDL,
++                            QF_UFLIA,
++                            QF_UFLRA,
++                            QF_UFNRA,
++                            QF_UFNIA,
++                            QF_UFLIRA,
++                            QF_SLIA
++                            ])
++
++LOGICS = SMTLIB2_LOGICS | frozenset([QF_BOOL, BOOL, QF_AUFBVLIRA, QF_NIRA])
+ 
+ QF_LOGICS = frozenset(_l for _l in LOGICS if _l.quantifier_free)
+ 
+@@ -668,8 +674,8 @@ PYSMT_LOGICS = frozenset([QF_BOOL, QF_IDL, QF_LIA, QF_LRA, QF_RDL, QF_UF, QF_UFI
+                           QF_BV, QF_UFBV,
+                           QF_ABV, QF_AUFBV, QF_AUFLIA, QF_ALIA, QF_AX,
+                           QF_AUFBVLIRA,
+-                          QF_NRA, QF_NIA, UFBV, BV,
+-                      ])
++                          QF_NRA, QF_NIA, QF_NIRA, UFBV, BV,
++                          ])
+ 
+ # PySMT Logics includes additional features:
+ #  - constant arrays: QF_AUFBV  becomes QF_AUFBV*
+@@ -697,7 +703,6 @@ for l in PYSMT_LOGICS:
+         ext_logics.add(nl)
+ 
+ 
+-
+ LOGICS = LOGICS | frozenset(ext_logics)
+ PYSMT_LOGICS = PYSMT_LOGICS | frozenset(ext_logics)
+ 
+diff --git a/pysmt/solvers/z3.py b/pysmt/solvers/z3.py
+index 3fb42b9..210b771 100644
+--- a/pysmt/solvers/z3.py
++++ b/pysmt/solvers/z3.py
+@@ -595,6 +595,8 @@ class Z3Converter(Converter, DagWalker):
+                                              None, None,
+                                              0, None,
+                                              expr.ast)
++        print("Z3: SMTLIB")
++        print(s)
+         stream_in = StringIO(s)
+         r = parser.get_script(stream_in).get_last_formula(self.mgr)
+         key = (askey(expr), None)
+diff --git a/pysmt/test/examples.py b/pysmt/test/examples.py
+index 73455ee..b653185 100644
+--- a/pysmt/test/examples.py
++++ b/pysmt/test/examples.py
+@@ -898,12 +898,12 @@ def get_full_example_formulae(environment=None):
+                     logic=pysmt.logics.QF_NRA
+                 ),
+ 
+-            Example(hr="((p ^ 2) = 0)",
+-                    expr=Equals(Pow(p, Int(2)), Int(0)),
++            Example(hr="((p ^ 2) = 0.0)",
++                    expr=Equals(Pow(p, Int(2)), Real(0)),
+                     is_valid=False,
+                     is_sat=True,
+-                    logic=pysmt.logics.QF_NIA
+-                ),
++                    logic=pysmt.logics.QF_NIRA
++                    ),
+ 
+             Example(hr="((r ^ 2.0) = 0.0)",
+                     expr=Equals(Pow(r, Real(2)), Real(0)),
+diff --git a/pysmt/test/test_back.py b/pysmt/test/test_back.py
+index bceb45b..7a0ad63 100644
+--- a/pysmt/test/test_back.py
++++ b/pysmt/test/test_back.py
+@@ -55,10 +55,10 @@ class TestBasic(TestCase):
+         res = msat.converter.back(term)
+         self.assertFalse(f == res)
+ 
+-    def do_back(self, solver_name, z3_string_buffer=False):
++    def do_back(self, solver_name, via_smtlib=False):
+         for formula, _, _, logic in get_example_formulae():
+             if logic.quantifier_free:
+-                if logic.theory.custom_type and z3_string_buffer:
++                if logic.theory.custom_type and via_smtlib:
+                     # Printing of declare-sort from Z3 is not conformant
+                     # with the SMT-LIB. We might consider extending our
+                     # parser.
+@@ -67,7 +67,7 @@ class TestBasic(TestCase):
+                     s = Solver(name=solver_name, logic=logic)
+                     term = s.converter.convert(formula)
+                     if solver_name == "z3":
+-                        if z3_string_buffer:
++                        if via_smtlib:
+                             res = s.converter.back_via_smtlib(term)
+                         else:
+                             res = s.converter.back(term)
+@@ -84,8 +84,8 @@ class TestBasic(TestCase):
+ 
+     @skipIfSolverNotAvailable("z3")
+     def test_z3_back_formulae(self):
+-        self.do_back("z3", z3_string_buffer=False)
+-        self.do_back("z3", z3_string_buffer=True)
++        self.do_back("z3", via_smtlib=True)
++        self.do_back("z3", via_smtlib=False)
+ 
+ 
+ if __name__ == '__main__':
+diff --git a/pysmt/type_checker.py b/pysmt/type_checker.py
+index b700fcf..7ce05aa 100644
+--- a/pysmt/type_checker.py
++++ b/pysmt/type_checker.py
+@@ -33,6 +33,8 @@ class SimpleTypeChecker(walkers.DagWalker):
+ 
+     def __init__(self, env=None):
+         walkers.DagWalker.__init__(self, env=env)
++        # Return None if the type cannot be computed rather than
++        # raising an exception.
+         self.be_nice = False
+ 
+     def _get_key(self, formula, **kwargs):
+@@ -42,7 +44,7 @@ class SimpleTypeChecker(walkers.DagWalker):
+         """ Returns the pysmt.types type of the formula """
+         res = self.walk(formula)
+         if not self.be_nice and res is None:
+-            raise PysmtTypeError("The formula '%s' is not well-formed" \
++            raise PysmtTypeError("The formula '%s' is not well-formed"
+                                  % str(formula))
+         return res
+ 
+@@ -114,7 +116,7 @@ class SimpleTypeChecker(walkers.DagWalker):
+ 
+     def walk_bv_comp(self, formula, args, **kwargs):
+         # We check that all children are BV and the same size
+-        a,b = args
++        a, b = args
+         if a != b or (not a.is_bv_type()):
+             return None
+         return BVType(1)
+@@ -187,7 +189,7 @@ class SimpleTypeChecker(walkers.DagWalker):
+         if args[0].is_bool_type():
+             raise PysmtTypeError("The formula '%s' is not well-formed."
+                                  "Equality operator is not supported for Boolean"
+-                                 " terms. Use Iff instead." \
++                                 " terms. Use Iff instead."
+                                  % str(formula))
+         elif args[0].is_bv_type():
+             return self.walk_bv_to_bool(formula, args)
+@@ -324,10 +326,7 @@ class SimpleTypeChecker(walkers.DagWalker):
+     def walk_pow(self, formula, args, **kwargs):
+         if args[0] != args[1]:
+             return None
+-        # Exponent must be positive for INT
+-        if args[0].is_int_type() and formula.arg(1).constant_value() < 0 :
+-            return None
+-        return args[0]
++        return REAL
+ 
+ # EOC SimpleTypeChecker
+ 
diff --git a/gnu/packages/patches/python-pysmt-fix-smtlib-serialization-test.patch b/gnu/packages/patches/python-pysmt-fix-smtlib-serialization-test.patch
new file mode 100644
index 0000000000..eee555f807
--- /dev/null
+++ b/gnu/packages/patches/python-pysmt-fix-smtlib-serialization-test.patch
@@ -0,0 +1,86 @@
+Backport of an upstream patch fixing a test suite failure.
+
+Taken from: https://github.com/pysmt/pysmt/commit/a246669a487aff69f5da34570ef867841d18508a
+
+diff --git a/pysmt/test/smtlib/test_parser_examples.py b/pysmt/test/smtlib/test_parser_examples.py
+index cca4194..c0852be 100644
+--- a/pysmt/test/smtlib/test_parser_examples.py
++++ b/pysmt/test/smtlib/test_parser_examples.py
+@@ -29,6 +29,7 @@ from pysmt.shortcuts import Iff
+ from pysmt.shortcuts import read_smtlib, write_smtlib, get_env
+ from pysmt.exceptions import PysmtSyntaxError
+ 
++
+ class TestSMTParseExamples(TestCase):
+ 
+     def test_parse_examples(self):
+@@ -41,7 +42,6 @@ class TestSMTParseExamples(TestCase):
+             buf = StringIO()
+             script_out = smtlibscript_from_formula(f_out)
+             script_out.serialize(outstream=buf)
+-            #print(buf)
+ 
+             buf.seek(0)
+             parser = SmtLibParser()
+@@ -49,7 +49,6 @@ class TestSMTParseExamples(TestCase):
+             f_in = script_in.get_last_formula()
+             self.assertEqual(f_in.simplify(), f_out.simplify())
+ 
+-
+     @skipIfNoSolverForLogic(logics.QF_BV)
+     def test_parse_examples_bv(self):
+         """For BV we represent a superset of the operators defined in SMT-LIB.
+@@ -108,7 +107,18 @@ class TestSMTParseExamples(TestCase):
+             self.assertValid(Iff(f_in, f_out), f_in.serialize())
+ 
+     def test_dumped_logic(self):
+-        # Dumped logic matches the logic in the example
++        # Dumped logic matches the logic in the example.
++        #
++        # There are a few cases where we use a logic
++        # that does not exist in SMT-LIB, and the SMT-LIB
++        # serialization logic will find a logic that
++        # is more expressive. We need to adjust the test
++        # for those cases (see rewrite dict below).
++        rewrite = {
++            logics.QF_BOOL: logics.QF_UF,
++            logics.BOOL: logics.LRA,
++            logics.QF_NIRA: logics.AUFNIRA,
++        }
+         fs = get_example_formulae()
+ 
+         for (f_out, _, _, logic) in fs:
+@@ -121,14 +131,9 @@ class TestSMTParseExamples(TestCase):
+             for cmd in script_in:
+                 if cmd.name == "set-logic":
+                     logic_in = cmd.args[0]
+-                    if logic == logics.QF_BOOL:
+-                        self.assertEqual(logic_in, logics.QF_UF)
+-                    elif logic == logics.BOOL:
+-                        self.assertEqual(logic_in, logics.LRA)
+-                    else:
+-                        self.assertEqual(logic_in, logic, script_in)
++                    self.assertEqual(logic_in, rewrite.get(logic, logic))
+                     break
+-            else: # Loops exited normally
++            else:  # Loops exited normally
+                 print("-"*40)
+                 print(script_in)
+ 
+@@ -136,7 +141,7 @@ class TestSMTParseExamples(TestCase):
+         fs = get_example_formulae()
+ 
+         fdi, tmp_fname = mkstemp()
+-        os.close(fdi) # Close initial file descriptor
++        os.close(fdi)  # Close initial file descriptor
+         for (f_out, _, _, _) in fs:
+             write_smtlib(f_out, tmp_fname)
+             # with open(tmp_fname) as fin:
+@@ -197,7 +202,6 @@ class TestSMTParseExamples(TestCase):
+         f_in = script.get_last_formula()
+         self.assertSat(f_in)
+ 
+-
+     def test_int_promotion_define_fun(self):
+         script = """
+         (define-fun x () Int 8)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5fe5c0d60a..055f7ea553 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -32303,6 +32303,40 @@ (define-public python-opcodes
 and BMI2).")
       (license license:bsd-2))))
 
+(define-public python-pysmt
+  (package
+    (name "python-pysmt")
+    (version "0.9.5")
+    (source
+     (origin
+       (method git-fetch)
+       (patches (search-patches "python-pysmt-fix-pow-return-type.patch"
+                 "python-pysmt-fix-smtlib-serialization-test.patch"))
+       (uri (git-reference
+             (url "https://github.com/pysmt/pysmt")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0hrxv23y5ip4ijfx5pvbwc2fq4zg9jz42wc9zqgqm0g0mjc9ckvh"))))
+    (build-system pyproject-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (setenv "PYSMT_SOLVER" "z3")
+                        (invoke "python" "-m" "pytest" "pysmt" "-v")))))))
+    (native-inputs (list python-pytest))
+    (propagated-inputs (list z3))
+    (home-page "https://github.com/pysmt/pysmt")
+    (synopsis
+     "Solver-agnostic library for SMT formula manipulation and solving")
+    (description
+     "This Python module provides a solver-agnostic abstraction for
+working with Satisfiability Modulo Theory (SMT) formulas  For example,
+it allows manipulation and solving such formulas.")
+    (license license:asl2.0)))
+
 (define-public python-rpyc
   (package
     (name "python-rpyc")




^ permalink raw reply related	[relevance 62%]

* [bug#69074] [PATCH] gnu: Add python-archinfo.
                     ` (7 preceding siblings ...)
  2024-02-12 14:58 62% ` [bug#69074] [PATCH] gnu: Add python-claripy soeren
@ 2024-02-12 14:58 63% ` soeren
  2024-02-12 14:58 67% ` [bug#69074] [PATCH] gnu: Add python-pyvex soeren
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: soeren @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074
  Cc: Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

From: Sören Tempel <soeren@soeren-tempel.net>

* gnu/packages/python-xyz.scm (python-archinfo): New variable.
---
 gnu/packages/python-xyz.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6c73948dd8..ba3e85fd2d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -189,6 +189,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages djvu)
   #:use-module (gnu packages docker)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages engineering)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages file)
   #:use-module (gnu packages fonts)
@@ -32303,6 +32304,32 @@ (define-public python-opcodes
 and BMI2).")
       (license license:bsd-2))))
 
+(define-public python-archinfo
+  (package
+    (name "python-archinfo")
+    (version "9.2.46")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "archinfo" version))
+       (sha256
+        (base32 "037xfq3wcf8ngayxz9623l4646m780v2102mfbygpzbkkjha1966"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-capstone python-keystone-engine))
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (with-directory-excursion "tests"
+                          (invoke "python" "-m" "unittest"))))))))
+    (home-page "https://github.com/angr/archinfo")
+    (synopsis "Extract architecture-specific information from binaries")
+    (description
+     "Collection of classes that contain architecture-specific information
+information.  Useful for cross-architecture tools (such as @code{python-pyvex}).")
+    (license license:bsd-2)))
+
 (define-public python-claripy
   (package
     (name "python-claripy")




^ permalink raw reply related	[relevance 63%]

* [bug#69074] [PATCH] gnu: Add python-nampa.
                     ` (2 preceding siblings ...)
  2024-02-12 14:58 65% ` [bug#69074] [PATCH] gnu: Add python-mulpyplexer soeren
@ 2024-02-12 14:58 65% ` soeren
  2024-02-12 14:58 64% ` [bug#69074] [PATCH] gnu: Add python-rpyc soeren
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: soeren @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074
  Cc: Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

From: Sören Tempel <soeren@soeren-tempel.net>

* gnu/packages/python-xyz.scm (python-nampa): New variable.
---
 gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 20b7a17fd2..f94b0056f0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -32303,6 +32303,26 @@ (define-public python-opcodes
 and BMI2).")
       (license license:bsd-2))))
 
+(define-public python-nampa
+  (package
+    (name "python-nampa")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "nampa" version))
+       (sha256
+        (base32 "0k6cq2gflpkm40qhgqbbcjmq5lq589c15bmk567qyh3d08062hvd"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-future))
+    (home-page "https://github.com/thebabush/nampa")
+    (synopsis "Python implementation of IDA Pro's FLIRT technology")
+    (description
+     "This Python module implements the Fast Library Identification
+and Recognition Technology (FLIRT).  This technology is useful for identifying
+common library subroutines in disassembled binaries.")
+    (license license:lgpl3)))
+
 (define-public python-mulpyplexer
   (package
     (name "python-mulpyplexer")




^ permalink raw reply related	[relevance 65%]

* [bug#69074] [PATCH] gnu: Add python-claripy.
                     ` (6 preceding siblings ...)
  2024-02-12 14:58 62% ` soeren
@ 2024-02-12 14:58 62% ` soeren
  2024-02-12 14:58 63% ` [bug#69074] [PATCH] gnu: Add python-archinfo soeren
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: soeren @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074
  Cc: Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

From: Sören Tempel <soeren@soeren-tempel.net>

* gnu/packages/python-xyz.scm (python-claripy): New variable.
---
 gnu/packages/python-xyz.scm | 38 +++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 055f7ea553..6c73948dd8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -32303,6 +32303,44 @@ (define-public python-opcodes
 and BMI2).")
       (license license:bsd-2))))
 
+(define-public python-claripy
+  (package
+    (name "python-claripy")
+    (version "9.2.46")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/angr/claripy")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0nmawpi1596d9plafrp2db36cjsidy2fagkzkja51jwlx2m1ngai"))
+       (modules '((guix build utils)))
+       (snippet '(begin
+                   (substitute* "setup.cfg"
+                     ;; Relax the z3 version constraint.
+                     ;; See https://github.com/angr/claripy/commit/d1fe2df
+                     (("z3-solver==4.10.2.0")
+                      ""))))))
+    (build-system pyproject-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (with-directory-excursion "tests"
+                          (invoke "python" "-m" "unittest"))))))))
+    (propagated-inputs (list python-cachetools python-decorator python-pysmt
+                             z3))
+    (home-page "https://github.com/angr/claripy")
+    (synopsis "Abstraction layer for constraint solvers")
+    (description
+     "This Python module provides an abstraction layer for interacting
+with constraint solvers.  Specifically, it is intended to be used with
+SMT solvers and is built on top of the Z3 solver.")
+    (license license:bsd-2)))
+
 (define-public python-pysmt
   (package
     (name "python-pysmt")




^ permalink raw reply related	[relevance 62%]

* [bug#69074] [PATCH] gnu: Add python-itanium-demangle.
  @ 2024-02-12 14:58 62% ` soeren
  2024-02-12 14:58 65% ` [bug#69074] [PATCH] gnu: Add python-keystone-engine soeren
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: soeren @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074
  Cc: Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

From: Sören Tempel <soeren@soeren-tempel.net>

* gnu/packages/python-xyz.scm (python-itanium-demangle): New variable.
---
 gnu/packages/python-xyz.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c68b17b0ab..e630bdb6a6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -146,6 +146,7 @@
 ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
 ;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2024 Sören Tempel <soeren@soeren-tempel.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32302,6 +32303,36 @@ (define-public python-opcodes
 and BMI2).")
       (license license:bsd-2))))
 
+(define-public python-itanium-demangle
+  (package
+    (name "python-itanium-demangle")
+    (version "1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/whitequark/python-itanium_demangler")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1q47aqm5z3db6pasdzw05d6236vnb8hnapfy88fcmn9dr5ym98r3"))))
+    (build-system pyproject-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (with-directory-excursion "tests"
+                          (invoke "python" "-m" "unittest"))))))))
+    (home-page "https://github.com/whitequark/python-itanium_demangler")
+    (synopsis "Pure Python Itanium C++ ABI demangler")
+    (description
+     "This Python module provides an implementation of the Itanium C++
+ABI symbol mangling language.  The demangler generates an abstract
+syntax tree from mangled symbols, which can be used for directly
+extracting type information.")
+    (license license:bsd-0)))
+
 (define-public python-peachpy
   ;; There is no tag in this repo.
   (let ((commit "913d74c35a6b1d330e90bfc055208ce5b06b35a0")




^ permalink raw reply related	[relevance 62%]

* [bug#69074] [PATCH] gnu: Add python-rpyc.
                     ` (3 preceding siblings ...)
  2024-02-12 14:58 65% ` [bug#69074] [PATCH] gnu: Add python-nampa soeren
@ 2024-02-12 14:58 64% ` soeren
  2024-02-12 14:58 81% ` [bug#69074] [PATCH] gnu: Add python-pysmt Troy Figiel
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: soeren @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074
  Cc: Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

From: Sören Tempel <soeren@soeren-tempel.net>

* gnu/packages/python-xyz.scm (python-rpyc): New variable.
---
 gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f94b0056f0..5fe5c0d60a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -32303,6 +32303,32 @@ (define-public python-opcodes
 and BMI2).")
       (license license:bsd-2))))
 
+(define-public python-rpyc
+  (package
+    (name "python-rpyc")
+    (version "5.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "rpyc" version))
+       (sha256
+        (base32 "0lmzrxc6f0sg6k0yvi6f2z44dkhiankdadv44sp1ibwzhxs328zj"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:tests? #f)) ;tests require network
+    (propagated-inputs (list python-hatchling python-plumbum))
+    (home-page "https://github.com/tomerfiliba-org/rpyc")
+    (synopsis
+     "Remote Python Call (RPyC) is a symmetric distributed computing library")
+    (description
+     "This Python module enables remote procedure calls, clustering, and
+distributed-computing.  For this purpose, it makes use of object-proxying, a technique
+that employs python's dynamic nature, to overcome the physical boundaries between
+processes and computers, so that remote objects can be manipulated as if they
+were local.")
+    (license license:expat)))
+
 (define-public python-nampa
   (package
     (name "python-nampa")




^ permalink raw reply related	[relevance 64%]

* [bug#69074] [PATCH] gnu: Add python-mulpyplexer.
    2024-02-12 14:58 62% ` [bug#69074] [PATCH] gnu: Add python-itanium-demangle soeren
  2024-02-12 14:58 65% ` [bug#69074] [PATCH] gnu: Add python-keystone-engine soeren
@ 2024-02-12 14:58 65% ` soeren
  2024-02-12 14:58 65% ` [bug#69074] [PATCH] gnu: Add python-nampa soeren
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: soeren @ 2024-02-12 14:58 UTC (permalink / raw)
  To: 69074
  Cc: Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

From: Sören Tempel <soeren@soeren-tempel.net>

* gnu/packages/python-xyz.scm (python-mulpyplexer): New variable.
---
 gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e4f6483f70..20b7a17fd2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -32303,6 +32303,26 @@ (define-public python-opcodes
 and BMI2).")
       (license license:bsd-2))))
 
+(define-public python-mulpyplexer
+  (package
+    (name "python-mulpyplexer")
+    (version "0.09")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "mulpyplexer" version))
+       (sha256
+        (base32 "0c5xzci1djy1yi9hxxh8g67l6ms8r7ad7ja20pv8hfbdysdrwkhl"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:tests? #f)) ;no tests
+    (home-page "https://github.com/zardus/mulpyplexer/")
+    (synopsis "Multiplexes interactions with lists of Python objects")
+    (description "This module provides utilities for multiplexing
+interactions with lists of Python objects.")
+    (license license:bsd-3)))
+
 (define-public python-keystone-engine
   (package
     (name "python-keystone-engine")




^ permalink raw reply related	[relevance 65%]

* [bug#62389] [PATCH v3 3/5] gnu: python-treq: Update to 20.9.0.
  2024-02-11 19:53 81% ` Miguel Ángel Moreno
  2024-02-11 19:54 81%   ` [bug#62389] [PATCH v3 2/5] gnu: python-twisted: Update to 22.10.0 Miguel Ángel Moreno
@ 2024-02-11 19:54 83%   ` Miguel Ángel Moreno
  2024-02-11 19:55 83%   ` [bug#62389] [PATCH v3 4/5] gnu: Add python-txredisapi Miguel Ángel Moreno
  2 siblings, 0 replies; 200+ results
From: Miguel Ángel Moreno @ 2024-02-11 19:54 UTC (permalink / raw)
  To: 62389; +Cc: mail

* gnu/packages/python-web.scm (python-treq): Update to 20.9.0.

Change-Id: I4c2a64affa0aa14bf46da1bbe0b1186c18f7424d
---
 gnu/packages/python-web.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 0c0cc46e5f..fc8a93189f 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -5474,14 +5474,14 @@ (define-public python-hyperlink
 (define-public python-treq
   (package
     (name "python-treq")
-    (version "18.6.0")
+    (version "20.9.0")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "treq" version))
         (sha256
          (base32
-          "0j4zwq9p1c9piv1vc66nxcv9s6hdinf90jwkbsm91k14npv9zq4i"))))
+          "18kdk11d84lyxj6dz183nblc6c6r4rj1hk0lpsyiykzgbakjrkc3"))))
     (build-system python-build-system)
     (propagated-inputs
      (list python-attrs
-- 
2.41.0



-- 
Best regards,
Miguel Ángel Moreno

^ permalink raw reply related	[relevance 83%]

* [bug#62389] [PATCH v3 1/5] gnu: Add python-matrix-common.
    2024-02-11 19:52 81% ` [bug#62389] [PATCH v3 1/5] gnu: Add python-matrix-common Miguel Ángel Moreno
@ 2024-02-11 19:53 81% ` Miguel Ángel Moreno
  2024-02-11 19:54 81%   ` [bug#62389] [PATCH v3 2/5] gnu: python-twisted: Update to 22.10.0 Miguel Ángel Moreno
                     ` (2 more replies)
  1 sibling, 3 replies; 200+ results
From: Miguel Ángel Moreno @ 2024-02-11 19:53 UTC (permalink / raw)
  To: 62389; +Cc: mail

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

Change-Id: I16f03bef7c4cc6c11d3eb33b33b517bbf0441c36
---
 gnu/packages/python-xyz.scm | 41 +++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c68b17b0ab..8aaf2d63d3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8902,6 +8902,47 @@ (define-public python-perfplot
 the results.")
     (license license:gpl3+)))
 
+(define-public python-matrix-common
+  (package
+    (name"python-matrix-common")
+    (version "1.2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "matrix_common" version))
+              (sha256
+               (base32
+                "0lrqzb6s57fxp0kwffdqnkr2pj9aia459cv1b95b55dxlq1cz7d9"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'build
+            (lambda _
+              (setenv "SOURCE_DATE_EPOCH"
+                      (number->string (* 10 366 24 60 60)))
+              (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+          (replace 'install
+            (lambda _
+              (let ((whl (car (find-files "dist" "\\.whl$"))))
+                (invoke "pip" "--no-cache-dir" "--no-input"
+                        "install" "--no-deps" "--prefix" #$output whl))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv" "tests")))))))
+    (native-inputs
+     (list
+      python-pypa-build
+      python-pytest
+      python-setuptools-scm
+      python-wheel))
+    (home-page "https://github.com/matrix-org/matrix-python-common")
+    (synopsis "Common code for Synapse, Sydent and Sygnal")
+    (description "This package provides common utilities for Synapse, Sydent
+and Sygnal.")
+    (license license:asl2.0)))
+
 (define-public python-pysnptools
   (package
     (name "python-pysnptools")

base-commit: 6f78803b01d416ab421ba860751b764b9e4f33db
-- 
2.41.0



-- 
Best regards,
Miguel Ángel Moreno

^ permalink raw reply related	[relevance 81%]

* [bug#62389] [PATCH v3 4/5] gnu: Add python-txredisapi.
  2024-02-11 19:53 81% ` Miguel Ángel Moreno
  2024-02-11 19:54 81%   ` [bug#62389] [PATCH v3 2/5] gnu: python-twisted: Update to 22.10.0 Miguel Ángel Moreno
  2024-02-11 19:54 83%   ` [bug#62389] [PATCH v3 3/5] gnu: python-treq: Update to 20.9.0 Miguel Ángel Moreno
@ 2024-02-11 19:55 83%   ` Miguel Ángel Moreno
  2 siblings, 0 replies; 200+ results
From: Miguel Ángel Moreno @ 2024-02-11 19:55 UTC (permalink / raw)
  To: 62389; +Cc: mail

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

Change-Id: Iab480fcfd28fd607d5d0c614d89128ee7128aa98
---
 gnu/packages/python-xyz.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8bce7ea8aa..8ee8f99b61 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27909,6 +27909,25 @@ (define-public python-txaio
 @code{asyncio} module and @code{Twisted}.")
     (license license:expat)))
 
+(define-public python-txredisapi
+  (package
+    (name "python-txredisapi")
+    (version "1.4.9")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "txredisapi" version))
+              (sha256
+               (base32
+                "0na5x3b53ni98h1cyakac36mqzgyldvfn6a7z270nkays1i70q69"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-pyopenssl python-six python-twisted))
+    (home-page "http://github.com/IlyaSkriblovsky/txredisapi")
+    (synopsis "Non-blocking redis client for Python")
+    (description "Non-blocking client driver for the redis database, written
+in Python.  It uses Twisted for the asynchronous communication with
+redis.")
+    (license license:asl2.0)))
+
 (define-public python-toolshed
   (package
     (name "python-toolshed")
-- 
2.41.0



-- 
Best regards,
Miguel Ángel Moreno

^ permalink raw reply related	[relevance 83%]

* [bug#62389] [PATCH v3 1/5] gnu: Add python-matrix-common.
  @ 2024-02-11 19:52 81% ` Miguel Ángel Moreno
  2024-02-11 19:53 81% ` Miguel Ángel Moreno
  1 sibling, 0 replies; 200+ results
From: Miguel Ángel Moreno @ 2024-02-11 19:52 UTC (permalink / raw)
  To: 62389; +Cc: mail

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

Change-Id: I16f03bef7c4cc6c11d3eb33b33b517bbf0441c36
---
 gnu/packages/python-xyz.scm | 41 +++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c68b17b0ab..8aaf2d63d3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8902,6 +8902,47 @@ (define-public python-perfplot
 the results.")
     (license license:gpl3+)))
 
+(define-public python-matrix-common
+  (package
+    (name"python-matrix-common")
+    (version "1.2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "matrix_common" version))
+              (sha256
+               (base32
+                "0lrqzb6s57fxp0kwffdqnkr2pj9aia459cv1b95b55dxlq1cz7d9"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'build
+            (lambda _
+              (setenv "SOURCE_DATE_EPOCH"
+                      (number->string (* 10 366 24 60 60)))
+              (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+          (replace 'install
+            (lambda _
+              (let ((whl (car (find-files "dist" "\\.whl$"))))
+                (invoke "pip" "--no-cache-dir" "--no-input"
+                        "install" "--no-deps" "--prefix" #$output whl))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv" "tests")))))))
+    (native-inputs
+     (list
+      python-pypa-build
+      python-pytest
+      python-setuptools-scm
+      python-wheel))
+    (home-page "https://github.com/matrix-org/matrix-python-common")
+    (synopsis "Common code for Synapse, Sydent and Sygnal")
+    (description "This package provides common utilities for Synapse, Sydent
+and Sygnal.")
+    (license license:asl2.0)))
+
 (define-public python-pysnptools
   (package
     (name "python-pysnptools")

base-commit: 6f78803b01d416ab421ba860751b764b9e4f33db
-- 
2.41.0



-- 
Best regards,
Miguel Ángel Moreno

^ permalink raw reply related	[relevance 81%]

* [bug#62389] [PATCH v3 2/5] gnu: python-twisted: Update to 22.10.0.
  2024-02-11 19:53 81% ` Miguel Ángel Moreno
@ 2024-02-11 19:54 81%   ` Miguel Ángel Moreno
  2024-02-11 19:54 83%   ` [bug#62389] [PATCH v3 3/5] gnu: python-treq: Update to 20.9.0 Miguel Ángel Moreno
  2024-02-11 19:55 83%   ` [bug#62389] [PATCH v3 4/5] gnu: Add python-txredisapi Miguel Ángel Moreno
  2 siblings, 0 replies; 200+ results
From: Miguel Ángel Moreno @ 2024-02-11 19:54 UTC (permalink / raw)
  To: 62389; +Cc: mail

* gnu/packages/python-xyz.scm (python-twisted): Update to 22.10.0.
[arguments]: Disable tests and add phases.
[inputs]: Add python's tk output as a dependency.
[native-inputs]: Add Python dependencies.

Change-Id: I841fbe5923875f2d4bb760619b9ac3710ed06bad
---
 gnu/packages/python-xyz.scm | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8aaf2d63d3..8bce7ea8aa 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19874,30 +19874,37 @@ (define-public python-fastimport
 (define-public python-twisted
   (package
     (name "python-twisted")
-    (version "19.7.0")
+    (version "22.10.0")
     (source (origin
               (method url-fetch)
-              (uri (pypi-uri "Twisted" version ".tar.bz2"))
+              (uri (pypi-uri "Twisted" version ".tar.gz"))
               (sha256
                (base32
-                "17d3hnxv9qndagzz63mdpyk99xj63p9gq586vjn0rxk8cl197nym"))))
+                "0cad5n7h8nd0nyl865sn8l4ja0mkwbx9n41cnkklcpsgm50bvb1j"))))
     (build-system python-build-system)
     (arguments
-     '(#:tests? #f                    ; FIXME: some tests fail
-       #:phases
-       (modify-phases %standard-phases
-         ;; Remove scripts, because they depend on [conch]
-         (add-after 'unpack 'remove-entrypoint
-           (lambda _
-             (substitute* "src/twisted/python/_setup.py"
-               (("\".+ = twisted\\.conch\\.scripts\\..+\",") "")))))))
+     (list
+      #:tests? #f                       ; FIXME: some tests fail
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'adjust-for-older-attrs
+            (lambda _
+              (substitute* (find-files "." "\\.py$")
+                (("from attrs\\b")
+                 "from attr")))))))
+    (inputs (list (list python "tk")))
+    (native-inputs (list python-wheel))
     (propagated-inputs
      (list python-zope-interface
            python-pyhamcrest
            python-incremental
            python-hyperlink
            python-constantly
-           python-automat))
+           python-automat
+           python-typing-extensions
+           python-bcrypt
+           python-cryptography
+           python-pyasn1))
     (home-page "https://twistedmatrix.com/")
     (synopsis "Asynchronous networking framework written in Python")
     (description
-- 
2.41.0



-- 
Best regards,
Miguel Ángel Moreno

^ permalink raw reply related	[relevance 81%]

* [bug#69048] [PATCH 28/32] gnu: Add python-annotated-types.
  @ 2024-02-11 11:43 62% ` Hartmut Goebel
  2024-02-11 11:43 55% ` [bug#69048] [PATCH 29/32] gnu: Add python-pydantic-core Hartmut Goebel
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Hartmut Goebel @ 2024-02-11 11:43 UTC (permalink / raw)
  To: 69048

* gnu/packages/python-xyz.scm (python-annotated-types): New variable.
---
 gnu/packages/python-xyz.scm | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c68b17b0ab..b4b69e0f3f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19,7 +19,7 @@
 ;;; Copyright © 2015, 2016 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
-;;; Copyright © 2016, 2018, 2019, 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2016, 2018, 2019, 2021, 2024 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org>
 ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com>
@@ -27881,6 +27881,29 @@ (define-public python-toolshed
 functions that aim to reduce boilerplate when working with data.")
     (license license:bsd-2)))
 
+(define-public python-annotated-types
+  (package
+    (name "python-annotated-types")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "annotated_types" version))
+       (sha256
+        (base32 "0paaz0i4xqk335ji5w887i2bhgm2krnzr6by4sfgsgz50zl3jcsn"))))
+    (build-system pyproject-build-system)
+    (native-inputs
+     (list python-hatchling python-pytest))
+    (propagated-inputs (list python-typing-extensions))
+    (home-page "https://github.com/annotated-types/annotated-types")
+    (synopsis "Reusable constraint types to use with typing.Annotated")
+    (description "This package provides metadata objects which can be used to
+represent common constraints such as upper and lower bounds on scalar values
+and collection sizes, a Predicate marker for runtime checks, and descriptions
+of how we intend these metadata to be interpreted.  In some cases, we also
+note alternative representations which do not require this package.")
+    (license license:expat)))
+
 (define-public python-annoy
   (package
     (name "python-annoy")
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#69048] [PATCH 31/32] gnu: python-typing-extensions: Update to 4.9.0.
                     ` (2 preceding siblings ...)
  2024-02-11 11:43 65% ` [bug#69048] [PATCH 30/32] gnu: Add python-pydantic-2 Hartmut Goebel
@ 2024-02-11 11:43 65% ` Hartmut Goebel
  2024-02-11 11:43 65% ` [bug#69048] [PATCH 32/32] gnu: python-email-validator: Update to 2.1.0.post1 Hartmut Goebel
  4 siblings, 0 replies; 200+ results
From: Hartmut Goebel @ 2024-02-11 11:43 UTC (permalink / raw)
  To: 69048

* gnu/packages/python-build.scm (python-typing-extensions): Update to 4.9.0.
---
 gnu/packages/python-build.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index bb1df3e9aa..2ea457cdba 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -216,13 +216,13 @@ (define-public python-trove-classifiers
 (define-public python-typing-extensions
   (package
     (name "python-typing-extensions")
-    (version "4.5.0")
+    (version "4.9.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "typing_extensions" version))
               (sha256
                (base32
-                "1jx7ki3sji60v7h2805b2phq9ynsvshj5xiygdh9kmirj6kz9daw"))))
+                "10spkx7xjbxwcsgkqv483c5kn53s042wkrmfr1mdf9vzqf48yir3"))))
     (build-system pyproject-build-system)
     ;; Disable the test suite to keep the dependencies to a minimum.  Also,
     ;; the test suite requires Python's test module, not available in Guix.
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69048] [PATCH 30/32] gnu: Add python-pydantic-2.
    2024-02-11 11:43 62% ` [bug#69048] [PATCH 28/32] gnu: Add python-annotated-types Hartmut Goebel
  2024-02-11 11:43 55% ` [bug#69048] [PATCH 29/32] gnu: Add python-pydantic-core Hartmut Goebel
@ 2024-02-11 11:43 65% ` Hartmut Goebel
  2024-02-11 11:43 65% ` [bug#69048] [PATCH 31/32] gnu: python-typing-extensions: Update to 4.9.0 Hartmut Goebel
  2024-02-11 11:43 65% ` [bug#69048] [PATCH 32/32] gnu: python-email-validator: Update to 2.1.0.post1 Hartmut Goebel
  4 siblings, 0 replies; 200+ results
From: Hartmut Goebel @ 2024-02-11 11:43 UTC (permalink / raw)
  To: 69048

* gnu/packages/python-xyz.scm (python-pydantic-2): New variable.
---
 gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4749c3f204..47aaa84e76 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7424,6 +7424,39 @@ (define-public python-pydantic-core
 validation and serialization.")
     (license license:expat)))
 
+(define-public python-pydantic-2
+  (package
+    (inherit python-pydantic)
+    (name "python-pydantic")
+    (version "2.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pydantic" version))
+       (sha256
+        (base32 "1a8zbm510czjnfa6xn56w80q121pk7qpywrjdlzcd3a8la1c3mag"))))
+    (build-system pyproject-build-system)
+    (arguments
+     ;; This test requires pytest-examples, which in turn requires
+     ;; python-ruff, which is difficult to package because it is
+     ;; written in Rust (TODO: Enable when Ruff is in Guix!).
+     (list #:test-flags #~'("--ignore" "tests/test_docs.py")))
+    (native-inputs
+     (list python-hatchling
+           python-hatch-fancy-pypi-readme
+           python-cloudpickle
+           python-dirty-equals
+           python-email-validator
+           python-faker
+           python-pytest
+           python-pytest-benchmark
+           python-pytest-mock))
+    (propagated-inputs
+     (list python-annotated-types
+           python-pydantic-core
+           python-typing-extensions))
+    (license license:expat)))
+
 (define-public python-pydantic-cli
   (package
     (name "python-pydantic-cli")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69048] [PATCH 32/32] gnu: python-email-validator: Update to 2.1.0.post1.
                     ` (3 preceding siblings ...)
  2024-02-11 11:43 65% ` [bug#69048] [PATCH 31/32] gnu: python-typing-extensions: Update to 4.9.0 Hartmut Goebel
@ 2024-02-11 11:43 65% ` Hartmut Goebel
  4 siblings, 0 replies; 200+ results
From: Hartmut Goebel @ 2024-02-11 11:43 UTC (permalink / raw)
  To: 69048

* gnu/packages/python-xyz.scm (python-email-validator): Update to 2.1.0.post1.
[arguments]{phases}<use-dnspython>: Remove phase. <check>: Use a custom phase.
[native-inputs]: Add python-pytest.
---
 gnu/packages/python-xyz.scm | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 47aaa84e76..85adf2a190 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -20859,22 +20859,24 @@ (define-public python-py3dns
 (define-public python-email-validator
   (package
     (name "python-email-validator")
-    (version "1.0.2")
+    (version "2.1.0.post1")
     (source
      (origin (method url-fetch)
              (uri (pypi-uri "email_validator" version))
              (sha256
               (base32
-               "1ja9149l9ck5n45a72h3is7v476hjny5ybxbcamx1nw6iplsm7k6"))))
+               "0i0s1s9blpap0p1l46m7nns79apkn4hr7laq8a93n1szylfbvc54"))))
     (build-system python-build-system)
     (arguments
-     '(#:phases
+     '(#:tests? #f  ;; require /etc/resolve.conf and working DNS
+       #:phases
        (modify-phases %standard-phases
-         (add-before 'build 'use-dnspython
-           (lambda _
-             (substitute* "setup.py"
-               (("dnspython3") "dnspython"))
-             #t)))))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "python" "-m" "pytest" "-v")))))))
+    (native-inputs
+     (list python-pytest))
     (propagated-inputs
      (list python-dnspython python-idna))
     (home-page "https://github.com/JoshData/python-email-validator")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69048] [PATCH 29/32] gnu: Add python-pydantic-core.
    2024-02-11 11:43 62% ` [bug#69048] [PATCH 28/32] gnu: Add python-annotated-types Hartmut Goebel
@ 2024-02-11 11:43 55% ` Hartmut Goebel
  2024-02-11 11:43 65% ` [bug#69048] [PATCH 30/32] gnu: Add python-pydantic-2 Hartmut Goebel
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Hartmut Goebel @ 2024-02-11 11:43 UTC (permalink / raw)
  To: 69048

* gnu/packages/python-xyz.scm (python-pydantic-core): New variable.
---
 gnu/packages/python-xyz.scm | 84 +++++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b4b69e0f3f..4749c3f204 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7340,6 +7340,90 @@ (define-public python-pydantic
 errors when data is invalid.")
     (license license:expat)))
 
+(define-public python-pydantic-core
+  (package
+    (name "python-pydantic-core")
+    (version "2.16.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pydantic_core" version))
+       (sha256
+        (base32 "01hs4ynmqp2wlfvbygg4bzz3f7g5da4xw40z74ccr3cb1n2h798b"))))
+    (build-system cargo-build-system)
+    (arguments
+     (list
+      #:imported-modules `(,@%cargo-build-system-modules
+                           ,@%pyproject-build-system-modules)
+      #:modules '((guix build cargo-build-system)
+                  ((guix build pyproject-build-system) #:prefix py:)
+                  (guix build utils))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'patch-cargo-checksums 'relax-requirements
+            ;; pydantic-core updates to the newest available version quite
+            ;; often, including e.g. serde, which Guix does not (yet) update
+            ;; that often to avoid "rust world rebuild".
+           (lambda _
+             (substitute* "Cargo.toml"
+               (("^(serde.* = \\{ *version = \")[^\"]+(\")" _ pre post)
+                (string-append pre "1.0.0" post))
+               (("^(enum_dispatch = \")[^\"]+(\")" _ pre post)
+                (string-append pre "0.3.0" post))
+               (("^(smallvec = \")[^\"]+(\")" _ pre post)
+                (string-append pre "1.11.0" post))
+               (("^(ahash = \")[^\"]+(\")" _ pre post)
+                (string-append pre "0.8.0" post))
+               (("^(url = \")[^\"]+(\")" _ pre post)
+                (string-append pre "2.4.0" post))
+               (("^(base64 = \")[^\"]+(\")" _ pre post)
+                (string-append pre "0.21.0" post))
+               (("^(num-bigint = \")[^\"]+(\")" _ pre post)
+                (string-append pre "0.4.0" post))
+               (("^(uuid = \")[^\"]+(\")" _ pre post)
+                (string-append pre "1.3.0" post)))))
+          (add-before 'patch-cargo-checksums 'fix-crate-private
+           (lambda _
+             (substitute* "src/serializers/fields.rs"
+               (("pub fn (main_to_python|main_serde_serialize|add_computed_fields)"
+                 _ name )
+                (string-append "pub(crate) fn " name)))))
+          (add-after 'prepare-python-module 'build-python-module
+            (assoc-ref py:%standard-phases 'build))
+          (add-after 'build-python-module 'install-python-module
+            (assoc-ref py:%standard-phases 'install)))
+      #:cargo-inputs
+      `(("rust-ahash" ,rust-ahash-0.8)
+        ("rust-base64" ,rust-base64-0.21)
+        ("rust-enum-dispatch" ,rust-enum-dispatch-0.3)
+        ("rust-idna" ,rust-idna-0.5)
+        ("rust-jiter" ,rust-jiter-0.0.6)
+        ("rust-num-bigint" ,rust-num-bigint-0.4)
+        ("rust-pyo3" ,rust-pyo3-0.20)
+        ("rust-python3-dll-a", rust-python3-dll-a-0.2)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-smallvec" ,rust-smallvec-1)
+        ("rust-speedate" ,rust-speedate-0.13)
+        ("rust-strum" ,rust-strum-0.25)
+        ("rust-strum-macros" ,rust-strum-macros-0.25)
+        ("rust-url" ,rust-url-2)
+        ("rust-uuid" ,rust-uuid-1)
+        ("rust-zerocopy" ,rust-zerocopy-0.7)
+        ("rust-lexical-parse-float" ,rust-lexical-parse-float-0.8))
+      #:install-source? #false))
+    (inputs
+     (list maturin))
+    (native-inputs
+     (list python-hatchling python-pytest python-wrapper))
+    (propagated-inputs (list python-typing-extensions))
+    (home-page "https://github.com/pydantic/pydantic-core")
+    (synopsis "Core functionality for pydantic")
+    (description "This package provides the core functionality for pydantic
+validation and serialization.")
+    (license license:expat)))
+
 (define-public python-pydantic-cli
   (package
     (name "python-pydantic-cli")
-- 
2.41.0





^ permalink raw reply related	[relevance 55%]

* [bug#69036] [PATCH] gnu: python-tldr: Update to 3.2.0.
@ 2024-02-11  4:35 65% kiasoc5 via Guix-patches via
  0 siblings, 0 replies; 200+ results
From: kiasoc5 via Guix-patches via @ 2024-02-11  4:35 UTC (permalink / raw)
  To: 69036
  Cc: kiasoc5, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-tldr): Update to 3.2.0.

Change-Id: Iddf74f5d4a9a1c2e61bb8d74599ace35a60e769c
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c68b17b0ab..3dc95c2c3b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -26366,7 +26366,7 @@ (define-public python-tldextract
 (define-public python-tldr
   (package
     (name "python-tldr")
-    (version "3.1.0")
+    (version "3.2.0")
     (source
      (origin
        ;; There's no test in PyPI.
@@ -26376,7 +26376,7 @@ (define-public python-tldr
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1hxmprqg8c4cvs19n7f80f3y7jj74i8sc2dmq2gdjmsdrb54bbzc"))))
+        (base32 "0hkjsnz03p9pdfgk85wampha4pyr82bwmnj8hj6kigc784ddy2ag"))))
     (build-system python-build-system)
     (arguments
      (list #:phases

base-commit: f45d05133472a9da13eae20ba4a676c696682c90
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#69035] [PATCH] gnu: httpie: Update to 3.2.2.
@ 2024-02-11  4:35 64% kiasoc5 via Guix-patches via
  0 siblings, 0 replies; 200+ results
From: kiasoc5 via Guix-patches via @ 2024-02-11  4:35 UTC (permalink / raw)
  To: 69035
  Cc: kiasoc5, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-web.scm (httpie): Update to 3.2.2.
[propagated-inputs]: Remove python-pysocks; add python-importlib-metadata, python-pip,
and python-setuptools.

Change-Id: If767947e836bdee6bf145fc5290113d79e99fe89
---
 gnu/packages/python-web.scm | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 0c0cc46e5f..2f2682bc78 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1280,28 +1280,30 @@ (define-public python-httplib2
 (define-public httpie
   (package
     (name "httpie")
-    (version "3.2.1")
+    (version "3.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "httpie" version))
        (sha256
         (base32
-         "1v736y2h7lcyrnxs9y5sf4xwzgll7pc2s6r3ny929mm8lcn07h69"))))
+         "140w4mr0w7scpf4j5qm4h475vbwrgxzkdwyygwcmql1r1cgngywb"))))
     (build-system python-build-system)
     (arguments
      ;; The tests attempt to access external web servers, so we cannot run them.
      '(#:tests? #f))
     (propagated-inputs
-     (list python-colorama
+     (list python-charset-normalizer
+           python-colorama
+           python-defusedxml
+           python-importlib-metadata
+           python-multidict
+           python-pip
            python-pygments
            python-requests
            python-requests-toolbelt
-           python-pysocks
-           python-charset-normalizer
-           python-defusedxml
            python-rich
-           python-multidict))
+           python-setuptools))
     (home-page "https://httpie.io")
     (synopsis "cURL-like tool for humans")
     (description

base-commit: f45d05133472a9da13eae20ba4a676c696682c90
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* bug#68613: [PATCH] gnu: Add python-scikit-opt.
  2024-01-20 11:41 64% [bug#68613] [PATCH] gnu: Add python-scikit-opt TimotheeMathieu
@ 2024-02-10 21:51 64% ` Ludovic Courtès
  0 siblings, 0 replies; 200+ results
From: Ludovic Courtès @ 2024-02-10 21:51 UTC (permalink / raw)
  To: TimotheeMathieu
  Cc: Sharlatan Hellseher, Munyoki Kilyungi, Lars-Dominik Braun, jgart,
	Marius Bakke, 68613-done

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

Hi,

TimotheeMathieu <timothee.mathieu@inria.fr> skribis:

> * gnu/packages/python-science.scm (python-scikit-opt): New variable.
>
> Change-Id: I47d6b35d9658a37a242b4db61d293fa7efd33802

In the meantime, qa.guix caught up and apparently all is fine.

Applied with the changes below, as per:

  https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html

Thanks,
Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 1132 bytes --]

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index c02c2b3f9b..2cdada5ef3 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -352,12 +352,12 @@ (define-public python-scikit-opt
     (build-system pyproject-build-system)
     (propagated-inputs (list python-numpy python-scipy))
     (home-page "https://github.com/guofei9987/scikit-opt")
-    (synopsis "Swarm Intelligence in Python")
+    (synopsis "Swarm intelligence algorithm in Python")
     (description
-     "Scikit-opt(or sko) is a Python module of Swarm Intelligence
-                  Algorithm.  Such as Genetic Algorithm, Particle Swarm Optimization,
-                  Simulated Annealing, Ant Colony Algorithm, Immune Algorithm,
-                  Artificial Fish Swarm Algorithm.")
+     "Scikit-opt (or sko) is a Python module implementing @dfn{swarm
+intelligence} algorithms: genetic algorithm, particle swarm optimization,
+simulated annealing, ant colony algorithm, immune algorithm, artificial fish
+swarm algorithm.")
     (license license:expat)))
 
 (define-public python-scikit-optimize

^ permalink raw reply related	[relevance 64%]

* [bug#68925] [PATCH 5/8] gnu: python-shapely: Update to 2.0.2.
  @ 2024-02-04 16:47 65% ` Felix Gruber
  0 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-02-04 16:47 UTC (permalink / raw)
  To: 68925
  Cc: Felix Gruber, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

* gnu/packages/python-xyz.scm (python-shapely): Update to 2.0.2.
[native-inputs]: Remove python-pytest-cov.

Change-Id: I4358c16d53c97a0cd38e3689d65ead770b2e997c
---
 gnu/packages/python-xyz.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c68b17b0ab..a645c45a4c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2265,13 +2265,13 @@ (define-public python-rasterio
 (define-public python-shapely
   (package
     (name "python-shapely")
-    (version "2.0.1")
+    (version "2.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "shapely" version))
        (sha256
-        (base32 "14v88k0y7qhp8n5clip6w96pkdzrfqa2hsjkhpy9gkifwyiv39k6"))))
+        (base32 "1rs90q4ys5cav0hz1dq72wq2mk4aqlqqbfjrnb2zzfkiq42cq4qp"))))
     (build-system pyproject-build-system)
     (arguments
      (list
@@ -2282,8 +2282,7 @@ (define-public python-shapely
              ;; Cython extensions have to be built before running the tests.
              (invoke "python" "setup.py" "build_ext" "--inplace"))))))
     (native-inputs
-     (list python-cython python-matplotlib python-pytest
-           python-pytest-cov))
+     (list python-cython python-matplotlib python-pytest))
     (inputs
      (list geos))
     (propagated-inputs
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#66788] [PATCH 1/2] gnu: python-black: Update to 23.1.0.
  @ 2024-02-04 12:54 61% ` Nicolas Graves via Guix-patches via
  2024-02-04 12:54 63%   ` [bug#66788] [PATCH 2/2] gnu: python-packaging: Update to 22.0 Nicolas Graves via Guix-patches via
  0 siblings, 1 reply; 200+ results
From: Nicolas Graves via Guix-patches via @ 2024-02-04 12:54 UTC (permalink / raw)
  To: 66788; +Cc: ludo, ngraves

* gnu/packages/python-xyz.scm (python-black): Update to 23.1.0.
---
 gnu/packages/python-xyz.scm | 36 +++++++++++++++++-------------------
 1 file changed, 17 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c68b17b0ab..5ffea67fc9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7496,43 +7496,41 @@ (define-public python-language-server
 (define-public python-black
   (package
     (name "python-black")
-    (version "22.3.0")
+    (version "23.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "black" version))
        (sha256
-        (base32
-         "0yfahlqc7dsdp1js0cbv706apldnfnlbal9b53cww8n0hs40n0im"))))
-    (build-system python-build-system)
+        (base32 "1b4jjv3fw2wgssnw2v1x0w09s7rz9sj5g4i1lwmmlgwhm2z9ggdh"))))
+    (build-system pyproject-build-system)
+    ;; These tests fail because Guix replaces the file shebangs.
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'patch-source-shebangs 'use-absolute-file-names
-           (lambda* (#:key native-inputs inputs #:allow-other-keys)
-             (let* ((inpts (or native-inputs inputs))
-                    (python3 (search-input-file inpts "/bin/python3")))
-               (substitute* (find-files "tests" "\\.py$")
-                 (("#!/usr/bin/env python3(\\.[0-9]+)?" _ minor-version)
-                  (string-append "#!" python3 (if (string? minor-version)
-                                                  minor-version
-                                                  "")))))))
-         (replace 'check
-           (lambda* (#:key tests? #:allow-other-keys)
-             (when tests? (invoke "pytest" "-vv")))))))
+     '(#:test-flags `("-k" ,(string-append
+                             "not test_infer_target_version "
+                             "and not test_simple_format[fmtonoff] "
+                             "and not test_simple_format[function] "
+                             "and not test_simple_format[string_prefixes] "
+                             "and not test_python_39[python39]"))))
     (propagated-inputs
      (list python-click
            python-attrs
            python-appdirs
            python-pathspec
            python-mypy-extensions
+           python-packaging
            python-platformdirs
            python-regex
            python-tomli
            python-typed-ast
            python-typing-extensions))
     (native-inputs
-     (list python-pytest python-pytest-aiohttp python-setuptools-scm))
+     (list python-hatchling
+           python-hatch-vcs
+           python-hatch-fancy-pypi-readme
+           python-pytest
+           python-pytest-aiohttp
+           python-setuptools-scm))
     (home-page "https://github.com/psf/black")
     (synopsis "The uncompromising code formatter")
     (description "Black is the uncompromising Python code formatter.")
-- 
2.41.0





^ permalink raw reply related	[relevance 61%]

* [bug#66788] [PATCH 2/2] gnu: python-packaging: Update to 22.0.
  2024-02-04 12:54 61% ` [bug#66788] [PATCH 1/2] gnu: python-black: Update " Nicolas Graves via Guix-patches via
@ 2024-02-04 12:54 63%   ` Nicolas Graves via Guix-patches via
  0 siblings, 0 replies; 200+ results
From: Nicolas Graves via Guix-patches via @ 2024-02-04 12:54 UTC (permalink / raw)
  To: 66788; +Cc: ludo, ngraves

* gnu/packages/python-xyz.scm (python-packaging): Update to 22.0.
---
 gnu/packages/python-xyz.scm | 29 ++++++++++-------------------
 1 file changed, 10 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5ffea67fc9..b1d2923595 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -23500,25 +23500,16 @@ (define-public python-gtts
 (define-public python-packaging
   (package/inherit python-packaging-bootstrap
     (name "python-packaging")
-    (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (replace 'check
-                    (lambda* (#:key tests? #:allow-other-keys)
-                      (if tests?
-                          (invoke "pytest" "-vv")
-                          (format #t "test suite not run~%")))))))
-    (native-inputs (list python-pretend python-pytest))
-    (propagated-inputs (list python-pyparsing python-six))
-    (home-page "https://github.com/pypa/packaging")
-    (synopsis "Core utilities for Python packages")
-    (description "Packaging is a Python module for dealing with Python packages.
-     It offers an interface for working with package versions, names, and dependency
-     information.")
-    ;; From 'LICENSE': This software is made available under the terms of
-    ;; *either* of the licenses found in LICENSE.APACHE or LICENSE.BSD.
-    ;; Contributions to this software is made under the terms of *both* these
-    ;; licenses.
-    (license (list license:asl2.0 license:bsd-2))))
+    (version "22.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "packaging" version))
+       (sha256
+        (base32 "1lygw8fw9qj8md86g0ckzp16y1qlhw60zq0pjy7pn0acplhfr611"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-pretend python-pytest python-flit-core))
+    (propagated-inputs (list python-pyparsing python-six))))
 
 (define-public python-relatorio
   (package
-- 
2.41.0





^ permalink raw reply related	[relevance 63%]

* [bug#68901] [PATCH] gnu: whoogle-search: Update to 0.8.4.
@ 2024-02-02 23:35 65% Skylar Chan
  0 siblings, 0 replies; 200+ results
From: Skylar Chan @ 2024-02-02 23:35 UTC (permalink / raw)
  To: 68901; +Cc: Skylar Chan

* gnu/packages/python-web.scm (whoogle-search): Update to 0.8.4.
[propagated-inputs]: Add python-validators.

Change-Id: I4543808d662e7e946c8a398b28ca963e75d4bfd1
---
 gnu/packages/python-web.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 0c0cc46e5f..2dd5dd1c5a 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -5342,13 +5342,13 @@ (define-public python-google-auth-oauthlib
 (define-public whoogle-search
   (package
     (name "whoogle-search")
-    (version "0.8.3")
+    (version "0.8.4")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "whoogle-search" version))
               (sha256
                (base32
-                "09b9k97jflajvrs0npyz994rj8xkk400s98jw63b6vpsgw9q9nk4"))))
+                "0hsy4l98nzj6i1lf63wvqd0yharkaz44zsxh863ymy47rxnwimz7"))))
     (build-system pyproject-build-system)
     (arguments
      (list
@@ -5364,6 +5364,7 @@ (define-public whoogle-search
            python-dotenv
            python-requests
            python-stem
+           python-validators
            python-waitress))
     (home-page "https://github.com/benbusby/whoogle-search")
     (synopsis "Self-hosted, ad-free, privacy-respecting metasearch engine")

base-commit: bf7991a8c767abd32cfb2c92e3d57665a7cabf00
-- 
2.39.2





^ permalink raw reply related	[relevance 65%]

* [bug#68789] [PATCH 2/2] gnu: Add python-pyjanitor.
                     ` (2 preceding siblings ...)
  2024-01-29 18:16 63% ` [bug#68789] [PATCH 1/2] gnu: Add python-unyt Troy Figiel
@ 2024-01-29 18:17 58% ` Troy Figiel
  3 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-29 18:17 UTC (permalink / raw)
  To: 68789

* gnu/packages/python-science.scm (python-pyjanitor): New variable.
---
 gnu/packages/python-science.scm | 59 +++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 3390b918a4..643fb69f3f 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -47,6 +47,7 @@ (define-module (gnu packages python-science)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages build-tools)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages chemistry)
   #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
@@ -840,6 +841,64 @@ (define-public python-pandera
 @end itemize")
     (license license:expat)))
 
+(define-public python-pyjanitor
+  (package
+    (name "python-pyjanitor")
+    (version "0.26.0")
+    (source
+     (origin
+       ;; The build requires the mkdocs directory for the description in
+       ;; setup.py. This is not included in the PyPI tarball.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pyjanitor-devs/pyjanitor")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1f8xbl1k9l2z56bapp7v6bd3016zrk48igcaz6hb553r6yfl7vfx"))))
+    (build-system pyproject-build-system)
+    ;; Pyjanitor has an extensive test suite. For quick debugging, the tests
+    ;; marked turtle can be skipped using "-m" "not turtle".
+    (arguments
+     (list
+      #:test-flags '(list
+                     ;; Tries to connect to the internet.
+                     "-k"
+                     "not test_is_connected"
+
+                     ;; PySpark has not been packaged yet.
+                     "--ignore"
+                     "tests/spark")
+      #:phases #~(modify-phases %standard-phases
+                   (add-before 'check 'set-env-ci
+                     (lambda _
+                       ;; Some tests are skipped if the JANITOR_CI_MACHINE
+                       ;; variable is not set.
+                       (setenv "JANITOR_CI_MACHINE" "1"))))))
+    (propagated-inputs (list python-multipledispatch
+                             python-natsort
+                             python-pandas-flavor
+                             python-scipy
+
+                             ;; Optional imports.
+                             python-biopython ;biology submodule
+                             python-unyt)) ;engineering submodule
+    (native-inputs (list python-pytest
+
+                         ;; Optional imports. We do not propagate them due to
+                         ;; their size.
+                         python-numba ;speedup of joins
+                         rdkit)) ;chemistry submodule
+    (home-page "https://github.com/pyjanitor-devs/pyjanitor")
+    (synopsis "Tools for cleaning and transforming pandas DataFrames")
+    (description
+     "@code{pyjanitor} provides a set of data cleaning routines for
+@code{pandas} DataFrames.  These routines extend the method chaining API
+defined by @code{pandas} for a subset of its methods.  Originally, this
+package was a port of the R package by the same name and it is inspired by the
+ease-of-use and expressiveness of the @code{dplyr} package.")
+    (license license:expat)))
+
 (define-public python-pythran
   (package
     (name "python-pythran")
-- 
2.42.0





^ permalink raw reply related	[relevance 58%]

* [bug#68789] [PATCH 1/2] gnu: Add python-unyt.
    2024-01-28 21:47 62% ` [bug#68789] [PATCH 1/2] gnu: Add python-unyt Troy Figiel
  2024-01-28 22:13 58% ` [bug#68789] [PATCH 2/2] gnu: Add python-pyjanitor Troy Figiel
@ 2024-01-29 18:16 63% ` Troy Figiel
  2024-01-29 18:17 58% ` [bug#68789] [PATCH 2/2] gnu: Add python-pyjanitor Troy Figiel
  3 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-29 18:16 UTC (permalink / raw)
  To: 68789

* gnu/packages/python-science.scm (python-unyt): New variable.
---
 gnu/packages/python-science.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index f775d46349..3390b918a4 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -1287,6 +1287,35 @@ (define-public python-statannot
 annotations on an existing boxplots and barplots generated by seaborn.")
     (license license:expat)))
 
+(define-public python-unyt
+  (package
+    (name "python-unyt")
+    (version "3.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "unyt" version))
+       (sha256
+        (base32 "00900bw24rxgcgwgxp9xlx0l5im96r1n5hn0r3mxvbdgc3lyyq48"))))
+    (build-system pyproject-build-system)
+    ;; Astropy is an optional import, but we do not include it as it creates a
+    ;; module cycle: astronomy->python-science->astronomy.
+    (propagated-inputs (list python-h5py ;optional import
+                             python-matplotlib ;optional import
+                             python-numpy
+                             python-sympy))
+    ;; Pint is optional, but we do not propagate it due to its size.
+    (native-inputs (list python-pint python-pytest))
+    (home-page "https://unyt.readthedocs.io")
+    (synopsis "Library for working with data that has physical units")
+    (description
+     "Writing code that deals with data with physical units can be confusing.
+A function might return an array but at least with plain @code{numpy}, there
+is no way to easily tell what the units of the data are without somehow
+knowing a priori.  @code{unyt} handles this problem by providing a subclass of
+the @code{ndarray} class in @code{numpy} that is unit aware.")
+    (license license:bsd-3)))
+
 (define-public python-upsetplot
   (package
     (name "python-upsetplot")
-- 
2.42.0





^ permalink raw reply related	[relevance 63%]

* [bug#68789] [PATCH 2/2] gnu: Add python-pyjanitor.
    2024-01-28 21:47 62% ` [bug#68789] [PATCH 1/2] gnu: Add python-unyt Troy Figiel
@ 2024-01-28 22:13 58% ` Troy Figiel
  2024-01-29 18:16 63% ` [bug#68789] [PATCH 1/2] gnu: Add python-unyt Troy Figiel
  2024-01-29 18:17 58% ` [bug#68789] [PATCH 2/2] gnu: Add python-pyjanitor Troy Figiel
  3 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-28 22:13 UTC (permalink / raw)
  To: 68789

* gnu/packages/python-science.scm (python-pyjanitor): New variable.
---
 gnu/packages/python-science.scm | 59 +++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 3013c77c34..00b7e6cae1 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -48,6 +48,7 @@ (define-module (gnu packages python-science)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages build-tools)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages chemistry)
   #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
@@ -771,6 +772,64 @@ (define-public python-pandera
 @end itemize")
     (license license:expat)))
 
+(define-public python-pyjanitor
+  (package
+    (name "python-pyjanitor")
+    (version "0.26.0")
+    (source
+     (origin
+       ;; The build requires the mkdocs directory for the description in
+       ;; setup.py. This is not included in the PyPI tarball.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pyjanitor-devs/pyjanitor")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1f8xbl1k9l2z56bapp7v6bd3016zrk48igcaz6hb553r6yfl7vfx"))))
+    (build-system pyproject-build-system)
+    ;; Pyjanitor has an extensive test suite. For quick debugging, the tests
+    ;; marked turtle can be skipped using "-m" "not turtle".
+    (arguments
+     (list
+      #:test-flags '(list
+                     ;; Tries to connect to the internet.
+                     "-k"
+                     "not test_is_connected"
+
+                     ;; PySpark has not been packaged yet.
+                     "--ignore"
+                     "tests/spark")
+      #:phases #~(modify-phases %standard-phases
+                   (add-before 'check 'set-env-ci
+                     (lambda _
+                       ;; Some tests are skipped if the JANITOR_CI_MACHINE
+                       ;; variable is not set.
+                       (setenv "JANITOR_CI_MACHINE" "1"))))))
+    (propagated-inputs (list python-multipledispatch
+                             python-natsort
+                             python-pandas-flavor
+                             python-scipy
+
+                             ;; Optional imports.
+                             python-biopython ;biology submodule
+                             python-unyt)) ;engineering submodule
+    (native-inputs (list python-pytest
+
+                         ;; Optional imports. We do not propagate them due to
+                         ;; their size.
+                         python-numba ;speedup of joins
+                         rdkit)) ;chemistry submodule
+    (home-page "https://github.com/pyjanitor-devs/pyjanitor")
+    (synopsis "Tools for cleaning and transforming pandas DataFrames")
+    (description
+     "@code{pyjanitor} provides a set of data cleaning routines for
+@code{pandas} DataFrames.  These routines extend the method chaining API
+defined by @code{pandas} for a subset of its methods.  Originally, this
+package was a port of the R package by the same name and it is inspired by the
+ease-of-use and expressiveness of the @code{dplyr} package.")
+    (license license:expat)))
+
 (define-public python-pythran
   (package
     (name "python-pythran")
-- 
2.42.0





^ permalink raw reply related	[relevance 58%]

* [bug#68789] [PATCH 1/2] gnu: Add python-unyt.
  @ 2024-01-28 21:47 62% ` Troy Figiel
  2024-01-28 22:13 58% ` [bug#68789] [PATCH 2/2] gnu: Add python-pyjanitor Troy Figiel
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-28 21:47 UTC (permalink / raw)
  To: 68789

* gnu/packages/python-science.scm (python-unyt): New variable.
---
 gnu/packages/python-science.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 9d72608de4..3013c77c34 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -42,6 +42,7 @@
 (define-module (gnu packages python-science)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
+  #:use-module (gnu packages astronomy)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bioinformatics)
   #:use-module (gnu packages boost)
@@ -1217,6 +1218,34 @@ (define-public python-statannot
 annotations on an existing boxplots and barplots generated by seaborn.")
     (license license:expat)))
 
+(define-public python-unyt
+  (package
+    (name "python-unyt")
+    (version "3.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "unyt" version))
+       (sha256
+        (base32 "00900bw24rxgcgwgxp9xlx0l5im96r1n5hn0r3mxvbdgc3lyyq48"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-h5py ;optional import
+                             python-matplotlib ;optional import
+                             python-numpy
+                             python-sympy))
+    ;; python-astropy and python-pint are also optional imports, but we do not
+    ;; propagate them due to their sizes.
+    (native-inputs (list python-astropy python-pint python-pytest))
+    (home-page "https://unyt.readthedocs.io")
+    (synopsis "Library for working with data that has physical units")
+    (description
+     "Writing code that deals with data with physical units can be confusing.
+A function might return an array but at least with plain @code{numpy}, there
+is no way to easily tell what the units of the data are without somehow
+knowing a priori.  @code{unyt} handles this problem by providing a subclass of
+the @code{ndarray} class in @code{numpy} that is unit aware.")
+    (license license:bsd-3)))
+
 (define-public python-upsetplot
   (package
     (name "python-upsetplot")
-- 
2.42.0





^ permalink raw reply related	[relevance 62%]

* [bug#68721] [PATCH 1/2] gnu: Add python-cramjam.
  @ 2024-01-25 20:39 72% ` Troy Figiel
  2024-03-02 18:40 72% ` Troy Figiel
  1 sibling, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-25 20:39 UTC (permalink / raw)
  To: 68721

* gnu/packages/python-compression.scm (python-cramjam): New variable.
---
 gnu/packages/python-compression.scm | 80 ++++++++++++++++++++++++++++-
 1 file changed, 79 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index 6f249dd3af..691fbd3065 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2020, 2022, 2023 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
-;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -30,12 +30,14 @@ (define-module (gnu packages python-compression)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix gexp)
+  #:use-module (guix build-system cargo)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix build-system pyproject)
   #:use-module (gnu packages)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages crates-io)
   #:use-module (gnu packages check)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages pkg-config)
@@ -44,6 +46,7 @@ (define-module (gnu packages python-compression)
   #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages rust-apps)
   #:use-module (gnu packages sphinx))
 
 (define-public python-multivolumefile
@@ -73,6 +76,81 @@ (define-public python-multivolumefile
 were a single file.")
     (license license:lgpl2.1+)))
 
+(define-public python-cramjam
+  (package
+    (name "python-cramjam")
+    (version "2.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "cramjam" version))
+       (sha256
+        (base32 "1b69qlr0q7q3spa7zy55xc1dr5pjgsdavxx8ijhv2j60xqjbg7sp"))))
+    (build-system cargo-build-system)
+    (arguments
+     (list
+      #:imported-modules `(,@%cargo-build-system-modules
+                           ,@%pyproject-build-system-modules)
+      #:modules '((guix build cargo-build-system)
+                  ((guix build pyproject-build-system)
+                   #:prefix py:)
+                  (guix build utils))
+      #:phases #~(modify-phases %standard-phases
+                   ;; We use Maturin to build the project.
+                   (replace 'build
+                     (assoc-ref py:%standard-phases
+                                'build))
+                   ;; Before being able to run Python tests, we need to
+                   ;; install the module and add it to PYTHONPATH.
+                   (delete 'install)
+                   (add-after 'build 'install
+                     (assoc-ref py:%standard-phases
+                                'install))
+                   (add-after 'install 'add-install-to-pythonpath
+                     (assoc-ref py:%standard-phases
+                                'add-install-to-pythonpath))
+                   ;; Finally run the tests. Only Python tests are provided.
+                   (replace 'check
+                     (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+                       (when tests?
+                         ;; Without the CI variable, tests are run in "local"
+                         ;; mode, which sets a deadline for hypothesis.  For a
+                         ;; deterministic build, we need to set CI.
+                         (setenv "CI" "1")
+                         (invoke "pytest" "-vv" "tests")))))
+      #:cargo-inputs `(("rust-brotli" ,rust-brotli-3)
+                       ("rust-bzip2" ,rust-bzip2-0.4)
+                       ("rust-flate2" ,rust-flate2-1)
+                       ("rust-lz4" ,rust-lz4-1)
+                       ("rust-pyo3" ,rust-pyo3-0.18)
+                       ("rust-snap" ,rust-snap-1)
+                       ("rust-zstd" ,rust-zstd-0.11))
+      #:install-source? #f))
+    (native-inputs (list maturin
+                         python-pytest
+                         python-pytest-xdist
+                         python-numpy
+                         python-hypothesis
+                         python-wrapper))
+    (home-page "https://github.com/milesgranger/cramjam")
+    (synopsis "Python bindings to compression algorithms in Rust")
+    (description
+     "This package provides thin Python bindings to compression and
+decomporession algorithms implemented in Rust.  This allows for using
+algorithms such as Snappy without additional system dependencies.  The
+following algorithms are available:
+
+@itemize
+@item Snappy
+@item Brotli
+@item Bzip2
+@item LZ4
+@item Gzip
+@item Deflate
+@item Zstd
+@end itemize")
+    (license license:expat)))
+
 (define-public python-pybcj
   (package
     (name "python-pybcj")
-- 
2.42.0





^ permalink raw reply related	[relevance 72%]

* [bug#68714] [PATCH 4/5] gnu: python-flint: Update to 0.5.0 and build with flint@3.
  @ 2024-01-25 13:58 46% ` Andreas Enge
  0 siblings, 0 replies; 200+ results
From: Andreas Enge @ 2024-01-25 13:58 UTC (permalink / raw)
  To: 68714; +Cc: Andreas Enge, Andreas Enge, Eric Bavier, Sharlatan Hellseher

* gnu/packages/patches/python-flint-includes.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Unregister file.
* gnu/packages/algebra.scm (python-flint): Update to 0.5.0.
[source]: Drop patch.
[inputs]: Drop arb.
[native-inputs]: Use python-cython-3.

Change-Id: I5fa9b201efff76e16f957aee0ebcd453ea823e69
---
 gnu/local.mk                                  |   1 -
 gnu/packages/algebra.scm                      |   9 +-
 .../patches/python-flint-includes.patch       | 131 ------------------
 3 files changed, 4 insertions(+), 137 deletions(-)
 delete mode 100644 gnu/packages/patches/python-flint-includes.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 9eac0cae1a..ab63bd5881 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1910,7 +1910,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch	\
   %D%/packages/patches/python-pillow-CVE-2022-45199.patch	\
   %D%/packages/patches/python-pyfakefs-remove-bad-test.patch	\
-  %D%/packages/patches/python-flint-includes.patch		\
   %D%/packages/patches/python-libxml2-utf8.patch		\
   %D%/packages/patches/python-memcached-syntax-warnings.patch	\
   %D%/packages/patches/python-mox3-python3.6-compat.patch	\
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 43047a9b32..5fd8d0f106 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -494,7 +494,7 @@ (define-public arb
 (define-public python-flint
   (package
     (name "python-flint")
-    (version "0.3.0")
+    (version "0.5.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -503,15 +503,14 @@ (define-public python-flint
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1v0anazbj1cfi68nl2j6dbd31kgkc1563xmr0zk5xk3xj78569pw"))
-              (patches (search-patches "python-flint-includes.patch"))))
+                "10370kqik6q6vdqrqv3gbznsyaxbgqb3rbrff4alpw0sqr5s07c7"))))
     (build-system python-build-system)
     (native-inputs
-     (list python-cython))
+     (list python-cython-3))
     (propagated-inputs
      (list python-numpy))
     (inputs
-     (list arb flint))
+     (list flint))
     (synopsis "Python module wrapping ARB and FLINT")
     (description
      "Python-flint is a Python extension module wrapping FLINT
diff --git a/gnu/packages/patches/python-flint-includes.patch b/gnu/packages/patches/python-flint-includes.patch
deleted file mode 100644
index c0cfe94a04..0000000000
--- a/gnu/packages/patches/python-flint-includes.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-The following patch, authored by Andreas Enge, looks for the flint include
-files in the correct subdirectory.
-
-diff -u -r python-flint-old/src/flint.pxd python-flint-new/src/flint.pxd
---- python-flint-old/src/flint.pxd	2019-03-19 10:26:11.055748626 +0100
-+++ python-flint-new/src/flint.pxd	2019-03-19 10:35:23.269341203 +0100
-@@ -27,7 +27,7 @@
- 
- ctypedef long fmpz_struct
- 
--cdef extern from "flint.h":
-+cdef extern from "flint/flint.h":
-     ctypedef void * flint_rand_t
-     void flint_randinit(flint_rand_t state)
-     void flint_randclear(flint_rand_t state)
-@@ -35,7 +35,7 @@
-     long flint_get_num_threads()
-     void flint_cleanup()
- 
--cdef extern from "nmod_vec.h":
-+cdef extern from "flint/nmod_vec.h":
-     ctypedef struct nmod_t:
-        mp_limb_t n
-        mp_limb_t ninv
-@@ -47,7 +47,7 @@
-     mp_limb_t nmod_mul(mp_limb_t a, mp_limb_t b, nmod_t mod)
-     mp_limb_t nmod_div(mp_limb_t a, mp_limb_t b, nmod_t mod)
- 
--cdef extern from "nmod_poly.h":
-+cdef extern from "flint/nmod_poly.h":
-     ctypedef struct nmod_poly_struct:
-         mp_ptr coeffs
-         long alloc
-@@ -129,7 +129,7 @@
-     void nmod_poly_factor_init(nmod_poly_factor_t fac)
-     void nmod_poly_factor_clear(nmod_poly_factor_t fac)
- 
--cdef extern from "nmod_mat.h":
-+cdef extern from "flint/nmod_mat.h":
-     ctypedef struct nmod_mat_struct:
-         mp_limb_t * entries
-         long r
-@@ -178,7 +178,7 @@
-     long nmod_mat_rref(nmod_mat_t A)
-     long nmod_mat_nullspace(nmod_mat_t X, nmod_mat_t A)
- 
--cdef extern from "fmpz.h":
-+cdef extern from "flint/fmpz.h":
-     ctypedef fmpz_struct fmpz_t[1]
-     int COEFF_IS_MPZ(fmpz_struct v)
-     void fmpz_init(fmpz_t op)
-@@ -268,7 +268,7 @@
-     void fmpz_rfac_uiui(fmpz_t r, ulong x, ulong n)
-     void fmpz_primorial(fmpz_t res, ulong n)
- 
--cdef extern from "fmpz_factor.h":
-+cdef extern from "flint/fmpz_factor.h":
-     ctypedef struct fmpz_factor_struct:
-         int sign
-         fmpz_struct * p
-@@ -280,7 +280,7 @@
-     void fmpz_factor_clear(fmpz_factor_t factor)
-     void fmpz_factor(fmpz_factor_t factor, fmpz_t n)
- 
--cdef extern from "fmpz_poly.h":
-+cdef extern from "flint/fmpz_poly.h":
-     ctypedef struct fmpz_poly_struct:
-         fmpz_struct * coeffs
-         long alloc
-@@ -390,14 +390,14 @@
-     void fmpz_poly_cos_minpoly(fmpz_poly_t, ulong)
-     void fmpz_poly_swinnerton_dyer(fmpz_poly_t, ulong)
- 
--cdef extern from "fmpz_poly_factor.h":
-+cdef extern from "flint/fmpz_poly_factor.h":
-     void fmpz_poly_factor_init(fmpz_poly_factor_t fac)
-     void fmpz_poly_factor_clear(fmpz_poly_factor_t fac)
-     void fmpz_poly_factor_zassenhaus(fmpz_poly_factor_t fac, fmpz_poly_t G)
-     void fmpz_poly_factor(fmpz_poly_factor_t fac, fmpz_poly_t G)
-     void fmpz_poly_factor_squarefree(fmpz_poly_factor_t fac, fmpz_poly_t G)
- 
--cdef extern from "fmpz_mat.h":
-+cdef extern from "flint/fmpz_mat.h":
-     ctypedef struct fmpz_mat_struct:
-         fmpz_struct * entries
-         long r
-@@ -448,7 +448,7 @@
-     void fmpz_mat_snf(fmpz_mat_t S, const fmpz_mat_t A)
-     int fmpz_mat_is_in_snf(const fmpz_mat_t A)
- 
--cdef extern from "fmpz_lll.h":
-+cdef extern from "flint/fmpz_lll.h":
-     ctypedef struct fmpz_lll_struct:
-         double delta
-         double eta
-@@ -461,7 +461,7 @@
-     void fmpz_lll(fmpz_mat_t B, fmpz_mat_t U, const fmpz_lll_t fl)
- 
- 
--cdef extern from "fmpq.h":
-+cdef extern from "flint/fmpq.h":
-     ctypedef struct fmpq_struct:
-         fmpz_struct num
-         fmpz_struct den
-@@ -506,7 +506,7 @@
-     void fmpq_next_signed_minimal(fmpq_t res, fmpq_t x)
-     void fmpq_harmonic_ui(fmpq_t res, ulong n)
- 
--cdef extern from "fmpq_poly.h":
-+cdef extern from "flint/fmpq_poly.h":
-     ctypedef struct fmpq_poly_struct:
-         fmpz_struct * coeffs
-         fmpz_t den
-@@ -620,7 +620,7 @@
-     void fmpq_poly_compose_series(fmpq_poly_t res, fmpq_poly_t poly1, fmpq_poly_t poly2, long n)
-     void fmpq_poly_revert_series(fmpq_poly_t res, fmpq_poly_t poly1, long n)
- 
--cdef extern from "fmpq_mat.h":
-+cdef extern from "flint/fmpq_mat.h":
-     ctypedef struct fmpq_mat_struct:
-         fmpq_struct * entries
-         long r
-@@ -672,7 +672,7 @@
-     long fmpq_mat_rref(fmpq_mat_t B, fmpq_mat_t A)
-     void fmpq_mat_transpose(fmpq_mat_t B, fmpq_mat_t A)
- 
--cdef extern from "arith.h":
-+cdef extern from "flint/arith.h":
-     void arith_number_of_partitions(fmpz_t res, ulong n)
-     int arith_moebius_mu(fmpz_t n)
-     void arith_divisor_sigma(fmpz_t v, fmpz_t n, ulong k)
-- 
2.41.0





^ permalink raw reply related	[relevance 46%]

* [bug#68672] [PATCH 1/2] gnu: python-trimesh: Update to 4.0.10.
  @ 2024-01-23 11:53 65% ` Sharlatan Hellseher
  2024-01-23 11:53 56% ` [bug#68672] [PATCH 2/2] gnu: python-trimesh: Enable tests Sharlatan Hellseher
  1 sibling, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-01-23 11:53 UTC (permalink / raw)
  To: 68672
  Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-science.scm (python-trimesh): Update to 4.0.10.
[build-system]: Swap to pyproject-build-system.

Change-Id: I757b4c27db9969d42021434883a057debbbc83fd
---
 gnu/packages/python-science.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index ef65ed537a..7212cafe16 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -393,14 +393,14 @@ (define-public python-tdda
 (define-public python-trimesh
   (package
     (name "python-trimesh")
-    (version "3.23.5")
+    (version "4.0.10")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "trimesh" version))
        (sha256
-        (base32 "08967axlnmfv98n05dhrkynyrmcc814hl8184gzzmcy4rjg6dzdx"))))
-    (build-system python-build-system)
+        (base32 "1p3cnkajh2zmp6zwn23q3c73jcjlkq61h3r53ys0bmg58l8kpqrn"))))
+    (build-system pyproject-build-system)
     (propagated-inputs
      (list python-numpy))
     (native-inputs
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#68672] [PATCH 2/2] gnu: python-trimesh: Enable tests.
    2024-01-23 11:53 65% ` [bug#68672] [PATCH 1/2] gnu: python-trimesh: Update to 4.0.10 Sharlatan Hellseher
@ 2024-01-23 11:53 56% ` Sharlatan Hellseher
  1 sibling, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-01-23 11:53 UTC (permalink / raw)
  To: 68672
  Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-science.scm (python-trimesh): Enable tests and
apply new package style.
[source]: Use git checkout which has working test suit.
[arguments]<#:test-flags>: Disable tests requiring optional Python
modules.
[propagated-inputs]: Add python-chardet, python-colorlog python-httpx
python-jsonschema python-lxml python-networkx python-pillow
python-requests python-rtree python-scipy python-setuptools
python-shapely python-sympy and python-xxhash.

Change-Id: I1aa363053c2d736bc44b8f9071c637256cc2d952
---
 gnu/packages/python-science.scm | 68 +++++++++++++++++++++++++--------
 1 file changed, 53 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 7212cafe16..50b59b7daa 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -50,6 +50,7 @@ (define-module (gnu packages python-science)
   #:use-module (gnu packages cpp)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages digest)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages geo)
   #:use-module (gnu packages image)
@@ -396,28 +397,65 @@ (define-public python-trimesh
     (version "4.0.10")
     (source
      (origin
-       (method url-fetch)
-       (uri (pypi-uri "trimesh" version))
+       (method git-fetch) ; no tests in PyPI
+       (uri (git-reference
+             (url "https://github.com/mikedh/trimesh")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "1p3cnkajh2zmp6zwn23q3c73jcjlkq61h3r53ys0bmg58l8kpqrn"))))
+        (base32 "0ry04qaw0pb3hkxv4gmna87jwk97aqangd21wbr2dr4xshmkbyyb"))))
     (build-system pyproject-build-system)
-    (propagated-inputs
-     (list python-numpy))
+    (arguments
+     (list
+      #:test-flags
+      #~(list "-k" (string-append
+                    ;; XXX: When more optional modules are available review
+                    ;; disabled tests once again.
+                    ;;
+                    ;; Disable tests requiring optional, not packed modules.
+                    "not test_material_round"
+                    " and not test_bezier_example"
+                    " and not test_discrete"
+                    " and not test_dxf"
+                    " and not test_layer"
+                    " and not test_multi_nodupe"
+                    " and not test_obj_roundtrip"
+                    " and not test_roundtrip"
+                    " and not test_scene"
+                    " and not test_slice_onplane"
+                    " and not test_svg"
+                    " and not test_svg"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-build
+            (lambda _
+              (substitute* "trimesh/resources/templates/blender_boolean.py.tmpl"
+                (("\\$MESH_PRE")
+                 "'$MESH_PRE'")))))))
     (native-inputs
      (list python-coveralls
            python-pyinstrument
            python-pytest
            python-pytest-cov))
-    (arguments
-     `(;; TODO: Get tests to work.
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-build
-           (lambda _
-             (substitute* "trimesh/resources/templates/blender_boolean.py.tmpl"
-               (("\\$MESH_PRE")
-                "'$MESH_PRE'")))))))
+    (propagated-inputs
+     (list python-chardet
+           python-colorlog
+           python-httpx
+           python-jsonschema
+           python-lxml
+           python-networkx
+           python-numpy
+           python-pillow
+           ;; python-pycollada   ; not packed yet, optional
+           ;; python-pyglet      ; not packed yet, optional
+           python-requests
+           python-rtree
+           python-scipy
+           python-setuptools
+           python-shapely
+           ;; python-svg-path   ; not packed yet, optional
+           python-sympy
+           python-xxhash))
     (home-page "https://github.com/mikedh/trimesh")
     (synopsis "Python library for loading and using triangular meshes")
     (description
-- 
2.41.0





^ permalink raw reply related	[relevance 56%]

* [bug#68650] [PATCH v2 2/2] gnu: python-pyamg: Regenerate bundled files.
  2024-01-23 10:31 62% ` [bug#68650] [PATCH v2 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
@ 2024-01-23 10:31 56%   ` Sharlatan Hellseher
  0 siblings, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-01-23 10:31 UTC (permalink / raw)
  To: 68650
  Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-science.scm (python-pyamg)[source]: Delete
auto-generated files.
[arguments]<#:phases>: Add 'amg-core-bind-them phase to
re-generate *_bind.cpp files deleted in snippet.
[native-inputs]: Add python-cppheaderparser and python-pyyaml.
[description]: Improve style, omit implementation details.

Change-Id: I6f68914cd912e6f4592e51c21b129847e73be847
---
 gnu/packages/python-science.scm | 50 +++++++++++++++++++++++++++------
 1 file changed, 41 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index c1be6cde23..4183bd2ea2 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -465,32 +465,64 @@ (define-public python-pyamg
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "pyamg" version))
+              (modules '((guix build utils)))
+              (snippet
+               ;; Delete autogenerated files, regenerate in a phase.
+               #~(begin
+                   (for-each
+                    (lambda (file)
+                      (delete-file (string-append "pyamg/amg_core/" file)))
+                    '("air_bind.cpp"
+                      "evolution_strength_bind.cpp"
+                      "graph_bind.cpp"
+                      "krylov_bind.cpp"
+                      "linalg_bind.cpp"
+                      "relaxation_bind.cpp"
+                      "ruge_stuben_bind.cpp"
+                      "smoothed_aggregation_bind.cpp"
+                      "tests/bind_examples_bind.cpp"))))
               (sha256
                (base32
                 "0l3dliwynxyjvbgpmi2k8jqvkkw6fc00c8w69h6swhrkfh0ql12z"))))
-    (build-system pyproject-build-system)
     (arguments
      (list
       #:test-flags
       ;; Test installed package in order to find C++ modules.
-      #~(list "--pyargs" "pyamg.tests")))
-    (native-inputs (list pybind11 python-pytest python-setuptools-scm))
+      #~(list "--pyargs" "pyamg.tests")
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; Regenerate the autogenerated files.
+          (add-after 'unpack 'amg-core-bind-them
+            (lambda _
+              ;; bindthem.py heavily depends on location to produce *_bind.cpp
+              ;; file, make it available in tests as well.
+              (copy-file "pyamg/amg_core/bindthem.py"
+                         "pyamg/amg_core/tests/bindthem.py")
+              (with-directory-excursion "pyamg/amg_core"
+                (substitute* "bindthem.py"
+                  (("/usr/bin/env python3") (which "python3")))
+                (invoke "sh" "generate.sh"))
+              (with-directory-excursion "pyamg/amg_core/tests"
+                (invoke "python" "bindthem.py" "bind_examples.h")))))))
+    (build-system pyproject-build-system)
+    (native-inputs
+     (list pybind11
+           python-cppheaderparser
+           python-pytest
+           python-pyyaml
+           python-setuptools-scm))
     (propagated-inputs (list python-numpy python-scipy))
     (home-page "https://github.com/pyamg/pyamg")
     (synopsis "Algebraic Multigrid Solvers in Python")
     (description "PyAMG is a Python library of Algebraic Multigrid
-(AMG) solvers.
-
-PyAMG features implementations of:
+(AMG) solvers. It features implementations of:
 @itemize
 @item Ruge-Stuben (RS) or Classical AMG
 @item AMG based on Smoothed Aggregation (SA)
 @item Adaptive Smoothed Aggregation (αSA)
 @item Compatible Relaxation (CR)
 @item Krylov methods such as CG, GMRES, FGMRES, BiCGStab, MINRES, etc.
-@end itemize
-PyAMG is primarily written in Python with supporting C++ code for
-performance critical operations.")
+@end itemize")
     (license license:expat)))
 
 (define-public python-tspex
-- 
2.41.0





^ permalink raw reply related	[relevance 56%]

* [bug#68650] [PATCH v2 1/2] gnu: Add python-cppheaderparser.
    2024-01-21 22:40 62% ` [bug#68650] [PATCH 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
  2024-01-21 22:40 57% ` [bug#68650] [PATCH 2/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
@ 2024-01-23 10:31 62% ` Sharlatan Hellseher
  2024-01-23 10:31 56%   ` [bug#68650] [PATCH v2 2/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
  2 siblings, 1 reply; 200+ results
From: Sharlatan Hellseher @ 2024-01-23 10:31 UTC (permalink / raw)
  To: 68650
  Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

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

Change-Id: I3c57c31a0b63212e43e1ab387b5d329c04ed0e31
---
 gnu/packages/python-xyz.scm | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b23108fbf4..93e7571f78 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -94,7 +94,7 @@
 ;;; Copyright © 2020, 2021 Zheng Junjie <873216071@qq.com>
 ;;; Copyright © 2020 EuAndreh <eu@euandre.org>
 ;;; Copyright © 2021, 2022 Morgan Smith <Morgan.J.Smith@outlook.com>
-;;; Copyright © 2021-2023 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2021-2024 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2021 Ellis Kenyő <me@elken.dev>
 ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
 ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
@@ -8810,6 +8810,29 @@ (define-public python-cplot
 complex-valued functions.")
     (license license:gpl3+)))
 
+(define-public python-cppheaderparser
+  (package
+    (name "python-cppheaderparser")
+    (version "2.7.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "CppHeaderParser" version))
+       (sha256
+        (base32 "0hncwd9y5ayk8wa6bqhp551mcamcvh84h89ba3labc4mdm0k0arq"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:tests? #f))     ;test suite not included in the release
+    (propagated-inputs (list python-ply))
+    (home-page "http://senexcanis.com/open-source/cppheaderparser/")
+    (synopsis
+     "Parse C++ header files and generate a data structure representing the class")
+    (description
+     "CppHeaderParser is a pure python module that will parse C++ header files
+and generate a data structure representing the class.")
+    (license license:bsd-3)))
+
 (define-public python-cppy
   (package
     (name "python-cppy")

base-commit: ffc5fefce370f5fc01091869e13fdf525be1e0c0
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#68650] [PATCH 1/2] gnu: Add python-cppheaderparser.
  @ 2024-01-21 22:40 62% ` Sharlatan Hellseher
  2024-01-21 22:40 57% ` [bug#68650] [PATCH 2/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
  2024-01-23 10:31 62% ` [bug#68650] [PATCH v2 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
  2 siblings, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-01-21 22:40 UTC (permalink / raw)
  To: 68650
  Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

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

Change-Id: I3c57c31a0b63212e43e1ab387b5d329c04ed0e31
---
 gnu/packages/python-xyz.scm | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b23108fbf4..93e7571f78 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -94,7 +94,7 @@
 ;;; Copyright © 2020, 2021 Zheng Junjie <873216071@qq.com>
 ;;; Copyright © 2020 EuAndreh <eu@euandre.org>
 ;;; Copyright © 2021, 2022 Morgan Smith <Morgan.J.Smith@outlook.com>
-;;; Copyright © 2021-2023 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2021-2024 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2021 Ellis Kenyő <me@elken.dev>
 ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
 ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
@@ -8810,6 +8810,29 @@ (define-public python-cplot
 complex-valued functions.")
     (license license:gpl3+)))
 
+(define-public python-cppheaderparser
+  (package
+    (name "python-cppheaderparser")
+    (version "2.7.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "CppHeaderParser" version))
+       (sha256
+        (base32 "0hncwd9y5ayk8wa6bqhp551mcamcvh84h89ba3labc4mdm0k0arq"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:tests? #f))     ;test suite not included in the release
+    (propagated-inputs (list python-ply))
+    (home-page "http://senexcanis.com/open-source/cppheaderparser/")
+    (synopsis
+     "Parse C++ header files and generate a data structure representing the class")
+    (description
+     "CppHeaderParser is a pure python module that will parse C++ header files
+and generate a data structure representing the class.")
+    (license license:bsd-3)))
+
 (define-public python-cppy
   (package
     (name "python-cppy")
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#68650] [PATCH 2/2] gnu: python-pyamg: Regenerate bundled files.
    2024-01-21 22:40 62% ` [bug#68650] [PATCH 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
@ 2024-01-21 22:40 57% ` Sharlatan Hellseher
  2024-01-23 10:31 62% ` [bug#68650] [PATCH v2 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
  2 siblings, 0 replies; 200+ results
From: Sharlatan Hellseher @ 2024-01-21 22:40 UTC (permalink / raw)
  To: 68650
  Cc: Sharlatan Hellseher, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-science.scm (python-pyamg)[source]: Delete
auto-generated files.
[arguments]<#:phases>: Add 'amg-core-bind-them phase to
re-generate *_bind.cpp files deleted in snippet.
[desciption]: Improve style, commit implementation details.

Change-Id: I6f68914cd912e6f4592e51c21b129847e73be847
---
 gnu/packages/python-science.scm | 50 +++++++++++++++++++++++++++------
 1 file changed, 41 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index c1be6cde23..4183bd2ea2 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -465,32 +465,64 @@ (define-public python-pyamg
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "pyamg" version))
+              (modules '((guix build utils)))
+              (snippet
+               ;; Delete autogenerated files, regenerate in a phase.
+               #~(begin
+                   (for-each
+                    (lambda (file)
+                      (delete-file (string-append "pyamg/amg_core/" file)))
+                    '("air_bind.cpp"
+                      "evolution_strength_bind.cpp"
+                      "graph_bind.cpp"
+                      "krylov_bind.cpp"
+                      "linalg_bind.cpp"
+                      "relaxation_bind.cpp"
+                      "ruge_stuben_bind.cpp"
+                      "smoothed_aggregation_bind.cpp"
+                      "tests/bind_examples_bind.cpp"))))
               (sha256
                (base32
                 "0l3dliwynxyjvbgpmi2k8jqvkkw6fc00c8w69h6swhrkfh0ql12z"))))
-    (build-system pyproject-build-system)
     (arguments
      (list
       #:test-flags
       ;; Test installed package in order to find C++ modules.
-      #~(list "--pyargs" "pyamg.tests")))
-    (native-inputs (list pybind11 python-pytest python-setuptools-scm))
+      #~(list "--pyargs" "pyamg.tests")
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; Regenerate the autogenerated files.
+          (add-after 'unpack 'amg-core-bind-them
+            (lambda _
+              ;; bindthem.py heavily depends on location to produce *_bind.cpp
+              ;; file, make it available in tests as well.
+              (copy-file "pyamg/amg_core/bindthem.py"
+                         "pyamg/amg_core/tests/bindthem.py")
+              (with-directory-excursion "pyamg/amg_core"
+                (substitute* "bindthem.py"
+                  (("/usr/bin/env python3") (which "python3")))
+                (invoke "sh" "generate.sh"))
+              (with-directory-excursion "pyamg/amg_core/tests"
+                (invoke "python" "bindthem.py" "bind_examples.h")))))))
+    (build-system pyproject-build-system)
+    (native-inputs
+     (list pybind11
+           python-cppheaderparser
+           python-pytest
+           python-pyyaml
+           python-setuptools-scm))
     (propagated-inputs (list python-numpy python-scipy))
     (home-page "https://github.com/pyamg/pyamg")
     (synopsis "Algebraic Multigrid Solvers in Python")
     (description "PyAMG is a Python library of Algebraic Multigrid
-(AMG) solvers.
-
-PyAMG features implementations of:
+(AMG) solvers. It features implementations of:
 @itemize
 @item Ruge-Stuben (RS) or Classical AMG
 @item AMG based on Smoothed Aggregation (SA)
 @item Adaptive Smoothed Aggregation (αSA)
 @item Compatible Relaxation (CR)
 @item Krylov methods such as CG, GMRES, FGMRES, BiCGStab, MINRES, etc.
-@end itemize
-PyAMG is primarily written in Python with supporting C++ code for
-performance critical operations.")
+@end itemize")
     (license license:expat)))
 
 (define-public python-tspex
-- 
2.41.0





^ permalink raw reply related	[relevance 57%]

* [bug#68649] [PATCH 1/3] gnu: Add python-zconfig.
  @ 2024-01-21 21:12 62% ` Troy Figiel
  2024-01-21 21:12 65% ` [bug#68649] [PATCH 2/3] gnu: Add python-zodbpickle Troy Figiel
  2024-01-21 21:13 61% ` [bug#68649] [PATCH 3/3] gnu: Add python-zodb Troy Figiel
  2 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-21 21:12 UTC (permalink / raw)
  To: 68649

* gnu/packages/python-web.scm (python-zconfig): New variable.
---
 gnu/packages/python-web.scm | 38 +++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 0c7303fa99..91e60bad8b 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2651,6 +2651,44 @@ (define-public python-zc-lockfile
 files.  These locks can also be used to mediate access to other files.")
     (license license:zpl2.1)))
 
+(define-public python-zconfig
+  (package
+    (name "python-zconfig")
+    (version "4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ZConfig" version))
+       (sha256
+        (base32 "0mh13p38vq7ip4zkvaplzr8w0mqrmmqiyb5y663d165slvxl5mpq"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (if tests?
+                          (begin
+                            ;; This test assumes we still have setup.py in the
+                            ;; directory from which we import zconfig, which
+                            ;; does not work after installing the package.
+                            (delete-file-recursively
+                             "src/ZConfig/tests/test_readme.py")
+                            (invoke "zope-testrunner" "-vv" "--test-path=src"
+                                    "--all"))
+                          (format #t "test suite not run~%")))))))
+    (native-inputs (list python-docutils python-manuel python-zope-exceptions
+                         python-zope-testrunner))
+    (home-page "https://github.com/zopefoundation/ZConfig/")
+    (synopsis "Structured configuration library intended for general use")
+    (description
+     "@code{zconfig} is a configuration library intended for general
+use.  It supports a hierarchical schema-driven configuration model that allows
+a schema to specify data conversion routines written in Python.  Its model is
+very different from the model supported by the @code{configparser} module
+found in Python's standard library, and is more suitable to
+configuration-intensive applications.")
+    (license license:zpl2.1)))
+
 (define-public python-zope-event
   (package
     (name "python-zope-event")
-- 
2.42.0





^ permalink raw reply related	[relevance 62%]

* [bug#68649] [PATCH 3/3] gnu: Add python-zodb.
    2024-01-21 21:12 62% ` [bug#68649] [PATCH 1/3] gnu: Add python-zconfig Troy Figiel
  2024-01-21 21:12 65% ` [bug#68649] [PATCH 2/3] gnu: Add python-zodbpickle Troy Figiel
@ 2024-01-21 21:13 61% ` Troy Figiel
  2 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-21 21:13 UTC (permalink / raw)
  To: 68649

* gnu/packages/python-web.scm (python-zodb): New variable.
---
 gnu/packages/python-web.scm | 51 +++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 4267b417c8..762b7d7bb2 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2689,6 +2689,57 @@ (define-public python-zconfig
 configuration-intensive applications.")
     (license license:zpl2.1)))
 
+(define-public python-zodb
+  (package
+    (name "python-zodb")
+    (version "5.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ZODB" version))
+       (sha256
+        (base32 "1pv4w8mnx6j4xvkcjbkh99pv8ljby7g9f7zjq7zhdmk06sykmiy6"))))
+    (build-system pyproject-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (if tests?
+                          (begin
+                            ;; This test does not work after installing the
+                            ;; package, since it expects the ZODB source code
+                            ;; to reside in the src/ directory.
+                            (delete-file-recursively
+                             "src/ZODB/tests/testdocumentation.py")
+                            (invoke "zope-testrunner" "-vv" "--test-path=src"
+                                    "--all"))
+                          (format #t "test suite not run~%")))))))
+    (propagated-inputs (list python-btrees
+                             python-persistent
+                             python-zconfig
+                             python-six
+                             python-transaction
+                             python-zc-lockfile
+                             python-zodbpickle
+                             python-zope-interface))
+    (native-inputs (list python-manuel python-zope-testing
+                         python-zope-testrunner))
+    (home-page "http://zodb-docs.readthedocs.io")
+    (synopsis "Object-oriented database for Python")
+    (description
+     "@code{ZODB} provides an object-oriented and @acronym{ACID,
+Atomicity Consistency Isolation Durability} compliant database for Python with
+a high degree of transparency.  @code{ZODB} is an object-oriented database,
+not an object-relational mapping.  This comes with several advantaged:
+
+@itemize
+@item no separate language for database operations
+@item very little impact on your code to make objects persistent
+@item no database mapper that partially hides the database.
+@item almost no seam between code and database.
+@end itemize")
+    (license license:zpl2.1)))
+
 (define-public python-zodbpickle
   (package
     (name "python-zodbpickle")
-- 
2.42.0





^ permalink raw reply related	[relevance 61%]

* [bug#68649] [PATCH 2/3] gnu: Add python-zodbpickle.
    2024-01-21 21:12 62% ` [bug#68649] [PATCH 1/3] gnu: Add python-zconfig Troy Figiel
@ 2024-01-21 21:12 65% ` Troy Figiel
  2024-01-21 21:13 61% ` [bug#68649] [PATCH 3/3] gnu: Add python-zodb Troy Figiel
  2 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-21 21:12 UTC (permalink / raw)
  To: 68649

* gnu/packages/python-web.scm (python-zodbpickle): New variable.
---
 gnu/packages/python-web.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 91e60bad8b..4267b417c8 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2689,6 +2689,34 @@ (define-public python-zconfig
 configuration-intensive applications.")
     (license license:zpl2.1)))
 
+(define-public python-zodbpickle
+  (package
+    (name "python-zodbpickle")
+    (version "3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "zodbpickle" version))
+       (sha256
+        (base32 "04fcmdx10lk5ww740avphd1fj5wic2bav9skkavhif670vkk5v5r"))))
+    (build-system pyproject-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (if tests?
+                          (invoke "zope-testrunner" "-vv" "--test-path=src"
+                                  "--all")
+                          (format #t "test suite not run~%")))))))
+    (native-inputs (list python-zope-testrunner))
+    (home-page "https://github.com/zopefoundation/zodbpickle")
+    (synopsis "Uniform pickling interface for @code{zodb}")
+    (description
+     "This package is a fork of the @code{pickle} module (and the
+supporting C extension) from both Python 3.2 and Python 3.3.  The fork adds
+support for the @code{noload} operations used by @code{zodb}.")
+    (license (list license:psfl license:zpl2.1))))
+
 (define-public python-zope-event
   (package
     (name "python-zope-event")
-- 
2.42.0





^ permalink raw reply related	[relevance 65%]

* [bug#68569] [PATCH v2 1/2] gnu: Add python-apprise.
  @ 2024-01-21 20:07 62% ` Mike Delago
  0 siblings, 0 replies; 200+ results
From: Mike Delago @ 2024-01-21 20:07 UTC (permalink / raw)
  To: 68569
  Cc: Mike Delago, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	Sharlatan Hellseher, jgart

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

Change-Id: I24659780121e3d428002f504a459bea442790a7b
---
 gnu/packages/python-xyz.scm | 38 +++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index aebbae1521..223d2e6f58 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14364,6 +14364,44 @@ (define-public python-appdirs
 should be stored on various operating systems.")
     (license license:expat)))
 
+(define-public python-apprise
+  (package
+    (name "python-apprise")
+    (version "1.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "apprise" version))
+       (sha256
+        (base32 "0nkfv0pyn13lqdr3g3r1dhhnqxkjiayf9pny4m254w04al49shwd"))
+       ;; MacOS tests are failing when attempting to mock terminal-notifier calls.
+       ;; We don't need to test for MacOS support, and removing this file causes
+       ;; tests to succeed.
+       (modules '((guix build utils)))
+       (snippet '(begin
+                   (delete-file-recursively "test/test_plugin_macosx.py")))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-babel
+                         python-coverage
+                         python-flake8
+                         python-pytest
+                         python-pytest-cov
+                         python-pytest-mock
+                         python-pytest-xdist))
+    (propagated-inputs (list python-certifi
+                             python-click
+                             python-markdown
+                             python-pyyaml
+                             python-requests
+                             python-requests-oauthlib))
+    (home-page "https://github.com/caronc/apprise")
+    (synopsis "Push notification library and utility")
+    (description
+     "This module can send notifications to a large number of popular notification
+     services. This package also includes a command line tool for sending
+     notifications through the large number of supported services.")
+    (license license:bsd-2)))
+
 (define-public python-google-pasta
   (package
     (name "python-google-pasta")
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#68642] [PATCH] gnu: Add python-pandas-vet.
@ 2024-01-21 17:22 65% Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-21 17:22 UTC (permalink / raw)
  To: 68642

* gnu/packages/python-xyz.scm (python-pandas-vet): New variable.
---
 gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b23108fbf4..dfd786e283 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13876,6 +13876,31 @@ (define-public python-flake8-isort
 directives.")
     (license license:gpl2+)))
 
+(define-public python-pandas-vet
+  (package
+    (name "python-pandas-vet")
+    ;; Newer versions require flake8>=6.0.0.
+    (version "0.2.3")
+    (source
+     (origin
+       ;; No tests in the PyPI tarball.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/deppen8/pandas-vet")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1b3pqcargv68p2lpv72q49siq6mxfh3znxhz9vd91rp6fd6lf2cz"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-attrs python-flake8))
+    (native-inputs (list python-pytest))
+    (home-page "https://github.com/deppen8/pandas-vet")
+    (synopsis "Opionated @code{flake8} plugin for @code{pandas} code")
+    (description
+     "This package provides a @code{flake8} plugin to lint @code{pandas} code
+in an opinionated way.")
+    (license license:expat)))
+
 (define-public python-autoflake
   (package
     (name "python-autoflake")

base-commit: 121de47decc1029c06f6e46e5f06d7fefe8e85ec
-- 
2.42.0





^ permalink raw reply related	[relevance 65%]

* [bug#68613] [PATCH] gnu: Add python-scikit-opt.
@ 2024-01-20 11:41 64% TimotheeMathieu
  2024-02-10 21:51 64% ` bug#68613: " Ludovic Courtès
  0 siblings, 1 reply; 200+ results
From: TimotheeMathieu @ 2024-01-20 11:41 UTC (permalink / raw)
  To: 68613
  Cc: TimotheeMathieu, Lars-Dominik Braun, Marius Bakke,
	Munyoki Kilyungi, Sharlatan Hellseher, jgart

* gnu/packages/python-science.scm (python-scikit-opt): New variable.

Change-Id: I47d6b35d9658a37a242b4db61d293fa7efd33802
---
 gnu/packages/python-science.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 3c131fe730..b385f0b211 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -318,6 +318,27 @@ (define-public python-scikit-image
      "Scikit-image is a collection of algorithms for image processing.")
     (license license:bsd-3)))
 
+(define-public python-scikit-opt
+  (package
+    (name "python-scikit-opt")
+    (version "0.6.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "scikit-opt" version))
+       (sha256
+        (base32 "0ycqizgsj7q57asc1bphzhf1fx9zqn0vx5rli7q541bas64hfqiy"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-numpy python-scipy))
+    (home-page "https://github.com/guofei9987/scikit-opt")
+    (synopsis "Swarm Intelligence in Python")
+    (description
+     "Scikit-opt(or sko) is a Python module of Swarm Intelligence
+                  Algorithm.  Such as Genetic Algorithm, Particle Swarm Optimization,
+                  Simulated Annealing, Ant Colony Algorithm, Immune Algorithm,
+                  Artificial Fish Swarm Algorithm.")
+    (license license:expat)))
+
 (define-public python-scikit-optimize
   (package
     (name "python-scikit-optimize")

base-commit: 9c367ee1967b213b507a8bf041ea6c2623ceea96
-- 
2.41.0







^ permalink raw reply related	[relevance 64%]

* [bug#68609] [PATCH 2/2] gnu: python-pandera: Fix build.
    2024-01-20 13:10 63% ` [bug#68609] [PATCH 1/2] gnu: python-pandas-stubs: Update to 1.5.3.230321 Troy Figiel
@ 2024-01-20 13:55 63% ` Troy Figiel
  1 sibling, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-20 13:55 UTC (permalink / raw)
  To: 68609

* gnu/packages/python-science.scm (python-pandera): Fix build.
[source]: Delete tests/modin directory.
[native-inputs]: Remove python-modin.
---
 gnu/packages/python-science.scm | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 4eb0195889..3422302a87 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -661,16 +661,20 @@ (define-public python-pandera
        (sha256
         (base32 "1mnqk583z90k1n0z3lfa4rd0ng40v7hqfk7phz5gjmxlzfjbxa1x"))
        (modules '((guix build utils)))
-       ;; These tests require PySpark. We need to remove the entire directory,
-       ;; since the conftest.py in this directory contains a PySpark import.
-       ;; (See: https://github.com/pytest-dev/pytest/issues/7452)
-       (snippet '(delete-file-recursively "tests/pyspark"))))
+       ;; These tests require PySpark and Modin. We need to remove the entire
+       ;; directory, since the conftest.py in these directories contain
+       ;; imports.  (See: https://github.com/pytest-dev/pytest/issues/7452)
+       (snippet '(begin
+                   (delete-file-recursively "tests/pyspark")
+                   (delete-file-recursively "tests/modin")))))
     (build-system pyproject-build-system)
     (arguments
      (list
       #:test-flags '(list "-k"
                           (string-append
-                           ;; Needs python-pandas >= 1.5
+                           ;; Mypy functionality is experimental and relying
+                           ;; on pandas-stubs can lead to false
+                           ;; positives. These tests currently fail.
                            "not test_python_std_list_dict_generics"
                            " and not test_python_std_list_dict_empty_and_none"
                            " and not test_pandas_modules_importable"))))
@@ -692,7 +696,6 @@ (define-public python-pandera
     (native-inputs (list python-dask ;dask extra
                          python-fastapi ;fastapi extra
                          python-geopandas ;geopandas extra
-                         python-modin ;modin extra
                          python-pyarrow ;needed to run fastapi tests
                          python-pytest
                          python-pytest-asyncio
-- 
2.42.0





^ permalink raw reply related	[relevance 63%]

* [bug#68609] [PATCH 1/2] gnu: python-pandas-stubs: Update to 1.5.3.230321.
  @ 2024-01-20 13:10 63% ` Troy Figiel
  2024-01-20 13:55 63% ` [bug#68609] [PATCH 2/2] gnu: python-pandera: Fix build Troy Figiel
  1 sibling, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-20 13:10 UTC (permalink / raw)
  To: 68609

* gnu/packages/python-science.scm (python-pandas-stubs): Update to
1.5.3.230321.
[arguments]<#:test-flags>: Ignore tests that require a version of
python-pyarrow with ORC integration.
[native-inputs]: Add python-odfpy.
---
 gnu/packages/python-science.scm | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 3c131fe730..4eb0195889 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -580,8 +580,8 @@ (define-public python-pandas-stubs
     (name "python-pandas-stubs")
     ;; The versioning follows that of Pandas and uses the date of the
     ;; python-pandas-stubs release. This is the latest version of
-    ;; python-pandas-stubs for python-pandas 1.4.4.
-    (version "1.4.4.220919")
+    ;; python-pandas-stubs for python-pandas 1.5.3.
+    (version "1.5.3.230321")
     (source
      (origin
        ;; No tests in the PyPI tarball.
@@ -591,10 +591,21 @@ (define-public python-pandas-stubs
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "14fhj1y71akwl41ws7cpazsbq5b8wf4rwaydqq2h39q7gylpcp99"))))
+        (base32 "1blwlq5053pxnmx721zdd6v8njiybz4azribx2ygq33jcpmknda6"))))
     (build-system pyproject-build-system)
     (arguments
-     '(#:phases (modify-phases %standard-phases
+     (list
+      #:test-flags #~(list "-k"
+                           (string-append
+                            ;; The python-pyarrow package in Guix is not built
+                            ;; with ORC integration, causing these tests to
+                            ;; fail.
+                            "not test_orc"
+                            " and not test_orc_path"
+                            " and not test_orc_buffer"
+                            " and not test_orc_columns"
+                            " and not test_orc_bytes"))
+      #:phases '(modify-phases %standard-phases
                   (add-before 'check 'prepare-x
                     (lambda _
                       (system "Xvfb &")
@@ -607,6 +618,7 @@ (define-public python-pandas-stubs
     ;; tests will be skipped for now.
     (native-inputs (list python-lxml
                          python-matplotlib
+                         python-odfpy
                          python-pandas
                          python-poetry-core
                          python-pyarrow
-- 
2.42.0





^ permalink raw reply related	[relevance 63%]

* [bug#68569] [PATCH 1/2] gnu: Add python-apprise.
  @ 2024-01-18 14:32 64% ` Mike Delago
  0 siblings, 0 replies; 200+ results
From: Mike Delago @ 2024-01-18 14:32 UTC (permalink / raw)
  To: 68569; +Cc: Mike Delago

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

Change-Id: I24659780121e3d428002f504a459bea442790a7b
---
 gnu/packages/python-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index aebbae1521..aecebb1dde 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14364,6 +14364,42 @@ (define-public python-appdirs
 should be stored on various operating systems.")
     (license license:expat)))
 
+(define-public python-apprise
+  (package
+    (name "python-apprise")
+    (version "1.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "apprise" version))
+       (sha256
+        (base32 "0nkfv0pyn13lqdr3g3r1dhhnqxkjiayf9pny4m254w04al49shwd"))
+       ;; MacOS tests are failing when attempting to mock terminal-notifier calls
+       ;; We don't need to test for MacOS support, and removing this file causes
+       ;; tests to succeed
+       (modules '((guix build utils)))
+       (snippet '(begin
+                   (delete-file-recursively "test/test_plugin_macosx.py")))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-certifi
+                             python-click
+                             python-markdown
+                             python-pyyaml
+                             python-requests
+                             python-requests-oauthlib))
+    (native-inputs (list python-babel
+                         python-coverage
+                         python-flake8
+                         python-pytest
+                         python-pytest-cov
+                         python-pytest-mock
+                         python-pytest-xdist))
+    (home-page "https://github.com/caronc/apprise")
+    (synopsis "Push Notifications that work with just about every platform!")
+    (description
+     "Push Notifications that work with just about every platform!")
+    (license license:bsd-3)))
+
 (define-public python-google-pasta
   (package
     (name "python-google-pasta")
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* [bug#68563] [PATCH] gnu: python-tdda: Remove relax-requirements phase.
@ 2024-01-17 18:49 65% Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-17 18:49 UTC (permalink / raw)
  To: 68563

* gnu/packages/python-science.scm (python-tdda)[arguments]<#:phases>: Remove relax-requirements phase.
---
 gnu/packages/python-science.scm | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index c57fd1f23c..aeb43a5845 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -375,11 +375,6 @@ (define-public python-tdda
     (build-system pyproject-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases
-                  (add-after 'unpack 'relax-requirements
-                    (lambda _
-                      (substitute* "setup.py"
-                        (("pandas>=1.5.2")
-                         "pandas"))))
                   (replace 'check
                     (lambda* (#:key tests? #:allow-other-keys)
                       (when tests?

base-commit: c49957de727746df47e0f0b86bc1c797e68167e6
-- 
2.42.0





^ permalink raw reply related	[relevance 65%]

* [bug#68562] [PATCH 2/2] gnu: python-plotnine: Reformat with guix style.
    2024-01-18  9:43 65% ` [bug#68562] [PATCH 1/2] gnu: python-plotnine: Fix build Troy Figiel
@ 2024-01-18  9:54 54% ` Troy Figiel
  1 sibling, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-18  9:54 UTC (permalink / raw)
  To: 68562

* gnu/packages/python-science.scm (python-plotnine): Reformat with guix style.
---
 gnu/packages/python-science.scm | 153 ++++++++++++++++----------------
 1 file changed, 76 insertions(+), 77 deletions(-)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 005ef6b016..6bdfeeb340 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -1744,89 +1744,88 @@ (define-public python-plotnine
     ;; XXX Version 0.12.x exists, but we can't build it because we're still at
     ;; matplotlib 3.5.  We'd need at least 3.6.
     (version "0.10.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/has2k1/plotnine")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0lg53wcm00lj8zbb4q9yj4a0n0fqaqq7c7vj18bda0k56gg0fpwl"))))
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/has2k1/plotnine")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0lg53wcm00lj8zbb4q9yj4a0n0fqaqq7c7vj18bda0k56gg0fpwl"))))
     (build-system pyproject-build-system)
     (arguments
      (list
       #:test-flags
       ;; These all fail because the images are considered to be too different,
       ;; though they really do look fine.
-      '(list "-k" (string-append
-                   "not TestThemes"
-                   (string-join
-                    (list
-                     ;; Image tests
-                     "test_adjust_text"
-                     "test_annotation_logticks_coord_flip_discrete"
-                     "test_annotation_logticks_faceting"
-                     "test_arrow"
-                     "test_aslabeller_dict_0tag"
-                     "test_caption_simple"
-                     "test_continuous_x"
-                     "test_continuous_x_fullrange"
-                     "test_coord_trans_backtransforms"
-                     "test_coord_trans_se_false"
-                     "test_custom_shape"
-                     "test_datetime_scale_limits"
-                     "test_dir_v_ncol"
-                     "test_discrete_x"
-                     "test_discrete_x_fullrange"
-                     "test_facet_grid_drop_false"
-                     "test_facet_grid_expression"
-                     "test_facet_grid_space_ratios"
-                     "test_facet_wrap"
-                     "test_facet_wrap_expression"
-                     "test_facet_wrap_label_both"
-                     "test_label_context_wrap2vars"
-                     "test_labeller_cols_both_grid"
-                     "test_labeller_cols_both_wrap"
-                     "test_labeller_towords"
-                     "test_missing_data_discrete_scale"
-                     "test_ribbon_facetting"
-                     "test_stack_non_linear_scale"
-                     "test_uneven_num_of_lines"
-
-                     ;; Missing optional modules
-                     "test_non_linear_smooth"
-                     "test_non_linear_smooth_no_ci")
-                    " and not " 'prefix)))
-      #:phases
-      '(modify-phases %standard-phases
-         (add-before 'check 'pre-check
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             ;; The data files are referenced by the tests but they are not
-             ;; installed.
-             (copy-recursively "plotnine/data"
-                               (string-append (site-packages inputs outputs)
-                                              "/plotnine/data"))
-             ;; Matplotlib needs to be able to write its configuration file
-             ;; somewhere.
-             (setenv "MPLCONFIGDIR" "/tmp")
-             (setenv "TZ" "UTC")
-             (setenv "TZDIR"
-                     (search-input-directory inputs "share/zoneinfo")))))))
-    (propagated-inputs
-     (list python-adjusttext
-           python-matplotlib
-           python-mizani
-           python-numpy
-           python-patsy
-           python-scipy
-           python-statsmodels))
-    (native-inputs
-     (list python-geopandas
-           python-mock
-           python-pandas
-           python-pytest python-pytest-cov
-           tzdata-for-tests))
+      '(list "-k"
+             (string-append "not TestThemes"
+                            (string-join (list
+                                          ;; Image tests
+                                          "test_adjust_text"
+                                          "test_annotation_logticks_coord_flip_discrete"
+                                          "test_annotation_logticks_faceting"
+                                          "test_arrow"
+                                          "test_aslabeller_dict_0tag"
+                                          "test_caption_simple"
+                                          "test_continuous_x"
+                                          "test_continuous_x_fullrange"
+                                          "test_coord_trans_backtransforms"
+                                          "test_coord_trans_se_false"
+                                          "test_custom_shape"
+                                          "test_datetime_scale_limits"
+                                          "test_dir_v_ncol"
+                                          "test_discrete_x"
+                                          "test_discrete_x_fullrange"
+                                          "test_facet_grid_drop_false"
+                                          "test_facet_grid_expression"
+                                          "test_facet_grid_space_ratios"
+                                          "test_facet_wrap"
+                                          "test_facet_wrap_expression"
+                                          "test_facet_wrap_label_both"
+                                          "test_label_context_wrap2vars"
+                                          "test_labeller_cols_both_grid"
+                                          "test_labeller_cols_both_wrap"
+                                          "test_labeller_towords"
+                                          "test_missing_data_discrete_scale"
+                                          "test_ribbon_facetting"
+                                          "test_stack_non_linear_scale"
+                                          "test_uneven_num_of_lines"
+
+                                          ;; Missing optional modules
+                                          "test_non_linear_smooth"
+                                          "test_non_linear_smooth_no_ci")
+                                         " and not "
+                                         'prefix)))
+      #:phases '(modify-phases %standard-phases
+                  (add-before 'check 'pre-check
+                    (lambda* (#:key inputs outputs #:allow-other-keys)
+                      ;; The data files are referenced by the tests but they are not
+                      ;; installed.
+                      (copy-recursively "plotnine/data"
+                                        (string-append (site-packages inputs
+                                                                      outputs)
+                                                       "/plotnine/data"))
+                      ;; Matplotlib needs to be able to write its configuration file
+                      ;; somewhere.
+                      (setenv "MPLCONFIGDIR" "/tmp")
+                      (setenv "TZ" "UTC")
+                      (setenv "TZDIR"
+                              (search-input-directory inputs "share/zoneinfo")))))))
+    (propagated-inputs (list python-adjusttext
+                             python-matplotlib
+                             python-mizani
+                             python-numpy
+                             python-patsy
+                             python-scipy
+                             python-statsmodels))
+    (native-inputs (list python-geopandas
+                         python-mock
+                         python-pandas
+                         python-pytest
+                         python-pytest-cov
+                         tzdata-for-tests))
     (home-page "https://github.com/has2k1/plotnine")
     (synopsis "Grammar of Graphics for Python")
     (description
-- 
2.42.0





^ permalink raw reply related	[relevance 54%]

* [bug#68562] [PATCH 1/2] gnu: python-plotnine: Fix build.
  @ 2024-01-18  9:43 65% ` Troy Figiel
  2024-01-18  9:54 54% ` [bug#68562] [PATCH 2/2] gnu: python-plotnine: Reformat with guix style Troy Figiel
  1 sibling, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-18  9:43 UTC (permalink / raw)
  To: 68562

* gnu/packages/python-science.scm (python-plotnine): Fix build.
[arguments]<#:test-flags>: Add test_custom_shape to ignored tests.
---
 gnu/packages/python-science.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index c57fd1f23c..005ef6b016 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -1774,6 +1774,7 @@ (define-public python-plotnine
                      "test_continuous_x_fullrange"
                      "test_coord_trans_backtransforms"
                      "test_coord_trans_se_false"
+                     "test_custom_shape"
                      "test_datetime_scale_limits"
                      "test_dir_v_ncol"
                      "test_discrete_x"
-- 
2.42.0





^ permalink raw reply related	[relevance 65%]

* [bug#68052] [PATCH v2 1/3] gnu: python-poppler-qt5: Update to 21.3.0.
  @ 2024-01-16 17:37 45% ` Marco Rimoldi via Guix-patches via
  0 siblings, 0 replies; 200+ results
From: Marco Rimoldi via Guix-patches via @ 2024-01-16 17:37 UTC (permalink / raw)
  To: 68052; +Cc: Marco Rimoldi

From: Marco Rimoldi <rimarko@libero.it>

* gnu/packages/pdf.scm (python-poppler-qt5): Update to 21.3.0.
[build-system]: Change to pyproject.
[inputs]: Change SIP to current version variant.
* gnu/packages/patches/python-poppler-qt5-fix-build.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): De-register said patch.

Change-Id: I30d6e2a3180505091d8072ed452211b0bb3a0178
---
 gnu/local.mk                                  |   1 -
 .../python-poppler-qt5-fix-build.patch        | 116 ------------------
 gnu/packages/pdf.scm                          |  50 +++-----
 3 files changed, 18 insertions(+), 149 deletions(-)
 delete mode 100644 gnu/packages/patches/python-poppler-qt5-fix-build.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index d2e2843372..bd0d9b75ce 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1794,7 +1794,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-feedparser-missing-import.patch	\
   %D%/packages/patches/python-louvain-fix-test.patch		\
   %D%/packages/patches/python-random2-getrandbits-test.patch		\
-  %D%/packages/patches/python-poppler-qt5-fix-build.patch	\
   %D%/packages/patches/python-pyreadstat-link-libiconv.patch	\
   %D%/packages/patches/python-pypdf-annotate-tests-appropriately.patch	\
   %D%/packages/patches/python-pytorch2-system-libraries.patch	\
diff --git a/gnu/packages/patches/python-poppler-qt5-fix-build.patch b/gnu/packages/patches/python-poppler-qt5-fix-build.patch
deleted file mode 100644
index 099bb86d2f..0000000000
--- a/gnu/packages/patches/python-poppler-qt5-fix-build.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-Patch taken from the upstream repository
-https://github.com/frescobaldi/python-poppler-qt5/issues/43
-
-From 92e5962ec3751ab051d0b655fd61afc7a1cf709e Mon Sep 17 00:00:00 2001
-From: Ben Greiner <code@bnavigator.de>
-Date: Thu, 4 Mar 2021 17:02:51 +0100
-Subject: [PATCH] map type QVector< QPair<TYPE, TYPE> > for
- FormFieldChoice::choicesWithExportValues() (#45)
-
----
- types.sip | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 93 insertions(+)
-
-diff --git a/types.sip b/types.sip
-index 239b8c9..81cb283 100644
---- a/types.sip
-+++ b/types.sip
-@@ -331,5 +331,98 @@ template <TYPE>
- };
- 
- 
-+/**
-+ * Convert QVector< QPair<TYPE, TYPE> >
-+ * from and to a Python list of a 2-item tuple
-+ */
-+
-+template<TYPE>
-+%MappedType QVector< QPair<TYPE, TYPE> >
-+{
-+%TypeHeaderCode
-+#include <qvector.h>
-+#include <qpair.h>
-+%End
-+
-+%ConvertFromTypeCode
-+  // Create the list.
-+  PyObject *l;
-+
-+  if ((l = PyList_New(sipCpp->size())) == NULL)
-+      return NULL;
-+
-+  // Set the list elements.
-+  for (int i = 0; i < sipCpp->size(); ++i)
-+  {
-+    QPair<TYPE, TYPE>* p = new QPair<TYPE, TYPE>(sipCpp->at(i));
-+    PyObject *ptuple = PyTuple_New(2);
-+    PyObject *pfirst;
-+    PyObject *psecond;
-+
-+    TYPE *sfirst = new TYPE(p->first);
-+    if ((pfirst = sipConvertFromType(sfirst, sipType_TYPE, sipTransferObj)) == NULL)
-+    {
-+      Py_DECREF(l);
-+      Py_DECREF(ptuple);
-+      return NULL;
-+    }
-+    PyTuple_SET_ITEM(ptuple, 0, pfirst);
-+
-+    TYPE *ssecond = new TYPE(p->second);
-+    if ((psecond = sipConvertFromType(ssecond, sipType_TYPE, sipTransferObj)) == NULL)
-+    {
-+      Py_DECREF(l);
-+      Py_DECREF(ptuple);
-+      Py_DECREF(pfirst);
-+      return NULL;
-+    }
-+    PyTuple_SET_ITEM(ptuple, 1, psecond);
-+
-+    PyList_SET_ITEM(l, i, ptuple);
-+  }
-+
-+  return l;
-+%End
-+
-+%ConvertToTypeCode
-+  const sipTypeDef* qpair_type = sipFindType("QPair<TYPE, TYPE>");
-+
-+  // Check the type if that is all that is required.
-+  if (sipIsErr == NULL)
-+  {
-+    if (!PySequence_Check(sipPy))
-+      return 0;
-+
-+    for (int i = 0; i < PySequence_Size(sipPy); ++i)
-+      if (!sipCanConvertToType(PySequence_ITEM(sipPy, i), qpair_type, SIP_NOT_NONE))
-+        return 0;
-+
-+    return 1;
-+  }
-+
-+
-+  QVector< QPair<TYPE, TYPE> > *qv = new QVector< QPair<TYPE, TYPE> >;
-+
-+  for (int i = 0; i < PySequence_Size(sipPy); ++i)
-+  {
-+    int state;
-+    QPair<TYPE, TYPE> * p = reinterpret_cast< QPair<TYPE, TYPE> * >(sipConvertToType(PySequence_ITEM(sipPy, i), qpair_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
-+
-+    if (*sipIsErr)
-+    {
-+      sipReleaseType(p, qpair_type, state);
-+      delete qv;
-+      return 0;
-+    }
-+    qv->append(*p);
-+    sipReleaseType(p, qpair_type, state);
-+  }
-+
-+  *sipCppPtr = qv;
-+  return sipGetState(sipTransferObj);
-+%End
-+
-+};
-+
- 
- /* kate: indent-width 4; space-indent on; hl c++; indent-mode cstyle; */
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index e07f0441e2..c7a08cafa3 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -431,40 +431,26 @@ (define-public poppler-qt5
 (define-public python-poppler-qt5
   (package
     (name "python-poppler-qt5")
-    (version "21.1.0")
+    (version "21.3.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "python-poppler-qt5" version))
-        (sha256
-         (base32
-          "0b82gm4i75q5v19kfbq0h4y0b2vcwr2213zkhxh6l0h45kdndmxd"))
-       (patches (search-patches "python-poppler-qt5-fix-build.patch"))))
-    (build-system python-build-system)
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "python-poppler-qt5" version))
+       (sha256
+        (base32 "1q3gvmsmsq3llf9mcbhlkryrgprqrw2z7wmnvagy180f3y2fhxxl"))))
+    (build-system pyproject-build-system)
     (arguments
-     `(;; There are no tests.  The check phase just causes a rebuild.
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'build
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "setup.py"
-               ;; This check always fails, so disable it.
-               (("if not check_qtxml\\(\\)")
-                "if True"))
-             ;; We need to pass an extra flag here.  This cannot be in
-             ;; configure-flags because it should not be passed for the
-             ;; installation phase.
-             ((@@ (guix build python-build-system) call-setuppy)
-              "build_ext" (list (string-append "--pyqt-sip-dir="
-                                               (assoc-ref inputs "python-pyqt")
-                                               "/share/sip")) #t))))))
-    (native-inputs
-     (list pkg-config))
-    (inputs
-     (list python-sip-4 python-pyqt poppler-qt5 qtbase-5))
-    (home-page "https://pypi.org/project/python-poppler-qt5/")
-    (synopsis "Python bindings for Poppler-Qt5")
+     `(;; The sipbuild.api backend builder expects a Python dictionary as per
+       
+       ;; https://peps.python.org/pep-0517/#config-settings, but we
+       ;; give it lists and it fails.  The next line is a workaround.
+       #:configure-flags '#nil
+       #:tests? #f))
+    (native-inputs (list pkg-config))
+    (inputs (list python-sip python-pyqt-builder python-pyqt poppler-qt5
+                  qtbase-5))
+    (home-page "https://github.com/frescobaldi/python-poppler-qt5")
+    (synopsis "Python binding to Poppler-Qt5")
     (description
      "This package provides Python bindings for the Qt5 interface of the
 Poppler PDF rendering library.")
-- 
2.41.0





^ permalink raw reply related	[relevance 45%]

* [bug#68052] [PATCH v1 1/3] gnu: python-poppler-qt5: Update to 21.3.0.
  @ 2024-01-16  0:34 45% ` Marco Rimoldi via Guix-patches via
  0 siblings, 0 replies; 200+ results
From: Marco Rimoldi via Guix-patches via @ 2024-01-16  0:34 UTC (permalink / raw)
  To: 68052; +Cc: Marco Rimoldi

From: Marco Rimoldi <rimarko@libero.it>

* gnu/packages/pdf.scm (python-poppler-qt5): Update to 21.3.0.
[build-system]: Change to pyproject.
[inputs]: Change sip to sip-4.
* gnu/packages/patches/python-poppler-qt5-fix-build.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): De-register said patch.

Change-Id: I30d6e2a3180505091d8072ed452211b0bb3a0178
---
 gnu/local.mk                                  |   1 -
 .../python-poppler-qt5-fix-build.patch        | 116 ------------------
 gnu/packages/pdf.scm                          |  50 +++-----
 3 files changed, 18 insertions(+), 149 deletions(-)
 delete mode 100644 gnu/packages/patches/python-poppler-qt5-fix-build.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index d2e2843372..bd0d9b75ce 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1794,7 +1794,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-feedparser-missing-import.patch	\
   %D%/packages/patches/python-louvain-fix-test.patch		\
   %D%/packages/patches/python-random2-getrandbits-test.patch		\
-  %D%/packages/patches/python-poppler-qt5-fix-build.patch	\
   %D%/packages/patches/python-pyreadstat-link-libiconv.patch	\
   %D%/packages/patches/python-pypdf-annotate-tests-appropriately.patch	\
   %D%/packages/patches/python-pytorch2-system-libraries.patch	\
diff --git a/gnu/packages/patches/python-poppler-qt5-fix-build.patch b/gnu/packages/patches/python-poppler-qt5-fix-build.patch
deleted file mode 100644
index 099bb86d2f..0000000000
--- a/gnu/packages/patches/python-poppler-qt5-fix-build.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-Patch taken from the upstream repository
-https://github.com/frescobaldi/python-poppler-qt5/issues/43
-
-From 92e5962ec3751ab051d0b655fd61afc7a1cf709e Mon Sep 17 00:00:00 2001
-From: Ben Greiner <code@bnavigator.de>
-Date: Thu, 4 Mar 2021 17:02:51 +0100
-Subject: [PATCH] map type QVector< QPair<TYPE, TYPE> > for
- FormFieldChoice::choicesWithExportValues() (#45)
-
----
- types.sip | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 93 insertions(+)
-
-diff --git a/types.sip b/types.sip
-index 239b8c9..81cb283 100644
---- a/types.sip
-+++ b/types.sip
-@@ -331,5 +331,98 @@ template <TYPE>
- };
- 
- 
-+/**
-+ * Convert QVector< QPair<TYPE, TYPE> >
-+ * from and to a Python list of a 2-item tuple
-+ */
-+
-+template<TYPE>
-+%MappedType QVector< QPair<TYPE, TYPE> >
-+{
-+%TypeHeaderCode
-+#include <qvector.h>
-+#include <qpair.h>
-+%End
-+
-+%ConvertFromTypeCode
-+  // Create the list.
-+  PyObject *l;
-+
-+  if ((l = PyList_New(sipCpp->size())) == NULL)
-+      return NULL;
-+
-+  // Set the list elements.
-+  for (int i = 0; i < sipCpp->size(); ++i)
-+  {
-+    QPair<TYPE, TYPE>* p = new QPair<TYPE, TYPE>(sipCpp->at(i));
-+    PyObject *ptuple = PyTuple_New(2);
-+    PyObject *pfirst;
-+    PyObject *psecond;
-+
-+    TYPE *sfirst = new TYPE(p->first);
-+    if ((pfirst = sipConvertFromType(sfirst, sipType_TYPE, sipTransferObj)) == NULL)
-+    {
-+      Py_DECREF(l);
-+      Py_DECREF(ptuple);
-+      return NULL;
-+    }
-+    PyTuple_SET_ITEM(ptuple, 0, pfirst);
-+
-+    TYPE *ssecond = new TYPE(p->second);
-+    if ((psecond = sipConvertFromType(ssecond, sipType_TYPE, sipTransferObj)) == NULL)
-+    {
-+      Py_DECREF(l);
-+      Py_DECREF(ptuple);
-+      Py_DECREF(pfirst);
-+      return NULL;
-+    }
-+    PyTuple_SET_ITEM(ptuple, 1, psecond);
-+
-+    PyList_SET_ITEM(l, i, ptuple);
-+  }
-+
-+  return l;
-+%End
-+
-+%ConvertToTypeCode
-+  const sipTypeDef* qpair_type = sipFindType("QPair<TYPE, TYPE>");
-+
-+  // Check the type if that is all that is required.
-+  if (sipIsErr == NULL)
-+  {
-+    if (!PySequence_Check(sipPy))
-+      return 0;
-+
-+    for (int i = 0; i < PySequence_Size(sipPy); ++i)
-+      if (!sipCanConvertToType(PySequence_ITEM(sipPy, i), qpair_type, SIP_NOT_NONE))
-+        return 0;
-+
-+    return 1;
-+  }
-+
-+
-+  QVector< QPair<TYPE, TYPE> > *qv = new QVector< QPair<TYPE, TYPE> >;
-+
-+  for (int i = 0; i < PySequence_Size(sipPy); ++i)
-+  {
-+    int state;
-+    QPair<TYPE, TYPE> * p = reinterpret_cast< QPair<TYPE, TYPE> * >(sipConvertToType(PySequence_ITEM(sipPy, i), qpair_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
-+
-+    if (*sipIsErr)
-+    {
-+      sipReleaseType(p, qpair_type, state);
-+      delete qv;
-+      return 0;
-+    }
-+    qv->append(*p);
-+    sipReleaseType(p, qpair_type, state);
-+  }
-+
-+  *sipCppPtr = qv;
-+  return sipGetState(sipTransferObj);
-+%End
-+
-+};
-+
- 
- /* kate: indent-width 4; space-indent on; hl c++; indent-mode cstyle; */
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index e07f0441e2..c7a08cafa3 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -431,40 +431,26 @@ (define-public poppler-qt5
 (define-public python-poppler-qt5
   (package
     (name "python-poppler-qt5")
-    (version "21.1.0")
+    (version "21.3.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "python-poppler-qt5" version))
-        (sha256
-         (base32
-          "0b82gm4i75q5v19kfbq0h4y0b2vcwr2213zkhxh6l0h45kdndmxd"))
-       (patches (search-patches "python-poppler-qt5-fix-build.patch"))))
-    (build-system python-build-system)
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "python-poppler-qt5" version))
+       (sha256
+        (base32 "1q3gvmsmsq3llf9mcbhlkryrgprqrw2z7wmnvagy180f3y2fhxxl"))))
+    (build-system pyproject-build-system)
     (arguments
-     `(;; There are no tests.  The check phase just causes a rebuild.
-       #:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'build
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "setup.py"
-               ;; This check always fails, so disable it.
-               (("if not check_qtxml\\(\\)")
-                "if True"))
-             ;; We need to pass an extra flag here.  This cannot be in
-             ;; configure-flags because it should not be passed for the
-             ;; installation phase.
-             ((@@ (guix build python-build-system) call-setuppy)
-              "build_ext" (list (string-append "--pyqt-sip-dir="
-                                               (assoc-ref inputs "python-pyqt")
-                                               "/share/sip")) #t))))))
-    (native-inputs
-     (list pkg-config))
-    (inputs
-     (list python-sip-4 python-pyqt poppler-qt5 qtbase-5))
-    (home-page "https://pypi.org/project/python-poppler-qt5/")
-    (synopsis "Python bindings for Poppler-Qt5")
+     `(;; The sipbuild.api backend builder expects a Python dictionary as per
+       
+       ;; https://peps.python.org/pep-0517/#config-settings, but we
+       ;; give it lists and it fails.  The next line is a workaround.
+       #:configure-flags '#nil
+       #:tests? #f))
+    (native-inputs (list pkg-config))
+    (inputs (list python-sip python-pyqt-builder python-pyqt poppler-qt5
+                  qtbase-5))
+    (home-page "https://github.com/frescobaldi/python-poppler-qt5")
+    (synopsis "Python binding to Poppler-Qt5")
     (description
      "This package provides Python bindings for the Qt5 interface of the
 Poppler PDF rendering library.")
-- 
2.41.0





^ permalink raw reply related	[relevance 45%]

* [bug#68492] [PATCH] gnu: Add python-fastapi-pagination.
@ 2024-01-15 23:25 62% Giacomo Leidi via Guix-patches via
  2024-02-28 23:35 60% ` [bug#68492] [PATCH v2 1/2] gnu: Add python-fastapi-pagination-minimal Giacomo Leidi via Guix-patches via
  0 siblings, 1 reply; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-15 23:25 UTC (permalink / raw)
  To: 68492; +Cc: Giacomo Leidi

* gnu/packages/python-web.scm (python-fastapi-pagination): New variable.

Change-Id: I335d984607ebb954032dd4b1eedccf436584c59d
---
 gnu/packages/python-web.scm | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 418100c084..ecb546ca8e 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -39,7 +39,7 @@
 ;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
 ;;; Copyright © 2020, 2021, 2022, 2023 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
-;;; Copyright © 2020, 2022 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2020, 2022, 2024 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
 ;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
@@ -8663,6 +8663,35 @@ (define-public python-fastapi-csrf-protect
 pattern.")
     (license license:expat)))
 
+(define-public python-fastapi-pagination
+  (package
+    (name "python-fastapi-pagination")
+    (version "0.12.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/uriyyo/fastapi-pagination")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0qkcphjk1qy680v1hkmqbs4p7srvx020wy39b97anrn9dyyi5ah6"))))
+    (build-system pyproject-build-system)
+    (arguments
+     ;; Tests depend on python-cassandra
+     `(#:tests? #f))
+    (native-inputs
+     (list poetry))
+    (propagated-inputs (list python-fastapi
+                             python-pydantic))
+    (home-page "https://github.com/uriyyo/fastapi-pagination")
+    (synopsis "FastAPI pagination library")
+    (description "@code{fastapi-pagination} is a Python library designed to
+simplify pagination in FastAPI applications.  It provides a set of utility
+functions and data models to help you paginate your database queries and
+return paginated responses to your clients.")
+    (license license:expat)))
+
 (define-public python-pyactiveresource
   (package
     (name "python-pyactiveresource")

base-commit: 19db1551dc6f6180d2cda9084c2dec37bf4923c9
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#68490] [PATCH 2/2] gnu: Add python-apscheduler.
  @ 2024-01-15 22:44 60% ` Giacomo Leidi via Guix-patches via
  0 siblings, 0 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-15 22:44 UTC (permalink / raw)
  To: 68490; +Cc: Giacomo Leidi

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

Change-Id: Ib5964520a8d3c9c4711ba2ee4c5812241dc93423
---
 gnu/packages/python-xyz.scm | 39 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 38 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1ca5d7f8fd..33be56ddb2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -63,7 +63,7 @@
 ;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2019, 2020, 2021, 2022, 2023 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
-;;; Copyright © 2019-2021, 2023 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2019-2021, 2023, 2024 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
 ;;; Copyright © 2019, 2020, 2021, 2022 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2019, 2021-2023 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
@@ -27217,6 +27217,43 @@ (define-public python-crontab
 access the system cron automatically and simply using a direct API.")
     (license license:lgpl3+)))
 
+(define-public python-apscheduler
+  (package
+    (name "python-apscheduler")
+    (version "3.10.4")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "APScheduler" version))
+              (sha256
+               (base32
+                "0jpg9jyx95jafkq0hz6sx7r4l2z5gc599ivb9278kgnr4wdhgpz6"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-pytz
+                             python-six
+                             python-tzlocal))
+    (native-inputs (list python-mock
+                         python-twisted
+                         python-gevent
+                         python-setuptools-scm
+                         python-sqlalchemy
+                         python-setuptools
+                         python-pyside-6
+                         python-pytest
+                         python-pytest-asyncio
+                         python-pytest-cov
+                         python-pytest-tornado5))
+    (home-page "https://github.com/agronholm/apscheduler")
+    (synopsis "Task scheduling library for Python")
+    (description "Advanced Python Scheduler (APScheduler) is a Python library
+that lets you schedule your Python code to be executed later, either just once
+or periodically.
+
+You can add new jobs or remove old ones on the fly as you please.  If you store
+your jobs in a database, they will also survive scheduler restarts and maintain
+their state.  When the scheduler is restarted, it will then run all the jobs it
+should have run while it was offline.")
+    (license license:expat)))
+
 (define-public python-pylzma
   (package
     (name "python-pylzma")
-- 
2.41.0





^ permalink raw reply related	[relevance 60%]

* [bug#68491] [PATCH 2/2] gnu: Add python-apscheduler.
  @ 2024-01-15 22:49 60% ` Giacomo Leidi via Guix-patches via
  0 siblings, 0 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-15 22:49 UTC (permalink / raw)
  To: 68491; +Cc: Giacomo Leidi

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

Change-Id: Ib5964520a8d3c9c4711ba2ee4c5812241dc93423
---
 gnu/packages/python-xyz.scm | 39 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 38 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1ca5d7f8fd..33be56ddb2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -63,7 +63,7 @@
 ;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2019, 2020, 2021, 2022, 2023 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
-;;; Copyright © 2019-2021, 2023 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2019-2021, 2023, 2024 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
 ;;; Copyright © 2019, 2020, 2021, 2022 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2019, 2021-2023 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
@@ -27217,6 +27217,43 @@ (define-public python-crontab
 access the system cron automatically and simply using a direct API.")
     (license license:lgpl3+)))
 
+(define-public python-apscheduler
+  (package
+    (name "python-apscheduler")
+    (version "3.10.4")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "APScheduler" version))
+              (sha256
+               (base32
+                "0jpg9jyx95jafkq0hz6sx7r4l2z5gc599ivb9278kgnr4wdhgpz6"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-pytz
+                             python-six
+                             python-tzlocal))
+    (native-inputs (list python-mock
+                         python-twisted
+                         python-gevent
+                         python-setuptools-scm
+                         python-sqlalchemy
+                         python-setuptools
+                         python-pyside-6
+                         python-pytest
+                         python-pytest-asyncio
+                         python-pytest-cov
+                         python-pytest-tornado5))
+    (home-page "https://github.com/agronholm/apscheduler")
+    (synopsis "Task scheduling library for Python")
+    (description "Advanced Python Scheduler (APScheduler) is a Python library
+that lets you schedule your Python code to be executed later, either just once
+or periodically.
+
+You can add new jobs or remove old ones on the fly as you please.  If you store
+your jobs in a database, they will also survive scheduler restarts and maintain
+their state.  When the scheduler is restarted, it will then run all the jobs it
+should have run while it was offline.")
+    (license license:expat)))
+
 (define-public python-pylzma
   (package
     (name "python-pylzma")
-- 
2.41.0





^ permalink raw reply related	[relevance 60%]

* [bug#66886] [PATCH v4 3/6] gnu: python-rich: Update to 13.7.0.
  2024-01-14 23:59 65% ` [bug#66886] [PATCH v4 1/6] gnu: Add python-pygments-2.16 Giacomo Leidi via Guix-patches via
  2024-01-14 23:59 62%   ` [bug#66886] [PATCH v4 2/6] gnu: python-markdown-it-py: Update to 3.0.0 Giacomo Leidi via Guix-patches via
@ 2024-01-14 23:59 70%   ` Giacomo Leidi via Guix-patches via
  2024-01-14 23:59 63%   ` [bug#66886] [PATCH v4 4/6] gnu: python-jupytext: Update to 1.15.2 Giacomo Leidi via Guix-patches via
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-14 23:59 UTC (permalink / raw)
  To: 66886; +Cc: Giacomo Leidi

* gnu/packages/bioinformatics.scm (multiqc)[propagated-inputs]: Use
python-rich-12.4.

* gnu/packages/python-xyz.scm (python-rich): Update to 13.7.0;
[source]: switch to git-origin to have tests;
[build-system]: switch to pyproject-build-system;
[arguments]: remove it since this boilerplate is now handled by the
pyproject-build-system;
[propagated-inputs]: remove python-colorama as it's not listed on
pyproject.toml;
replace python-commonmark with python-markdown-it-py;
use python-pygments-2.16;
move python-attrs from here...;
[native-inputs]: ...to here;
drop "tests" input;
add python-pytest-cov;
[home-page]: https://github.com/willmcgugan/rich now redirects to
https://github.com/Textualize/rich ;
(python-rich-12.4): new variable;
(pelican)[propagated-inputs]: use python-pygments-2.16.

* gnu/packages/python-web.scm (httpie)[propagated-inputs]: Use
python-pygments-2.16.

Change-Id: I16ea6f27d24f84d86db659c224705c81fac3b42e
---
 gnu/packages/bioinformatics.scm |  2 +-
 gnu/packages/python-web.scm     |  2 +-
 gnu/packages/python-xyz.scm     | 64 ++++++++++++++++-----------------
 3 files changed, 33 insertions(+), 35 deletions(-)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index f75254ed9f..60d0dc6f8f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -12512,7 +12512,7 @@ (define-public multiqc
            python-numpy
            python-pyyaml
            python-requests
-           python-rich
+           python-rich-12.4
            python-rich-click
            python-simplejson
            python-spectra))
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 567b01f396..74ec405a94 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1208,7 +1208,7 @@ (define-public httpie
      '(#:tests? #f))
     (propagated-inputs
      (list python-colorama
-           python-pygments
+           python-pygments-2.16
            python-requests
            python-requests-toolbelt
            python-pysocks
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a0ad12a29f..cef458e0fc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7205,7 +7205,7 @@ (define-public pelican
            python-feedgenerator
            python-jinja2
            python-markdown
-           python-pygments
+           python-pygments-2.16
            python-pytz
            python-rich
            python-unidecode))
@@ -18585,49 +18585,47 @@ (define-public python-slugid
 (define-public python-rich
   (package
     (name "python-rich")
-    (version "12.4.1")
+    (version "13.7.0")
     (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "rich" version))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Textualize/rich")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "149vjb4cpf9mz14iig0b6d8065dm8aslp6pc45g9ipmp1wf00ffj"))))
-    (build-system python-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda* (#:key inputs tests? #:allow-other-keys)
-             (when tests?
-               (copy-recursively (string-append
-                                  (assoc-ref inputs "tests") "/tests")
-                                 "tests")
-               (invoke "python" "-m" "pytest" "-vv")))))))
+                "0qyhw2vvk17qdmfrmi45z4dd0fkwx3l2qrf3iy0yc2y7pfgrmg9g"))))
+    (build-system pyproject-build-system)
     (propagated-inputs
-     (list python-attrs python-colorama python-commonmark python-pygments
-           python-typing-extensions))
+     (list python-markdown-it-py python-pygments-2.16 python-typing-extensions))
     (native-inputs
-     `(("python-pytest" ,python-pytest)
-       ("tests"
-        ;; The release on pypi comes without tests.  We can't build from this
-        ;; checkout, though, because installation requires an invocation of
-        ;; poetry.
-        ,(origin
-           (method git-fetch)
-           (uri (git-reference
-                 (url "https://github.com/willmcgugan/rich")
-                 (commit (string-append "v" version))))
-           (file-name (git-file-name name version))
-           (sha256
-            (base32
-             "17c3gljn8zv32xnpsgd3fqgqn4r7cdfqri41hridcpbhssdgkyp9"))))))
-    (home-page "https://github.com/willmcgugan/rich")
+     (list poetry python-attr python-pytest python-pytest-cov))
+    (home-page "https://github.com/Textualize/rich")
     (synopsis "Render rich text and more to the terminal")
     (description
      "This is a Python package for rendering rich text, tables, progress bars,
 syntax highlighting, markdown and more to the terminal.")
     (license license:expat)))
 
+(define-public python-rich-12.4
+  (package
+    (inherit python-rich)
+    (version "12.4.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Textualize/rich")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "python-rich" version))
+              (sha256
+               (base32
+                "17c3gljn8zv32xnpsgd3fqgqn4r7cdfqri41hridcpbhssdgkyp9"))))
+    (propagated-inputs
+     (list python-colorama
+           python-commonmark
+           python-pygments
+           python-typing-extensions))))
+
 (define-public python-rich-click
   (package
     (name "python-rich-click")
-- 
2.41.0





^ permalink raw reply related	[relevance 70%]

* [bug#66886] [PATCH v4 5/6] gnu: python-mdit-py-plugins: Update to 0.4.0.
  2024-01-14 23:59 65% ` [bug#66886] [PATCH v4 1/6] gnu: Add python-pygments-2.16 Giacomo Leidi via Guix-patches via
                     ` (2 preceding siblings ...)
  2024-01-14 23:59 63%   ` [bug#66886] [PATCH v4 4/6] gnu: python-jupytext: Update to 1.15.2 Giacomo Leidi via Guix-patches via
@ 2024-01-14 23:59 60%   ` Giacomo Leidi via Guix-patches via
  2024-01-14 23:59 57%   ` [bug#66886] [PATCH v4 6/6] gnu: python-textual: Update to 0.47.1 Giacomo Leidi via Guix-patches via
  4 siblings, 0 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-14 23:59 UTC (permalink / raw)
  To: 66886; +Cc: Giacomo Leidi

* gnu/packages/python-xyz.scm (python-mdit-py-plugins): Update to 0.4.0;
(python-mdit-py-plugins-0.3): new variable.

* gnu/packages/python-xyz.scm (python-myst-parser)[propagated-inputs]:
Use python-mdit-py-plugins-0.3.

Change-Id: I06ddbee6055b570ee2d40f3e4f0a478a4413b4fe
---
 gnu/packages/python-xyz.scm | 21 +++++++++++++++++++--
 gnu/packages/sphinx.scm     |  2 +-
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b4b95637c7..e2013a3995 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -906,7 +906,7 @@ (define-public python-lunr
 (define-public python-mdit-py-plugins
   (package
     (name "python-mdit-py-plugins")
-    (version "0.3.1")
+    (version "0.4.0")
     (source (origin
               (method git-fetch)        ;for tests
               (uri (git-reference
@@ -915,7 +915,7 @@ (define-public python-mdit-py-plugins
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "00ybbfb6dzn9q5qnvnm8bmhd84s215ik7pcdb4r35zhwiv2ikizz"))))
+                "1790fcf3nd9c5j37fx87x3ivfyihk6l74jxj1qxvw3qfyb96w4k0"))))
     (build-system pyproject-build-system)
     (propagated-inputs
      (list python-markdown-it-py
@@ -943,6 +943,23 @@ (define-public python-mdit-py-plugins
 @end enumerate")
     (license license:expat)))
 
+(define-public python-mdit-py-plugins-0.3
+  (package
+    (inherit python-mdit-py-plugins)
+    (version "0.3.1")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/executablebooks/mdit-py-plugins")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "python-mdit-py-plugins" version))
+              (sha256
+               (base32
+                "00ybbfb6dzn9q5qnvnm8bmhd84s215ik7pcdb4r35zhwiv2ikizz"))))
+        (propagated-inputs
+         (modify-inputs (package-propagated-inputs python-mdit-py-plugins)
+           (replace "python-markdown-it-py" python-markdown-it-py-2.1)))))
+
 (define-public python-mdurl
   (package
     (name "python-mdurl")
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 89196086f2..40a65e45b5 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -794,7 +794,7 @@ (define-public python-myst-parser
            python-linkify-it-py
            python-markdown-it-py-2.1
            python-linkify-it-py
-           python-mdit-py-plugins
+           python-mdit-py-plugins-0.3
            python-pyyaml
            python-sphinx
            python-typing-extensions))
-- 
2.41.0





^ permalink raw reply related	[relevance 60%]

* [bug#66886] [PATCH v4 6/6] gnu: python-textual: Update to 0.47.1.
  2024-01-14 23:59 65% ` [bug#66886] [PATCH v4 1/6] gnu: Add python-pygments-2.16 Giacomo Leidi via Guix-patches via
                     ` (3 preceding siblings ...)
  2024-01-14 23:59 60%   ` [bug#66886] [PATCH v4 5/6] gnu: python-mdit-py-plugins: Update to 0.4.0 Giacomo Leidi via Guix-patches via
@ 2024-01-14 23:59 57%   ` Giacomo Leidi via Guix-patches via
  4 siblings, 0 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-14 23:59 UTC (permalink / raw)
  To: 66886; +Cc: Giacomo Leidi

* gnu/packages/python-xyz.scm (python-textual): Update to 0.47.1;
[source]: switch to git-origin;
[build-system]: switch to pyproject-build-system;
[arguments]<test-flags>: disable failing tests;
<phases>: use check phase from pyproject-build-system and adapt build
machinery to our old version of poetry;
[propagated-inputs]: adapt to pyproject.toml;
[native-inputs] add poetry and python-pytest-asyncio.

Change-Id: I1060b25cb2ec439f26a4348305bc05fd0b09cf07
---
 gnu/packages/python-xyz.scm | 58 ++++++++++++++++++++++---------------
 1 file changed, 34 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e2013a3995..997b40172e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18665,20 +18665,8 @@ (define-public python-rich-click
 (define-public python-textual
   (package
     (name "python-textual")
-    (version "0.1.18")
+    (version "0.47.1")
     (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "textual" version))
-              (sha256
-               (base32
-                "08yg5a51hz1axfj5hx28hx31gq5apcj6vpkkmawmiplisa73z25j"))))
-    (build-system python-build-system)
-    (arguments
-     (let ((tests
-            ;; The release on pypi comes without tests.  We can't build
-            ;; from this checkout, though, because installation requires
-            ;; an invocation of poetry.
-            (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/Textualize/textual")
@@ -18686,19 +18674,41 @@ (define-public python-textual
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0b3ycwqhp21mg9fvmadgxhgbvkwq6fd784l2xcmvy77rravrnnax")))))
-       (list #:phases
-             #~(modify-phases %standard-phases
-                 (replace 'check
-                   (lambda* (#:key tests? #:allow-other-keys)
-                     (when tests?
-                       (copy-recursively #$(file-append tests "/tests")
-                                         "tests")
-                       (invoke "python" "-m" "pytest" "-vv"))))))))
+                "1984v02n2wa7rqgq0f0mkma8fd0nnnbgfwcwgmpsd8xl1wlrjmj4"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      ;; 3 failed, 1932 passed, 1 skipped, 4 xfailed, 10 warnings in 115.19s (0:01:55)
+      #:test-flags
+      #~'("-k"
+          ;; this test fails because of an AssertionError:
+          ;; assert app.devtools is not None
+          #$(string-append "not test_textual_env_var"
+                           ;; these tests require python-tresitter-languages
+                           " and not test_register_language"
+                           " and not test_register_language_existing_language"))
+      #:phases #~(modify-phases %standard-phases
+                   ;; TODO: This is because of our old version of poetry.
+                   ;; It can be removed once it's been updated to a current one.
+                   (add-after 'unpack 'adapt-pyproject.toml
+                     (lambda _
+                       (substitute* "pyproject.toml"
+                         (("group\\.dev\\.") "dev-"))))
+                   ;; snapshot tests require syrupy
+                   (add-after 'adapt-pyproject.toml 'remove-snapshot-tests
+                     (lambda _
+                       (delete-file "tests/snapshot_tests/test_snapshots.py"))))))
     (propagated-inputs
-     (list python-rich python-typing-extensions))
+     (list python-importlib-metadata
+           python-linkify-it-py
+           python-markdown-it-py
+           python-mdit-py-plugins
+           python-rich
+           python-typing-extensions))
     (native-inputs
-     (list python-pytest))
+     (list poetry
+           python-pytest
+           python-pytest-asyncio))
     (home-page "https://github.com/Textualize/textual")
     (synopsis "Build text user interfaces in Python")
     (description "Textual is a @acronym{TUI, Text User Interface} framework
-- 
2.41.0





^ permalink raw reply related	[relevance 57%]

* [bug#66886] [PATCH v4 4/6] gnu: python-jupytext: Update to 1.15.2.
  2024-01-14 23:59 65% ` [bug#66886] [PATCH v4 1/6] gnu: Add python-pygments-2.16 Giacomo Leidi via Guix-patches via
  2024-01-14 23:59 62%   ` [bug#66886] [PATCH v4 2/6] gnu: python-markdown-it-py: Update to 3.0.0 Giacomo Leidi via Guix-patches via
  2024-01-14 23:59 70%   ` [bug#66886] [PATCH v4 3/6] gnu: python-rich: Update to 13.7.0 Giacomo Leidi via Guix-patches via
@ 2024-01-14 23:59 63%   ` Giacomo Leidi via Guix-patches via
  2024-01-14 23:59 60%   ` [bug#66886] [PATCH v4 5/6] gnu: python-mdit-py-plugins: Update to 0.4.0 Giacomo Leidi via Guix-patches via
  2024-01-14 23:59 57%   ` [bug#66886] [PATCH v4 6/6] gnu: python-textual: Update to 0.47.1 Giacomo Leidi via Guix-patches via
  4 siblings, 0 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-14 23:59 UTC (permalink / raw)
  To: 66886; +Cc: Giacomo Leidi

* gnu/packages/python-xyz.scm (python-jupytext): Update to 1.15.2;
[build-system]: switch to pyproject-build-system;
[arguments]<phases>: add setup-test-environment phase, use check phase
from build system and move test flags from here...
<test-flags>: ... to here.

Change-Id: Iaec4090823715230e26865d4639871fb7c565802
---
 gnu/packages/python-xyz.scm | 26 +++++++++++---------------
 1 file changed, 11 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index cef458e0fc..b4b95637c7 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -336,7 +336,7 @@ (define-public python-janus
 (define-public python-jupytext
   (package
     (name "python-jupytext")
-    (version "1.14.4")
+    (version "1.15.2")
     (source
      (origin
        (method git-fetch)
@@ -345,27 +345,23 @@ (define-public python-jupytext
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "19d443vx597zzxna09qpync9iic3mris80bwm3kd8xaxaq0zq9w4"))))
-    (build-system python-build-system)
+        (base32 "0zi2b2g9b2dkzl69li5rwc17pdcxj8cxzlysd8s6jqbcc37jiwqs"))))
+    (build-system pyproject-build-system)
     (arguments
      (list
+      #:test-flags
+      #~'("-k" #$(string-join (list "not test_create_header_with_set_formats"
+                                    "test_pre_commit_hook"
+                                    "test_sync_with_pre_commit_hook")
+                              " and not "))
       #:phases
       #~(modify-phases %standard-phases
-          (replace 'check
-            (lambda* (#:key tests? #:allow-other-keys)
+          (add-before 'check 'setup-test-environment
+            (lambda _
               ;; some tests fail when HOME=/homeless-shelter.
               (setenv "HOME" "/tmp")
               ;; OSError: [Errno 18] Invalid cross-device link
-              (setenv "TMPDIR" "/tmp")
-              (when tests?
-                (let ((disabled-tests
-                       (list "test_create_header_with_set_formats"
-                             "test_pre_commit_hook"
-                             "test_sync_with_pre_commit_hook")))
-                  (invoke "pytest" "-vv" "-k"
-                          (string-append "not "
-                                         (string-join disabled-tests
-                                                      " and not "))))))))))
+              (setenv "TMPDIR" "/tmp"))))))
     (native-inputs
      (list git-minimal
            pre-commit
-- 
2.41.0





^ permalink raw reply related	[relevance 63%]

* [bug#66886] [PATCH v4 2/6] gnu: python-markdown-it-py: Update to 3.0.0.
  2024-01-14 23:59 65% ` [bug#66886] [PATCH v4 1/6] gnu: Add python-pygments-2.16 Giacomo Leidi via Guix-patches via
@ 2024-01-14 23:59 62%   ` Giacomo Leidi via Guix-patches via
  2024-01-14 23:59 70%   ` [bug#66886] [PATCH v4 3/6] gnu: python-rich: Update to 13.7.0 Giacomo Leidi via Guix-patches via
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-14 23:59 UTC (permalink / raw)
  To: 66886; +Cc: Giacomo Leidi

* gnu/packages/python-xyz.scm (python-markdown-it-py): Update to 3.0.0;
(python-markdown-it-py-2.1): new variable.

* gnu/packages/sphinx.scm (python-myst-parser)[propagated-inputs]:
Use python-markdown-it-py-2.1.

Change-Id: I009ad2fd7cd314e2073621f2cbe00ff97cb7e63c
---
 gnu/packages/python-xyz.scm | 15 +++++++++++++--
 gnu/packages/sphinx.scm     |  2 +-
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5f159c39d1..a0ad12a29f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5502,13 +5502,13 @@ (define-public python-makefun
 (define-public python-markdown-it-py
   (package
     (name "python-markdown-it-py")
-    (version "2.1.0")
+    (version "3.0.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "markdown-it-py" version))
               (sha256
                (base32
-                "1nh75i72584r70alhqc479gys04s5m5g3vq601yf2njbs7z5jzng"))))
+                "1swgvyiavak0nmfb31lq5zck5chwhmyf6qb6qwpcav86zaa0mxp3"))))
     (build-system pyproject-build-system)
     (arguments (list #:tests? #f))      ;pypi source does not contains tests
     (native-inputs (list python-flit))
@@ -5524,6 +5524,17 @@ (define-public python-markdown-it-py
 possible.")
     (license license:expat)))
 
+(define-public python-markdown-it-py-2.1
+  (package
+    (inherit python-markdown-it-py)
+    (version "2.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "markdown-it-py" version))
+              (sha256
+               (base32
+                "1nh75i72584r70alhqc479gys04s5m5g3vq601yf2njbs7z5jzng"))))))
+
 (define-public python-markupsafe
   (package
     (name "python-markupsafe")
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 7e5a929241..89196086f2 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -792,7 +792,7 @@ (define-public python-myst-parser
      (list python-docutils
            python-jinja2
            python-linkify-it-py
-           python-markdown-it-py
+           python-markdown-it-py-2.1
            python-linkify-it-py
            python-mdit-py-plugins
            python-pyyaml
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#66886] [PATCH v4 1/6] gnu: Add python-pygments-2.16.
  @ 2024-01-14 23:59 65% ` Giacomo Leidi via Guix-patches via
  2024-01-14 23:59 62%   ` [bug#66886] [PATCH v4 2/6] gnu: python-markdown-it-py: Update to 3.0.0 Giacomo Leidi via Guix-patches via
                     ` (4 more replies)
  0 siblings, 5 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-14 23:59 UTC (permalink / raw)
  To: 66886; +Cc: Giacomo Leidi

This patch has also been sent to the python-team branch with bug #66884.

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

Change-Id: I863fc1aaea9930991b6f92643befbde7ba1a335c
---
 gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 37d7dd0dd5..5f159c39d1 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6202,6 +6202,27 @@ (define-public python-pygments
      "Pygments is a syntax highlighting package written in Python.")
     (license license:bsd-2)))
 
+(define-public python-pygments-2.16
+  (package
+    (inherit python-pygments)
+    (version "2.16.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "Pygments" version))
+       (sha256
+        (base32
+         "0abfx7n0mgpxk05f2kini3p78wsp1yi7lh0yjk49pii0914z1bqx"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      ;; Some tests require sphinx, which depends on this, so we only run
+      ;; basic tests.
+      '(list "--ignore-glob=tests/*/*")))
+    (native-inputs
+     (list python-pytest))))
+
 (define-public python-pygments-github-lexers
   (package
     (name "python-pygments-github-lexers")

base-commit: bcc9cd1aaeb53c323b199623de4fafe8594d1a95
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#68459] [PATCH v4 3/6] gnu: python-rich: Update to 13.7.0.
  2024-01-14 23:56 65% [bug#68456] [PATCH v4 1/6] gnu: Add python-pygments-2.16 Giacomo Leidi via Guix-patches via
  2024-01-14 23:56 62% ` [bug#68460] [PATCH v4 2/6] gnu: python-markdown-it-py: Update to 3.0.0 Giacomo Leidi via Guix-patches via
@ 2024-01-14 23:56 70% ` Giacomo Leidi via Guix-patches via
  2024-01-14 23:56 63% ` [bug#68457] [PATCH v4 4/6] gnu: python-jupytext: Update to 1.15.2 Giacomo Leidi via Guix-patches via
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-14 23:56 UTC (permalink / raw)
  To: 68459; +Cc: Giacomo Leidi

* gnu/packages/bioinformatics.scm (multiqc)[propagated-inputs]: Use
python-rich-12.4.

* gnu/packages/python-xyz.scm (python-rich): Update to 13.7.0;
[source]: switch to git-origin to have tests;
[build-system]: switch to pyproject-build-system;
[arguments]: remove it since this boilerplate is now handled by the
pyproject-build-system;
[propagated-inputs]: remove python-colorama as it's not listed on
pyproject.toml;
replace python-commonmark with python-markdown-it-py;
use python-pygments-2.16;
move python-attrs from here...;
[native-inputs]: ...to here;
drop "tests" input;
add python-pytest-cov;
[home-page]: https://github.com/willmcgugan/rich now redirects to
https://github.com/Textualize/rich ;
(python-rich-12.4): new variable;
(pelican)[propagated-inputs]: use python-pygments-2.16.

* gnu/packages/python-web.scm (httpie)[propagated-inputs]: Use
python-pygments-2.16.

Change-Id: I16ea6f27d24f84d86db659c224705c81fac3b42e
---
 gnu/packages/bioinformatics.scm |  2 +-
 gnu/packages/python-web.scm     |  2 +-
 gnu/packages/python-xyz.scm     | 64 ++++++++++++++++-----------------
 3 files changed, 33 insertions(+), 35 deletions(-)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index f75254ed9f..60d0dc6f8f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -12512,7 +12512,7 @@ (define-public multiqc
            python-numpy
            python-pyyaml
            python-requests
-           python-rich
+           python-rich-12.4
            python-rich-click
            python-simplejson
            python-spectra))
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 567b01f396..74ec405a94 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1208,7 +1208,7 @@ (define-public httpie
      '(#:tests? #f))
     (propagated-inputs
      (list python-colorama
-           python-pygments
+           python-pygments-2.16
            python-requests
            python-requests-toolbelt
            python-pysocks
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a0ad12a29f..cef458e0fc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7205,7 +7205,7 @@ (define-public pelican
            python-feedgenerator
            python-jinja2
            python-markdown
-           python-pygments
+           python-pygments-2.16
            python-pytz
            python-rich
            python-unidecode))
@@ -18585,49 +18585,47 @@ (define-public python-slugid
 (define-public python-rich
   (package
     (name "python-rich")
-    (version "12.4.1")
+    (version "13.7.0")
     (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "rich" version))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Textualize/rich")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "149vjb4cpf9mz14iig0b6d8065dm8aslp6pc45g9ipmp1wf00ffj"))))
-    (build-system python-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda* (#:key inputs tests? #:allow-other-keys)
-             (when tests?
-               (copy-recursively (string-append
-                                  (assoc-ref inputs "tests") "/tests")
-                                 "tests")
-               (invoke "python" "-m" "pytest" "-vv")))))))
+                "0qyhw2vvk17qdmfrmi45z4dd0fkwx3l2qrf3iy0yc2y7pfgrmg9g"))))
+    (build-system pyproject-build-system)
     (propagated-inputs
-     (list python-attrs python-colorama python-commonmark python-pygments
-           python-typing-extensions))
+     (list python-markdown-it-py python-pygments-2.16 python-typing-extensions))
     (native-inputs
-     `(("python-pytest" ,python-pytest)
-       ("tests"
-        ;; The release on pypi comes without tests.  We can't build from this
-        ;; checkout, though, because installation requires an invocation of
-        ;; poetry.
-        ,(origin
-           (method git-fetch)
-           (uri (git-reference
-                 (url "https://github.com/willmcgugan/rich")
-                 (commit (string-append "v" version))))
-           (file-name (git-file-name name version))
-           (sha256
-            (base32
-             "17c3gljn8zv32xnpsgd3fqgqn4r7cdfqri41hridcpbhssdgkyp9"))))))
-    (home-page "https://github.com/willmcgugan/rich")
+     (list poetry python-attr python-pytest python-pytest-cov))
+    (home-page "https://github.com/Textualize/rich")
     (synopsis "Render rich text and more to the terminal")
     (description
      "This is a Python package for rendering rich text, tables, progress bars,
 syntax highlighting, markdown and more to the terminal.")
     (license license:expat)))
 
+(define-public python-rich-12.4
+  (package
+    (inherit python-rich)
+    (version "12.4.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Textualize/rich")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "python-rich" version))
+              (sha256
+               (base32
+                "17c3gljn8zv32xnpsgd3fqgqn4r7cdfqri41hridcpbhssdgkyp9"))))
+    (propagated-inputs
+     (list python-colorama
+           python-commonmark
+           python-pygments
+           python-typing-extensions))))
+
 (define-public python-rich-click
   (package
     (name "python-rich-click")
-- 
2.41.0





^ permalink raw reply related	[relevance 70%]

* [bug#68457] [PATCH v4 4/6] gnu: python-jupytext: Update to 1.15.2.
  2024-01-14 23:56 65% [bug#68456] [PATCH v4 1/6] gnu: Add python-pygments-2.16 Giacomo Leidi via Guix-patches via
  2024-01-14 23:56 62% ` [bug#68460] [PATCH v4 2/6] gnu: python-markdown-it-py: Update to 3.0.0 Giacomo Leidi via Guix-patches via
  2024-01-14 23:56 70% ` [bug#68459] [PATCH v4 3/6] gnu: python-rich: Update to 13.7.0 Giacomo Leidi via Guix-patches via
@ 2024-01-14 23:56 63% ` Giacomo Leidi via Guix-patches via
  2024-01-14 23:56 60% ` [bug#68458] [PATCH v4 5/6] gnu: python-mdit-py-plugins: Update to 0.4.0 Giacomo Leidi via Guix-patches via
  2024-01-14 23:56 57% ` [bug#68461] [PATCH v4 6/6] gnu: python-textual: Update to 0.47.1 Giacomo Leidi via Guix-patches via
  4 siblings, 0 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-14 23:56 UTC (permalink / raw)
  To: 68457; +Cc: Giacomo Leidi

* gnu/packages/python-xyz.scm (python-jupytext): Update to 1.15.2;
[build-system]: switch to pyproject-build-system;
[arguments]<phases>: add setup-test-environment phase, use check phase
from build system and move test flags from here...
<test-flags>: ... to here.

Change-Id: Iaec4090823715230e26865d4639871fb7c565802
---
 gnu/packages/python-xyz.scm | 26 +++++++++++---------------
 1 file changed, 11 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index cef458e0fc..b4b95637c7 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -336,7 +336,7 @@ (define-public python-janus
 (define-public python-jupytext
   (package
     (name "python-jupytext")
-    (version "1.14.4")
+    (version "1.15.2")
     (source
      (origin
        (method git-fetch)
@@ -345,27 +345,23 @@ (define-public python-jupytext
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "19d443vx597zzxna09qpync9iic3mris80bwm3kd8xaxaq0zq9w4"))))
-    (build-system python-build-system)
+        (base32 "0zi2b2g9b2dkzl69li5rwc17pdcxj8cxzlysd8s6jqbcc37jiwqs"))))
+    (build-system pyproject-build-system)
     (arguments
      (list
+      #:test-flags
+      #~'("-k" #$(string-join (list "not test_create_header_with_set_formats"
+                                    "test_pre_commit_hook"
+                                    "test_sync_with_pre_commit_hook")
+                              " and not "))
       #:phases
       #~(modify-phases %standard-phases
-          (replace 'check
-            (lambda* (#:key tests? #:allow-other-keys)
+          (add-before 'check 'setup-test-environment
+            (lambda _
               ;; some tests fail when HOME=/homeless-shelter.
               (setenv "HOME" "/tmp")
               ;; OSError: [Errno 18] Invalid cross-device link
-              (setenv "TMPDIR" "/tmp")
-              (when tests?
-                (let ((disabled-tests
-                       (list "test_create_header_with_set_formats"
-                             "test_pre_commit_hook"
-                             "test_sync_with_pre_commit_hook")))
-                  (invoke "pytest" "-vv" "-k"
-                          (string-append "not "
-                                         (string-join disabled-tests
-                                                      " and not "))))))))))
+              (setenv "TMPDIR" "/tmp"))))))
     (native-inputs
      (list git-minimal
            pre-commit
-- 
2.41.0





^ permalink raw reply related	[relevance 63%]

* [bug#68460] [PATCH v4 2/6] gnu: python-markdown-it-py: Update to 3.0.0.
  2024-01-14 23:56 65% [bug#68456] [PATCH v4 1/6] gnu: Add python-pygments-2.16 Giacomo Leidi via Guix-patches via
@ 2024-01-14 23:56 62% ` Giacomo Leidi via Guix-patches via
  2024-01-14 23:56 70% ` [bug#68459] [PATCH v4 3/6] gnu: python-rich: Update to 13.7.0 Giacomo Leidi via Guix-patches via
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-14 23:56 UTC (permalink / raw)
  To: 68460; +Cc: Giacomo Leidi

* gnu/packages/python-xyz.scm (python-markdown-it-py): Update to 3.0.0;
(python-markdown-it-py-2.1): new variable.

* gnu/packages/sphinx.scm (python-myst-parser)[propagated-inputs]:
Use python-markdown-it-py-2.1.

Change-Id: I009ad2fd7cd314e2073621f2cbe00ff97cb7e63c
---
 gnu/packages/python-xyz.scm | 15 +++++++++++++--
 gnu/packages/sphinx.scm     |  2 +-
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5f159c39d1..a0ad12a29f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5502,13 +5502,13 @@ (define-public python-makefun
 (define-public python-markdown-it-py
   (package
     (name "python-markdown-it-py")
-    (version "2.1.0")
+    (version "3.0.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "markdown-it-py" version))
               (sha256
                (base32
-                "1nh75i72584r70alhqc479gys04s5m5g3vq601yf2njbs7z5jzng"))))
+                "1swgvyiavak0nmfb31lq5zck5chwhmyf6qb6qwpcav86zaa0mxp3"))))
     (build-system pyproject-build-system)
     (arguments (list #:tests? #f))      ;pypi source does not contains tests
     (native-inputs (list python-flit))
@@ -5524,6 +5524,17 @@ (define-public python-markdown-it-py
 possible.")
     (license license:expat)))
 
+(define-public python-markdown-it-py-2.1
+  (package
+    (inherit python-markdown-it-py)
+    (version "2.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "markdown-it-py" version))
+              (sha256
+               (base32
+                "1nh75i72584r70alhqc479gys04s5m5g3vq601yf2njbs7z5jzng"))))))
+
 (define-public python-markupsafe
   (package
     (name "python-markupsafe")
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 7e5a929241..89196086f2 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -792,7 +792,7 @@ (define-public python-myst-parser
      (list python-docutils
            python-jinja2
            python-linkify-it-py
-           python-markdown-it-py
+           python-markdown-it-py-2.1
            python-linkify-it-py
            python-mdit-py-plugins
            python-pyyaml
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#68461] [PATCH v4 6/6] gnu: python-textual: Update to 0.47.1.
  2024-01-14 23:56 65% [bug#68456] [PATCH v4 1/6] gnu: Add python-pygments-2.16 Giacomo Leidi via Guix-patches via
                   ` (3 preceding siblings ...)
  2024-01-14 23:56 60% ` [bug#68458] [PATCH v4 5/6] gnu: python-mdit-py-plugins: Update to 0.4.0 Giacomo Leidi via Guix-patches via
@ 2024-01-14 23:56 57% ` Giacomo Leidi via Guix-patches via
  4 siblings, 0 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-14 23:56 UTC (permalink / raw)
  To: 68461; +Cc: Giacomo Leidi

* gnu/packages/python-xyz.scm (python-textual): Update to 0.47.1;
[source]: switch to git-origin;
[build-system]: switch to pyproject-build-system;
[arguments]<test-flags>: disable failing tests;
<phases>: use check phase from pyproject-build-system and adapt build
machinery to our old version of poetry;
[propagated-inputs]: adapt to pyproject.toml;
[native-inputs] add poetry and python-pytest-asyncio.

Change-Id: I1060b25cb2ec439f26a4348305bc05fd0b09cf07
---
 gnu/packages/python-xyz.scm | 58 ++++++++++++++++++++++---------------
 1 file changed, 34 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e2013a3995..997b40172e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18665,20 +18665,8 @@ (define-public python-rich-click
 (define-public python-textual
   (package
     (name "python-textual")
-    (version "0.1.18")
+    (version "0.47.1")
     (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "textual" version))
-              (sha256
-               (base32
-                "08yg5a51hz1axfj5hx28hx31gq5apcj6vpkkmawmiplisa73z25j"))))
-    (build-system python-build-system)
-    (arguments
-     (let ((tests
-            ;; The release on pypi comes without tests.  We can't build
-            ;; from this checkout, though, because installation requires
-            ;; an invocation of poetry.
-            (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/Textualize/textual")
@@ -18686,19 +18674,41 @@ (define-public python-textual
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0b3ycwqhp21mg9fvmadgxhgbvkwq6fd784l2xcmvy77rravrnnax")))))
-       (list #:phases
-             #~(modify-phases %standard-phases
-                 (replace 'check
-                   (lambda* (#:key tests? #:allow-other-keys)
-                     (when tests?
-                       (copy-recursively #$(file-append tests "/tests")
-                                         "tests")
-                       (invoke "python" "-m" "pytest" "-vv"))))))))
+                "1984v02n2wa7rqgq0f0mkma8fd0nnnbgfwcwgmpsd8xl1wlrjmj4"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      ;; 3 failed, 1932 passed, 1 skipped, 4 xfailed, 10 warnings in 115.19s (0:01:55)
+      #:test-flags
+      #~'("-k"
+          ;; this test fails because of an AssertionError:
+          ;; assert app.devtools is not None
+          #$(string-append "not test_textual_env_var"
+                           ;; these tests require python-tresitter-languages
+                           " and not test_register_language"
+                           " and not test_register_language_existing_language"))
+      #:phases #~(modify-phases %standard-phases
+                   ;; TODO: This is because of our old version of poetry.
+                   ;; It can be removed once it's been updated to a current one.
+                   (add-after 'unpack 'adapt-pyproject.toml
+                     (lambda _
+                       (substitute* "pyproject.toml"
+                         (("group\\.dev\\.") "dev-"))))
+                   ;; snapshot tests require syrupy
+                   (add-after 'adapt-pyproject.toml 'remove-snapshot-tests
+                     (lambda _
+                       (delete-file "tests/snapshot_tests/test_snapshots.py"))))))
     (propagated-inputs
-     (list python-rich python-typing-extensions))
+     (list python-importlib-metadata
+           python-linkify-it-py
+           python-markdown-it-py
+           python-mdit-py-plugins
+           python-rich
+           python-typing-extensions))
     (native-inputs
-     (list python-pytest))
+     (list poetry
+           python-pytest
+           python-pytest-asyncio))
     (home-page "https://github.com/Textualize/textual")
     (synopsis "Build text user interfaces in Python")
     (description "Textual is a @acronym{TUI, Text User Interface} framework
-- 
2.41.0





^ permalink raw reply related	[relevance 57%]

* [bug#68458] [PATCH v4 5/6] gnu: python-mdit-py-plugins: Update to 0.4.0.
  2024-01-14 23:56 65% [bug#68456] [PATCH v4 1/6] gnu: Add python-pygments-2.16 Giacomo Leidi via Guix-patches via
                   ` (2 preceding siblings ...)
  2024-01-14 23:56 63% ` [bug#68457] [PATCH v4 4/6] gnu: python-jupytext: Update to 1.15.2 Giacomo Leidi via Guix-patches via
@ 2024-01-14 23:56 60% ` Giacomo Leidi via Guix-patches via
  2024-01-14 23:56 57% ` [bug#68461] [PATCH v4 6/6] gnu: python-textual: Update to 0.47.1 Giacomo Leidi via Guix-patches via
  4 siblings, 0 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-14 23:56 UTC (permalink / raw)
  To: 68458; +Cc: Giacomo Leidi

* gnu/packages/python-xyz.scm (python-mdit-py-plugins): Update to 0.4.0;
(python-mdit-py-plugins-0.3): new variable.

* gnu/packages/python-xyz.scm (python-myst-parser)[propagated-inputs]:
Use python-mdit-py-plugins-0.3.

Change-Id: I06ddbee6055b570ee2d40f3e4f0a478a4413b4fe
---
 gnu/packages/python-xyz.scm | 21 +++++++++++++++++++--
 gnu/packages/sphinx.scm     |  2 +-
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b4b95637c7..e2013a3995 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -906,7 +906,7 @@ (define-public python-lunr
 (define-public python-mdit-py-plugins
   (package
     (name "python-mdit-py-plugins")
-    (version "0.3.1")
+    (version "0.4.0")
     (source (origin
               (method git-fetch)        ;for tests
               (uri (git-reference
@@ -915,7 +915,7 @@ (define-public python-mdit-py-plugins
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "00ybbfb6dzn9q5qnvnm8bmhd84s215ik7pcdb4r35zhwiv2ikizz"))))
+                "1790fcf3nd9c5j37fx87x3ivfyihk6l74jxj1qxvw3qfyb96w4k0"))))
     (build-system pyproject-build-system)
     (propagated-inputs
      (list python-markdown-it-py
@@ -943,6 +943,23 @@ (define-public python-mdit-py-plugins
 @end enumerate")
     (license license:expat)))
 
+(define-public python-mdit-py-plugins-0.3
+  (package
+    (inherit python-mdit-py-plugins)
+    (version "0.3.1")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/executablebooks/mdit-py-plugins")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "python-mdit-py-plugins" version))
+              (sha256
+               (base32
+                "00ybbfb6dzn9q5qnvnm8bmhd84s215ik7pcdb4r35zhwiv2ikizz"))))
+        (propagated-inputs
+         (modify-inputs (package-propagated-inputs python-mdit-py-plugins)
+           (replace "python-markdown-it-py" python-markdown-it-py-2.1)))))
+
 (define-public python-mdurl
   (package
     (name "python-mdurl")
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 89196086f2..40a65e45b5 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -794,7 +794,7 @@ (define-public python-myst-parser
            python-linkify-it-py
            python-markdown-it-py-2.1
            python-linkify-it-py
-           python-mdit-py-plugins
+           python-mdit-py-plugins-0.3
            python-pyyaml
            python-sphinx
            python-typing-extensions))
-- 
2.41.0





^ permalink raw reply related	[relevance 60%]

* [bug#68456] [PATCH v4 1/6] gnu: Add python-pygments-2.16.
@ 2024-01-14 23:56 65% Giacomo Leidi via Guix-patches via
  2024-01-14 23:56 62% ` [bug#68460] [PATCH v4 2/6] gnu: python-markdown-it-py: Update to 3.0.0 Giacomo Leidi via Guix-patches via
                   ` (4 more replies)
  0 siblings, 5 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-14 23:56 UTC (permalink / raw)
  To: 68456; +Cc: Giacomo Leidi

This patch has also been sent to the python-team branch with bug #66884.

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

Change-Id: I863fc1aaea9930991b6f92643befbde7ba1a335c
---
 gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 37d7dd0dd5..5f159c39d1 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6202,6 +6202,27 @@ (define-public python-pygments
      "Pygments is a syntax highlighting package written in Python.")
     (license license:bsd-2)))
 
+(define-public python-pygments-2.16
+  (package
+    (inherit python-pygments)
+    (version "2.16.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "Pygments" version))
+       (sha256
+        (base32
+         "0abfx7n0mgpxk05f2kini3p78wsp1yi7lh0yjk49pii0914z1bqx"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      ;; Some tests require sphinx, which depends on this, so we only run
+      ;; basic tests.
+      '(list "--ignore-glob=tests/*/*")))
+    (native-inputs
+     (list python-pytest))))
+
 (define-public python-pygments-github-lexers
   (package
     (name "python-pygments-github-lexers")

base-commit: bcc9cd1aaeb53c323b199623de4fafe8594d1a95
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#68449] [PATCH] gnu: dynaconf: Update to 3.2.4.
@ 2024-01-14 14:13 31% Giacomo Leidi via Guix-patches via
  0 siblings, 0 replies; 200+ results
From: Giacomo Leidi via Guix-patches via @ 2024-01-14 14:13 UTC (permalink / raw)
  To: 68449; +Cc: Giacomo Leidi

* gnu/packages/patches/dynaconf-unvendor-deps.patch: Update accordingly.
* gnu/packages/python-xyz.scm (dynaconf): Update to 3.2.4;
[source]<url>; https://github.com/rochacbruno/dynaconf now permanently
redirects to https://github.com/dynaconf/dynaconf ;
<snippet>: update unvendoring and lower coverage quality gate
for unit tests;
[build-system]: switch to pyproject-build-system;
[arguments]<test-flags>: disable tests that require Click 7 instead of
Click 8;
<phases>: comply with #:test-flags argument from pyproject-build-system;
[propagated-inputs]: add python-tomli.

Change-Id: I96597ec39d7aa2d3c3c169147640de19eaefe0b4
---
 .../patches/dynaconf-unvendor-deps.patch      | 172 +++++++++---------
 gnu/packages/python-xyz.scm                   |  39 ++--
 2 files changed, 108 insertions(+), 103 deletions(-)

diff --git a/gnu/packages/patches/dynaconf-unvendor-deps.patch b/gnu/packages/patches/dynaconf-unvendor-deps.patch
index 550e311363..f816264f4a 100644
--- a/gnu/packages/patches/dynaconf-unvendor-deps.patch
+++ b/gnu/packages/patches/dynaconf-unvendor-deps.patch
@@ -1,45 +1,46 @@
-From 3f7b48195500cbbbbecd3cac2f5308c64004479b Mon Sep 17 00:00:00 2001
+From d3252748b0f9036cb31f4697ebb5c6a494aceaca Mon Sep 17 00:00:00 2001
 From: Giacomo Leidi <goodoldpaul@autistici.org>
-Date: Sun, 29 Aug 2021 23:39:27 +0200
+Date: Sun, 14 Jan 2024 12:05:49 +0100
 Subject: [PATCH] Use system site dependencies.
 
-Box was not unvendored because it appears to be heavily patched.
+* Box was not unvendored because it appears to be heavily patched.
+* Tomllib seems to be a backport from Python 3.11, as such it wasn't unvendored.
 ---
- dynaconf/cli.py                       | 4 ++--
- dynaconf/default_settings.py          | 2 +-
- dynaconf/loaders/env_loader.py        | 2 +-
- dynaconf/loaders/toml_loader.py       | 2 +-
- dynaconf/loaders/yaml_loader.py       | 2 +-
- dynaconf/utils/parse_conf.py          | 2 +-
- dynaconf/vendor/box/converters.py     | 4 ++--
- dynaconf/vendor/box/from_file.py      | 4 ++--
- dynaconf/vendor_src/box/converters.py | 4 ++--
- dynaconf/vendor_src/box/from_file.py  | 4 ++--
- tests/test_cli.py                     | 2 +-
- 11 files changed, 16 insertions(+), 16 deletions(-)
+ dynaconf/cli.py                   | 4 ++--
+ dynaconf/default_settings.py      | 2 +-
+ dynaconf/loaders/env_loader.py    | 2 +-
+ dynaconf/loaders/toml_loader.py   | 2 +-
+ dynaconf/loaders/yaml_loader.py   | 2 +-
+ dynaconf/utils/inspect.py         | 2 +-
+ dynaconf/utils/parse_conf.py      | 2 +-
+ dynaconf/vendor/box/converters.py | 2 +-
+ dynaconf/vendor/box/from_file.py  | 2 +-
+ tests/test_cli.py                 | 2 +-
+ tests/test_inspect.py             | 2 +-
+ 11 files changed, 12 insertions(+), 12 deletions(-)
 
 diff --git a/dynaconf/cli.py b/dynaconf/cli.py
-index 5bb8316..1341a95 100644
+index c0fd489..5739e79 100644
 --- a/dynaconf/cli.py
 +++ b/dynaconf/cli.py
-@@ -20,8 +20,8 @@ from dynaconf.utils.functional import empty
- from dynaconf.utils.parse_conf import parse_conf_data
+@@ -24,8 +24,8 @@ from dynaconf.utils.parse_conf import parse_conf_data
+ from dynaconf.utils.parse_conf import unparse_conf_data
  from dynaconf.validator import ValidationError
  from dynaconf.validator import Validator
 -from dynaconf.vendor import click
 -from dynaconf.vendor import toml
 +import click
 +import toml
+ from dynaconf.vendor import tomllib
  
  
- CWD = Path.cwd()
 diff --git a/dynaconf/default_settings.py b/dynaconf/default_settings.py
-index 66601b0..9605fc5 100644
+index 7e8c222..526b01e 100644
 --- a/dynaconf/default_settings.py
 +++ b/dynaconf/default_settings.py
-@@ -8,7 +8,7 @@ from dynaconf.utils import upperfy
- from dynaconf.utils import warn_deprecations
+@@ -11,7 +11,7 @@ from dynaconf.utils import warn_deprecations
  from dynaconf.utils.files import find_file
+ from dynaconf.utils.parse_conf import boolean_fix
  from dynaconf.utils.parse_conf import parse_conf_data
 -from dynaconf.vendor.dotenv import load_dotenv
 +from dotenv import load_dotenv
@@ -47,36 +48,36 @@ index 66601b0..9605fc5 100644
  
  def try_renamed(key, value, older_key, current_key):
 diff --git a/dynaconf/loaders/env_loader.py b/dynaconf/loaders/env_loader.py
-index e7b13bd..b034c8a 100644
+index a563b4e..91ac3ae 100644
 --- a/dynaconf/loaders/env_loader.py
 +++ b/dynaconf/loaders/env_loader.py
-@@ -2,7 +2,7 @@ from os import environ
+@@ -11,7 +11,7 @@ from dynaconf.utils.parse_conf import parse_conf_data
  
- from dynaconf.utils import upperfy
- from dynaconf.utils.parse_conf import parse_conf_data
--from dynaconf.vendor.dotenv import cli as dotenv_cli
-+from dotenv import cli as dotenv_cli
+ DOTENV_IMPORTED = False
+ with suppress(ImportError, FileNotFoundError):
+-    from dynaconf.vendor.dotenv import cli as dotenv_cli
++    from dotenv import cli as dotenv_cli
  
+     DOTENV_IMPORTED = True
  
- IDENTIFIER = "env"
 diff --git a/dynaconf/loaders/toml_loader.py b/dynaconf/loaders/toml_loader.py
-index 07b973f..d81d675 100644
+index 42db7b3..ba0188b 100644
 --- a/dynaconf/loaders/toml_loader.py
 +++ b/dynaconf/loaders/toml_loader.py
-@@ -5,7 +5,7 @@ from dynaconf import default_settings
+@@ -7,7 +7,7 @@ from dynaconf import default_settings
  from dynaconf.constants import TOML_EXTENSIONS
  from dynaconf.loaders.base import BaseLoader
  from dynaconf.utils import object_merge
--from dynaconf.vendor import toml
-+import toml
+-from dynaconf.vendor import toml  # Backwards compatibility with uiri/toml
++import toml  # Backwards compatibility with uiri/toml
+ from dynaconf.vendor import tomllib  # New tomllib stdlib on py3.11
  
  
- def load(obj, env=None, silent=True, key=None, filename=None):
 diff --git a/dynaconf/loaders/yaml_loader.py b/dynaconf/loaders/yaml_loader.py
-index 33c6532..3ef419a 100644
+index 5721681..ab628c2 100644
 --- a/dynaconf/loaders/yaml_loader.py
 +++ b/dynaconf/loaders/yaml_loader.py
-@@ -7,7 +7,7 @@ from dynaconf.constants import YAML_EXTENSIONS
+@@ -10,7 +10,7 @@ from dynaconf.constants import YAML_EXTENSIONS
  from dynaconf.loaders.base import BaseLoader
  from dynaconf.utils import object_merge
  from dynaconf.utils.parse_conf import try_to_encode
@@ -85,95 +86,84 @@ index 33c6532..3ef419a 100644
  
  # Add support for Dynaconf Lazy values to YAML dumper
  yaml.SafeDumper.yaml_representers[
+diff --git a/dynaconf/utils/inspect.py b/dynaconf/utils/inspect.py
+index 21d724e..2933b8f 100644
+--- a/dynaconf/utils/inspect.py
++++ b/dynaconf/utils/inspect.py
+@@ -18,7 +18,7 @@ from dynaconf.loaders.base import SourceMetadata
+ from dynaconf.utils.boxing import DynaBox
+ from dynaconf.utils.functional import empty
+ from dynaconf.vendor.box.box_list import BoxList
+-from dynaconf.vendor.ruamel.yaml import YAML
++from ruamel.yaml import YAML
+ 
+ if TYPE_CHECKING:  # pragma: no cover
+     from dynaconf.base import LazySettings, Settings
 diff --git a/dynaconf/utils/parse_conf.py b/dynaconf/utils/parse_conf.py
-index c42b07a..01ccdae 100644
+index 882110e..a262864 100644
 --- a/dynaconf/utils/parse_conf.py
 +++ b/dynaconf/utils/parse_conf.py
-@@ -9,7 +9,7 @@ from dynaconf.utils import isnamedtupleinstance
- from dynaconf.utils import multi_replace
+@@ -12,7 +12,7 @@ from dynaconf.utils import multi_replace
  from dynaconf.utils import recursively_evaluate_lazy_format
  from dynaconf.utils.boxing import DynaBox
+ from dynaconf.utils.functional import empty
 -from dynaconf.vendor import toml
 +import toml
+ from dynaconf.vendor import tomllib
  
  try:
-     from jinja2 import Environment
 diff --git a/dynaconf/vendor/box/converters.py b/dynaconf/vendor/box/converters.py
-index 93cdcfb..e34c7dc 100644
+index 08694fe..4e84930 100644
 --- a/dynaconf/vendor/box/converters.py
 +++ b/dynaconf/vendor/box/converters.py
-@@ -7,9 +7,9 @@ _B='utf-8'
- _A=None
- import csv,json,sys,warnings
- from pathlib import Path
--import dynaconf.vendor.ruamel.yaml as yaml
-+import ruamel.yaml as yaml
- from dynaconf.vendor.box.exceptions import BoxError,BoxWarning
--from dynaconf.vendor import toml
-+import toml
- BOX_PARAMETERS='default_box','default_box_attr','conversion_box','frozen_box','camel_killer_box','box_safe_prefix','box_duplicates','ordered_box','default_box_none_transform','box_dots','modify_tuples_box','box_intact_types','box_recast'
- def _exists(filename,create=_E):
- 	A=filename;B=Path(A)
-diff --git a/dynaconf/vendor/box/from_file.py b/dynaconf/vendor/box/from_file.py
-index daa1137..d75940b 100644
---- a/dynaconf/vendor/box/from_file.py
-+++ b/dynaconf/vendor/box/from_file.py
-@@ -1,8 +1,8 @@
- from json import JSONDecodeError
- from pathlib import Path
- from typing import Union
--from dynaconf.vendor.toml import TomlDecodeError
--from dynaconf.vendor.ruamel.yaml import YAMLError
-+from toml import TomlDecodeError
-+from ruamel.yaml import YAMLError
- from .exceptions import BoxError
- from .box import Box
- from .box_list import BoxList
-diff --git a/dynaconf/vendor_src/box/converters.py b/dynaconf/vendor_src/box/converters.py
-index c9a2293..ae42bf6 100644
---- a/dynaconf/vendor_src/box/converters.py
-+++ b/dynaconf/vendor_src/box/converters.py
-@@ -9,9 +9,9 @@ import sys
+@@ -9,7 +9,7 @@ import sys
  import warnings
  from pathlib import Path
  
 -import dynaconf.vendor.ruamel.yaml as yaml
 +import ruamel.yaml as yaml
  from dynaconf.vendor.box.exceptions import BoxError, BoxWarning
--from dynaconf.vendor import toml
-+import toml
- 
+ from dynaconf.vendor import tomllib as toml
  
- BOX_PARAMETERS = ('default_box', 'default_box_attr', 'conversion_box',
-diff --git a/dynaconf/vendor_src/box/from_file.py b/dynaconf/vendor_src/box/from_file.py
-index 2e2a6ad..3f76819 100644
---- a/dynaconf/vendor_src/box/from_file.py
-+++ b/dynaconf/vendor_src/box/from_file.py
-@@ -3,8 +3,8 @@
- from json import JSONDecodeError
+diff --git a/dynaconf/vendor/box/from_file.py b/dynaconf/vendor/box/from_file.py
+index a82ac96..cd01f13 100644
+--- a/dynaconf/vendor/box/from_file.py
++++ b/dynaconf/vendor/box/from_file.py
+@@ -4,7 +4,7 @@ from json import JSONDecodeError
  from pathlib import Path
  from typing import Union
--from dynaconf.vendor.toml import TomlDecodeError
+ from dynaconf.vendor.tomllib import TOMLDecodeError
 -from dynaconf.vendor.ruamel.yaml import YAMLError
-+from toml import TomlDecodeError
 +from ruamel.yaml import YAMLError
  
  
  from .exceptions import BoxError
 diff --git a/tests/test_cli.py b/tests/test_cli.py
-index 6693701..df44409 100644
+index c679ae5..9df5f7f 100644
 --- a/tests/test_cli.py
 +++ b/tests/test_cli.py
-@@ -11,7 +11,7 @@ from dynaconf.cli import main
+@@ -15,7 +15,7 @@ from dynaconf.cli import main
  from dynaconf.cli import read_file_in_root_directory
  from dynaconf.cli import WRITERS
  from dynaconf.utils.files import read_file
 -from dynaconf.vendor.click.testing import CliRunner
 +from click.testing import CliRunner
  
+ settings = LazySettings(OPTION_FOR_TESTS=True, environments=True)
  
- runner = CliRunner()
-
-base-commit: ebf7b17cffd5e08b212948bd8036d580718d5bf8
+diff --git a/tests/test_inspect.py b/tests/test_inspect.py
+index 0819715..96638c1 100644
+--- a/tests/test_inspect.py
++++ b/tests/test_inspect.py
+@@ -18,7 +18,7 @@ from dynaconf.utils.inspect import inspect_settings
+ from dynaconf.utils.inspect import KeyNotFoundError
+ from dynaconf.utils.inspect import OutputFormatError
+ from dynaconf.validator import Validator
+-from dynaconf.vendor.ruamel import yaml
++from ruamel import yaml
+ 
+ 
+ def create_file(filename: str, data: str) -> str:
 -- 
-2.32.0
+2.41.0
+
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 37d7dd0dd5..167b329dda 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -63,7 +63,7 @@
 ;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2019, 2020, 2021, 2022, 2023 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
-;;; Copyright © 2019-2021, 2023 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2019-2021, 2023, 2024 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
 ;;; Copyright © 2019, 2020, 2021, 2022 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2019, 2021-2023 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
@@ -32480,30 +32480,40 @@ (define-public python-orgparse
 (define-public dynaconf
   (package
     (name "dynaconf")
-    (version "3.1.7")
+    (version "3.2.4")
     (source
      (origin
        (method git-fetch)
        (uri
         (git-reference
-         (url "https://github.com/rochacbruno/dynaconf")
+         (url "https://github.com/dynaconf/dynaconf")
          (commit version)))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0pjyjsdzairpn5vq8nzddhxwxmr18grn272nj31wcy2ipwdl3c3h"))
+         "0fj2ffvzfvjf4d7f672h5x5fzq26f8hax9j3dfsix158fwm0212w"))
        (patches (search-patches "dynaconf-unvendor-deps.patch"))
        (modules '((guix build utils)))
        (snippet '(begin
                    ;; Remove vendored dependencies
                    (let ((unvendor '("click" "dotenv" "ruamel" "toml")))
                      (with-directory-excursion "dynaconf/vendor"
-                       (for-each delete-file-recursively unvendor))
-                     (with-directory-excursion "dynaconf/vendor_src"
-                       (for-each delete-file-recursively unvendor)))))))
-    (build-system python-build-system)
+                       (for-each delete-file-recursively unvendor)))
+                   ;; Lower coverage quality gate for unit tests
+                   (substitute* ".coveragerc"
+                     (("fail_under = 95") "fail_under = 50"))))))
+    (build-system pyproject-build-system)
     (arguments
-     `(#:phases
+     `(#:test-flags
+       '("-k"
+         ,(let ((click-tests '("test_negative_get"
+                               "test_inspect_invalid_format")))
+            ;; Disable integration tests
+            (string-append "not integration and not "
+                           ;; These tests fail because we use Click 8.* instead of
+                           ;; Click 7
+                           (string-join click-tests " and not "))))
+       #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-for-click-8
            (lambda _
@@ -32511,14 +32521,19 @@ (define-public dynaconf
                (("click.get_os_args\\()") ;deprecated from Click 8.1+
                 "sys.argv[1:]"))))
          (replace 'check
-           (lambda* (#:key tests? outputs #:allow-other-keys)
+           (lambda* (#:key tests? test-flags #:allow-other-keys)
              (when tests?
                ;; These tests depend on hvac and a live Vault process.
                (delete-file "tests/test_vault.py")
-               (invoke "make" "test_only")))))))
+               (apply invoke
+                      `("py.test" ,@test-flags "-v"
+                        "--cov-config" ".coveragerc"
+                        "--cov=dynaconf"
+                        "-l" "--tb=short"
+                        "--maxfail=1" "tests/"))))))))
     (propagated-inputs
      (list python-click python-configobj python-dotenv-0.13.0
-           python-ruamel.yaml python-toml))
+           python-ruamel.yaml python-toml python-tomli))
     (native-inputs
      (list python-django python-flask python-pytest python-pytest-cov
            python-pytest-mock))

base-commit: bcc9cd1aaeb53c323b199623de4fafe8594d1a95
-- 
2.41.0





^ permalink raw reply related	[relevance 31%]

* [bug#68437] [PATCH] gnu: Add python-pdf2image.
@ 2024-01-13 22:21 64% Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-13 22:21 UTC (permalink / raw)
  To: 68437

* gnu/packages/python-xyz.scm (python-pdf2image): New variable.
---
 gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 37d7dd0dd5..889ee9c69c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8874,6 +8874,39 @@ (define-public python-pypdf3
 retrieve text and metadata from PDFs as well as merge entire files together.")
     (license license:bsd-3)))
 
+(define-public python-pdf2image
+  (package
+    (name "python-pdf2image")
+    (version "1.17.0")
+    ;; No tests in the PyPI tarball.
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Belval/pdf2image")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0xd8q939zqa8flfcdhbgyadiwqb8sgnd42cbr6n1l2jl9fnix45v"))))
+    (build-system pyproject-build-system)
+    (arguments
+     ;; The following excluded tests assume hardcoded binary paths to
+     ;; /usr/bin/pdftoppm and /usr/bin/pdftocairo.
+     '(#:test-flags '("--exclude=^test_use_poppler_path$"
+                      "--exclude=^test_use_poppler_path_with_trailing_slash$")))
+    (propagated-inputs (list python-pillow))
+    (inputs (list poppler))
+    (native-inputs (list python-nose which))
+    (home-page "https://github.com/Belval/pdf2image")
+    (synopsis
+     "Python wrapper around @command{pdftoppm} and @command{pdftocairo}")
+    (description
+     "This package provides a Python API wrapping the @command{pdftoppm} and
+@command{pdftocairo} command line tools.  It can convert @file{PDF} files to a
+Python list with elements of type @code{PIL.Image} (from the
+@code{python-pillow} library).")
+    (license license:expat)))
+
 (define-public python-pikepdf
   (package
     (name "python-pikepdf")

base-commit: 31e736dac29e6f0ff8a2de3f28e210a68684ad21
-- 
2.42.0





^ permalink raw reply related	[relevance 64%]

* [bug#68435] [PATCH] gnu: Add python-concurrent-log-handler.
@ 2024-01-13 20:15 63% Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-13 20:15 UTC (permalink / raw)
  To: 68435

* gnu/packages/python-xyz.scm (python-concurrent-log-handler): New variable.
---
 gnu/packages/python-xyz.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 37d7dd0dd5..422ee47200 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -398,6 +398,35 @@ (define-public python-jupytext
 ")
     (license license:expat)))
 
+(define-public python-concurrent-log-handler
+  (package
+    (name "python-concurrent-log-handler")
+    (version "0.9.25")
+    ;; No tests in the PyPI tarball.
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Preston-Landers/concurrent-log-handler")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0jp4zkm0idfdsrq3jzb52iqfkh6xzm7sacz1sa34ffnkyqdk3xzh"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-portalocker))
+    (native-inputs (list python-hatchling python-pytest))
+    (home-page "https://github.com/Preston-Landers/concurrent-log-handler")
+    (synopsis
+     "Additional log handler for Python's standard @code{logging} package")
+    (description
+     "This package provides an additional log handler for Python's standard
+@code{logging} package (PEP 282).  This handler will write log events to a log
+file which is rotated when the log file reaches a certain size.  Multiple
+processes can safely write to the same log file concurrently and rotated logs
+can be gzipped if desired.  An optional threaded queue logging handler is
+provided to perform logging in the background.")
+    (license license:asl2.0)))
+
 (define-public python-logzero
   (package
     (name "python-logzero")

base-commit: 31e736dac29e6f0ff8a2de3f28e210a68684ad21
-- 
2.42.0





^ permalink raw reply related	[relevance 63%]

* [bug#68431] [PATCH 3/3] gnu: python-requests-kerberos: Enable tests.
    2024-01-13 17:58 65% ` [bug#68431] [PATCH 1/3] gnu: Add python-krb5 Troy Figiel
  2024-01-13 17:59 65% ` [bug#68431] [PATCH 2/3] gnu: python-requests-kerberos: Fix build Troy Figiel
@ 2024-01-13 18:04 64% ` Troy Figiel
  2 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-13 18:04 UTC (permalink / raw)
  To: 68431

* gnu/packages/python-web.scm (python-requests-kerberos): Enable tests.
[source]: Replace the PyPI release by the Github release.
[arguments]<#:phases>: Replace the default check phase with a pytest
invocation.
[native-inputs]: Add python-pytest and python-pytest-mock.
---
 gnu/packages/python-web.scm | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index e13716081f..7b25bee15a 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -3300,13 +3300,23 @@ (define-public python-requests-kerberos
   (package
     (name "python-requests-kerberos")
     (version "0.14.0")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "requests-kerberos" version))
-              (sha256
-               (base32
-                "1lbgjs779cjxhz07lfl9dbyp3qfh8a3ir2393042wfg518jd3afd"))))
+    ;; No tests in the PyPI tarball.
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/requests/requests-kerberos")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0s30pcnlir3j2jmf7yh065f294cf3x0x5i3ldskn8mm0a3657mv3"))))
     (build-system python-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (invoke "pytest" "-vv")))))))
     (propagated-inputs (list python-cryptography
                              python-pyspnego
                              python-requests
@@ -3316,6 +3326,7 @@ (define-public python-requests-kerberos
                              ;; code though.
                              python-gssapi
                              python-krb5))
+    (native-inputs (list python-pytest python-pytest-mock))
     (home-page "https://github.com/requests/requests-kerberos")
     (synopsis "Kerberos authentication handler for python-requests")
     (description "This package provides a Kerberos authentication handler for
-- 
2.42.0





^ permalink raw reply related	[relevance 64%]

* [bug#68431] [PATCH 1/3] gnu: Add python-krb5.
  @ 2024-01-13 17:58 65% ` Troy Figiel
  2024-01-13 17:59 65% ` [bug#68431] [PATCH 2/3] gnu: python-requests-kerberos: Fix build Troy Figiel
  2024-01-13 18:04 64% ` [bug#68431] [PATCH 3/3] gnu: python-requests-kerberos: Enable tests Troy Figiel
  2 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-13 17:58 UTC (permalink / raw)
  To: 68431

* gnu/packages/python-xyz.scm (python-krb5): New variable.
---
 gnu/packages/python-xyz.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 37d7dd0dd5..41b7bdabcf 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19500,6 +19500,25 @@ (define-public python-inflection
 underscored string.")
     (license license:expat)))
 
+(define-public python-krb5
+  (package
+    (name "python-krb5")
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "krb5" version))
+       (sha256
+        (base32 "1jivws8dsscsmyqngbc71r4qw8qmn98pqmhylz01r5dd1ljfw9bi"))))
+    (build-system pyproject-build-system)
+    (inputs (list mit-krb5))
+    (native-inputs (list python-cython python-k5test python-pytest))
+    (home-page "https://github.com/jborean93/pykrb5")
+    (synopsis "Kerberos API bindings for Python")
+    (description "This library provides Python functions that wraps the
+Kerberos 5 C API.")
+    (license license:expat)))
+
 (define-public python-pylev
   (package
     (name "python-pylev")
-- 
2.42.0





^ permalink raw reply related	[relevance 65%]

* [bug#68431] [PATCH 2/3] gnu: python-requests-kerberos: Fix build.
    2024-01-13 17:58 65% ` [bug#68431] [PATCH 1/3] gnu: Add python-krb5 Troy Figiel
@ 2024-01-13 17:59 65% ` Troy Figiel
  2024-01-13 18:04 64% ` [bug#68431] [PATCH 3/3] gnu: python-requests-kerberos: Enable tests Troy Figiel
  2 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-13 17:59 UTC (permalink / raw)
  To: 68431

* gnu/packages/python-web.scm (python-requests-kerberos)[propagated-inputs]:
Add python-gssapi and python-krb5.
---
 gnu/packages/python-web.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 567b01f396..e13716081f 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -3307,8 +3307,15 @@ (define-public python-requests-kerberos
                (base32
                 "1lbgjs779cjxhz07lfl9dbyp3qfh8a3ir2393042wfg518jd3afd"))))
     (build-system python-build-system)
-    (propagated-inputs (list python-cryptography python-pyspnego
-                             python-requests))
+    (propagated-inputs (list python-cryptography
+                             python-pyspnego
+                             python-requests
+
+                             ;; Required through pyspnego[kerberos]. Only
+                             ;; `python-krb5' is directly used in the source
+                             ;; code though.
+                             python-gssapi
+                             python-krb5))
     (home-page "https://github.com/requests/requests-kerberos")
     (synopsis "Kerberos authentication handler for python-requests")
     (description "This package provides a Kerberos authentication handler for
-- 
2.42.0





^ permalink raw reply related	[relevance 65%]

* [bug#68425] [PATCH] gnu: python-activepapers: Fix build.
@ 2024-01-13 12:23 65% Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-13 12:23 UTC (permalink / raw)
  To: 68425

* gnu/packages/python-xyz.scm (python-activepapers)[source]: Add snippet fixing MutableMapping import.
---
 gnu/packages/python-xyz.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 37d7dd0dd5..ddba925fd7 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -24143,6 +24143,12 @@ (define-public python-activepapers
      (origin
        (method url-fetch)
        (uri (pypi-uri "ActivePapers.Py" version))
+       ;; This package has not seen active maintenance since 2017. This is a
+       ;; hack needed to make it build against a recent version of Python 3.
+       (modules '((guix build utils)))
+       (snippet '(substitute* "lib/activepapers/execution.py"
+                   (("collections\\.MutableMapping")
+                    "collections.abc.MutableMapping")))
        (sha256
         (base32
          "12wkhjh90ffipjzv10swndp2xv9hd7xrxvg6v0n4n3i411pj4xb8"))))

base-commit: c0b303aaa3d6154acbe054120d11467eb98e6d33
-- 
2.42.0





^ permalink raw reply related	[relevance 65%]

* [bug#68424] [PATCH 2/3] gnu: hypercorn: Remove unnecessary native-input.
    2024-01-13 11:26 65% ` [bug#68424] [PATCH 1/3] gnu: hypercorn: Add missing propagated-inputs Troy Figiel
@ 2024-01-13 11:36 65% ` Troy Figiel
  2024-01-13 11:40 64% ` [bug#68424] [PATCH 3/3] gnu: hypercorn: Reformat with guix style Troy Figiel
  2 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-13 11:36 UTC (permalink / raw)
  To: 68424

* gnu/packages/python-web.scm (hypercorn)[native-inputs]: Remove python-mock.
---
 gnu/packages/python-web.scm | 1 -
 1 file changed, 1 deletion(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index dd85581032..f88ea6437e 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2400,7 +2400,6 @@ (define-public hypercorn
            python-wsproto))
     (native-inputs
      (list python-hypothesis
-           python-mock
            python-poetry-core
            python-pytest
            python-pytest-asyncio
-- 
2.42.0





^ permalink raw reply related	[relevance 65%]

* [bug#68424] [PATCH 3/3] gnu: hypercorn: Reformat with guix style.
    2024-01-13 11:26 65% ` [bug#68424] [PATCH 1/3] gnu: hypercorn: Add missing propagated-inputs Troy Figiel
  2024-01-13 11:36 65% ` [bug#68424] [PATCH 2/3] gnu: hypercorn: Remove unnecessary native-input Troy Figiel
@ 2024-01-13 11:40 64% ` Troy Figiel
  2 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-13 11:40 UTC (permalink / raw)
  To: 68424

* gnu/packages/python-web.scm (hypercorn): Reformat with guix style.
---
 gnu/packages/python-web.scm | 46 ++++++++++++++++++-------------------
 1 file changed, 22 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index f88ea6437e..ee1a4d8a3f 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2380,32 +2380,30 @@ (define-public hypercorn
   (package
     (name "hypercorn")
     (version "0.14.4")
-    (source (origin
-              (method git-fetch) ;PyPI does not have tests
-              (uri (git-reference
-                    (url "https://github.com/pgjones/hypercorn")
-                    (commit version)))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0zyf5b8959sd12ycmqzvsb8746i3gn76rz55gxvix5cwj672m7yx"))))
+    (source
+     (origin
+       (method git-fetch) ;PyPI does not have tests
+       (uri (git-reference
+             (url "https://github.com/pgjones/hypercorn")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0zyf5b8959sd12ycmqzvsb8746i3gn76rz55gxvix5cwj672m7yx"))))
     (build-system pyproject-build-system)
     ;; Propagate because Hypercorn also exposes functionality over a module.
-    (propagated-inputs
-     (list python-exceptiongroup
-           python-h11
-           python-h2
-           python-priority
-           python-tomli
-           python-wsproto))
-    (native-inputs
-     (list python-hypothesis
-           python-poetry-core
-           python-pytest
-           python-pytest-asyncio
-           python-pytest-cov
-           python-pytest-trio
-           python-trio))
+    (propagated-inputs (list python-exceptiongroup
+                             python-h11
+                             python-h2
+                             python-priority
+                             python-tomli
+                             python-wsproto))
+    (native-inputs (list python-hypothesis
+                         python-poetry-core
+                         python-pytest
+                         python-pytest-asyncio
+                         python-pytest-cov
+                         python-pytest-trio
+                         python-trio))
     (home-page "https://gitlab.com/pgjones/hypercorn/")
     (synopsis "ASGI Server based on Hyper libraries")
     (description
-- 
2.42.0





^ permalink raw reply related	[relevance 64%]

* [bug#68424] [PATCH 1/3] gnu: hypercorn: Add missing propagated-inputs.
  @ 2024-01-13 11:26 65% ` Troy Figiel
  2024-01-13 11:36 65% ` [bug#68424] [PATCH 2/3] gnu: hypercorn: Remove unnecessary native-input Troy Figiel
  2024-01-13 11:40 64% ` [bug#68424] [PATCH 3/3] gnu: hypercorn: Reformat with guix style Troy Figiel
  2 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-13 11:26 UTC (permalink / raw)
  To: 68424

* gnu/packages/python-web.scm (hypercorn)[propagated-inputs]: Add
python-exceptiongroup and python-tomli. Remove python-toml and python-typing-extensions.
---
 gnu/packages/python-web.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 567b01f396..dd85581032 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2392,11 +2392,11 @@ (define-public hypercorn
     (build-system pyproject-build-system)
     ;; Propagate because Hypercorn also exposes functionality over a module.
     (propagated-inputs
-     (list python-h11
+     (list python-exceptiongroup
+           python-h11
            python-h2
            python-priority
-           python-toml
-           python-typing-extensions
+           python-tomli
            python-wsproto))
     (native-inputs
      (list python-hypothesis
-- 
2.42.0





^ permalink raw reply related	[relevance 65%]

* [bug#68394] [PATCH python-team v2] gnu: python: Make the build reproducible.
  2024-01-12  0:33 61% [bug#68394] [PATCH python-team] gnu: python: Make the build reproducible Tomas Volf
@ 2024-01-12 16:11 62% ` Tomas Volf
  0 siblings, 0 replies; 200+ results
From: Tomas Volf @ 2024-01-12 16:11 UTC (permalink / raw)
  To: 68394; +Cc: Tomas Volf, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

While python build was reproducible on a single machine, once multiple
file systems entered the picture, it was no longer true.  My local builds on
BTRFS differed from build on ext4 done in a virtual machine.

The solution adopted by the upstream (and debian) was cherry-picked.  With
this patch, build on my machine (BTRFS) and in a guix system vm (ext4) produce
the same store item.

More info: https://github.com/python/cpython/pull/8226

* gnu/packages/python.scm (python-3.10)[source]: Apply reproducibility patch.

Change-Id: I0273dc0f8511a7acdcc2b462a26cc29a9756c801
---
Use patch directly from the upstream.

 gnu/packages/python.scm | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 51d5f598d7..c92ac720a5 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -428,12 +428,21 @@ (define-public python-3.10
               (method url-fetch)
               (uri (string-append "https://www.python.org/ftp/python/"
                                   version "/Python-" version ".tar.xz"))
-              (patches (search-patches
-                        "python-3-arm-alignment.patch"
-                        "python-3-deterministic-build-info.patch"
-                        "python-3-fix-tests.patch"
-                        "python-3-hurd-configure.patch"
-                        "python-3-search-paths.patch"))
+              (patches
+               (cons*
+                ;; https://github.com/python/cpython/pull/8226
+                (origin
+                  (method url-fetch)
+                  (uri "https://github.com/python/cpython/commit/6c8ea7c1dacd42f3ba00440231ec0e6b1a38300d.patch")
+                  (sha256
+                   (base32
+                    "13llngsyskp4c9j8lwqqpwp7h07mxai734zk1i387z8g261jk46v")))
+                (search-patches
+                 "python-3-arm-alignment.patch"
+                 "python-3-deterministic-build-info.patch"
+                 "python-3-fix-tests.patch"
+                 "python-3-hurd-configure.patch"
+                 "python-3-search-paths.patch")))
               (sha256
                (base32
                 "0j6wvh2ad5jjq5n7sjmj1k66mh6lipabavchc3rb4vsinwaq9vbf"))

base-commit: 5c0f77f4241c9beac0c82deae946bfdc70b49ff0
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#68407] [PATCH python-team v2] gnu: python: Make the build reproducible.
@ 2024-01-12 16:00 62% Tomas Volf
  0 siblings, 0 replies; 200+ results
From: Tomas Volf @ 2024-01-12 16:00 UTC (permalink / raw)
  To: 68407; +Cc: Tomas Volf, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

While python build was reproducible on a single machine, once multiple
file systems entered the picture, it was no longer true.  My local builds on
BTRFS differed from build on ext4 done in a virtual machine.

The solution adopted by the upstream (and debian) was cherry-picked.  With
this patch, build on my machine (BTRFS) and in a guix system vm (ext4) produce
the same store item.

More info: https://github.com/python/cpython/pull/8226

* gnu/packages/python.scm (python-3.10)[source]: Apply reproducibility patch.

Change-Id: I0273dc0f8511a7acdcc2b462a26cc29a9756c801
---
Use patch directly from the upstream.

 gnu/packages/python.scm | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 51d5f598d7..c92ac720a5 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -428,12 +428,21 @@ (define-public python-3.10
               (method url-fetch)
               (uri (string-append "https://www.python.org/ftp/python/"
                                   version "/Python-" version ".tar.xz"))
-              (patches (search-patches
-                        "python-3-arm-alignment.patch"
-                        "python-3-deterministic-build-info.patch"
-                        "python-3-fix-tests.patch"
-                        "python-3-hurd-configure.patch"
-                        "python-3-search-paths.patch"))
+              (patches
+               (cons*
+                ;; https://github.com/python/cpython/pull/8226
+                (origin
+                  (method url-fetch)
+                  (uri "https://github.com/python/cpython/commit/6c8ea7c1dacd42f3ba00440231ec0e6b1a38300d.patch")
+                  (sha256
+                   (base32
+                    "13llngsyskp4c9j8lwqqpwp7h07mxai734zk1i387z8g261jk46v")))
+                (search-patches
+                 "python-3-arm-alignment.patch"
+                 "python-3-deterministic-build-info.patch"
+                 "python-3-fix-tests.patch"
+                 "python-3-hurd-configure.patch"
+                 "python-3-search-paths.patch")))
               (sha256
                (base32
                 "0j6wvh2ad5jjq5n7sjmj1k66mh6lipabavchc3rb4vsinwaq9vbf"))

base-commit: 5c0f77f4241c9beac0c82deae946bfdc70b49ff0
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#68394] [PATCH python-team] gnu: python: Make the build reproducible.
@ 2024-01-12  0:33 61% Tomas Volf
  2024-01-12 16:11 62% ` [bug#68394] [PATCH python-team v2] " Tomas Volf
  0 siblings, 1 reply; 200+ results
From: Tomas Volf @ 2024-01-12  0:33 UTC (permalink / raw)
  To: 68394; +Cc: Tomas Volf, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

While python build was reproducible on a single machine, once multiple
file systems entered the picture, it was no longer true.  My local builds on
BTRFS differed from build on ext4 done in a virtual machine.

The distutils library present in current python is sensitive to file system
ordering.  The solution is the same opensuse used, sorting the list of files.

With this patch, build on my machine (BTRFS) and in a guix system vm (ext4)
produce the same store item.

More info: https://bugzilla.opensuse.org/show_bug.cgi?id=1049186

* gnu/packages/python.scm (python-3.10)[arguments]<#:phases>: Add
'patch-distutils phase.

Change-Id: I0273dc0f8511a7acdcc2b462a26cc29a9756c801
---
 gnu/packages/python.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 51d5f598d7..319a917b4b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -515,6 +515,19 @@ (define-public python-3.10
                        (substitute* "Makefile.pre.in"
                          (("-j0") "-j1")))))
                  '())
+           (add-after 'unpack 'patch-distutils
+             (lambda _
+               ;; Ensure byte_compile produces the same output regardless
+               ;; filesystem ordering.  For more information see:
+               ;; https://bugzilla.opensuse.org/show_bug.cgi?id=1049186
+               (let* ((file "Lib/distutils/util.py")
+                      (old-content (call-with-input-file file get-string-all)))
+                 (substitute* file
+                   (("^        for file in py_files:\n$")
+                    "        for file in sorted(py_files):\n"))
+                 (if (string=? old-content
+                               (call-with-input-file file get-string-all))
+                     (error "substitute did nothing, phase requires an update")))))
            (add-after 'unpack 'remove-windows-binaries
              (lambda _
                ;; Delete .exe from embedded .whl (zip) files

base-commit: 5c0f77f4241c9beac0c82deae946bfdc70b49ff0
-- 
2.41.0





^ permalink raw reply related	[relevance 61%]

* [bug#68391] [PATCH 2/3] gnu: Add python-pandas-stubs.
    2024-01-11 20:54 65% ` [bug#68391] [PATCH 1/3] gnu: Add python-typeguard-4 Troy Figiel
@ 2024-01-11 20:58 59% ` Troy Figiel
  2024-01-11 21:17 54% ` [bug#68391] [PATCH 3/3] gnu: Add python-pandera Troy Figiel
  2 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-11 20:58 UTC (permalink / raw)
  To: 68391

* gnu/packages/python-science.scm (python-pandas-stubs): New variable.
---
 gnu/packages/python-science.scm | 58 +++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 8065de0e99..d8e0b343fb 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -561,6 +561,64 @@ (define-public python-pandas
 doing practical, real world data analysis in Python.")
     (license license:bsd-3)))
 
+(define-public python-pandas-stubs
+  (package
+    (name "python-pandas-stubs")
+    ;; The versioning follows that of Pandas and uses the date of the
+    ;; python-pandas-stubs release. This is the latest version of
+    ;; python-pandas-stubs for python-pandas 1.4.4.
+    (version "1.4.4.220919")
+    (source
+     (origin
+       ;; No tests in the PyPI tarball.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pandas-dev/pandas-stubs")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "14fhj1y71akwl41ws7cpazsbq5b8wf4rwaydqq2h39q7gylpcp99"))))
+    (build-system pyproject-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (add-before 'check 'prepare-x
+                    (lambda _
+                      (system "Xvfb &")
+                      (setenv "DISPLAY" ":0")
+                      ;; xsel needs to write a log file.
+                      (setenv "HOME"
+                              (getcwd)))))))
+    (propagated-inputs (list python-types-pytz))
+    ;; Add python-fastparquet to native inputs once it has been packaged. Its
+    ;; tests will be skipped for now.
+    (native-inputs (list python-lxml
+                         python-matplotlib
+                         python-pandas
+                         python-poetry-core
+                         python-pyarrow
+                         python-pyreadstat
+                         python-pytest
+                         python-scipy
+                         python-sqlalchemy
+                         python-tables
+                         python-tabulate
+                         python-xarray
+                         ;; Needed to test clipboard support.
+                         which
+                         xclip
+                         xorg-server-for-tests
+                         xsel))
+    (home-page "https://pandas.pydata.org")
+    (synopsis "Type annotations for pandas")
+    (description
+     "This package contains public type stubs for @code{python-pandas},
+following the convention of providing stubs in a separate package, as
+specified in @acronym{PEP, Python Enhancement Proposal} 561.  The stubs cover
+the most typical use cases of @code{python-pandas}.  In general, these stubs
+are narrower than what is possibly allowed by pandas, but follow a convention
+of suggesting best recommended practices for using @code{python-pandas}.")
+    (license license:bsd-3)))
+
 (define-public python-pythran
   (package
     (name "python-pythran")
-- 
2.42.0





^ permalink raw reply related	[relevance 59%]

* [bug#68391] [PATCH 3/3] gnu: Add python-pandera.
    2024-01-11 20:54 65% ` [bug#68391] [PATCH 1/3] gnu: Add python-typeguard-4 Troy Figiel
  2024-01-11 20:58 59% ` [bug#68391] [PATCH 2/3] gnu: Add python-pandas-stubs Troy Figiel
@ 2024-01-11 21:17 54% ` Troy Figiel
  2 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-11 21:17 UTC (permalink / raw)
  To: 68391

* gnu/packages/python-science.scm (python-pandera): New variable.
---
 gnu/packages/python-science.scm | 75 +++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index d8e0b343fb..f82cbdb79c 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -619,6 +619,81 @@ (define-public python-pandas-stubs
 of suggesting best recommended practices for using @code{python-pandas}.")
     (license license:bsd-3)))
 
+(define-public python-pandera
+  (package
+    (name "python-pandera")
+    (version "0.17.2")
+    (source
+     (origin
+       ;; No tests in the PyPI tarball.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/unionai-oss/pandera")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1mnqk583z90k1n0z3lfa4rd0ng40v7hqfk7phz5gjmxlzfjbxa1x"))
+       (modules '((guix build utils)))
+       ;; These tests require PySpark. We need to remove the entire directory,
+       ;; since the conftest.py in this directory contains a PySpark import.
+       ;; (See: https://github.com/pytest-dev/pytest/issues/7452)
+       (snippet '(delete-file-recursively "tests/pyspark"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags '(list "-k"
+                          (string-append
+                           ;; Needs python-pandas >= 1.5
+                           "not test_python_std_list_dict_generics"
+                           " and not test_python_std_list_dict_empty_and_none"
+                           " and not test_pandas_modules_importable"))))
+    ;; Pandera comes with a lot of extras. We test as many as possible, but do
+    ;; not include all of them in the propagated-inputs. Currently, we have to
+    ;; skip the pyspark and io tests due to missing packages python-pyspark
+    ;; and python-frictionless.
+    (propagated-inputs (list python-hypothesis ;strategies extra
+                             python-multimethod
+                             python-numpy
+                             python-packaging
+                             python-pandas
+                             python-pandas-stubs ;mypy extra
+                             python-pydantic
+                             python-scipy ;hypotheses extra
+                             python-typeguard-4
+                             python-typing-inspect
+                             python-wrapt))
+    (native-inputs (list python-dask ;dask extra
+                         python-fastapi ;fastapi extra
+                         python-geopandas ;geopandas extra
+                         python-modin ;modin extra
+                         python-pyarrow ;needed to run fastapi tests
+                         python-pytest
+                         python-pytest-asyncio
+                         python-sphinx
+                         python-uvicorn)) ;needed to run fastapi tests
+    (home-page "https://github.com/unionai-oss/pandera")
+    (synopsis "Perform data validation on dataframe-like objects")
+    (description
+     "@code{python-pandera} provides a flexible and expressive API for
+performing data validation on dataframe-like objects to make data processing
+pipelines more readable and robust.  Dataframes contain information that
+@code{python-pandera} explicitly validates at runtime.  This is useful in
+production-critical data pipelines or reproducible research settings.  With
+@code{python-pandera}, you can:
+
+@itemize
+@item Define a schema once and use it to validate different dataframe types.
+@item Check the types and properties of columns.
+@item Perform more complex statistical validation like hypothesis testing.
+@item Seamlessly integrate with existing data pipelines via function decorators.
+@item Define dataframe models with the class-based API with pydantic-style syntax.
+@item Synthesize data from schema objects for property-based testing.
+@item Lazily validate dataframes so that all validation rules are executed.
+@item Integrate with a rich ecosystem of tools like @code{python-pydantic},
+@code{python-fastapi} and @code{python-mypy}.
+@end itemize")
+    (license license:expat)))
+
 (define-public python-pythran
   (package
     (name "python-pythran")
-- 
2.42.0





^ permalink raw reply related	[relevance 54%]

* [bug#68391] [PATCH 1/3] gnu: Add python-typeguard-4.
  @ 2024-01-11 20:54 65% ` Troy Figiel
  2024-01-11 20:58 59% ` [bug#68391] [PATCH 2/3] gnu: Add python-pandas-stubs Troy Figiel
  2024-01-11 21:17 54% ` [bug#68391] [PATCH 3/3] gnu: Add python-pandera Troy Figiel
  2 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-11 20:54 UTC (permalink / raw)
  To: 68391

* gnu/packages/python-xyz.scm (python-typeguard-4): New variable.
---
 gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 46a5e81cb4..d7bbdbdb13 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -24804,6 +24804,24 @@ (define-public python-typeguard
 with PEP 484 argument (and return) type annotations.")
     (license license:expat)))
 
+(define-public python-typeguard-4
+  (package
+    (inherit python-typeguard)
+    (name "python-typeguard")
+    ;; This is the latest version we can use, becaue python-typeguard >= 4.0.1
+    ;; requires python-typing-extensions >= 4.7.0.
+    (version "4.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "typeguard" version))
+       (sha256
+        (base32 "11yrc7pv2fajmicwiyc92sb5gphlw3zbxww8f2prrsh6rgdv6kqr"))))
+    (build-system pyproject-build-system)
+    (arguments
+     '())
+    (propagated-inputs (list python-typing-extensions))))
+
 (define-public bpython
   (package
     (name "bpython")
-- 
2.42.0





^ permalink raw reply related	[relevance 65%]

* [bug#68315] [PATCH 34/48] build-system: python: Redefine python-build.
  @ 2024-01-08  8:03 65% ` Nicolas Graves via Guix-patches via
  0 siblings, 0 replies; 200+ results
From: Nicolas Graves via Guix-patches via @ 2024-01-08  8:03 UTC (permalink / raw)
  To: 68315; +Cc: ngraves

* guix/build-system/python.scm
(python-build): Monadic procedure returns a gexp instead of a derivation.

Change-Id: I1d270fa64192394072279f73ae0d77877d41f01c
---
 guix/build-system/python.scm | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm
index cca009fb28..365d216592 100644
--- a/guix/build-system/python.scm
+++ b/guix/build-system/python.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
+;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -182,7 +183,7 @@ (define* (python-build name inputs
                                   (guix build utils))))
   "Build SOURCE using PYTHON, and with INPUTS.  This assumes that SOURCE
 provides a 'setup.py' file as its build system."
-  (define build
+  (define builder
     (with-imported-modules imported-modules
       #~(begin
           (use-modules #$@(sexp->gexp modules))
@@ -205,13 +206,8 @@ (define build
                               #:inputs %build-inputs)))))
 
 
-  (mlet %store-monad ((guile (package->derivation (or guile (default-guile))
-                                                  system #:graft? #f)))
-    (gexp->derivation name build
-                      #:system system
-                      #:graft? #f                 ;consistent with 'gnu-build'
-                      #:target #f
-                      #:guile-for-build guile)))
+  (mbegin %store-monad
+    (return builder)))
 
 (define python-build-system
   (build-system
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#67184] [PATCH v2] gnu: Add python-multimethod.
  @ 2024-01-07 17:06 65% ` Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-07 17:06 UTC (permalink / raw)
  To: 67184

* gnu/packages/python-xyz.scm (python-multimethod): New variable.
---
 gnu/packages/python-xyz.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f8bb943122..b378faf536 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -31628,6 +31628,30 @@ (define-public python-multipledispatch
 function implementations based on the types of the arguments.")
     (license license:bsd-3)))
 
+(define-public python-multimethod
+  (package
+    (name "python-multimethod")
+    (version "1.10")
+    (source
+     (origin
+       ;; No tests in the PyPI tarball.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/coady/multimethod")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "07xv92q7f4bkp6dzkqvcv0zxr11729qdak4s3ldmbhdwgsf44g5h"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-pytest))
+    (home-page "https://github.com/coady/multimethod")
+    (synopsis "Python support for multiple argument dispatching")
+    (description
+     "This package provides a decorator for adding multiple argument
+dispatching to functions.  The decorator creates a multimethod object as
+needed and registers the function with its annotations.")
+    (license license:asl2.0)))
+
 (define-public python-logical-unification
   (package
     (name "python-logical-unification")

base-commit: 5f8a993aa85554ca09bd27139230d7664107e1b6
-- 
2.42.0





^ permalink raw reply related	[relevance 65%]

* [bug#67143] [PATCH v2] gnu: Add python-pyreadstat.
  @ 2024-01-07 16:40 72% ` Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-07 16:40 UTC (permalink / raw)
  To: 67143

* gnu/packages/statistics.scm (python-pyreadstat): New variable.
---
 gnu/local.mk                                  |  2 +
 .../python-pyreadstat-link-libiconv.patch     | 15 +++++++
 gnu/packages/statistics.scm                   | 45 +++++++++++++++++++
 3 files changed, 62 insertions(+)
 create mode 100644 gnu/packages/patches/python-pyreadstat-link-libiconv.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 3548b5eb3d..09c4dbaa46 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -62,6 +62,7 @@
 # Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
 # Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
 # Copyright © 2023 Herman Rimm <herman@rimm.ee>
+# Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
 #
 # This file is part of GNU Guix.
 #
@@ -1775,6 +1776,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-louvain-fix-test.patch		\
   %D%/packages/patches/python-random2-getrandbits-test.patch		\
   %D%/packages/patches/python-poppler-qt5-fix-build.patch	\
+  %D%/packages/patches/python-pyreadstat-link-libiconv.patch	\
   %D%/packages/patches/python-pypdf-annotate-tests-appropriately.patch	\
   %D%/packages/patches/python-pytorch2-system-libraries.patch	\
   %D%/packages/patches/python-sip-include-dirs.patch	\
diff --git a/gnu/packages/patches/python-pyreadstat-link-libiconv.patch b/gnu/packages/patches/python-pyreadstat-link-libiconv.patch
new file mode 100644
index 0000000000..7efd71faeb
--- /dev/null
+++ b/gnu/packages/patches/python-pyreadstat-link-libiconv.patch
@@ -0,0 +1,15 @@
+To ensure libiconv can be found by Guix, we need to link the library.
+
+--- a/setup.py
++++ b/setup.py
+@@ -81,8 +81,7 @@ else:
+     libraries.extend(["m", "z"])
+     _platform = sys.platform
+     # Mac: iconv needs to be linked statically
+-    if _platform.lower().startswith("darwin"):
+-        libraries.append("iconv")
++    libraries.append("iconv")
+ 
+ # Extensions
+ sources.sort()
+
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 712b1a9c37..906ec456b6 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2021 Frank Pursel <frank.pursel@gmail.com>
 ;;; Copyright © 2022 Simon Tournier <zimon.toutoune@gmail.com>
 ;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
+;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -6919,6 +6920,50 @@ (define-public readstat
 popular stats packages like SAS, Stata and SPSS.")
     (license license:expat)))
 
+(define-public python-pyreadstat
+  (package
+    (name "python-pyreadstat")
+    (version "1.2.4")
+    ;; No tests in the PyPI tarball.
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Roche/pyreadstat")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0zysrzixvqw2lwwykxqg5yj8a0zyv5s2bmk22x30f4rj2hgvq1pv"))
+       (patches (search-patches "python-pyreadstat-link-libiconv.patch"))))
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (add-before 'check 'change-home-dir
+                    (lambda _
+                      ;; test_sav_expand and test_sav_write_basic_expanduser need a
+                      ;; home directory with write permissions.
+                      (setenv "HOME" "/tmp")))
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        ;; The source also contains tests/test_version.py
+                        ;; which checks the version in __init__.py against the
+                        ;; one in setup.py. Since this requires texlive
+                        ;; dependencies to run and is also not mentioned in
+                        ;; how_to_test.md, this test is skipped.
+                        (invoke "python" "tests/test_basic.py")))))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-pandas))
+    (inputs (list libiconv zlib))
+    (native-inputs (list python-cython-3))
+    (home-page "https://github.com/Roche/pyreadstat")
+    (synopsis
+     "Read and write SAS, SPSS and Stata files into/from Pandas DataFrames")
+    (description
+     "This Python package can be used to read and write SAS, SPSS and Stata
+files into/from Pandas DataFrames.  It is a wrapper around the C library
+@code{readstat}.")
+    (license license:asl2.0)))
+
 (define-public r-quantpsyc
   (package
     (name "r-quantpsyc")

base-commit: 5f8a993aa85554ca09bd27139230d7664107e1b6
-- 
2.42.0





^ permalink raw reply related	[relevance 72%]

* [bug#68147] [PATCH v2] gnu: Add python-python-snappy.
  2023-12-30 13:46 81% [bug#68147] [PATCH] gnu: Add python-snappy Troy Figiel
@ 2024-01-06 17:21 80% ` Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-06 17:21 UTC (permalink / raw)
  To: 68147

* gnu/packages/python-compression.scm (python-python-snappy): New variable.
---
 gnu/packages/python-compression.scm | 34 +++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index bc96bc05d3..6f249dd3af 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2020, 2022, 2023 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -416,6 +417,39 @@ (define-public python-lzstring
     (description "Lz-string is a string compressor library for Python.")
     (license license:expat)))
 
+(define-public python-python-snappy
+  (package
+    ;; PyPI contains both `snappy' and `python-snappy' as completely distinct
+    ;; packages. To avoid a name collision in Guix, we use the variable name
+    ;; `python-python-snappy' for the package called `python-snappy' on PyPI.
+    (name "python-python-snappy")
+    (version "0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "python-snappy" version))
+       (sha256
+        (base32 "0amv12w0ybn6n1lk36x70a3l8bdjv4mn7iflb59wqsi00smhg8dn"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (invoke "pytest" "-vv" "-k"
+                                ;; CFFI is only supported for PyPy builds.
+                                (string-append "not test_snappy_cffi_enum "
+                                               "and not test_snappy_all_cffi"))))))))
+    (inputs (list snappy))
+    (native-inputs (list python-pytest))
+    (home-page "https://github.com/andrix/python-snappy")
+    (synopsis "Python bindings for the Snappy compression library")
+    (description
+     "@code{python-python-snappy} provides bindings to the Snappy library and
+can be used to compress and decompress files and streams.  It can also be used
+directly from the command line.")
+    (license license:bsd-3)))
+
 (define-public bitshuffle
   (package
     (name "bitshuffle")

base-commit: ee0cf3b9ff4cd5a9d3637d09677195ea9ee1a8c0
-- 
2.42.0





^ permalink raw reply related	[relevance 80%]

* [bug#68241] [PATCH] gnu: python: Fix sitecustomize.py
  2024-01-04 12:44 65% [bug#68241] [PATCH] gnu: python: Fix sitecustomize.py Konrad Hinsen
@ 2024-01-06  9:37 85% ` Konrad Hinsen
  0 siblings, 0 replies; 200+ results
From: Konrad Hinsen @ 2024-01-06  9:37 UTC (permalink / raw)
  To: 68241

* gnu/packages/aux-files/python/sitecustomize.py: normalize sys.prefix
  to deal with situations where it contains "../"

This happens in particular when running Python from a Singularity image
created by Guix. See https://issues.guix.gnu.org/53258.

This is a variant of https://issues.guix.gnu.org/68241 that implements the
fix as a graft rather than as a patch to the Python package. Since many
packages in Guix depend on Python, the basic patch leads to enormous
build times. A graft should be sufficient since the fix has no impact
on Python being used within Guix.

Change-Id: I3b07f4edf474a12fcabfbf90f37c4c0223278330
---
 .../aux-files/python/sitecustomize-fixed.py   | 65 +++++++++++++++++++
 gnu/packages/python.scm                       | 22 ++++++-
 2 files changed, 85 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/aux-files/python/sitecustomize-fixed.py

diff --git a/gnu/packages/aux-files/python/sitecustomize-fixed.py b/gnu/packages/aux-files/python/sitecustomize-fixed.py
new file mode 100644
index 0000000000..82ea91104d
--- /dev/null
+++ b/gnu/packages/aux-files/python/sitecustomize-fixed.py
@@ -0,0 +1,65 @@
+# -*- coding: utf-8 -*-
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+#
+# This file is part of GNU Guix.
+#
+# GNU Guix is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or (at
+# your option) any later version.
+#
+# GNU Guix is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+import os
+import site
+import sys
+
+# Commentary:
+#
+# Site-specific customization for Guix.
+#
+# The program below honors the GUIX_PYTHONPATH environment variable to
+# discover Python packages.  File names appearing in this variable that match
+# a predefined versioned installation prefix are added to the sys.path.  To be
+# considered, a Python package must be installed under the
+# 'lib/pythonX.Y/site-packages' directory, where X and Y are the major and
+# minor version numbers of the Python interpreter.
+#
+# Code:
+
+major_minor = '{}.{}'.format(*sys.version_info)
+site_packages_prefix = os.path.join(
+    'lib', 'python' + major_minor, 'site-packages')
+python_site = os.path.normpath(os.path.join(sys.prefix, site_packages_prefix))
+
+try:
+    all_sites_raw = os.environ['GUIX_PYTHONPATH'].split(os.path.pathsep)
+except KeyError:
+    all_sites_raw = []
+# Normalize paths, otherwise a trailing slash would cause it to not match.
+all_sites_norm = [os.path.normpath(p) for p in all_sites_raw]
+matching_sites = [p for p in all_sites_norm
+                  if p.endswith(site_packages_prefix)]
+
+if matching_sites:
+    # Deduplicate the entries, append them to sys.path, and handle any
+    # .pth files they contain.
+    for s in matching_sites:
+        site.addsitedir(s)
+
+    # Move the entries that were appended to sys.path in front of
+    # Python's own site-packages directory.  This enables Guix
+    # packages to override Python's bundled packages, such as 'pip'.
+    python_site_index = sys.path.index(python_site)
+    new_site_start_index = sys.path.index(matching_sites[0])
+    if python_site_index < new_site_start_index:
+        sys.path = (sys.path[:python_site_index]
+                    + sys.path[new_site_start_index:]
+                    + sys.path[python_site_index:new_site_start_index])
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 51d5f598d7..3cc3c08360 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -414,7 +414,16 @@ (define-public python-2.7
 packages; exception-based error handling; and very high level dynamic
 data types.")
     (properties '((cpe-name . "python")))
-    (license license:psfl)))
+    (license license:psfl)
+    (replacement python-2.7-fixed)))
+
+(define-public python-2.7-fixed
+  (package
+    (inherit python-2.7)
+    (native-inputs
+     (modify-inputs (package-native-inputs python-2.7)
+       (replace "sitecustomize.py"
+         (local-file (search-auxiliary-file "python/sitecustomize-fixed.py")))))))
 
 ;; Current 2.x version.
 (define-public python-2 python-2.7)
@@ -594,7 +603,16 @@ (define-public python-3.10
            ;; Python 3.9.
            (search-path-specification
             (variable "PYTHONTZPATH")
-            (files (list "share/zoneinfo")))))))
+            (files (list "share/zoneinfo")))))
+    (replacement python-3.10-fixed)))
+
+(define-public python-3.10-fixed
+  (package
+    (inherit python-3.10)
+    (native-inputs
+     (modify-inputs (package-native-inputs python-3.10)
+       (replace "sitecustomize.py"
+         (local-file (search-auxiliary-file "python/sitecustomize-fixed.py")))))))
 
 ;; Current 3.x version.
 (define-public python-3 python-3.10)

base-commit: 7b0863f07a113caef26fea13909bd97d250b629e
-- 
2.41.0




^ permalink raw reply related	[relevance 85%]

* [bug#68250] [PATCH] gnu: Add libmpv.
@ 2024-01-05  5:06 56% Hilton Chain via Guix-patches via
  0 siblings, 0 replies; 200+ results
From: Hilton Chain via Guix-patches via @ 2024-01-05  5:06 UTC (permalink / raw)
  To: 68250
  Cc: Hilton Chain, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

* gnu/packages/video.scm (libmpv): New variable.
(mpv)[arguments]<#:configure-flags>: Remove libmpv library.
(celluloid,mpv-mpris)[inputs]: Replace mpv with libmpv.
* gnu/packages/kde-plasma.scm (plasmatube)[inputs]: Likewise.
* gnu/packages/python-xyz.scm (python-mpv)[inputs]: Likewise.

Change-Id: I7c0a808f9d54f9bfd98b3d2632316c7d58b67896
---
 gnu/packages/kde-plasma.scm |  2 +-
 gnu/packages/python-xyz.scm |  2 +-
 gnu/packages/video.scm      | 24 ++++++++++++++++++++----
 3 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 331ab28cd1..0527fa136a 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -1611,12 +1611,12 @@ (define-public plasmatube
      (list kconfig
            kirigami
            ki18n
+           libmpv
            qtbase-5
            qtdeclarative-5
            qtmultimedia-5
            qtquickcontrols2-5
            qtsvg-5
-           mpv
            youtube-dl))
     (home-page "https://apps.kde.org/plasmatube/")
     (synopsis "Kirigami YouTube video player")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2afce6c667..b23eaaadfc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -33948,7 +33948,7 @@ (define-public python-mpv
                    (setenv "HOME" (getcwd)))))))
     (native-inputs
      (list python-xvfbwrapper)) ; needed for tests only
-    (inputs (list mpv))
+    (inputs (list libmpv))
     (propagated-inputs (list python-pillow)) ; for raw screenshots
     (home-page "https://github.com/jaseg/python-mpv")
     (synopsis "Python interface to the mpv media player")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 6da4897a57..b532181225 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -867,7 +867,7 @@ (define-public celluloid
       pkg-config
       python-wrapper))             ; for generate-authors.py
     (inputs
-     (list gtk libadwaita libepoxy mpv))
+     (list gtk libadwaita libepoxy libmpv))
     (home-page "https://github.com/celluloid-player/celluloid")
     (synopsis "GTK+ frontend for the mpv media player")
     (description "Celluloid is a simple GTK+ frontend for the mpv media player.
@@ -2367,8 +2367,7 @@ (define-public mpv
               ;; Set PYTHONHASHSEED as a workaround for deterministic results.
               (setenv "PYTHONHASHSEED" "1"))))
       #:configure-flags
-      #~(list "-Dlibmpv=true"
-              "-Dcdda=enabled"
+      #~(list "-Dcdda=enabled"
               "-Ddvdnav=enabled"
               "-Dbuild-date=false")))
     (native-inputs
@@ -2422,6 +2421,23 @@ (define-public mpv
 projects while introducing many more.")
     (license license:gpl2+)))
 
+(define-public libmpv
+  (package
+    (inherit mpv)
+    (name "libmpv")
+    (arguments
+     (substitute-keyword-arguments (package-arguments mpv)
+       ((#:configure-flags flags ''())
+        #~(cons* "-Dcplayer=false"
+                 "-Dlibmpv=true"
+                 #$flags))))
+    (native-inputs
+     (modify-inputs (package-native-inputs mpv)
+       (delete "perl" "python-docutils")))
+    (propagated-inputs (package-inputs mpv))
+    (inputs '())
+    (synopsis "mpv media player client library")))
+
 (define-public smplayer
   (package
     (name "smplayer")
@@ -2524,7 +2540,7 @@ (define-public mpv-mpris
     (native-inputs
      (list pkg-config))
     (inputs
-     (list ffmpeg glib mpv))
+     (list ffmpeg glib libmpv))
     (home-page "https://github.com/hoyon/mpv-mpris")
     (synopsis "MPRIS plugin for mpv")
     (description "This package provides an @dfn{MPRIS} (Media Player Remote

base-commit: be1d05c10766a979dd0720b677889ed950d3b895
-- 
2.41.0





^ permalink raw reply related	[relevance 56%]

* [bug#68241] [PATCH] gnu: python: Fix sitecustomize.py
@ 2024-01-04 12:44 65% Konrad Hinsen
  2024-01-06  9:37 85% ` Konrad Hinsen
  0 siblings, 1 reply; 200+ results
From: Konrad Hinsen @ 2024-01-04 12:44 UTC (permalink / raw)
  To: 68241

* gnu/packages/aux-files/python/sitecustomize.py: normalize sys.prefix
  to deal with situations where it contains "../"

This happens in particular when running Python from a Singularity image
created by Guix. See https://issues.guix.gnu.org/53258.

Change-Id: Ibfe13d7c2a14beaa199f599e64bc0b7bfb500fe8
---
 gnu/packages/aux-files/python/sitecustomize.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/aux-files/python/sitecustomize.py b/gnu/packages/aux-files/python/sitecustomize.py
index e2348e0356..82ea91104d 100644
--- a/gnu/packages/aux-files/python/sitecustomize.py
+++ b/gnu/packages/aux-files/python/sitecustomize.py
@@ -37,7 +37,7 @@ import sys
 major_minor = '{}.{}'.format(*sys.version_info)
 site_packages_prefix = os.path.join(
     'lib', 'python' + major_minor, 'site-packages')
-python_site = os.path.join(sys.prefix, site_packages_prefix)
+python_site = os.path.normpath(os.path.join(sys.prefix, site_packages_prefix))
 
 try:
     all_sites_raw = os.environ['GUIX_PYTHONPATH'].split(os.path.pathsep)

base-commit: 7b0863f07a113caef26fea13909bd97d250b629e
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#68207] [PATCH 3/5] gnu: Add python-pygments-next.
    2024-01-02 15:05 64% ` [bug#68207] [PATCH 1/5] gnu: python-markdown-it-py: Update to 3.0.0 Felix Gruber
  2024-01-02 15:05 65% ` [bug#68207] [PATCH 2/5] gnu: python-mdit-py-plugins: Update to 0.4.0 Felix Gruber
@ 2024-01-02 15:05 65% ` Felix Gruber
  2024-01-02 15:05 59% ` [bug#68207] [PATCH 4/5] gnu: python-rich: Update to 13.7.0 Felix Gruber
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-01-02 15:05 UTC (permalink / raw)
  To: 68207; +Cc: Felix Gruber

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

Change-Id: I12e3e0d6042f34e0375bcbb1dc90ccc9ed9ce050
---
 gnu/packages/python-xyz.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d4f4766c5b..d0a8f900b3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6189,6 +6189,21 @@ (define-public python-pygments
      "Pygments is a syntax highlighting package written in Python.")
     (license license:bsd-2)))
 
+(define-public python-pygments-next
+  (package
+    (inherit python-pygments)
+    (name "python-pygments-next")
+    (version "2.17.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pygments" version))
+       (sha256
+        (base32
+         "0ry3qi4rszkiqb20bmjlzys71dja9i746kvqi8xbxr9dzp4wwins"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-hatchling))))
+
 (define-public python-pygments-github-lexers
   (package
     (name "python-pygments-github-lexers")
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#68207] [PATCH 4/5] gnu: python-rich: Update to 13.7.0.
                     ` (2 preceding siblings ...)
  2024-01-02 15:05 65% ` [bug#68207] [PATCH 3/5] gnu: Add python-pygments-next Felix Gruber
@ 2024-01-02 15:05 59% ` Felix Gruber
  2024-01-02 15:05 55% ` [bug#68207] [PATCH 5/5] gnu: python-textual: Update to 0.46.0 Felix Gruber
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-01-02 15:05 UTC (permalink / raw)
  To: 68207; +Cc: Felix Gruber

* gnu/packages/python-xyz.scm (python-rich): Update to 13.7.0.
[source]: Use git-fetch since pypi package doesn't include tests.
[build-system]: Use pyproject-build-system.
[arguments]: Remove custom 'check phase.
[propagated-inputs]: Remove python-attrs, python-colorama,
python-commonmark and python-typingextensions; add
python-ipywidgets and python-markdown-it-py; replace python-pygments
with python-pygments-next.
[native-inputs]: Add python-poetry-core; remove tests (which are now
included in new [source]).

Change-Id: I15f7928fc376d8c2556ca2965fe44453bd15f248
---
 gnu/packages/python-xyz.scm | 49 ++++++++++++-------------------------
 1 file changed, 15 insertions(+), 34 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d0a8f900b3..25f123e904 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18360,42 +18360,23 @@ (define-public python-slugid
 (define-public python-rich
   (package
     (name "python-rich")
-    (version "12.4.1")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "rich" version))
-              (sha256
-               (base32
-                "149vjb4cpf9mz14iig0b6d8065dm8aslp6pc45g9ipmp1wf00ffj"))))
-    (build-system python-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda* (#:key inputs tests? #:allow-other-keys)
-             (when tests?
-               (copy-recursively (string-append
-                                  (assoc-ref inputs "tests") "/tests")
-                                 "tests")
-               (invoke "python" "-m" "pytest" "-vv")))))))
+    (version "13.7.0")
+    (source
+      (origin
+        ;; There are no tests in the PyPI tarball.
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/willmcgugan/rich")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "0qyhw2vvk17qdmfrmi45z4dd0fkwx3l2qrf3iy0yc2y7pfgrmg9g"))))
+    (build-system pyproject-build-system)
     (propagated-inputs
-     (list python-attrs python-colorama python-commonmark python-pygments
-           python-typing-extensions))
+     (list python-ipywidgets python-markdown-it-py python-pygments-next))
     (native-inputs
-     `(("python-pytest" ,python-pytest)
-       ("tests"
-        ;; The release on pypi comes without tests.  We can't build from this
-        ;; checkout, though, because installation requires an invocation of
-        ;; poetry.
-        ,(origin
-           (method git-fetch)
-           (uri (git-reference
-                 (url "https://github.com/willmcgugan/rich")
-                 (commit (string-append "v" version))))
-           (file-name (git-file-name name version))
-           (sha256
-            (base32
-             "17c3gljn8zv32xnpsgd3fqgqn4r7cdfqri41hridcpbhssdgkyp9"))))))
+     (list python-poetry-core python-pytest))
     (home-page "https://github.com/willmcgugan/rich")
     (synopsis "Render rich text and more to the terminal")
     (description
-- 
2.41.0





^ permalink raw reply related	[relevance 59%]

* [bug#68207] [PATCH 5/5] gnu: python-textual: Update to 0.46.0.
                     ` (3 preceding siblings ...)
  2024-01-02 15:05 59% ` [bug#68207] [PATCH 4/5] gnu: python-rich: Update to 13.7.0 Felix Gruber
@ 2024-01-02 15:05 55% ` Felix Gruber
  2024-02-12 17:55 63% ` [bug#68207] [PATCH v2 1/5] gnu: python-markdown-it-py: Update to 3.0.0 Felix Gruber
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-01-02 15:05 UTC (permalink / raw)
  To: 68207; +Cc: Felix Gruber

* gnu/packages/python-xyz.scm (python-textual): Update to 0.46.0.
[source]: Download from github as pypi package does not include tests.
[build-system]: Change to pyproject-build-system.
[arguments]: Remove custom 'check phase; add #:test-flags to disable
broken tests.
[propagated-inputs]: Add python-markdown-it-py, python-mdit-py-plugins
and python-tree-sitter.
[native-inputs]: Add python-poetry-core and python-pytest-asyncio.

Change-Id: Ib144dc87f73e91d4c9d2e8f91ce6ce7a86a481a9
---
 gnu/packages/python-xyz.scm | 49 ++++++++++++++++++-------------------
 1 file changed, 24 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 25f123e904..3a4681a25f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -108,7 +108,7 @@
 ;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
 ;;; Copyright © 2021, 2022, 2023 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
 ;;; Copyright © 2021, 2022 Pradana Aumars <paumars@courrier.dev>
-;;; Copyright © 2021, 2022, 2023 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021–2024 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2021 Sébastien Lerique <sl@eauchat.org>
 ;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
 ;;; Copyright © 2021 ZmnSCPxj <ZmnSCPxj@protonmail.com>
@@ -264,6 +264,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages tree-sitter)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
@@ -18410,20 +18411,8 @@ (define-public python-rich-click
 (define-public python-textual
   (package
     (name "python-textual")
-    (version "0.1.18")
+    (version "0.46.0")
     (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "textual" version))
-              (sha256
-               (base32
-                "08yg5a51hz1axfj5hx28hx31gq5apcj6vpkkmawmiplisa73z25j"))))
-    (build-system python-build-system)
-    (arguments
-     (let ((tests
-            ;; The release on pypi comes without tests.  We can't build
-            ;; from this checkout, though, because installation requires
-            ;; an invocation of poetry.
-            (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/Textualize/textual")
@@ -18431,19 +18420,29 @@ (define-public python-textual
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0b3ycwqhp21mg9fvmadgxhgbvkwq6fd784l2xcmvy77rravrnnax")))))
-       (list #:phases
-             #~(modify-phases %standard-phases
-                 (replace 'check
-                   (lambda* (#:key tests? #:allow-other-keys)
-                     (when tests?
-                       (copy-recursively #$(file-append tests "/tests")
-                                         "tests")
-                       (invoke "python" "-m" "pytest" "-vv"))))))))
+                "0gjlmr1908va9m13333iq4il1gs8r4m8qrxhc49iyfy9m4xbml0v"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:test-flags
+           ;; Snapshot tests require python-pytest-textual-snapshot which
+           ;; in turn depends on python-textual.
+           '(list "--ignore=tests/snapshot_tests/test_snapshots.py"
+                  "-k" (string-append
+                         ;broken for unknown reason
+                         "not test_textual_env_var"
+                         ; tests that require python-treesitter-languages
+                         " and not test_register_language"
+                         " and not test_register_language_existing_language"
+                         ))))
     (propagated-inputs
-     (list python-rich python-typing-extensions))
+     (list python-markdown-it-py
+           python-mdit-py-plugins
+           python-rich
+           python-tree-sitter
+           ; python-tree-sitter-languages
+           python-typing-extensions))
     (native-inputs
-     (list python-pytest))
+     (list python-poetry-core python-pytest python-pytest-asyncio))
     (home-page "https://github.com/Textualize/textual")
     (synopsis "Build text user interfaces in Python")
     (description "Textual is a @acronym{TUI, Text User Interface} framework
-- 
2.41.0





^ permalink raw reply related	[relevance 55%]

* [bug#68207] [PATCH 1/5] gnu: python-markdown-it-py: Update to 3.0.0.
  @ 2024-01-02 15:05 64% ` Felix Gruber
  2024-01-02 15:05 65% ` [bug#68207] [PATCH 2/5] gnu: python-mdit-py-plugins: Update to 0.4.0 Felix Gruber
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-01-02 15:05 UTC (permalink / raw)
  To: 68207; +Cc: Felix Gruber

* gnu/packages/python-xyz.scm (python-markdown-it-py): Update to 3.0.0.
[propagated-inputs]: Remove python-typing-extensions; add python-commonmark,
python-linkify-it-py, python-markdown, python-mistletoe,
python-mistune, python-panflute, python-psutil, and python-pyyaml.
[native-inputs]: Remove python-flit; add python-flit-core.

Change-Id: I5dc06b163ddbec0a32a9d7c3da2c834b2e74cd74
---
 gnu/packages/python-xyz.scm | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2afce6c667..3894f77f2e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5482,19 +5482,26 @@ (define-public python-makefun
 (define-public python-markdown-it-py
   (package
     (name "python-markdown-it-py")
-    (version "2.1.0")
+    (version "3.0.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "markdown-it-py" version))
               (sha256
                (base32
-                "1nh75i72584r70alhqc479gys04s5m5g3vq601yf2njbs7z5jzng"))))
+                "1swgvyiavak0nmfb31lq5zck5chwhmyf6qb6qwpcav86zaa0mxp3"))))
     (build-system pyproject-build-system)
     (arguments (list #:tests? #f))      ;pypi source does not contains tests
-    (native-inputs (list python-flit))
+    (native-inputs (list python-flit-core))
     (propagated-inputs
-     (list python-mdurl
-           python-typing-extensions))
+     (list python-commonmark
+           python-linkify-it-py
+           python-markdown
+           python-mdurl
+           python-mistletoe
+           python-mistune
+           python-panflute
+           python-psutil
+           python-pyyaml))
     (home-page "https://github.com/executablebooks/markdown-it-py")
     (synopsis "Python port of markdown-it")
     (description
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* [bug#68207] [PATCH 2/5] gnu: python-mdit-py-plugins: Update to 0.4.0.
    2024-01-02 15:05 64% ` [bug#68207] [PATCH 1/5] gnu: python-markdown-it-py: Update to 3.0.0 Felix Gruber
@ 2024-01-02 15:05 65% ` Felix Gruber
  2024-01-02 15:05 65% ` [bug#68207] [PATCH 3/5] gnu: Add python-pygments-next Felix Gruber
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-01-02 15:05 UTC (permalink / raw)
  To: 68207; +Cc: Felix Gruber

* gnu/packages/python-xyz.scm (python-mdit-py-plugins): Update to 0.4.0.

Change-Id: I18ca46abebe125d1a6729c10a3f4fa4a62a145ba
---
 gnu/packages/python-xyz.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3894f77f2e..d4f4766c5b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -910,7 +910,7 @@ (define-public python-lunr
 (define-public python-mdit-py-plugins
   (package
     (name "python-mdit-py-plugins")
-    (version "0.3.1")
+    (version "0.4.0")
     (source (origin
               (method git-fetch)        ;for tests
               (uri (git-reference
@@ -919,7 +919,7 @@ (define-public python-mdit-py-plugins
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "00ybbfb6dzn9q5qnvnm8bmhd84s215ik7pcdb4r35zhwiv2ikizz"))))
+                "1790fcf3nd9c5j37fx87x3ivfyihk6l74jxj1qxvw3qfyb96w4k0"))))
     (build-system pyproject-build-system)
     (propagated-inputs
      (list python-markdown-it-py
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

* [bug#68206] [PATCH 1/2] gnu: python-click-default-group: Update to 1.2.4.
  @ 2024-01-02 14:55 61% ` Felix Gruber
  0 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2024-01-02 14:55 UTC (permalink / raw)
  To: 68206; +Cc: Felix Gruber

* gnu/packages/python-xyz.scm (python-click-default-group): Update to 1.2.4.
[source]: Download from gitlab, because pypi package does not include
tests.
[build-system]: Change to pyproject-build-system.
[arguments]: Enable tests.
[native-inputs]: Add python-flit-core and python-pytest.

Change-Id: I7f3758066d167d28de2cc1214091a8a502ab4215
---
 gnu/packages/python-xyz.scm | 25 ++++++++++++++-----------
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2afce6c667..77751a8d53 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -108,7 +108,7 @@
 ;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
 ;;; Copyright © 2021, 2022, 2023 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
 ;;; Copyright © 2021, 2022 Pradana Aumars <paumars@courrier.dev>
-;;; Copyright © 2021, 2022, 2023 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021–2024 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2021 Sébastien Lerique <sl@eauchat.org>
 ;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
 ;;; Copyright © 2021 ZmnSCPxj <ZmnSCPxj@protonmail.com>
@@ -16422,18 +16422,21 @@ (define-public python-click-log
 (define-public python-click-default-group
   (package
     (name "python-click-default-group")
-    (version "1.2.2")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "click-default-group" version))
-              (sha256
-               (base32
-                "015r78jk8gznfw0dphpwaqcx5mhg5822b55w5xbb6i7sin70wmnr"))))
-    (build-system python-build-system)
-    (arguments
-      `(#:tests? #f)) ; no target
+    (version "1.2.4")
+    (source
+     (origin
+       (method git-fetch)               ; no tests in PyPI release
+       (uri (git-reference
+             (url "https://github.com/click-contrib/click-default-group")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "06h12qwg0lhvxlgfm9768afibwp8j6r3r440v630a30bv0nkhngm"))))
+    (build-system pyproject-build-system)
     (propagated-inputs
      (list python-click))
+    (native-inputs
+     (list python-flit-core python-pytest))
     (synopsis "Extends click.Group")
     (description "This package extends click.Group to invoke a command without
 explicit subcommand name.")
-- 
2.43.0





^ permalink raw reply related	[relevance 61%]

* [bug#68197] [PATCH v2REVISION 2/5] gnu: Add python-requests-2.31.
  2024-01-02  1:25 58% ` [bug#68197] [PATCH v2REVISION 1/5] gnu: Add python-urllib3-2 Jaeme Sifat via Guix-patches via
@ 2024-01-02  1:25 62%   ` Jaeme Sifat via Guix-patches via
  2024-01-02  1:25 61%   ` [bug#68197] [PATCH v2REVISION 4/5] gnu: Add python-websockets-12 Jaeme Sifat via Guix-patches via
  1 sibling, 0 replies; 200+ results
From: Jaeme Sifat via Guix-patches via @ 2024-01-02  1:25 UTC (permalink / raw)
  To: 68197
  Cc: Jaeme Sifat, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

* gnu/packages/python-web.scm (python-requests-2.31): New variable.
* gnu/packages/python-web.scm (python-requests): Inherit from
python-requests-2.31.

Change-Id: I63aa988a03d198bbc010b56e8742b5d000caeaeb
---
 gnu/packages/python-web.scm | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index cd5cac4f44..261277155a 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -3212,25 +3212,23 @@ (define-public python-beren
      "@code{beren} provides a REST client for Orthanc, a DICOM server.")
     (license license:gpl3+)))
 
-(define-public python-requests
+(define-public python-requests-2.31
   (package
     (name "python-requests")
-    (version "2.28.1")
+    (version "2.31.0")
     (source (origin
              (method url-fetch)
              (uri (pypi-uri "requests" version))
              (sha256
               (base32
-               "10vrr7bijzrypvms3g2sgz8vya7f9ymmcv423ikampgy0aqrjmbw"))))
-    (build-system python-build-system)
+               "1qfidaynsrci4wymrw3srz8v1zy7xxpcna8sxpm91mwqixsmlb4l"))))
+    (build-system pyproject-build-system)
     (propagated-inputs
      (list python-certifi
            python-charset-normalizer
            python-idna
            python-urllib3))
-    (arguments
-     ;; FIXME: Some tests require network access.
-     '(#:tests? #f))
+    (arguments (list #:tests? #f))
     (home-page "http://python-requests.org/")
     (synopsis "Python HTTP library")
     (description
@@ -3238,6 +3236,24 @@ (define-public python-requests
 than Python’s urllib2 library.")
     (license license:asl2.0)))
 
+(define-public python-requests
+  (package
+    (inherit python-requests-2.31)
+    (name "python-requests")
+    (version "2.28.1")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "requests" version))
+             (sha256
+              (base32
+               "10vrr7bijzrypvms3g2sgz8vya7f9ymmcv423ikampgy0aqrjmbw"))))
+    (build-system python-build-system) ; Tests require network access.
+    (propagated-inputs
+     (list python-certifi
+           python-charset-normalizer
+           python-idna
+           python-urllib3))))
+
 (define-public python-requests-kerberos
   (package
     (name "python-requests-kerberos")
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#68197] [PATCH v2REVISION 4/5] gnu: Add python-websockets-12.
  2024-01-02  1:25 58% ` [bug#68197] [PATCH v2REVISION 1/5] gnu: Add python-urllib3-2 Jaeme Sifat via Guix-patches via
  2024-01-02  1:25 62%   ` [bug#68197] [PATCH v2REVISION 2/5] gnu: Add python-requests-2.31 Jaeme Sifat via Guix-patches via
@ 2024-01-02  1:25 61%   ` Jaeme Sifat via Guix-patches via
  1 sibling, 0 replies; 200+ results
From: Jaeme Sifat via Guix-patches via @ 2024-01-02  1:25 UTC (permalink / raw)
  To: 68197
  Cc: Jaeme Sifat, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

* gnu/packages/python-web.scm (python-websockets-12): New variable.

Change-Id: I5e4555098039d17db87f16f488e302cc27668898
---
 gnu/packages/python-web.scm | 36 +++++++++++++++++++++++++-----------
 1 file changed, 25 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 261277155a..2797f9ff49 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -6336,8 +6336,32 @@ (define-public python-warcio
 files.")
       (license license:asl2.0))))
 
+(define-public python-websockets-12
+  (package
+    (name "python-websockets")
+    (version "12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "websockets" version))
+       (sha256
+        (base32 "06wbik9ksfbzafq0fla3r2pjvgpy3c0qrr87w3hhs9kcpfy9rpw1"))))
+    (build-system pyproject-build-system)
+    (arguments (list #:tests? #f))
+    (home-page "https://github.com/aaugustin/websockets")
+    (synopsis
+     "Python implementation of the WebSocket Protocol (RFC 6455 & 7692)")
+    (description
+     "@code{websockets} is a library for building WebSocket servers and clients
+in Python with a focus on correctness and simplicity.
+
+Built on top of @code{asyncio}, Python's standard asynchronous I/O framework,
+it provides an elegant coroutine-based API.")
+    (license license:bsd-3)))
+
 (define-public python-websockets
   (package
+    (inherit python-websockets-12)
     (name "python-websockets")
     (version "11.0.3")
     (source
@@ -6356,17 +6380,7 @@ (define-public python-websockets
            #~(modify-phases %standard-phases
                (add-before 'check 'extend-test-timeout
                  (lambda _
-                   (setenv "WEBSOCKETS_TESTS_TIMEOUT_FACTOR" "10"))))))
-    (home-page "https://github.com/aaugustin/websockets")
-    (synopsis
-     "Python implementation of the WebSocket Protocol (RFC 6455 & 7692)")
-    (description
-     "@code{websockets} is a library for building WebSocket servers and clients
-in Python with a focus on correctness and simplicity.
-
-Built on top of @code{asyncio}, Python's standard asynchronous I/O framework,
-it provides an elegant coroutine-based API.")
-    (license license:bsd-3)))
+                   (setenv "WEBSOCKETS_TESTS_TIMEOUT_FACTOR" "10"))))))))
 
 (define-public python-selenium
   (package
-- 
2.41.0





^ permalink raw reply related	[relevance 61%]

* [bug#68197] [PATCH v2REVISION 1/5] gnu: Add python-urllib3-2.
                     ` (2 preceding siblings ...)
  2024-01-01 23:21 61% ` [bug#68197] [PATCH 4/5] gnu: Add python-websockets-12 Jaeme Sifat via Guix-patches via
@ 2024-01-02  1:25 58% ` Jaeme Sifat via Guix-patches via
  2024-01-02  1:25 62%   ` [bug#68197] [PATCH v2REVISION 2/5] gnu: Add python-requests-2.31 Jaeme Sifat via Guix-patches via
  2024-01-02  1:25 61%   ` [bug#68197] [PATCH v2REVISION 4/5] gnu: Add python-websockets-12 Jaeme Sifat via Guix-patches via
  3 siblings, 2 replies; 200+ results
From: Jaeme Sifat via Guix-patches via @ 2024-01-02  1:25 UTC (permalink / raw)
  To: 68197
  Cc: Jaeme Sifat, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

* gnu/packages/python-web.scm (python-urllib3-2): New variable.
* gnu/packages/python-web.scm (python-urllib3): Inherit python-urllib3-2.

Change-Id: Ib96504a72eb6f4485a777854bd7580c4b092756a
---
 gnu/packages/python-web.scm | 35 ++++++++++++++++++++++++++---------
 1 file changed, 26 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 06b578dac7..cd5cac4f44 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -60,6 +60,7 @@
 ;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
 ;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
 ;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
+;;; Copyright © 2024 Jaeme Sifat <jaeme@runbox.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3597,8 +3598,31 @@ (define-public python-unalix
 addon for removing tracking fields from URLs.")
     (license license:lgpl3+)))
 
+(define-public python-urllib3-2
+  (package
+    (name "python-urllib3")
+    (version "2.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "urllib3" version))
+        (sha256
+         (base32
+          "0m1dnpbw2dyxp7658v1fm37zzx5mb4n9p2g7i22ag3qln2pshynz"))))
+    (build-system pyproject-build-system)
+    (arguments `(#:tests? #f))
+    (native-inputs (list python-hatchling))
+    (home-page "https://urllib3.readthedocs.io/")
+    (synopsis "HTTP library with thread-safe connection pooling")
+    (description
+     "Urllib3 supports features left out of urllib and urllib2 libraries.  It
+can reuse the same socket connection for multiple requests, it can POST files,
+supports url redirection and retries, and also gzip and deflate decoding.")
+    (license license:expat)))
+
 (define-public python-urllib3
   (package
+    (inherit python-urllib3-2)
     (name "python-urllib3")
     (version "1.26.15")
     (source
@@ -3609,7 +3633,7 @@ (define-public python-urllib3
          (base32
           "01dkqv0rsjqyw4wrp6yj8h3bcnl7c678qkj845596vs7p4bqff4a"))))
     (build-system python-build-system)
-    (arguments `(#:tests? #f))
+    (native-inputs '())
     (propagated-inputs
      (append
        ;; These 5 inputs are used to build urrlib3[secure]
@@ -3623,14 +3647,7 @@ (define-public python-urllib3
                    (package-transitive-supported-systems python-pyopenssl))
          (list python-pyopenssl)
          '())
-       (list python-pysocks)))
-    (home-page "https://urllib3.readthedocs.io/")
-    (synopsis "HTTP library with thread-safe connection pooling")
-    (description
-     "Urllib3 supports features left out of urllib and urllib2 libraries.  It
-can reuse the same socket connection for multiple requests, it can POST files,
-supports url redirection and retries, and also gzip and deflate decoding.")
-    (license license:expat)))
+       (list python-pysocks)))))
 
 (define-public awscli
   (package

base-commit: ee0cf3b9ff4cd5a9d3637d09677195ea9ee1a8c0
-- 
2.41.0





^ permalink raw reply related	[relevance 58%]

* [bug#68197] [PATCH 4/5] gnu: Add python-websockets-12.
    2024-01-01 23:21 60% ` [bug#68197] [PATCH 1/5] gnu: Add python-urllib3-2 Jaeme Sifat via Guix-patches via
  2024-01-01 23:21 62% ` [bug#68197] [PATCH 2/5] gnu: Add python-requests-2.31 Jaeme Sifat via Guix-patches via
@ 2024-01-01 23:21 61% ` Jaeme Sifat via Guix-patches via
  2024-01-02  1:25 58% ` [bug#68197] [PATCH v2REVISION 1/5] gnu: Add python-urllib3-2 Jaeme Sifat via Guix-patches via
  3 siblings, 0 replies; 200+ results
From: Jaeme Sifat via Guix-patches via @ 2024-01-01 23:21 UTC (permalink / raw)
  To: 68197
  Cc: Jaeme Sifat, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

* gnu/packages/python-web.scm (python-websockets-12): New variable.

Change-Id: I5e4555098039d17db87f16f488e302cc27668898
---
 gnu/packages/python-web.scm | 36 +++++++++++++++++++++++++-----------
 1 file changed, 25 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 92d041e794..35e9a027e9 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -6335,8 +6335,32 @@ (define-public python-warcio
 files.")
       (license license:asl2.0))))
 
+(define-public python-websockets-12
+  (package
+    (name "python-websockets")
+    (version "12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "websockets" version))
+       (sha256
+        (base32 "06wbik9ksfbzafq0fla3r2pjvgpy3c0qrr87w3hhs9kcpfy9rpw1"))))
+    (build-system pyproject-build-system)
+    (arguments (list #:tests? #f))
+    (home-page "https://github.com/aaugustin/websockets")
+    (synopsis
+     "Python implementation of the WebSocket Protocol (RFC 6455 & 7692)")
+    (description
+     "@code{websockets} is a library for building WebSocket servers and clients
+in Python with a focus on correctness and simplicity.
+
+Built on top of @code{asyncio}, Python's standard asynchronous I/O framework,
+it provides an elegant coroutine-based API.")
+    (license license:bsd-3)))
+
 (define-public python-websockets
   (package
+    (inherit python-websockets-12)
     (name "python-websockets")
     (version "11.0.3")
     (source
@@ -6355,17 +6379,7 @@ (define-public python-websockets
            #~(modify-phases %standard-phases
                (add-before 'check 'extend-test-timeout
                  (lambda _
-                   (setenv "WEBSOCKETS_TESTS_TIMEOUT_FACTOR" "10"))))))
-    (home-page "https://github.com/aaugustin/websockets")
-    (synopsis
-     "Python implementation of the WebSocket Protocol (RFC 6455 & 7692)")
-    (description
-     "@code{websockets} is a library for building WebSocket servers and clients
-in Python with a focus on correctness and simplicity.
-
-Built on top of @code{asyncio}, Python's standard asynchronous I/O framework,
-it provides an elegant coroutine-based API.")
-    (license license:bsd-3)))
+                   (setenv "WEBSOCKETS_TESTS_TIMEOUT_FACTOR" "10"))))))))
 
 (define-public python-selenium
   (package
-- 
2.41.0





^ permalink raw reply related	[relevance 61%]

* [bug#68197] [PATCH 2/5] gnu: Add python-requests-2.31.
    2024-01-01 23:21 60% ` [bug#68197] [PATCH 1/5] gnu: Add python-urllib3-2 Jaeme Sifat via Guix-patches via
@ 2024-01-01 23:21 62% ` Jaeme Sifat via Guix-patches via
  2024-01-01 23:21 61% ` [bug#68197] [PATCH 4/5] gnu: Add python-websockets-12 Jaeme Sifat via Guix-patches via
  2024-01-02  1:25 58% ` [bug#68197] [PATCH v2REVISION 1/5] gnu: Add python-urllib3-2 Jaeme Sifat via Guix-patches via
  3 siblings, 0 replies; 200+ results
From: Jaeme Sifat via Guix-patches via @ 2024-01-01 23:21 UTC (permalink / raw)
  To: 68197
  Cc: Jaeme Sifat, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

* gnu/packages/python-web.scm (python-requests-2.31): New variable.
* gnu/packages/python-web.scm (python-requests): Inherit from
python-requests-2.31.

Change-Id: I63aa988a03d198bbc010b56e8742b5d000caeaeb
---
 gnu/packages/python-web.scm | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index b2d67996a7..92d041e794 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -3211,25 +3211,23 @@ (define-public python-beren
      "@code{beren} provides a REST client for Orthanc, a DICOM server.")
     (license license:gpl3+)))
 
-(define-public python-requests
+(define-public python-requests-2.31
   (package
     (name "python-requests")
-    (version "2.28.1")
+    (version "2.31.0")
     (source (origin
              (method url-fetch)
              (uri (pypi-uri "requests" version))
              (sha256
               (base32
-               "10vrr7bijzrypvms3g2sgz8vya7f9ymmcv423ikampgy0aqrjmbw"))))
-    (build-system python-build-system)
+               "1qfidaynsrci4wymrw3srz8v1zy7xxpcna8sxpm91mwqixsmlb4l"))))
+    (build-system pyproject-build-system)
     (propagated-inputs
      (list python-certifi
            python-charset-normalizer
            python-idna
            python-urllib3))
-    (arguments
-     ;; FIXME: Some tests require network access.
-     '(#:tests? #f))
+    (arguments (list #:tests? #f))
     (home-page "http://python-requests.org/")
     (synopsis "Python HTTP library")
     (description
@@ -3237,6 +3235,24 @@ (define-public python-requests
 than Python’s urllib2 library.")
     (license license:asl2.0)))
 
+(define-public python-requests
+  (package
+    (inherit python-requests-2.31)
+    (name "python-requests")
+    (version "2.28.1")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "requests" version))
+             (sha256
+              (base32
+               "10vrr7bijzrypvms3g2sgz8vya7f9ymmcv423ikampgy0aqrjmbw"))))
+    (build-system python-build-system) ; Tests require network access.
+    (propagated-inputs
+     (list python-certifi
+           python-charset-normalizer
+           python-idna
+           python-urllib3))))
+
 (define-public python-requests-kerberos
   (package
     (name "python-requests-kerberos")
-- 
2.41.0





^ permalink raw reply related	[relevance 62%]

* [bug#68197] [PATCH 1/5] gnu: Add python-urllib3-2.
  @ 2024-01-01 23:21 60% ` Jaeme Sifat via Guix-patches via
  2024-01-01 23:21 62% ` [bug#68197] [PATCH 2/5] gnu: Add python-requests-2.31 Jaeme Sifat via Guix-patches via
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 200+ results
From: Jaeme Sifat via Guix-patches via @ 2024-01-01 23:21 UTC (permalink / raw)
  To: 68197
  Cc: Jaeme Sifat, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

* gnu/packages/python-web.scm (python-urllib3-2): New variable.
* gnu/packages/python-web.scm (python-urllib3): Inherit python-urllib3-2.

Change-Id: Ib96504a72eb6f4485a777854bd7580c4b092756a
---
 gnu/packages/python-web.scm | 34 +++++++++++++++++++++++++---------
 1 file changed, 25 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 06b578dac7..b2d67996a7 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -3597,8 +3597,31 @@ (define-public python-unalix
 addon for removing tracking fields from URLs.")
     (license license:lgpl3+)))
 
+(define-public python-urllib3-2
+  (package
+    (name "python-urllib3")
+    (version "2.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "urllib3" version))
+        (sha256
+         (base32
+          "0m1dnpbw2dyxp7658v1fm37zzx5mb4n9p2g7i22ag3qln2pshynz"))))
+    (build-system pyproject-build-system)
+    (arguments `(#:tests? #f))
+    (native-inputs (list python-hatchling))
+    (home-page "https://urllib3.readthedocs.io/")
+    (synopsis "HTTP library with thread-safe connection pooling")
+    (description
+     "Urllib3 supports features left out of urllib and urllib2 libraries.  It
+can reuse the same socket connection for multiple requests, it can POST files,
+supports url redirection and retries, and also gzip and deflate decoding.")
+    (license license:expat)))
+
 (define-public python-urllib3
   (package
+    (inherit python-urllib3-2)
     (name "python-urllib3")
     (version "1.26.15")
     (source
@@ -3609,7 +3632,7 @@ (define-public python-urllib3
          (base32
           "01dkqv0rsjqyw4wrp6yj8h3bcnl7c678qkj845596vs7p4bqff4a"))))
     (build-system python-build-system)
-    (arguments `(#:tests? #f))
+    (native-inputs '())
     (propagated-inputs
      (append
        ;; These 5 inputs are used to build urrlib3[secure]
@@ -3623,14 +3646,7 @@ (define-public python-urllib3
                    (package-transitive-supported-systems python-pyopenssl))
          (list python-pyopenssl)
          '())
-       (list python-pysocks)))
-    (home-page "https://urllib3.readthedocs.io/")
-    (synopsis "HTTP library with thread-safe connection pooling")
-    (description
-     "Urllib3 supports features left out of urllib and urllib2 libraries.  It
-can reuse the same socket connection for multiple requests, it can POST files,
-supports url redirection and retries, and also gzip and deflate decoding.")
-    (license license:expat)))
+       (list python-pysocks)))))
 
 (define-public awscli
   (package
-- 
2.41.0





^ permalink raw reply related	[relevance 60%]

* [bug#68193] [PATCH] gnu: Add python-zc-lockfile.
@ 2024-01-01 18:52 82% Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-01 18:52 UTC (permalink / raw)
  To: 68193

* gnu/packages/python-web.scm (python-zc-lockfile): New variable.
---
 gnu/packages/python-web.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 06b578dac7..82663a9754 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -60,6 +60,7 @@
 ;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
 ;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
 ;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
+;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2595,6 +2596,32 @@ (define-public python-webob
 object to help create WSGI responses.")
     (license license:expat)))
 
+(define-public python-zc-lockfile
+  (package
+    (name "python-zc-lockfile")
+    (version "3.0.post1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "zc.lockfile" version))
+       (sha256
+        (base32 "1v41irj7azaag3f14xyviv3l8mvap74v5p3q274k68vakrnyxcmd"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (if tests?
+                          (invoke "zope-testrunner" "--test-path=src")
+                          (format #t "test suite not run~%")))))))
+    (native-inputs (list python-zope-testing python-zope-testrunner))
+    (home-page "https://github.com/zopefoundation/zc.lockfile")
+    (synopsis "Interprocess locks using lock files")
+    (description
+     "This package provides an implementation of interprocess locks using lock
+files.  These locks can also be used to mediate access to other files.")
+    (license license:zpl2.1)))
+
 (define-public python-zope-event
   (package
     (name "python-zope-event")

base-commit: ff586211aaf0e3b468ff3cedc5ede18e8ab529dd
-- 
2.40.1





^ permalink raw reply related	[relevance 82%]

* [bug#68192] [PATCH 2/2] gnu: Add python-jaraco-collections.
    2024-01-01 17:23 80% ` [bug#68192] [PATCH 1/2] gnu: Add python-jaraco-text Troy Figiel
@ 2024-01-01 17:34 58% ` Troy Figiel
  1 sibling, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-01 17:34 UTC (permalink / raw)
  To: 68192

* gnu/packages/python-xyz.scm (python-jaraco-collections): New variable.
---
 gnu/packages/python-xyz.scm | 61 +++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f3014f8105..09172dccf7 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10275,6 +10275,67 @@ (define-public python-jaraco-classes
 class constructs.")
     (license license:expat)))
 
+(define-public python-jaraco-collections
+  (package
+    (name "python-jaraco-collections")
+    (version "5.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jaraco.collections" version))
+       (sha256
+        (base32 "0s7y3jr7c173k38pck1b17kxnvx2fl0qh9m9gdf64pr9kz8fi00n"))))
+    (build-system pyproject-build-system)
+    ;; Do not test pyproject.toml with python-pytest-checkdocs as it tries to
+    ;; download dependencies.
+    (arguments
+     '(#:test-flags '("-k" "not project")))
+    (propagated-inputs (list python-jaraco-text))
+    ;; TODO: Add python-pytest-ruff to native-inputs once it has been
+    ;; packaged.
+    (native-inputs (list python-pytest
+                         python-pytest-black
+                         python-pytest-checkdocs
+                         python-pytest-cov
+                         python-pytest-enabler
+                         python-pytest-mypy))
+    (home-page "https://github.com/jaraco/jaraco.collections")
+    (synopsis "Provides various collection objects")
+    (description
+     "This package provides models and classes to supplement the
+standard library @code{collections} module.  Examples include
+@itemize
+@item
+RangeMap: A mapping that accepts a range of values for keys.
+@item
+Projection: A subset over an existing mapping.
+@item
+KeyTransformingDict: Generalized mapping with keys transformed by a function.
+@item
+FoldedCaseKeyedDict: A dict whose string keys are case-insensitive.
+@item
+BijectiveMap: A map where keys map to values and values back to their keys.
+@item
+ItemsAsAttributes: A mapping mix-in exposing items as attributes.
+@item
+IdentityOverrideMap: A map whose keys map by default to themselves unless overridden.
+@item
+FrozenDict: A hashable, immutable map.
+@item
+Enumeration: An object whose keys are enumerated.
+@item
+Everything: A container that contains all things.
+@item
+Least, Greatest: Objects that are always less than or greater than any other.
+@item
+pop_all: Return all items from the mutable sequence and remove them from that sequence.
+@item
+DictStack: A stack of dicts, great for sharing scopes.
+@item
+WeightedLookup: A specialized RangeMap for selecting an item by weights.
+@end itemize")
+    (license license:expat)))
+
 ;;; Variant used to break a cycle with python-pytest-enabler.
 (define-public python-jaraco-context-bootstrap
   (hidden-package
-- 
2.40.1





^ permalink raw reply related	[relevance 58%]

* [bug#68192] [PATCH 1/2] gnu: Add python-jaraco-text.
  @ 2024-01-01 17:23 80% ` Troy Figiel
  2024-01-01 17:34 58% ` [bug#68192] [PATCH 2/2] gnu: Add python-jaraco-collections Troy Figiel
  1 sibling, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-01 17:23 UTC (permalink / raw)
  To: 68192

* gnu/packages/python-xyz.scm (python-jaraco-text): New variable.
---
 gnu/packages/python-xyz.scm | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2afce6c667..f3014f8105 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -145,7 +145,7 @@
 ;;; Copyright © c4droid <c4droid@foxmail.com>
 ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
-;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -10439,6 +10439,41 @@ (define-public python-jaraco-test
     (description "This package provides testing support by jaraco.")
     (license license:expat)))
 
+(define-public python-jaraco-text
+  (package
+    (name "python-jaraco-text")
+    (version "3.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jaraco.text" version))
+       (sha256
+        (base32 "0b2rmx0sa61f75lkkr4nfaj3mkgmn3x9c1akpwarfbmksk42b7iq"))))
+    (build-system pyproject-build-system)
+    ;; Do not test pyproject.toml with python-pytest-checkdocs as it tries to
+    ;; download dependencies.
+    (arguments
+     '(#:test-flags '("-k" "not project")))
+    (propagated-inputs (list python-autocommand python-inflect
+                             python-jaraco-context python-jaraco-functools
+                             python-more-itertools))
+    ;; TODO: Add python-pytest-ruff to native-inputs once it has been
+    ;; packaged.
+    (native-inputs (list python-pytest
+                         python-pytest-black
+                         python-pytest-checkdocs
+                         python-pytest-cov
+                         python-pytest-enabler
+                         python-pytest-mypy))
+    (home-page "https://github.com/jaraco/jaraco.text")
+    (synopsis "Provides various routines for text manipulation")
+    (description
+     "This package provides handy routines for dealing with text,
+such as wrapping, substitution, trimming, stripping, prefix and suffix
+removal, line continuation, indentation, comment processing, identifier
+processing, values parsing, case insensitive comparison, and more.")
+    (license license:expat)))
+
 (define-public python-simplegeneric
   (package
     (name "python-simplegeneric")
-- 
2.40.1





^ permalink raw reply related	[relevance 80%]

* [bug#68191] [PATCH] gnu: Add python-portend.
@ 2024-01-01 17:53 80% Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2024-01-01 17:53 UTC (permalink / raw)
  To: 68191

* gnu/packages/python-web.scm (python-portend): New variable.
---
 gnu/packages/python-web.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 06b578dac7..8eed01c3e2 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -60,6 +60,7 @@
 ;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
 ;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
 ;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
+;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -201,6 +202,38 @@ (define-public python-lazr-uri
 reusable library for parsing, manipulating, and generating URIs.")
     (license license:lgpl3)))
 
+(define-public python-portend
+  (package
+    (name "python-portend")
+    (version "3.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "portend" version))
+       (sha256
+        (base32 "0wpvixicc3d0lack65554mvdrrckkn18p1xcgiv9v5cwq59a6l2j"))))
+    (build-system pyproject-build-system)
+    ;; Do not test pyproject.toml with python-pytest-checkdocs as it tries to
+    ;; download dependencies.
+    (arguments
+     '(#:test-flags '("-k" "not project")))
+    (propagated-inputs (list python-tempora))
+    ;; TODO: Add python-pytest-ruff to native-inputs once it has been packaged.
+    (native-inputs (list python-pytest
+                         python-pytest-black
+                         python-pytest-checkdocs
+                         python-pytest-cov
+                         python-pytest-enabler
+                         python-pytest-mypy))
+    (home-page "https://github.com/jaraco/portend")
+    (synopsis "Monitor TCP ports for bound or unbound states")
+    (description
+     "@code{python-portend} can be used to monitor TCP ports for bound or
+unbound states.  For example, waiting for a port to be occupied or freed
+within a set timeout.  @code{python-portend} can also be used directly from
+the command line.")
+    (license license:expat)))
+
 (define-public python-prawcore
   (package
     (name "python-prawcore")

base-commit: ff586211aaf0e3b468ff3cedc5ede18e8ab529dd
-- 
2.40.1





^ permalink raw reply related	[relevance 80%]

* [bug#68171] [PATCH 2/2] gnu: python-h5py: Reformat with guix style.
    2023-12-30 10:36 65% ` [bug#68171] [PATCH 1/2] gnu: python-h5py: Enable tests Troy Figiel
@ 2023-12-30 11:06 65% ` Troy Figiel
  1 sibling, 0 replies; 200+ results
From: Troy Figiel @ 2023-12-30 11:06 UTC (permalink / raw)
  To: 68171

* gnu/packages/python-xyz.scm (python-h5py): Reformat with guix style.

Change-Id: I9c8fabcb8a438909ff70a2c98c9e01b3a82079f3
---
 gnu/packages/python-xyz.scm | 29 +++++++++++++----------------
 1 file changed, 13 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b5384b7c42..3015f0356f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2250,24 +2250,21 @@ (define-public python-h5py
     (version "3.8.0")
     (source
      (origin
-      (method url-fetch)
-      (uri (pypi-uri "h5py" version))
-      (sha256
-       (base32
-        "0pyr6z4h2xqbp49yx2i1401gl6yqh03h771zslwcy0201hpxiskg"))))
+       (method url-fetch)
+       (uri (pypi-uri "h5py" version))
+       (sha256
+        (base32 "0pyr6z4h2xqbp49yx2i1401gl6yqh03h771zslwcy0201hpxiskg"))))
     (build-system python-build-system)
     (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-hdf5-paths
-          (lambda* (#:key inputs #:allow-other-keys)
-            (setenv "HDF5_DIR" (assoc-ref inputs "hdf5")))))))
-    (propagated-inputs
-     (list python-six python-numpy))
-    (inputs
-     (list hdf5-1.10))
-    (native-inputs
-     (list python-cython python-ipython python-pkgconfig python-pytest pkg-config))
+     '(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'fix-hdf5-paths
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (setenv "HDF5_DIR"
+                              (assoc-ref inputs "hdf5")))))))
+    (propagated-inputs (list python-six python-numpy))
+    (inputs (list hdf5-1.10))
+    (native-inputs (list pkg-config python-cython python-ipython
+                         python-pkgconfig python-pytest))
     (home-page "https://www.h5py.org/")
     (synopsis "Read and write HDF5 files from Python")
     (description
-- 
2.40.1





^ permalink raw reply related	[relevance 65%]

* [bug#68171] [PATCH 1/2] gnu: python-h5py: Enable tests.
  @ 2023-12-30 10:36 65% ` Troy Figiel
  2023-12-30 11:06 65% ` [bug#68171] [PATCH 2/2] gnu: python-h5py: Reformat with guix style Troy Figiel
  1 sibling, 0 replies; 200+ results
From: Troy Figiel @ 2023-12-30 10:36 UTC (permalink / raw)
  To: 68171

* gnu/packages/python-xyz.scm (python-h5py)[native-inputs]: Add python-ipython and python-pytest.

Change-Id: Ia1cae8bce802805c9d9b38a3bf515423f9b719b4
---
 gnu/packages/python-xyz.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2afce6c667..b5384b7c42 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2257,8 +2257,7 @@ (define-public python-h5py
         "0pyr6z4h2xqbp49yx2i1401gl6yqh03h771zslwcy0201hpxiskg"))))
     (build-system python-build-system)
     (arguments
-     `(#:tests? #f ; no test target
-       #:phases
+     '(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'fix-hdf5-paths
           (lambda* (#:key inputs #:allow-other-keys)
@@ -2268,7 +2267,7 @@ (define-public python-h5py
     (inputs
      (list hdf5-1.10))
     (native-inputs
-     (list python-cython python-pkgconfig pkg-config))
+     (list python-cython python-ipython python-pkgconfig python-pytest pkg-config))
     (home-page "https://www.h5py.org/")
     (synopsis "Read and write HDF5 files from Python")
     (description
-- 
2.40.1





^ permalink raw reply related	[relevance 65%]

* [bug#68153] [PATCH] gnu: Add python-find-libpython.
  @ 2023-12-31 11:14 65% ` Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2023-12-31 11:14 UTC (permalink / raw)
  To: 68153

* gnu/packages/python-xyz.scm (python-find-libpython): New variable.
---
 gnu/packages/python-xyz.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2afce6c667..c4bbe14a7c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9159,6 +9159,30 @@ (define-public python-executor
 particularly the AST node being executed.")
     (license license:expat))) ; MIT license
 
+(define-public python-find-libpython
+  (package
+    (name "python-find-libpython")
+    (version "0.3.1")
+    (source
+     (origin
+       ;; Only available as a binary release on PyPI.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ktbarrett/find_libpython")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1d7y9srf5j8g34azf0j1jnnrn5al55cnzb4kkx2l1q8hys0l040c"))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-pytest))
+    (home-page "https://github.com/ktbarrett/find_libpython")
+    (synopsis "Find the path to the @code{libpython} dynamic library")
+    (description "@code{find_libpython} helps find the path to the
+@code{libpython} dynamic library for the current Python environment.  It is
+both a script and a Python package.")
+    (license license:expat))) ; MIT license
+
 (define-public python-roifile
   (package
     (name "python-roifile")

base-commit: 2a242e86379ebddbdddf2927f26e5e27a98fc605
-- 
2.40.1





^ permalink raw reply related	[relevance 65%]

* [bug#68147] [PATCH] gnu: Add python-snappy.
@ 2023-12-30 13:46 81% Troy Figiel
  2024-01-06 17:21 80% ` [bug#68147] [PATCH v2] gnu: Add python-python-snappy Troy Figiel
  0 siblings, 1 reply; 200+ results
From: Troy Figiel @ 2023-12-30 13:46 UTC (permalink / raw)
  To: 68147

* gnu/packages/python-compression.scm (python-snappy): New variable.

Change-Id: I0142f49745104db8458c0becf222eb4088c9ee58
---
 gnu/packages/python-compression.scm | 31 +++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index bc96bc05d3..364f741392 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2020, 2022, 2023 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -416,6 +417,36 @@ (define-public python-lzstring
     (description "Lz-string is a string compressor library for Python.")
     (license license:expat)))
 
+(define-public python-snappy
+  (package
+    (name "python-snappy")
+    (version "0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "python-snappy" version))
+       (sha256
+        (base32 "0amv12w0ybn6n1lk36x70a3l8bdjv4mn7iflb59wqsi00smhg8dn"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (invoke "pytest" "-vv" "-k"
+                                ;; CFFI is only supported for PyPy builds.
+                                (string-append "not test_snappy_cffi_enum "
+                                               "and not test_snappy_all_cffi"))))))))
+    (inputs (list snappy))
+    (native-inputs (list python-pytest))
+    (home-page "https://github.com/andrix/python-snappy")
+    (synopsis "Python bindings for the Snappy compression library")
+    (description
+     "@code{python-snappy} provides bindings to the Snappy library
+and can be used to compress and decompress files and streams.  It can also be
+used directly from the command line.")
+    (license license:bsd-3)))
+
 (define-public bitshuffle
   (package
     (name "bitshuffle")

base-commit: f24b14767d362a84e6469682b4fe303b50f4b589
-- 
2.40.1





^ permalink raw reply related	[relevance 81%]

* [bug#68142] [PATCH] gnu: Add python-hdf5storage.
@ 2023-12-30 10:44 64% Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2023-12-30 10:44 UTC (permalink / raw)
  To: 68142

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

Change-Id: If54c5f4b634658854bbe9312dce194643fe23733
---
 gnu/packages/python-xyz.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2afce6c667..594059f25e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2279,6 +2279,30 @@ (define-public python-h5py
 concepts.")
     (license license:bsd-3)))
 
+(define-public python-hdf5storage
+  (package
+    (name "python-hdf5storage")
+    (version "0.1.19")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "hdf5storage" version))
+       (sha256
+        (base32 "11pgxsqap9l7jsf52649q9mpj8a0w6p9im929lpr9s26ynnnn6ks"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-h5py python-numpy))
+    (native-inputs (list python-nose))
+    (home-page "https://github.com/frejanordsiek/hdf5storage")
+    (synopsis "Read and write Python data types from and to HDF5 files")
+    (description
+     "This Python package provides high-level utilities to read and write a
+variety of Python types from and to @acronym{HDF5, Hierarchical Data Format}
+formatted files.  This package also provides support for MATLAB MAT v7.3
+formatted files, which are HDF5 files with a different extension and some
+extra metadata.  Because HDF5 and MAT files might need to be read from
+untrusted sources, pickling is avoided in this package.")
+    (license license:bsd-2)))
+
 (define-public python-hjson
   ;; Using commit from master branch as the PyPI version does not contain
   ;; the hjson/tests/ directory.

base-commit: f24b14767d362a84e6469682b4fe303b50f4b589
-- 
2.40.1





^ permalink raw reply related	[relevance 64%]

* [bug#64258] [PATCH v3 1/2] gnu: Add python-daft.
  @ 2023-12-28 20:55 61% ` Felix Gruber
  0 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2023-12-28 20:55 UTC (permalink / raw)
  To: 64258; +Cc: Felix Gruber

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

Change-Id: I546556c825662e5b8bff46e5a78e7c98c8cc55ed
---
 gnu/packages/python-xyz.scm | 47 +++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ee689809a3..02ba55d339 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -4197,6 +4197,53 @@ (define-public python-pomegranate
 Cython for speed.")
     (license license:expat)))
 
+(define-public python-daft
+  (package
+    (name "python-daft")
+    (version "0.1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "daft" version))
+              (sha256
+               (base32
+                "1r8jsfavd624q2q61f863lk6has6mv5csswh39saafd5khwf0xry"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      '(list "-k"
+             (string-append
+               ;; The following tests compare matplotlib output with
+               ;; previously generated images.  They fail due to minor
+               ;; differences in where matplotlib places labels.
+               "not test_bca[png]"
+               " and not test_classic[png]"
+               " and not test_deconvolution[png]"
+               " and not test_exoplanets[png]"
+               " and not test_fixed[png]"
+               " and not test_gaia[png]"
+               " and not test_galex[png]"
+               " and not test_huey_p_newton[png]"
+               " and not test_logo[png]"
+               " and not test_no_circles[png]"
+               " and not test_no_gray[png]"
+               " and not test_recursive[png]"
+               " and not test_thick_lines[png]"
+               " and not test_weaklensing[png]"
+               " and not test_wordy[png]"))))
+    (propagated-inputs (list python-matplotlib python-numpy))
+    (native-inputs (list python-pytest))
+    (home-page "https://docs.daft-pgm.org/")
+    (synopsis "PGM rendering library")
+    (description "Daft is a Python package that uses matplotlib to
+render pixel-perfect probabilistic graphical models for publication in
+a journal or on the internet.  With a short Python script and an
+intuitive model-building syntax you can design directed (Bayesian
+Networks, directed acyclic graphs) and undirected (Markov random fields)
+models and save them in any formats that matplotlib supports (including
+PDF, PNG, EPS and SVG).")
+    (license license:expat)))
+
 (define-public python-portalocker
   (package
     (name "python-portalocker")
-- 
2.43.0





^ permalink raw reply related	[relevance 61%]

* [bug#68071] [PATCH] gnu: Add python-ast-decompiler.
@ 2023-12-27 23:31 64% Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2023-12-27 23:31 UTC (permalink / raw)
  To: 68071

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

Change-Id: Id0f47c866e72c9f7053da47fdd7aea840a191e62
---
 gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index cab44be011..3ad1db7581 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11021,6 +11021,34 @@ (define-public python-pure-eval
 abstract syntax tree (AST) nodes without side effects.")
     (license license:expat)))
 
+(define-public python-ast-decompiler
+  (package
+    (name "python-ast-decompiler")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ast_decompiler" version))
+       (sha256
+        (base32 "0dw3fck4ajilphqw4hdpa8pmqxg3jfk2xkmjnk3kx5pqwl3sbhzg"))
+       ;; We need to manually create an __init__.py file under the tests/
+       ;; directory, since it is not included in the distributed
+       ;; version. (See:
+       ;; https://github.com/JelleZijlstra/ast_decompiler/issues/52).
+       (modules '((guix build utils)))
+       (snippet '(call-with-output-file "tests/__init__.py"
+                   (const #t)))))
+    (build-system pyproject-build-system)
+    (native-inputs (list python-flit-core python-pytest))
+    (home-page "https://github.com/JelleZijlstra/ast_decompiler")
+    (synopsis
+     "Decompile an @acronym{AST, Abstract Syntax Tree} to Python code")
+    (description
+     "This library provides functionality to decompile @acronym{AST, Abstract
+Syntax Tree} objects, as generated by the standard library @code{ast} module,
+to Python code.")
+    (license license:asl2.0)))
+
 (define-public python-asttokens
   (package
     (name "python-asttokens")

base-commit: 5bd80ccd69047b1777749e24d4adf2c951b5d14b
-- 
2.40.1





^ permalink raw reply related	[relevance 64%]

* [bug#68070] [PATCH] gnu: python-flake8-isort: Update to 6.1.0.
@ 2023-12-27 22:13 65% Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2023-12-27 22:13 UTC (permalink / raw)
  To: 68070

* gnu/packages/python-xyz.scm (python-flake8-isort): Update to 6.1.0.
[arguments]<#:phases>: Update check phase, because tests have been moved to run_tests.py.
[propagated-inputs]: Remove python-testfixtures.

Change-Id: Iecaf50021c8f29fb083f7a85b7ac731836e97384
---
 gnu/packages/python-xyz.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index cab44be011..85ce2256b8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13081,13 +13081,13 @@ (define-public python-flake8-todo
 (define-public python-flake8-isort
   (package
     (name "python-flake8-isort")
-    (version "4.1.1")
+    (version "6.1.0")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "flake8-isort" version))
         (sha256
-          (base32 "05r7z0j9rqgy0a9261bhisairrz6w8hy5hy5kf2mhvhfnx53056q"))))
+          (base32 "0gk4q504v42hdzpkndczc0kkwnr85jn1h5pvb561jh65p91r6qyl"))))
     (build-system python-build-system)
     (arguments
      (list
@@ -13096,8 +13096,8 @@ (define-public python-flake8-isort
           (replace 'check
             (lambda* (#:key tests? #:allow-other-keys)
               (when tests?
-                (invoke "pytest" "-vv")))))))
-    (propagated-inputs (list python-flake8 python-isort python-testfixtures))
+                (invoke "pytest" "-vv" "run_tests.py")))))))
+    (propagated-inputs (list python-flake8 python-isort))
     (native-inputs (list python-pytest))
     (home-page "https://github.com/gforcada/flake8-isort")
     (synopsis "Flake8 plugin integrating isort")

base-commit: 5bd80ccd69047b1777749e24d4adf2c951b5d14b
-- 
2.40.1





^ permalink raw reply related	[relevance 65%]

* [bug#68069] [PATCH] gnu: Add python-pytest-cookies.
@ 2023-12-27 21:29 64% Troy Figiel
  0 siblings, 0 replies; 200+ results
From: Troy Figiel @ 2023-12-27 21:29 UTC (permalink / raw)
  To: 68069

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

Change-Id: I0b085d345bf1bce5fc9c03315da06954cf2125cb
---
 gnu/packages/python-check.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index ea74472270..f02ca10298 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -583,6 +583,38 @@ (define-public python-pytest-arraydiff
 are too large to conveniently hard-code them in the tests.")
     (license license:bsd-3)))
 
+(define-public python-pytest-cookies
+  (package
+    (name "python-pytest-cookies")
+    (version "0.7.0")
+    (source
+     (origin
+       ;; No tests in the PyPI tarball.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/hackebrot/pytest-cookies")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1x7ny6mx1siy9law1cv1i63nvv9ds2g1dlagm40l8qymxry43mjn"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (invoke "pytest" "-vv")))))))
+    (native-inputs (list python-pytest))
+    (propagated-inputs (list python-cookiecutter))
+    (home-page "https://github.com/hackebrot/pytest-cookies")
+    (synopsis "Pytest plugin for Cookiecutter templates")
+    (description
+     "This Pytest plugin adds a @code{cookies} fixture, which is a
+wrapper for the Cookiecutter API.  This fixture helps you verify that
+your template is working as expected and takes care of cleaning up after
+running the tests.")
+    (license license:expat)))
+
 (define-public python-pytest-doctestplus
   (package
     (name "python-pytest-doctestplus")

base-commit: 5bd80ccd69047b1777749e24d4adf2c951b5d14b
-- 
2.40.1





^ permalink raw reply related	[relevance 64%]

* [bug#68061] [PATCH] gnu: python-markdown-it-py: Update to 3.0.0.
@ 2023-12-27 15:45 63% Felix Gruber
  0 siblings, 0 replies; 200+ results
From: Felix Gruber @ 2023-12-27 15:45 UTC (permalink / raw)
  To: 68061
  Cc: Felix Gruber, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi,
	jgart

* gnu/packages/python-xyz.scm (python-markdown-it-py): Update to 3.0.0.
[propagated-inputs]: Remove python-typing-extensions; add python-commonmark,
python-linkify-it-py, python-markdown, python-mistletoe,
python-mistune, python-panflute, python-psutil, and python-pyyaml.
[native-inputs]: Remove python-flit; add python-flit-core.

Change-Id: I5dc06b163ddbec0a32a9d7c3da2c834b2e74cd74
---
 gnu/packages/python-xyz.scm | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index cab44be011..2575f304ab 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5482,19 +5482,26 @@ (define-public python-makefun
 (define-public python-markdown-it-py
   (package
     (name "python-markdown-it-py")
-    (version "2.1.0")
+    (version "3.0.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "markdown-it-py" version))
               (sha256
                (base32
-                "1nh75i72584r70alhqc479gys04s5m5g3vq601yf2njbs7z5jzng"))))
+                "1swgvyiavak0nmfb31lq5zck5chwhmyf6qb6qwpcav86zaa0mxp3"))))
     (build-system pyproject-build-system)
     (arguments (list #:tests? #f))      ;pypi source does not contains tests
-    (native-inputs (list python-flit))
+    (native-inputs (list python-flit-core))
     (propagated-inputs
-     (list python-mdurl
-           python-typing-extensions))
+     (list python-commonmark
+           python-linkify-it-py
+           python-markdown
+           python-mdurl
+           python-mistletoe
+           python-mistune
+           python-panflute
+           python-psutil
+           python-pyyaml))
     (home-page "https://github.com/executablebooks/markdown-it-py")
     (synopsis "Python port of markdown-it")
     (description

base-commit: 8f03a51f5cdf4015d22a42e0796aad28f092e40b
-- 
2.43.0





^ permalink raw reply related	[relevance 63%]

* [bug#68052] [PATCH 2/4] gnu : python-poppler-qt5: Remove no longer needed patch
  @ 2023-12-26 22:14 57% ` Marco Rimoldi via Guix-patches via
  2024-02-21 19:30 45% ` [bug#68052] [PATCH v3 1/4] gnu: python-poppler-qt5: Update to 21.3.0 Marco Rimoldi via Guix-patches via
  1 sibling, 0 replies; 200+ results
From: Marco Rimoldi via Guix-patches via @ 2023-12-26 22:14 UTC (permalink / raw)
  To: 68052

Change-Id: Ie5f6039dcfd8e6d1315e969dc12dafb158a8cc10
---
 .../python-poppler-qt5-fix-build.patch        | 116 ------------------
 1 file changed, 116 deletions(-)
 delete mode 100644 gnu/packages/patches/python-poppler-qt5-fix-build.patch

diff --git a/gnu/packages/patches/python-poppler-qt5-fix-build.patch b/gnu/packages/patches/python-poppler-qt5-fix-build.patch
deleted file mode 100644
index 099bb86d2f..0000000000
--- a/gnu/packages/patches/python-poppler-qt5-fix-build.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-Patch taken from the upstream repository
-https://github.com/frescobaldi/python-poppler-qt5/issues/43
-
-From 92e5962ec3751ab051d0b655fd61afc7a1cf709e Mon Sep 17 00:00:00 2001
-From: Ben Greiner <code@bnavigator.de>
-Date: Thu, 4 Mar 2021 17:02:51 +0100
-Subject: [PATCH] map type QVector< QPair<TYPE, TYPE> > for
- FormFieldChoice::choicesWithExportValues() (#45)
-
----
- types.sip | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 93 insertions(+)
-
-diff --git a/types.sip b/types.sip
-index 239b8c9..81cb283 100644
---- a/types.sip
-+++ b/types.sip
-@@ -331,5 +331,98 @@ template <TYPE>
- };
- 
- 
-+/**
-+ * Convert QVector< QPair<TYPE, TYPE> >
-+ * from and to a Python list of a 2-item tuple
-+ */
-+
-+template<TYPE>
-+%MappedType QVector< QPair<TYPE, TYPE> >
-+{
-+%TypeHeaderCode
-+#include <qvector.h>
-+#include <qpair.h>
-+%End
-+
-+%ConvertFromTypeCode
-+  // Create the list.
-+  PyObject *l;
-+
-+  if ((l = PyList_New(sipCpp->size())) == NULL)
-+      return NULL;
-+
-+  // Set the list elements.
-+  for (int i = 0; i < sipCpp->size(); ++i)
-+  {
-+    QPair<TYPE, TYPE>* p = new QPair<TYPE, TYPE>(sipCpp->at(i));
-+    PyObject *ptuple = PyTuple_New(2);
-+    PyObject *pfirst;
-+    PyObject *psecond;
-+
-+    TYPE *sfirst = new TYPE(p->first);
-+    if ((pfirst = sipConvertFromType(sfirst, sipType_TYPE, sipTransferObj)) == NULL)
-+    {
-+      Py_DECREF(l);
-+      Py_DECREF(ptuple);
-+      return NULL;
-+    }
-+    PyTuple_SET_ITEM(ptuple, 0, pfirst);
-+
-+    TYPE *ssecond = new TYPE(p->second);
-+    if ((psecond = sipConvertFromType(ssecond, sipType_TYPE, sipTransferObj)) == NULL)
-+    {
-+      Py_DECREF(l);
-+      Py_DECREF(ptuple);
-+      Py_DECREF(pfirst);
-+      return NULL;
-+    }
-+    PyTuple_SET_ITEM(ptuple, 1, psecond);
-+
-+    PyList_SET_ITEM(l, i, ptuple);
-+  }
-+
-+  return l;
-+%End
-+
-+%ConvertToTypeCode
-+  const sipTypeDef* qpair_type = sipFindType("QPair<TYPE, TYPE>");
-+
-+  // Check the type if that is all that is required.
-+  if (sipIsErr == NULL)
-+  {
-+    if (!PySequence_Check(sipPy))
-+      return 0;
-+
-+    for (int i = 0; i < PySequence_Size(sipPy); ++i)
-+      if (!sipCanConvertToType(PySequence_ITEM(sipPy, i), qpair_type, SIP_NOT_NONE))
-+        return 0;
-+
-+    return 1;
-+  }
-+
-+
-+  QVector< QPair<TYPE, TYPE> > *qv = new QVector< QPair<TYPE, TYPE> >;
-+
-+  for (int i = 0; i < PySequence_Size(sipPy); ++i)
-+  {
-+    int state;
-+    QPair<TYPE, TYPE> * p = reinterpret_cast< QPair<TYPE, TYPE> * >(sipConvertToType(PySequence_ITEM(sipPy, i), qpair_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
-+
-+    if (*sipIsErr)
-+    {
-+      sipReleaseType(p, qpair_type, state);
-+      delete qv;
-+      return 0;
-+    }
-+    qv->append(*p);
-+    sipReleaseType(p, qpair_type, state);
-+  }
-+
-+  *sipCppPtr = qv;
-+  return sipGetState(sipTransferObj);
-+%End
-+
-+};
-+
- 
- /* kate: indent-width 4; space-indent on; hl c++; indent-mode cstyle; */
-- 
2.41.0





^ permalink raw reply related	[relevance 57%]

* [bug#68038] [PATCH 2/2] gnu : python-poppler-qt5: Remove no longer needed patch
       [not found]     <d9056d33837860152539794175362bd4643712df.1703599790.git.rimarko@libero.it>
@ 2023-12-26 14:17 57% ` Marco Rimoldi via Guix-patches via
  0 siblings, 0 replies; 200+ results
From: Marco Rimoldi via Guix-patches via @ 2023-12-26 14:17 UTC (permalink / raw)
  To: 68038

Change-Id: Ie5f6039dcfd8e6d1315e969dc12dafb158a8cc10
---
 .../python-poppler-qt5-fix-build.patch        | 116 ------------------
 1 file changed, 116 deletions(-)
 delete mode 100644
gnu/packages/patches/python-poppler-qt5-fix-build.patch

diff --git a/gnu/packages/patches/python-poppler-qt5-fix-build.patch
b/gnu/packages/patches/python-poppler-qt5-fix-build.patch deleted file
mode 100644 index 099bb86d2f..0000000000
--- a/gnu/packages/patches/python-poppler-qt5-fix-build.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-Patch taken from the upstream repository
-https://github.com/frescobaldi/python-poppler-qt5/issues/43
-
-From 92e5962ec3751ab051d0b655fd61afc7a1cf709e Mon Sep 17 00:00:00 2001
-From: Ben Greiner <code@bnavigator.de>
-Date: Thu, 4 Mar 2021 17:02:51 +0100
-Subject: [PATCH] map type QVector< QPair<TYPE, TYPE> > for
- FormFieldChoice::choicesWithExportValues() (#45)
-
----
- types.sip | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 93 insertions(+)
-
-diff --git a/types.sip b/types.sip
-index 239b8c9..81cb283 100644
---- a/types.sip
-+++ b/types.sip
-@@ -331,5 +331,98 @@ template <TYPE>
- };
- 
- 
-+/**
-+ * Convert QVector< QPair<TYPE, TYPE> >
-+ * from and to a Python list of a 2-item tuple
-+ */
-+
-+template<TYPE>
-+%MappedType QVector< QPair<TYPE, TYPE> >
-+{
-+%TypeHeaderCode
-+#include <qvector.h>
-+#include <qpair.h>
-+%End
-+
-+%ConvertFromTypeCode
-+  // Create the list.
-+  PyObject *l;
-+
-+  if ((l = PyList_New(sipCpp->size())) == NULL)
-+      return NULL;
-+
-+  // Set the list elements.
-+  for (int i = 0; i < sipCpp->size(); ++i)
-+  {
-+    QPair<TYPE, TYPE>* p = new QPair<TYPE, TYPE>(sipCpp->at(i));
-+    PyObject *ptuple = PyTuple_New(2);
-+    PyObject *pfirst;
-+    PyObject *psecond;
-+
-+    TYPE *sfirst = new TYPE(p->first);
-+    if ((pfirst = sipConvertFromType(sfirst, sipType_TYPE,
sipTransferObj)) == NULL) -+    {
-+      Py_DECREF(l);
-+      Py_DECREF(ptuple);
-+      return NULL;
-+    }
-+    PyTuple_SET_ITEM(ptuple, 0, pfirst);
-+
-+    TYPE *ssecond = new TYPE(p->second);
-+    if ((psecond = sipConvertFromType(ssecond, sipType_TYPE,
sipTransferObj)) == NULL) -+    {
-+      Py_DECREF(l);
-+      Py_DECREF(ptuple);
-+      Py_DECREF(pfirst);
-+      return NULL;
-+    }
-+    PyTuple_SET_ITEM(ptuple, 1, psecond);
-+
-+    PyList_SET_ITEM(l, i, ptuple);
-+  }
-+
-+  return l;
-+%End
-+
-+%ConvertToTypeCode
-+  const sipTypeDef* qpair_type = sipFindType("QPair<TYPE, TYPE>");
-+
-+  // Check the type if that is all that is required.
-+  if (sipIsErr == NULL)
-+  {
-+    if (!PySequence_Check(sipPy))
-+      return 0;
-+
-+    for (int i = 0; i < PySequence_Size(sipPy); ++i)
-+      if (!sipCanConvertToType(PySequence_ITEM(sipPy, i), qpair_type,
SIP_NOT_NONE)) -+        return 0;
-+
-+    return 1;
-+  }
-+
-+
-+  QVector< QPair<TYPE, TYPE> > *qv = new QVector< QPair<TYPE, TYPE> >;
-+
-+  for (int i = 0; i < PySequence_Size(sipPy); ++i)
-+  {
-+    int state;
-+    QPair<TYPE, TYPE> * p = reinterpret_cast< QPair<TYPE, TYPE> *
>(sipConvertToType(PySequence_ITEM(sipPy, i), qpair_type,
>sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); -+
-+    if (*sipIsErr)
-+    {
-+      sipReleaseType(p, qpair_type, state);
-+      delete qv;
-+      return 0;
-+    }
-+    qv->append(*p);
-+    sipReleaseType(p, qpair_type, state);
-+  }
-+
-+  *sipCppPtr = qv;
-+  return sipGetState(sipTransferObj);
-+%End
-+
-+};
-+
- 
- /* kate: indent-width 4; space-indent on; hl c++; indent-mode cstyle;
*/
-- 
2.41.0





^ permalink raw reply	[relevance 57%]

* [bug#68023] [PATCH 08/13] gnu: Add python-rpds-py.
    2023-12-25  9:09 65% ` [bug#68023] [PATCH 02/13] gnu: python-trove-classifiers: Update to 2023.11.29 Mathieu Othacehe
@ 2023-12-25  9:09 60% ` Mathieu Othacehe
  2023-12-25  9:09 63% ` [bug#68023] [PATCH 09/13] gnu: Add python-referencing Mathieu Othacehe
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi, jgart

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

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: I6f4d80cc7a9a3d591fcf894375ef14e079573c0d
---
 gnu/packages/python-xyz.scm | 40 +++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index cab44be011..4d3041db2c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -34054,6 +34054,46 @@ (define-public python-types-orjson
 etc. to check code that uses @code{orjson}.")
     (license license:asl2.0)))
 
+(define-public python-rpds-py
+  (package
+    (name "python-rpds-py")
+    (version "0.10.6")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "rpds_py" version))
+              (sha256
+               (base32
+                "0l5slkvhq2vf64mapimmj6ginsv01mc4niyj90vvz3assq4agrac"))))
+    (build-system cargo-build-system)
+    (arguments
+     (list
+      #:imported-modules `(,@%cargo-build-system-modules
+                           ,@%pyproject-build-system-modules)
+      #:modules '((guix build cargo-build-system)
+                  ((guix build pyproject-build-system) #:prefix py:)
+                  (guix build utils))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'prepare-python-module 'build-python-module
+            (assoc-ref py:%standard-phases 'build))
+          (add-after 'build-python-module 'install-python-module
+            (assoc-ref py:%standard-phases 'install)))
+      #:cargo-inputs
+      `(("rust-archery" ,rust-archery-1)
+        ("rust-pyo3" ,rust-pyo3-0.19)
+        ("rust-rpds" ,rust-rpds-1))
+      #:install-source? #false))
+    (inputs
+     (list maturin))
+    (native-inputs
+     (list python-wrapper))
+    (home-page "https://github.com/crate-py/rpds")
+    (synopsis "Bindings to Rust rpds for persistent data structures")
+    (description "This package provides Python bindings to the Rust rpds crate
+for persistent data structures.  It was written initially to support replacing
+@code{python-pyrsistent}.")
+    (license license:expat)))
+
 (define-public python-nanoid
   ;; There are no tests on PyPi.
   (let ((commit "061f9a598f310b0e2e91b9ed6ce725a22770da64")
-- 
2.41.0





^ permalink raw reply related	[relevance 60%]

* [bug#68023] [PATCH 11/13] gnu: python-jsonschema: Update to 4.17.3.
                     ` (3 preceding siblings ...)
  2023-12-25  9:09 64% ` [bug#68023] [PATCH 10/13] gnu: Add python-jsonschema-specifications Mathieu Othacehe
@ 2023-12-25  9:09 60% ` Mathieu Othacehe
  4 siblings, 0 replies; 200+ results
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi, jgart

* gnu/packages/python-xyz.scm (python-jsonschema): Update to 4.17.3.
[arguments]: Do not replace the 'check phase.
[native-inputs]: Add python-hatchling, python-hatch-fancy-pypi-readme,
python-hatch-vcs, python-jsonschema-specifications, python-pytest,
python-rpds-py, python-trove-classifiers.
[propagated-inputs]: Add python-referencing, python-rpds-py.

Change-Id: I39e5128d851470d25ef31edf3baefcdf6d690fa6
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
---
 gnu/packages/python-xyz.scm | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c4d6d20751..2e74befa1c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -4949,15 +4949,13 @@ (define-public python-ddlparse
 (define-public python-jsonschema
   (package
     (name "python-jsonschema")
-    ;; XXX: Update to the latest version requires new build system - Hatch
-    ;; https://hatch.pypa.io/
-    (version "4.5.1")
+    (version "4.17.3")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "jsonschema" version))
        (sha256
-        (base32 "1z0x22691jva7lwfcfh377jdmlz68zhiawxzl53k631l34k8hvbw"))))
+        (base32 "03dnxhvzfxmnpn53zsc0598hsslaz7w3wi87cyx7cq4bmcvl91hg"))))
     (build-system pyproject-build-system)
     (arguments
      (list
@@ -4968,17 +4966,21 @@ (define-public python-jsonschema
             ;; without the git metadata available, the version string is set to
             ;; '0.0.0'.
             (lambda _
-              (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
-          (replace 'check
-            (lambda* (#:key tests? #:allow-other-keys)
-              (when tests?
-                (setenv "JSON_SCHEMA_TEST_SUITE" "json")
-                (invoke "trial" "jsonschema")))))))
-    (native-inputs (list python-setuptools-scm python-twisted))
+              (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
+    (native-inputs (list python-hatchling
+                         python-hatch-fancy-pypi-readme
+                         python-hatch-vcs
+                         python-jsonschema-specifications
+                         python-pytest
+                         python-setuptools-scm
+                         python-trove-classifiers
+                         python-twisted))
     (propagated-inputs
      (list python-attrs
            python-importlib-metadata
            python-pyrsistent
+           python-referencing
+           python-rpds-py
            python-typing-extensions))
     (home-page "https://github.com/Julian/jsonschema")
     (synopsis "Implementation of JSON Schema for Python")
-- 
2.41.0





^ permalink raw reply related	[relevance 60%]

* [bug#68023] [PATCH 09/13] gnu: Add python-referencing.
    2023-12-25  9:09 65% ` [bug#68023] [PATCH 02/13] gnu: python-trove-classifiers: Update to 2023.11.29 Mathieu Othacehe
  2023-12-25  9:09 60% ` [bug#68023] [PATCH 08/13] gnu: Add python-rpds-py Mathieu Othacehe
@ 2023-12-25  9:09 63% ` Mathieu Othacehe
  2023-12-25  9:09 64% ` [bug#68023] [PATCH 10/13] gnu: Add python-jsonschema-specifications Mathieu Othacehe
  2023-12-25  9:09 60% ` [bug#68023] [PATCH 11/13] gnu: python-jsonschema: Update to 4.17.3 Mathieu Othacehe
  4 siblings, 0 replies; 200+ results
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi, jgart

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

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: I90cfdb3efb0726b445ba35f0336e0a966534d577
---
 gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4d3041db2c..e80e3c9089 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -30650,6 +30650,31 @@ (define-public python-reflink
 implementations.")
     (license license:expat)))
 
+(define-public python-referencing
+  (package
+    (name "python-referencing")
+    (version "0.32.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "referencing" version))
+       (sha256
+        (base32 "0qb1zp46ma004wrnflxlzy413ygiiqqk66dpazyxqhqq2bz697k8"))))
+    (build-system pyproject-build-system)
+    (arguments (list #:tests? #f))
+    (native-inputs
+     (list python-hatchling
+           python-hatch-fancy-pypi-readme
+           python-hatch-vcs
+           python-trove-classifiers))
+    (propagated-inputs (list python-attrs python-rpds-py))
+    (home-page "https://github.com/python-jsonschema/referencing")
+    (synopsis "JSON reference resolution")
+    (description "This package provides a way for JSON Schema tooling to
+resolve the @code{$ref} keywords across all drafts without needing to
+implement support themselves.")
+    (license license:expat)))
+
 (define-public python-retry
   (package
     (name "python-retry")
-- 
2.41.0





^ permalink raw reply related	[relevance 63%]

* [bug#68023] [PATCH 10/13] gnu: Add python-jsonschema-specifications.
                     ` (2 preceding siblings ...)
  2023-12-25  9:09 63% ` [bug#68023] [PATCH 09/13] gnu: Add python-referencing Mathieu Othacehe
@ 2023-12-25  9:09 64% ` Mathieu Othacehe
  2023-12-25  9:09 60% ` [bug#68023] [PATCH 11/13] gnu: python-jsonschema: Update to 4.17.3 Mathieu Othacehe
  4 siblings, 0 replies; 200+ results
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi, jgart

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

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: I967800d6867d6a6405230aa48ed4a06ee3d42d14
---
 gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e80e3c9089..c4d6d20751 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5038,6 +5038,32 @@ (define-public python-schema-0.5
         (base32
          "10zqvpaky51kgb8nd42bk7jwl8cn2zvayxjpdc1wwmpybj92x67s"))))))
 
+(define-public python-jsonschema-specifications
+  (package
+    (name "python-jsonschema-specifications")
+    (version "2023.11.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jsonschema_specifications" version))
+       (sha256
+        (base32 "1f41kby85dd1yzy0xa1fvgjakdfcmq6ijasax95xfk27x97zqwll"))))
+    (build-system pyproject-build-system)
+    (native-inputs
+     (list python-hatchling
+           python-hatch-fancy-pypi-readme
+           python-hatch-vcs
+           python-pytest))
+    (propagated-inputs
+     (list python-importlib-resources python-referencing))
+    (home-page "https://github.com/python-jsonschema/jsonschema-specifications")
+    (synopsis "JSON Schema Specifications support")
+    (description
+     "This package provides support for the JSON Schema
+Specifications (metaschemas, vocabularies, ...), packaged for runtime access
+from Python as a referencing-based Schema Registry.")
+    (license license:expat)))
+
 (define-public python-kitchen
   (package
     (name "python-kitchen")
-- 
2.41.0





^ permalink raw reply related	[relevance 64%]

* [bug#68023] [PATCH 02/13] gnu: python-trove-classifiers: Update to 2023.11.29.
  @ 2023-12-25  9:09 65% ` Mathieu Othacehe
  2023-12-25  9:09 60% ` [bug#68023] [PATCH 08/13] gnu: Add python-rpds-py Mathieu Othacehe
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi, jgart

* gnu/packages/python-build.scm (python-trove-classifiers): Update to 2023.11.29.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: I18e05632ba27dc64e2831b691a7d3c586d2d9f5e
---
 gnu/packages/python-build.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index bb1df3e9aa..5508b5677e 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -196,13 +196,13 @@ (define-public python-tomli
 (define-public python-trove-classifiers
   (package
     (name "python-trove-classifiers")
-    (version "2023.3.9")
+    (version "2023.11.29")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "trove-classifiers" version))
               (sha256
                (base32
-                "00xvldq94dy0zxz40idbbx40smrkfvq75r26ywszxg6lq7wg4hpf"))))
+                "054m1fa2w7yr03dnb30cciiwr480qx16gvz78qxi2ckr5kc7z3zz"))))
     (build-system pyproject-build-system)
     (arguments (list #:build-backend "setuptools.build_meta"
                      #:tests? #f))      ;keep dependencies to a minimum
-- 
2.41.0





^ permalink raw reply related	[relevance 65%]

Results 401-600 of ~4050   |  | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2022-12-21 15:32     [bug#60240] [PATCH] [WIP] gnu: Add python-3.11 Tanguy Le Carrour
2024-02-21 12:13 34% ` [bug#60240] [PATCH v2] gnu: Add python-3.12 and python-next Tanguy Le Carrour
2024-02-25 14:08       ` Lars-Dominik Braun
2024-02-26  8:25         ` Tanguy LE CARROUR
2024-03-02  9:59 57%       ` Lars-Dominik Braun
2024-03-06 12:55 35% ` [bug#60240] [PATCH v3] " Tanguy Le Carrour
2023-03-22 17:29     [bug#62389] [PATCH 00/12] gnu: synapse: Update to 1.67.0 conses
2024-02-11 19:52 81% ` [bug#62389] [PATCH v3 1/5] gnu: Add python-matrix-common Miguel Ángel Moreno
2024-02-11 19:53 81% ` Miguel Ángel Moreno
2024-02-11 19:54 81%   ` [bug#62389] [PATCH v3 2/5] gnu: python-twisted: Update to 22.10.0 Miguel Ángel Moreno
2024-02-11 19:54 83%   ` [bug#62389] [PATCH v3 3/5] gnu: python-treq: Update to 20.9.0 Miguel Ángel Moreno
2024-02-11 19:55 83%   ` [bug#62389] [PATCH v3 4/5] gnu: Add python-txredisapi Miguel Ángel Moreno
2023-10-28  9:45     [bug#66788] [PATCH 0/2] Update python-black to 23.1.0 Nicolas Graves via Guix-patches via
2024-02-04 12:54 61% ` [bug#66788] [PATCH 1/2] gnu: python-black: Update " Nicolas Graves via Guix-patches via
2024-02-04 12:54 63%   ` [bug#66788] [PATCH 2/2] gnu: python-packaging: Update to 22.0 Nicolas Graves via Guix-patches via
2023-11-01 16:58     [bug#66886] Update python-textual to 0.41 paul via Guix-patches via
2024-01-14 23:59 65% ` [bug#66886] [PATCH v4 1/6] gnu: Add python-pygments-2.16 Giacomo Leidi via Guix-patches via
2024-01-14 23:59 62%   ` [bug#66886] [PATCH v4 2/6] gnu: python-markdown-it-py: Update to 3.0.0 Giacomo Leidi via Guix-patches via
2024-01-14 23:59 70%   ` [bug#66886] [PATCH v4 3/6] gnu: python-rich: Update to 13.7.0 Giacomo Leidi via Guix-patches via
2024-01-14 23:59 63%   ` [bug#66886] [PATCH v4 4/6] gnu: python-jupytext: Update to 1.15.2 Giacomo Leidi via Guix-patches via
2024-01-14 23:59 60%   ` [bug#66886] [PATCH v4 5/6] gnu: python-mdit-py-plugins: Update to 0.4.0 Giacomo Leidi via Guix-patches via
2024-01-14 23:59 57%   ` [bug#66886] [PATCH v4 6/6] gnu: python-textual: Update to 0.47.1 Giacomo Leidi via Guix-patches via
2023-11-12 18:35     [bug#67143] [PATCH] gnu: Add python-pyreadstat 1.2.4 Troy Figiel
2024-01-07 16:40 72% ` [bug#67143] [PATCH v2] gnu: Add python-pyreadstat Troy Figiel
2023-11-14 23:11     [bug#67184] [PATCH] gnu: Add python-multimethod Troy Figiel
2024-01-07 17:06 65% ` [bug#67184] [PATCH v2] " Troy Figiel
2023-12-24  0:20     [bug#67999] [PATCH] gnu: Add python-kalamine Adriel Dumas--Jondeau via Guix-patches via
2024-02-16 14:57 59% ` [bug#67999] [PATCH] gnu: python-kalamine: Update to 0.30 Adriel Dumas--Jondeau via Guix-patches via
2024-03-01 11:32 59% ` [bug#67999] [PATCH] gnu: Add python-kalamine Adriel Dumas--Jondeau via Guix-patches via
2024-03-02 14:08 60% ` [bug#67999] [PATCH v2] gnu: Add kalamine Sharlatan Hellseher
2023-12-25  9:06     [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
2023-12-25  9:09 65% ` [bug#68023] [PATCH 02/13] gnu: python-trove-classifiers: Update to 2023.11.29 Mathieu Othacehe
2023-12-25  9:09 60% ` [bug#68023] [PATCH 08/13] gnu: Add python-rpds-py Mathieu Othacehe
2023-12-25  9:09 63% ` [bug#68023] [PATCH 09/13] gnu: Add python-referencing Mathieu Othacehe
2023-12-25  9:09 64% ` [bug#68023] [PATCH 10/13] gnu: Add python-jsonschema-specifications Mathieu Othacehe
2023-12-25  9:09 60% ` [bug#68023] [PATCH 11/13] gnu: python-jsonschema: Update to 4.17.3 Mathieu Othacehe
     [not found]     <d9056d33837860152539794175362bd4643712df.1703599790.git.rimarko@libero.it>
2023-12-26 14:17 57% ` [bug#68038] [PATCH 2/2] gnu : python-poppler-qt5: Remove no longer needed patch Marco Rimoldi via Guix-patches via
2023-12-26 22:10     [bug#68052] [PATCH 0/4] Collected patches fixing builds of various Frescobaldi dependencies Marco Rimoldi via Guix-patches via
2023-12-26 22:14 57% ` [bug#68052] [PATCH 2/4] gnu : python-poppler-qt5: Remove no longer needed patch Marco Rimoldi via Guix-patches via
2024-02-21 19:30 45% ` [bug#68052] [PATCH v3 1/4] gnu: python-poppler-qt5: Update to 21.3.0 Marco Rimoldi via Guix-patches via
2023-12-27 15:45 63% [bug#68061] [PATCH] gnu: python-markdown-it-py: Update to 3.0.0 Felix Gruber
2023-12-27 21:29 64% [bug#68069] [PATCH] gnu: Add python-pytest-cookies Troy Figiel
2023-12-27 22:13 65% [bug#68070] [PATCH] gnu: python-flake8-isort: Update to 6.1.0 Troy Figiel
2023-12-27 23:31 64% [bug#68071] [PATCH] gnu: Add python-ast-decompiler Troy Figiel
2023-12-28 20:55     [bug#64258] [PATCH v3 0/2] Add pgmpy library for Bayesian Networks Felix Gruber
2023-12-28 20:55 61% ` [bug#64258] [PATCH v3 1/2] gnu: Add python-daft Felix Gruber
2023-12-30 10:44 64% [bug#68142] [PATCH] gnu: Add python-hdf5storage Troy Figiel
2023-12-30 13:46 81% [bug#68147] [PATCH] gnu: Add python-snappy Troy Figiel
2024-01-06 17:21 80% ` [bug#68147] [PATCH v2] gnu: Add python-python-snappy Troy Figiel
2023-12-30 18:44     [bug#68153] [PATCH] gnu: Add python-cocotb Cayetano Santos via Guix-patches via
2023-12-31 11:14 65% ` [bug#68153] [PATCH] gnu: Add python-find-libpython Troy Figiel
2023-12-31 11:52     [bug#68171] [PATCH 0/2] Enable tests for python-h5py Troy Figiel
2023-12-30 10:36 65% ` [bug#68171] [PATCH 1/2] gnu: python-h5py: Enable tests Troy Figiel
2023-12-30 11:06 65% ` [bug#68171] [PATCH 2/2] gnu: python-h5py: Reformat with guix style Troy Figiel
2024-01-01 17:53 80% [bug#68191] [PATCH] gnu: Add python-portend Troy Figiel
2024-01-01 18:03     [bug#68192] [PATCH 0/2] Add python-jaraco-collections and python-jaraco-text Troy Figiel
2024-01-01 17:23 80% ` [bug#68192] [PATCH 1/2] gnu: Add python-jaraco-text Troy Figiel
2024-01-01 17:34 58% ` [bug#68192] [PATCH 2/2] gnu: Add python-jaraco-collections Troy Figiel
2024-01-01 18:52 82% [bug#68193] [PATCH] gnu: Add python-zc-lockfile Troy Figiel
2024-01-01 23:14     [bug#68197] [PATCH 0/5] gnu: yt-dlp: Update to 2023.12.30 Jaeme Sifat via Guix-patches via
2024-01-01 23:21 60% ` [bug#68197] [PATCH 1/5] gnu: Add python-urllib3-2 Jaeme Sifat via Guix-patches via
2024-01-01 23:21 62% ` [bug#68197] [PATCH 2/5] gnu: Add python-requests-2.31 Jaeme Sifat via Guix-patches via
2024-01-01 23:21 61% ` [bug#68197] [PATCH 4/5] gnu: Add python-websockets-12 Jaeme Sifat via Guix-patches via
2024-01-02  1:25 58% ` [bug#68197] [PATCH v2REVISION 1/5] gnu: Add python-urllib3-2 Jaeme Sifat via Guix-patches via
2024-01-02  1:25 62%   ` [bug#68197] [PATCH v2REVISION 2/5] gnu: Add python-requests-2.31 Jaeme Sifat via Guix-patches via
2024-01-02  1:25 61%   ` [bug#68197] [PATCH v2REVISION 4/5] gnu: Add python-websockets-12 Jaeme Sifat via Guix-patches via
2024-01-02 14:53     [bug#68206] [PATCH 0/2] Update python-sqlite-utils to 3.36 Felix Gruber
2024-01-02 14:55 61% ` [bug#68206] [PATCH 1/2] gnu: python-click-default-group: Update to 1.2.4 Felix Gruber
2024-01-02 15:03     [bug#68207] [PATCH 0/5] Update python-textual to 0.46.0 Felix Gruber
2024-01-02 15:05 64% ` [bug#68207] [PATCH 1/5] gnu: python-markdown-it-py: Update to 3.0.0 Felix Gruber
2024-01-02 15:05 65% ` [bug#68207] [PATCH 2/5] gnu: python-mdit-py-plugins: Update to 0.4.0 Felix Gruber
2024-01-02 15:05 65% ` [bug#68207] [PATCH 3/5] gnu: Add python-pygments-next Felix Gruber
2024-01-02 15:05 59% ` [bug#68207] [PATCH 4/5] gnu: python-rich: Update to 13.7.0 Felix Gruber
2024-01-02 15:05 55% ` [bug#68207] [PATCH 5/5] gnu: python-textual: Update to 0.46.0 Felix Gruber
2024-02-12 17:55 63% ` [bug#68207] [PATCH v2 1/5] gnu: python-markdown-it-py: Update to 3.0.0 Felix Gruber
2024-02-12 17:55 65% ` [bug#68207] [PATCH v2 2/5] gnu: python-mdit-py-plugins: Update to 0.4.0 Felix Gruber
2024-02-12 17:55 65% ` [bug#68207] [PATCH v2 3/5] gnu: Add python-pygments-next Felix Gruber
2024-02-12 17:55 58% ` [bug#68207] [PATCH v2 4/5] gnu: python-rich: Update to 13.7.0 Felix Gruber
2024-02-12 17:55 54% ` [bug#68207] [PATCH v2 5/5] gnu: python-textual: Update to 0.50.1 Felix Gruber
2024-02-13 14:15 62% ` [bug#68207] [PATCH v4 1/8] gnu: python-markdown-it-py: Update to 3.0.0 Sharlatan Hellseher
2024-02-13 14:15 65%   ` [bug#68207] [PATCH v4 2/8] gnu: python-mdit-py-plugins: Update to 0.4.0 Sharlatan Hellseher
2024-02-13 14:15 65%   ` [bug#68207] [PATCH v4 3/8] gnu: Add python-pygments-next Sharlatan Hellseher
2024-02-13 14:15 57%   ` [bug#68207] [PATCH v4 4/8] gnu: python-rich: Update to 13.7.0 Sharlatan Hellseher
2024-02-13 14:15 53%   ` [bug#68207] [PATCH v4 5/8] gnu: python-textual: Update to 0.50.1 Sharlatan Hellseher
2024-02-13 14:15 65%   ` [bug#68207] [PATCH v4 6/8] gnu: python-jupytext: Update to 1.15.0 Sharlatan Hellseher
2024-01-04 12:44 65% [bug#68241] [PATCH] gnu: python: Fix sitecustomize.py Konrad Hinsen
2024-01-06  9:37 85% ` Konrad Hinsen
2024-01-05  5:06 56% [bug#68250] [PATCH] gnu: Add libmpv Hilton Chain via Guix-patches via
2024-01-08  8:02     [bug#68315] [PATCH 01/48] guix: packages: Extend bag-build to support gexp Nicolas Graves via Guix-patches via
2024-01-08  8:03 65% ` [bug#68315] [PATCH 34/48] build-system: python: Redefine python-build Nicolas Graves via Guix-patches via
2024-01-11 21:35     [bug#68391] [PATCH 0/3] Add python-pandera Troy Figiel
2024-01-11 20:54 65% ` [bug#68391] [PATCH 1/3] gnu: Add python-typeguard-4 Troy Figiel
2024-01-11 20:58 59% ` [bug#68391] [PATCH 2/3] gnu: Add python-pandas-stubs Troy Figiel
2024-01-11 21:17 54% ` [bug#68391] [PATCH 3/3] gnu: Add python-pandera Troy Figiel
2024-01-12  0:33 61% [bug#68394] [PATCH python-team] gnu: python: Make the build reproducible Tomas Volf
2024-01-12 16:11 62% ` [bug#68394] [PATCH python-team v2] " Tomas Volf
2024-01-12 16:00 62% [bug#68407] " Tomas Volf
2024-01-13 11:52     [bug#68424] [PATCH 0/3] Fix python-hypercorn Troy Figiel
2024-01-13 11:26 65% ` [bug#68424] [PATCH 1/3] gnu: hypercorn: Add missing propagated-inputs Troy Figiel
2024-01-13 11:36 65% ` [bug#68424] [PATCH 2/3] gnu: hypercorn: Remove unnecessary native-input Troy Figiel
2024-01-13 11:40 64% ` [bug#68424] [PATCH 3/3] gnu: hypercorn: Reformat with guix style Troy Figiel
2024-01-13 12:23 65% [bug#68425] [PATCH] gnu: python-activepapers: Fix build Troy Figiel
2024-01-13 18:09     [bug#68431] [PATCH 0/3] Fix python-requests-kerberos build Troy Figiel
2024-01-13 17:58 65% ` [bug#68431] [PATCH 1/3] gnu: Add python-krb5 Troy Figiel
2024-01-13 17:59 65% ` [bug#68431] [PATCH 2/3] gnu: python-requests-kerberos: Fix build Troy Figiel
2024-01-13 18:04 64% ` [bug#68431] [PATCH 3/3] gnu: python-requests-kerberos: Enable tests Troy Figiel
2024-01-13 20:15 63% [bug#68435] [PATCH] gnu: Add python-concurrent-log-handler Troy Figiel
2024-01-13 22:21 64% [bug#68437] [PATCH] gnu: Add python-pdf2image Troy Figiel
2024-01-14 14:13 31% [bug#68449] [PATCH] gnu: dynaconf: Update to 3.2.4 Giacomo Leidi via Guix-patches via
2024-01-14 23:56 65% [bug#68456] [PATCH v4 1/6] gnu: Add python-pygments-2.16 Giacomo Leidi via Guix-patches via
2024-01-14 23:56 62% ` [bug#68460] [PATCH v4 2/6] gnu: python-markdown-it-py: Update to 3.0.0 Giacomo Leidi via Guix-patches via
2024-01-14 23:56 70% ` [bug#68459] [PATCH v4 3/6] gnu: python-rich: Update to 13.7.0 Giacomo Leidi via Guix-patches via
2024-01-14 23:56 63% ` [bug#68457] [PATCH v4 4/6] gnu: python-jupytext: Update to 1.15.2 Giacomo Leidi via Guix-patches via
2024-01-14 23:56 60% ` [bug#68458] [PATCH v4 5/6] gnu: python-mdit-py-plugins: Update to 0.4.0 Giacomo Leidi via Guix-patches via
2024-01-14 23:56 57% ` [bug#68461] [PATCH v4 6/6] gnu: python-textual: Update to 0.47.1 Giacomo Leidi via Guix-patches via
2024-01-15 22:44     [bug#68489] [PATCH 1/2] gnu: Add python-pytest-tornado5 Giacomo Leidi via Guix-patches via
2024-01-15 22:44 60% ` [bug#68490] [PATCH 2/2] gnu: Add python-apscheduler Giacomo Leidi via Guix-patches via
2024-01-15 22:49     [bug#68491] [PATCH 1/2] gnu: Add python-pytest-tornado5 Giacomo Leidi via Guix-patches via
2024-01-15 22:49 60% ` [bug#68491] [PATCH 2/2] gnu: Add python-apscheduler Giacomo Leidi via Guix-patches via
2024-01-15 23:25 62% [bug#68492] [PATCH] gnu: Add python-fastapi-pagination Giacomo Leidi via Guix-patches via
2024-02-28 23:35 60% ` [bug#68492] [PATCH v2 1/2] gnu: Add python-fastapi-pagination-minimal Giacomo Leidi via Guix-patches via
2024-02-28 23:35 63%   ` [bug#68492] [PATCH v2 2/2] gnu: Add python-fastapi-pagination Giacomo Leidi via Guix-patches via
2024-01-16  0:34     [bug#68052] [PATCH v1 0/3] Collected patches fixing builds of various Frescobaldi dependencies Marco Rimoldi via Guix-patches via
2024-01-16  0:34 45% ` [bug#68052] [PATCH v1 1/3] gnu: python-poppler-qt5: Update to 21.3.0 Marco Rimoldi via Guix-patches via
2024-01-16 17:37     [bug#68052] [PATCH v2 0/3] Collected patches fixing builds of various Frescobaldi dependencies Marco Rimoldi via Guix-patches via
2024-01-16 17:37 45% ` [bug#68052] [PATCH v2 1/3] gnu: python-poppler-qt5: Update to 21.3.0 Marco Rimoldi via Guix-patches via
2024-01-17 18:49 65% [bug#68563] [PATCH] gnu: python-tdda: Remove relax-requirements phase Troy Figiel
2024-01-18 10:01     [bug#68562] [PATCH 0/2] Fix python-plotnine build Troy Figiel
2024-01-18  9:43 65% ` [bug#68562] [PATCH 1/2] gnu: python-plotnine: Fix build Troy Figiel
2024-01-18  9:54 54% ` [bug#68562] [PATCH 2/2] gnu: python-plotnine: Reformat with guix style Troy Figiel
2024-01-18 14:20     [bug#68569] [PATCH 0/2] gnu: borgmatic: Update to 1.8.6 Mike Delago
2024-01-18 14:32 64% ` [bug#68569] [PATCH 1/2] gnu: Add python-apprise Mike Delago
2024-01-20 11:41 64% [bug#68613] [PATCH] gnu: Add python-scikit-opt TimotheeMathieu
2024-02-10 21:51 64% ` bug#68613: " Ludovic Courtès
2024-01-20 13:42     [bug#68609] [PATCH 0/2] gnu: python-pandera: Fix build Troy Figiel
2024-01-20 13:10 63% ` [bug#68609] [PATCH 1/2] gnu: python-pandas-stubs: Update to 1.5.3.230321 Troy Figiel
2024-01-20 13:55 63% ` [bug#68609] [PATCH 2/2] gnu: python-pandera: Fix build Troy Figiel
2024-01-21 17:22 65% [bug#68642] [PATCH] gnu: Add python-pandas-vet Troy Figiel
2024-01-21 20:07     [bug#68569] [PATCH v2 0/2] gnu: borgmatic: Update to 1.8.6 Mike Delago
2024-01-21 20:07 62% ` [bug#68569] [PATCH v2 1/2] gnu: Add python-apprise Mike Delago
2024-01-21 21:19     [bug#68649] [PATCH 0/3] gnu: Add python-zodb Troy Figiel
2024-01-21 21:12 62% ` [bug#68649] [PATCH 1/3] gnu: Add python-zconfig Troy Figiel
2024-01-21 21:12 65% ` [bug#68649] [PATCH 2/3] gnu: Add python-zodbpickle Troy Figiel
2024-01-21 21:13 61% ` [bug#68649] [PATCH 3/3] gnu: Add python-zodb Troy Figiel
2024-01-21 22:36     [bug#68650] [PATCH 0/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
2024-01-21 22:40 62% ` [bug#68650] [PATCH 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
2024-01-21 22:40 57% ` [bug#68650] [PATCH 2/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
2024-01-23 10:31 62% ` [bug#68650] [PATCH v2 1/2] gnu: Add python-cppheaderparser Sharlatan Hellseher
2024-01-23 10:31 56%   ` [bug#68650] [PATCH v2 2/2] gnu: python-pyamg: Regenerate bundled files Sharlatan Hellseher
2024-01-23 11:47     [bug#68672] [PATCH 0/2]gnu: python-trimesh: Update to 4.0.10 and enable tests Sharlatan Hellseher
2024-01-23 11:53 65% ` [bug#68672] [PATCH 1/2] gnu: python-trimesh: Update to 4.0.10 Sharlatan Hellseher
2024-01-23 11:53 56% ` [bug#68672] [PATCH 2/2] gnu: python-trimesh: Enable tests Sharlatan Hellseher
2024-01-25 13:54     [bug#68714] [PATCH 0/5] Update flint to 3.0.1 Andreas Enge
2024-01-25 13:58 46% ` [bug#68714] [PATCH 4/5] gnu: python-flint: Update to 0.5.0 and build with flint@3 Andreas Enge
2024-01-25 21:41     [bug#68721] [PATCH 0/2] gnu: Add python-fastparquet Troy Figiel
2024-01-25 20:39 72% ` [bug#68721] [PATCH 1/2] gnu: Add python-cramjam Troy Figiel
2024-03-02 18:40 72% ` Troy Figiel
2024-01-28 22:49     [bug#68789] [PATCH 0/2] gnu: Add python-pyjanitor Troy Figiel
2024-01-28 21:47 62% ` [bug#68789] [PATCH 1/2] gnu: Add python-unyt Troy Figiel
2024-01-28 22:13 58% ` [bug#68789] [PATCH 2/2] gnu: Add python-pyjanitor Troy Figiel
2024-01-29 18:16 63% ` [bug#68789] [PATCH 1/2] gnu: Add python-unyt Troy Figiel
2024-01-29 18:17 58% ` [bug#68789] [PATCH 2/2] gnu: Add python-pyjanitor Troy Figiel
2024-02-02 23:35 65% [bug#68901] [PATCH] gnu: whoogle-search: Update to 0.8.4 Skylar Chan
2024-02-04 16:43     [bug#68925] [PATCH 0/8] Update proj to 9.3.1 Felix Gruber
2024-02-04 16:47 65% ` [bug#68925] [PATCH 5/8] gnu: python-shapely: Update to 2.0.2 Felix Gruber
2024-02-11  4:35 64% [bug#69035] [PATCH] gnu: httpie: Update to 3.2.2 kiasoc5 via Guix-patches via
2024-02-11  4:35 65% [bug#69036] [PATCH] gnu: python-tldr: Update to 3.2.0 kiasoc5 via Guix-patches via
2024-02-11 11:43     [bug#69048] [PATCH 01/32] gnu: rust-either-1: Update to 1.10.0 Hartmut Goebel
2024-02-11 11:43 62% ` [bug#69048] [PATCH 28/32] gnu: Add python-annotated-types Hartmut Goebel
2024-02-11 11:43 55% ` [bug#69048] [PATCH 29/32] gnu: Add python-pydantic-core Hartmut Goebel
2024-02-11 11:43 65% ` [bug#69048] [PATCH 30/32] gnu: Add python-pydantic-2 Hartmut Goebel
2024-02-11 11:43 65% ` [bug#69048] [PATCH 31/32] gnu: python-typing-extensions: Update to 4.9.0 Hartmut Goebel
2024-02-11 11:43 65% ` [bug#69048] [PATCH 32/32] gnu: python-email-validator: Update to 2.1.0.post1 Hartmut Goebel
2024-02-12 14:55     [bug#69074] [PATCH] Add python-angr soeren
2024-02-12 14:58 62% ` [bug#69074] [PATCH] gnu: Add python-itanium-demangle soeren
2024-02-12 14:58 65% ` [bug#69074] [PATCH] gnu: Add python-keystone-engine soeren
2024-02-12 14:58 65% ` [bug#69074] [PATCH] gnu: Add python-mulpyplexer soeren
2024-02-12 14:58 65% ` [bug#69074] [PATCH] gnu: Add python-nampa soeren
2024-02-12 14:58 64% ` [bug#69074] [PATCH] gnu: Add python-rpyc soeren
2024-02-12 14:58 81% ` [bug#69074] [PATCH] gnu: Add python-pysmt Troy Figiel
2024-02-12 14:58 62% ` soeren
2024-02-12 14:58 62% ` [bug#69074] [PATCH] gnu: Add python-claripy soeren
2024-02-12 14:58 63% ` [bug#69074] [PATCH] gnu: Add python-archinfo soeren
2024-02-12 14:58 67% ` [bug#69074] [PATCH] gnu: Add python-pyvex soeren
2024-02-12 14:58 63% ` [bug#69074] [PATCH] gnu: Add python-cle soeren
2024-02-12 14:58 65% ` [bug#69074] [PATCH] gnu: Add python-ailment soeren
2024-02-12 14:58 71% ` [bug#69074] [PATCH] gnu: capstone: Backport upstream fix for Python bindings soeren
2024-02-12 14:58 69% ` [bug#69074] [PATCH] gnu: Add python-angr soeren
2024-02-12 14:58 69% ` Troy Figiel
2024-02-12 18:04     [bug#68207] [PATCH v3 0/5] Update python-textual to 0.50.1 Felix Gruber
2024-02-12 18:04 63% ` [bug#68207] [PATCH v3 1/5] gnu: python-markdown-it-py: Update to 3.0.0 Felix Gruber
2024-02-12 18:04 65% ` [bug#68207] [PATCH v3 2/5] gnu: python-mdit-py-plugins: Update to 0.4.0 Felix Gruber
2024-02-12 18:04 65% ` [bug#68207] [PATCH v3 3/5] gnu: Add python-pygments-next Felix Gruber
2024-02-12 18:04 58% ` [bug#68207] [PATCH v3 4/5] gnu: python-rich: Update to 13.7.0 Felix Gruber
2024-02-12 18:04 54% ` [bug#68207] [PATCH v3 5/5] gnu: python-textual: Update to 0.50.1 Felix Gruber
2024-02-17 17:20     [bug#67120] [PATCH v3 0/4] Add jellyfin-mpv-shim and deps Ian Eure
2024-02-17 17:20 65% ` [bug#67120] [PATCH v3 1/4] gnu: Add python-mpv-jsonipc Ian Eure
2024-02-17 17:20 65% ` [bug#67120] [PATCH v3 2/4] gnu: Add python-jellyfin-apiclient Ian Eure
2024-02-17 17:20 64% ` [bug#67120] [PATCH v3 3/4] gnu: Add python-pystray Ian Eure
2024-02-17 17:49     [bug#67120] [PATCH v4 0/4] Add jellyfin-mpv-player and deps Ian Eure
2024-02-17 17:49 65% ` [bug#67120] [PATCH v4 1/4] gnu: Add python-mpv-jsonipc Ian Eure
2024-02-17 17:49 65% ` [bug#67120] [PATCH v4 2/4] gnu: Add python-jellyfin-apiclient Ian Eure
2024-02-17 17:49 64% ` [bug#67120] [PATCH v4 3/4] gnu: Add python-pystray Ian Eure
2024-02-17 19:02     [bug#67120] [PATCH v5 0/5] Add jellyfin-mpv-player and deps Ian Eure
2024-02-17 19:02 65% ` [bug#67120] [PATCH v5 1/5] gnu: Add python-mpv-jsonipc Ian Eure
2024-02-17 19:02 65% ` [bug#67120] [PATCH v5 2/5] gnu: Add python-jellyfin-apiclient Ian Eure
2024-02-17 19:02 64% ` [bug#67120] [PATCH v5 3/5] gnu: Add python-pystray Ian Eure
2024-02-19  9:50     [bug#69268] [PATCH 0/2] Add python-heatwave Wilko Meyer
2024-02-19  9:53 65% ` [bug#69268] [PATCH 1/2] gnu: Add python-monthdelta Wilko Meyer
2024-02-19  9:53 64% ` [bug#69268] [PATCH 2/2] gnu: Add python-heatwave Wilko Meyer
2024-02-20 23:41     [bug#69295] [PATCH 00/46] gnu: Astronomy 2024/02 updates Sharlatan Hellseher
2024-02-20 23:43 65% ` [bug#69295] [PATCH 05/46] gnu: parfive: Update to 2.0.2 Sharlatan Hellseher
2024-02-20 23:43 64% ` [bug#69295] [PATCH 06/46] gnu: parfive: Simplify package Sharlatan Hellseher
2024-02-20 23:43 65% ` [bug#69295] [PATCH 08/46] gnu: python-aioftp: Update to 0.22.3 Sharlatan Hellseher
2024-02-20 23:43 65% ` [bug#69295] [PATCH 18/46] gnu: python-h5netcdf: Update to 1.3.0 Sharlatan Hellseher
2024-02-24 10:41     [bug#69352] [PATCH 00/13] Update Clingo to 5.7.1, etc pp Liliana Marie Prikler
2024-02-24  6:57 65% ` [bug#69352] [PATCH 02/13] gnu: python-scikit-build: Install cmake modules Liliana Marie Prikler
2024-02-24  7:59 57% ` [bug#69352] [PATCH 12/13] gnu: python-telingo: Update to 2.1.3 Liliana Marie Prikler
2024-02-24  9:17 65% ` [bug#69352] [PATCH OPTIONAL 13/13] gnu: python: python-scikit-build: Add more non-deterministic test failures Liliana Marie Prikler
2024-02-25 17:42 66% [bug#69389] [PATCH] gnu: Add python-xmp-toolkit Felix Gruber
2024-02-25 22:20     [bug#67120] [PATCH v6 0/5] Add jellyfin-mpv-player and deps Ian Eure
2024-02-25 22:20 65% ` [bug#67120] [PATCH v6 1/5] gnu: Add python-mpv-jsonipc Ian Eure
2024-02-25 22:20 64% ` [bug#67120] [PATCH v6 2/5] gnu: Add python-jellyfin-apiclient Ian Eure
2024-02-25 22:20 62% ` [bug#67120] [PATCH v6 3/5] gnu: Add python-pystray Ian Eure
2024-02-27 19:09 60% [bug#69434] [PATCH] gnu: Add python-ldaptor Sharlatan Hellseher
2024-03-02 14:15 61% ` [bug#69434] [PATCH v2] " Sharlatan Hellseher
2024-02-28  9:42     [bug#69449] [PATCH python-team 0/9] gnu: Add python-flask-3 Tanguy Le Carrour
2024-02-28 10:15 64% ` [bug#69449] [PATCH python-team 1/9] gnu: python-itsdangerous: Update to 2.1.2 Tanguy Le Carrour
2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 2/9] gnu: python-jinja2: Update to 3.1.3 Tanguy Le Carrour
2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 3/9] gnu: python-click: Update to 8.1.7 Tanguy Le Carrour
2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 4/9] gnu: python-blinker: Update to 1.7.0 Tanguy Le Carrour
2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 5/9] gnu: Add python-ephemeral-port-reserve Tanguy Le Carrour
2024-02-28 10:15 62% ` [bug#69449] [PATCH python-team 6/9] gnu: python-werkzeug: Rename variable to python-werkzeug-2 Tanguy Le Carrour
2024-02-28 10:15 61% ` [bug#69449] [PATCH python-team 7/9] gnu: Add python-werkzeug-3 Tanguy Le Carrour
2024-02-28 10:15 65% ` [bug#69449] [PATCH python-team 8/9] gnu: python-flask: Rename to python-flask-2 Tanguy Le Carrour
2024-02-28 10:15 62% ` [bug#69449] [PATCH python-team 9/9] gnu: Add python-flask-3 Tanguy Le Carrour
2024-02-28 10:13 64% [bug#69450] [PATCH python-team] gnu: python-markdown: Update to 3.5.2 Tanguy Le Carrour
2024-02-28 10:27 63% [bug#69452] [PATCH] gnu: Add python-mistune-3 Tanguy Le Carrour
2024-02-28 11:20 63% [bug#69453] [PATCH] gnu: Add python-jinja2-fragments Tanguy Le Carrour
2024-03-01  9:22 61% [bug#69486] [PATCH] gnu: Add python-pypugjs Tanguy Le Carrour
2024-03-02 20:46 62% [bug#69514] [PATCH] gnu: python-pandera: Update to 0.18.0 Troy Figiel
2024-03-06  9:38 64% [bug#69579] [PATCH] gnu: python-joblib: Update to 1.3.2 Nicolas Graves via Guix-patches via
2024-03-06 19:37     [bug#69591] [PATCH 00/31] Unbundle and update python-pytorch David Elsing
2024-03-06 19:40 65% ` [bug#69591] [PATCH 02/31] gnu: Add python-typing-extensions-4.10 David Elsing
2024-03-06 19:40 64% ` [bug#69591] [PATCH 03/31] gnu: Add python-optree David Elsing
2024-03-06 19:40 65% ` [bug#69591] [PATCH 04/31] gnu: Add python-pytest-flakefinder David Elsing
2024-03-06 19:40 65% ` [bug#69591] [PATCH 05/31] gnu: Add python-pytest-shard David Elsing
2024-03-06 19:40 64% ` [bug#69591] [PATCH 06/31] gnu: Add python-expecttest David Elsing
2024-03-06 19:40 65% ` [bug#69591] [PATCH 07/31] gnu: Add python-pytest-rerunfailures-13 David Elsing

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).