GNU bug report logs - #62252
[PATCH 00/19] Add python-clinguin

Previous Next

Package: guix-patches;

Reported by: Liliana Marie Prikler <liliana.prikler <at> gmail.com>

Date: Sat, 18 Mar 2023 09:29:01 UTC

Severity: normal

Tags: patch

Done: Ricardo Wurmus <rekado <at> elephly.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 62252 in the body.
You can then email your comments to 62252 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 09:29:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Liliana Marie Prikler <liliana.prikler <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 18 Mar 2023 09:29:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 00/19] Add python-clinguin
Date: Sat, 18 Mar 2023 10:24:18 +0100
Hi Guix,

this series adds python-clinguin, a funny little package that allows you
to write a GUI as an answer set program.  It also updates a fair number
of other package, including pulling in python-pluggy-next from
<https://issues.guix.gnu.org/60838>.

Cheers

Felix Gruber (1):
  gnu: Add python-pluggy-next.

Liliana Marie Prikler (18):
  gnu: Add python-imageio-ffmpeg.
  gnu: python-imageio: Update to 2.26.0.
  gnu: Separate potassco packages into their own module.
  gnu: Add python-clingraph.
  gnu: python-pathspec: Update to 0.11.0.
  gnu: python-pathspec: Revise description.
  gnu: python-pathspec: Move to (gnu packages python-build).
  gnu: python-pluggy: Move to (gnu packages python-build).
  gnu: Add python-hatchling.
  gnu: python-starlette: Update to 0.25.0.
  gnu: python-sqlalchemy: Update to 1.4.42.
  gnu: python-pymysql: Update to 1.0.2.
  gnu: python-aiomysql: Update to 0.1.1.
  gnu: python-aiosqlite: Update to 0.18.0.
  gnu: python-databases: Update to 0.7.0.
  gnu: python-databases: Revise description.
  gnu: Add python-fastapi.
  gnu: Add python-clinguin.

 gnu/local.mk                  |   1 +
 gnu/packages/databases.scm    |  64 +++---
 gnu/packages/maths.scm        | 263 ------------------------
 gnu/packages/potassco.scm     | 375 ++++++++++++++++++++++++++++++++++
 gnu/packages/python-build.scm |  99 +++++++++
 gnu/packages/python-web.scm   |  79 ++++++-
 gnu/packages/python-xyz.scm   | 110 +++++-----
 7 files changed, 638 insertions(+), 353 deletions(-)
 create mode 100644 gnu/packages/potassco.scm


base-commit: 933051281fbed0ae71bd40c24a701faf2a02791c
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:02 GMT) Full text and rfc822 format available.

Message #8 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 01/19] gnu: Add python-imageio-ffmpeg.
Date: Sat, 18 Mar 2023 07:49:23 +0100
* gnu/packages/python-xyz.scm (python-imageio-ffmpeg): 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 7c8b3b3378..1633cec7a6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8015,6 +8015,35 @@ (define-public python-lfdfiles
 experimental data and metadata at the Laboratory for Fluorescence Dynamics.")
     (license license:bsd-3)))
 
+(define-public python-imageio-ffmpeg
+  (package
+   (name "python-imageio-ffmpeg")
+   (version "0.4.8")
+   (source (origin
+            (method url-fetch)
+            (uri (pypi-uri "imageio-ffmpeg" version))
+            (sha256
+             (base32
+              "1a8as5c42s8yl79gc2nhj6vvkwr81p5ibxp5m1zhn1zy22nhbapx"))))
+   (arguments
+    (list #:phases
+          #~(modify-phases %standard-phases
+              (add-after 'unpack 'hardcode-ffmpeg
+                (lambda* (#:key inputs #:allow-other-keys)
+                  (substitute* "imageio_ffmpeg/_utils.py"
+                    (("os\\.getenv\\(\"IMAGEIO_FFMPEG_EXE\".*\\)" all)
+                     (string-append "(" all " or \""
+                                    (search-input-file inputs "bin/ffmpeg")
+                                    "\")"))))))))
+   (inputs (list ffmpeg-4))
+   (build-system python-build-system)
+   (home-page "https://github.com/imageio/imageio-ffmpeg")
+   (synopsis "FFMPEG wrapper for Python")
+   (description "This package provides an FFMPEG wrapper for working with video
+files.  It implements generator functions for reading and writing data to and
+from FFMPEG, reliably terminating the process when done.")
+   (license license:bsd-2)))
+
 (define-public python-imageio
   (package
     (name "python-imageio")

base-commit: 933051281fbed0ae71bd40c24a701faf2a02791c
prerequisite-patch-id: c3be9239b1cf8341b20835040d80e1c205474bdd
prerequisite-patch-id: ff86f1f4a060eb03f5c1a2ec78100a59ab0f00bf
prerequisite-patch-id: 2459d04db70b60050922b829fca25f141cc6e33d
prerequisite-patch-id: d2ebab26bf7d2336992acbca195cb4069c58937f
prerequisite-patch-id: fbec221e54078b13b19fe0f733dca8bcd14591ec
prerequisite-patch-id: 1747a765c51ee94c063ec10230aac856e6df22b4
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:02 GMT) Full text and rfc822 format available.

Message #11 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 02/19] gnu: python-imageio: Update to 2.26.0.
Date: Sat, 18 Mar 2023 07:51:37 +0100
* gnu/packages/python-xyz.scm (python-imageio): Update to 2.26.0.
[build-system]: Use pyproject-build-system.
[arguments]: Use G-Expressions.
<#:tests?>: Drop argument.
<#:test-flags>: New argument.
<#:phases>: Drop replacement for ‘check’.
Add ‘fix-source’ and ‘fix-failing-tests’.
[inputs]: Add freeimage.
[propagated-inputs]: Add python-imageio-ffmpeg.
---
 gnu/packages/python-xyz.scm | 44 +++++++++++++++++++++++--------------
 1 file changed, 28 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1633cec7a6..629789cfa5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8047,29 +8047,41 @@ (define-public python-imageio-ffmpeg
 (define-public python-imageio
   (package
     (name "python-imageio")
-    (version "2.8.0")
+    (version "2.26.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "imageio" version))
        (sha256
         (base32
-         "1ksjl523fm0fikrd85llxfba35rc1qsgwadgr6mbn9kis79xcpzv"))))
-    (build-system python-build-system)
+         "0dgddhi5dlpry5j4d3256v09pcziyj3ii47yx0zi68xprm11d7qn"))))
+    (build-system pyproject-build-system)
     (arguments
-     `(#:tests? #f ; many tests require online data
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda* (#:key outputs inputs tests? #:allow-other-keys)
-             (if tests?
-                 (begin
-                   ;; Make installed package available for running the tests.
-                   (add-installed-pythonpath inputs outputs)
-                   (invoke "pytest" "-vv"))
-                 #t))))))
-    (propagated-inputs
-     (list python-numpy python-pillow python-psutil))
+     (list
+      #:test-flags #~(list "-m" "not needs_internet")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-source
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "imageio/plugins/_freeimage.py"
+                (("os\\.getenv\\(\"IMAGEIO_FREEIMAGE_LIB\".*\\)" all)
+                 (string-append
+                  "(" all " or \""
+                  (search-input-file inputs "lib/libfreeimage.so")
+                  "\")")))
+              (substitute* "imageio/core/util.py"
+                (("\"/var/tmp\"")
+                 "os.getenv(\"TMPDIR\", \"/tmp\")"))))
+          (add-after 'unpack 'fix-failing-tests
+            (lambda _
+              (substitute* "tests/test_core.py"
+                (("(core\\.load_lib)\\((\\[gllib\\], \\[\\])\\)"
+                  all fun args)
+                 (string-append "raises(ValueError, " fun ", " args ")")))
+              (delete-file "tests/test_freeimage.py"))))))
+    (inputs (list freeimage))
+    (propagated-inputs
+     (list python-imageio-ffmpeg python-numpy python-pillow python-psutil))
     (native-inputs
      (list python-pytest))
     (home-page "https://imageio.github.io/")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:03 GMT) Full text and rfc822 format available.

Message #14 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 04/19] gnu: Add python-clingraph.
Date: Sat, 18 Mar 2023 08:34:03 +0100
* gnu/packages/potassco.scm (python-clingraph): New variable.
---
 gnu/packages/potassco.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index eea7e6cefa..02a12d9c77 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -30,6 +30,7 @@ (define-module (gnu packages potassco)
   #:use-module (guix build-system python)
   #:use-module (guix build-system pyproject)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -295,3 +296,33 @@ (define-public python-telingo
     (description "This package provides a system to solve dynamic temporal
 logic programs based on clingo.")
     (license license:expat)))
+
+(define-public python-clingraph
+  (package
+    (name "python-clingraph")
+    (version "1.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/potassco/clingraph")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0bdhli20nw9qnyxmpisgz7m97d7bwx6lbmxy9bgqvm6mipprnv3n"))))
+    (build-system pyproject-build-system)
+    (inputs (list dot2tex graphviz))
+    (propagated-inputs (list python-clingo
+                             python-clorm
+                             python-graphviz
+                             python-imageio
+                             python-jinja2
+                             python-jsonschema
+                             python-networkx))
+    (native-inputs (list dot2tex graphviz python-pylint python-pytest))
+    (home-page "https://github.com/potassco/clingraph")
+    (synopsis "Visualizer for graphs defined as logic programs")
+    (description
+     "This package provides a clingo-based visualizer for graphs defined
+as logic programs.")
+    (license license:expat)))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:03 GMT) Full text and rfc822 format available.

Message #17 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 13/19] gnu: python-pymysql: Update to 1.0.2.
Date: Sat, 18 Mar 2023 09:19:58 +0100
* gnu/packages/databases.scm (python-pymysql): Update to 1.0.2.
---
 gnu/packages/databases.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 7bfff9b71d..13d9f4aeae 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1529,13 +1529,13 @@ (define-public pgloader
 (define-public python-pymysql
   (package
     (name "python-pymysql")
-    (version "0.9.3")
+    (version "1.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "PyMySQL" version))
        (sha256
-        (base32 "1ry8lxgdc1p3k7gbw20r405jqi5lvhi5wk83kxdbiv8xv3f5kh6q"))))
+        (base32 "0dmdszskfri11b9m6n3lag31vzi10aqxz9gc583md3gka2ijfsc1"))))
     (build-system python-build-system)
     (inputs
      (list python-cryptography))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:04 GMT) Full text and rfc822 format available.

Message #20 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 05/19] gnu: python-pathspec: Update to 0.11.0.
Date: Sat, 18 Mar 2023 08:34:09 +0100
* gnu/packages/python-xyz.scm (python-pathspec): Update to 0.11.0.
---
 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 629789cfa5..41803361e2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5984,14 +5984,14 @@ (define-public python-language-server
 (define-public python-pathspec
   (package
     (name "python-pathspec")
-    (version "0.9.0")
+    (version "0.11.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pathspec" version))
        (sha256
         (base32
-         "1cdbdb3s6ldnjpwbi0bgl0xlmw4mbfxk08bbdxc3srx26na4jr75"))))
+         "1g7b60ds4mwm4vyff7c5n4d3ynasgf8fc893g70r2kliw3a3ilv4"))))
     (build-system python-build-system)
     (home-page "https://github.com/cpburnz/python-path-specification")
     (synopsis "Utility library for gitignore style pattern matching of file paths")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:04 GMT) Full text and rfc822 format available.

Message #23 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 06/19] gnu: python-pathspec: Revise description.
Date: Sat, 18 Mar 2023 08:34:31 +0100
* gnu/packages/python-xyz.scm (python-pathspec)[synopsis, description]:
Rewrite to better explain what it does.
---
 gnu/packages/python-xyz.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 41803361e2..fc54d07214 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5994,10 +5994,11 @@ (define-public python-pathspec
          "1g7b60ds4mwm4vyff7c5n4d3ynasgf8fc893g70r2kliw3a3ilv4"))))
     (build-system python-build-system)
     (home-page "https://github.com/cpburnz/python-path-specification")
-    (synopsis "Utility library for gitignore style pattern matching of file paths")
+    (synopsis "Match file names against specifications")
     (description
-     "This package provides a utility library for gitignore style pattern
-matching of file paths.")
+     "This package provides a utility library to match file names against
+specified patterns.  It is currently limited to wildmatch-style patterns,
+which are used e.g. in .gitignore files.")
     (license license:mpl2.0)))
 
 (define-public python-black
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:05 GMT) Full text and rfc822 format available.

Message #26 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 15/19] gnu: python-aiosqlite: Update to 0.18.0.
Date: Sat, 18 Mar 2023 09:43:29 +0100
* gnu/packages/databases.scm (python-aiosqlite): Update to 0.18.0.
[source]: Use git-fetch and git-reference.
[build-system]: Use pyproject-build-system.
[arguments]: Adjust accordingly.
[propagated-inputs]: Remove.
[native-inputs]: Remove python-aiounittest.
Add python-flit-core, python-coverage and python-mypy.
---
 gnu/packages/databases.scm | 41 +++++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 295d88e05a..6b693f940f 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3627,27 +3627,28 @@ (define-public python-apsw
 (define-public python-aiosqlite
   (package
     (name "python-aiosqlite")
-    (version "0.17.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "aiosqlite" version))
-       (sha256
-        (base32
-         "0lgfpbkcd730hbgj3zlrbx2y8fzvdns2zj3s4r4l31n49g1arrph"))))
-    (build-system python-build-system)
+    (version "0.18.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/omnilib/aiosqlite")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1a8sggh1wwbpl46k5qcfmp97s9hjysna0x7mwwc53kyfm0m95wf8"))))
+    (build-system pyproject-build-system)
     (arguments
-     '(#:phases (modify-phases %standard-phases
-                  (replace 'check
-                    (lambda* (#:key tests? #:allow-other-keys)
-                      (if tests?
-                          (invoke "python" "-m" "unittest" "aiosqlite.tests")
-                          (format #t "test suite not run~%"))
-                      #t)))))
-    (propagated-inputs
-     (list python-typing-extensions))
-    (native-inputs
-     (list python-aiounittest))
+     (list #:phases #~(modify-phases %standard-phases
+                        (replace 'check
+                          (lambda* (#:key tests? #:allow-other-keys)
+                            (when tests?
+                              (invoke "python" "-m" "coverage" "run" "-m"
+                                      "aiosqlite.tests")
+                              (invoke "python" "-m" "coverage" "report")))))))
+    (native-inputs (list python-flit-core
+                         python-coverage
+                         python-mypy))
     (home-page "https://github.com/jreese/aiosqlite")
     (synopsis
      "Asyncio bridge for sqlite3")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:05 GMT) Full text and rfc822 format available.

Message #29 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Felix Gruber <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 07/19] gnu: Add python-pluggy-next.
Date: Fri, 17 Mar 2023 19:19:18 +0000
* gnu/packages/python-xyz.scm (python-pluggy-next): New variable.

Signed-off-by: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
---
 gnu/packages/python-xyz.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index fc54d07214..557482b612 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15426,6 +15426,19 @@ (define-public python-pluggy
    (home-page "https://pypi.org/project/pluggy/")
    (license license:expat)))
 
+;;; TODO: Make this the default python-pluggy in the next rebuild cycle.
+(define-public python-pluggy-next
+  (package
+   (inherit python-pluggy)
+   (version "1.0.0")
+   (source
+    (origin
+     (method url-fetch)
+     (uri (pypi-uri "pluggy" version))
+     (sha256
+      (base32
+       "0n8iadlas2z1b4h0fc73b043c7iwfvx9rgvqm1azjmffmhxkf922"))))))
+
 (define-public python-plumbum
   (package
     (name "python-plumbum")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:05 GMT) Full text and rfc822 format available.

Message #32 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 03/19] gnu: Separate potassco packages into their own module.
Date: Sat, 18 Mar 2023 08:23:00 +0100
* gnu/packages/potassco.scm: New file.
(libpotassco, clasp, clingo, python-clingo, python-telingo): Import from...
* gnu/packages/maths.scm: ... here.
Adjust imports accordingly.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add %D%/packages/potassco.scm.
---
 gnu/local.mk              |   1 +
 gnu/packages/maths.scm    | 263 ---------------------------------
 gnu/packages/potassco.scm | 297 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 298 insertions(+), 263 deletions(-)
 create mode 100644 gnu/packages/potassco.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 2944211e12..3d79ced749 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -502,6 +502,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/poedit.scm				\
   %D%/packages/polkit.scm			\
   %D%/packages/popt.scm				\
+  %D%/packages/potassco.scm				\
   %D%/packages/printers.scm			\
   %D%/packages/profiling.scm			\
   %D%/packages/prolog.scm			\
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 238352f278..bc07382bac 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -96,7 +96,6 @@ (define-module (gnu packages maths)
   #:use-module (guix build-system ocaml)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
-  #:use-module (guix build-system pyproject)
   #:use-module (guix build-system ruby)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages audio)
@@ -132,7 +131,6 @@ (define-module (gnu packages maths)
   #:use-module (gnu packages image)
   #:use-module (gnu packages java)
   #:use-module (gnu packages less)
-  #:use-module (gnu packages libffi)
   #:use-module (gnu packages lisp)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -2545,267 +2543,6 @@ (define-public libflame
 includes a complete LAPACK implementation.")
     (license license:bsd-3)))
 
-(define-public libpotassco
-  ;; No public release, update together with clasp
-  (let ((revision "1")
-        (commit "2f9fb7ca2c202f1b47643aa414054f2f4f9c1821"))
-    (package
-      (name "libpotassco")
-      (version (git-version "0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/potassco/libpotassco")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "1c32f9gqclf7qx07lpx8wd720vfhkjqhzc6nyy8mjmgwpmb3iyyn"))))
-      (arguments
-       `(#:configure-flags '("-DLIB_POTASSCO_BUILD_TESTS=on"
-                             "-DLIB_POTASSCO_INSTALL_LIB=on"
-                             "-DBUILD_SHARED_LIBS=on")
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'patch-cmake
-             (lambda _
-               (substitute* "CMakeLists.txt"
-                 ;; clasp expects lowercase potassco and include directory is
-                 ;; lowercase as well, so let's use that
-                 (("\"cmake/Potassco\"") "\"cmake/potassco\"")
-                 (("PotasscoConfig\\.cmake") "potassco-config.cmake")
-                 (("PotasscoConfigVersion\\.cmake")
-                  "potassco-config-version.cmake"))
-               (rename-file "cmake/PotasscoConfig.cmake.in"
-                            "cmake/potassco-config.cmake.in"))))))
-      (build-system cmake-build-system)
-      (home-page "https://potassco.org/")
-      (synopsis "Utility library for Potassco's projects")
-      (description "@code{libpotassco} is a utility library providing functions
-and datatypes for
-@itemize
-@item parsing, writing, and converting logic programs in aspif and smodels
-format,
-@item passing information between a grounder and a solver,
-@item and defining and parsing command-line options and for creating
-command-line applications.
-@end itemize
-Furthermore, it comes with the tool @command{lpconvert} that converts either
-between aspif and smodels format or to a human-readable text format.")
-      (license license:expat))))
-
-(define-public clasp
-  (package
-    (name "clasp")
-    (version "3.3.9")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/potassco/clasp")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "163ps9zq7xppqy9hj5qnw6z5lcjnm4xf5fwjsavpia5ynm3hngcw"))))
-    (build-system cmake-build-system)
-    (arguments
-     `(#:configure-flags '("-DCLASP_BUILD_TESTS=on"
-                           "-DCLASP_INSTALL_LIB=on"
-                           "-DCLASP_USE_LOCAL_LIB_POTASSCO=off"
-                           "-DBUILD_SHARED_LIBS=on")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-cmake
-           (lambda _
-             (substitute* "CMakeLists.txt"
-               ;; Use lowercase to be consistent with libpotassco
-               (("\"cmake/Clasp\"") "\"cmake/clasp\"")
-               (("ClaspConfig\\.cmake") "clasp-config.cmake")
-               (("ClaspConfigVersion\\.cmake")
-                "clasp-config-version.cmake"))
-             (substitute* "cmake/ClaspConfig.cmake.in"
-               (("find_package\\(Potassco") "find_package(potassco"))
-             (rename-file "cmake/ClaspConfig.cmake.in"
-                          "cmake/clasp-config.cmake.in"))))))
-    (inputs
-     (list libpotassco))
-    (home-page "https://potassco.org/")
-    (synopsis "Answer set solver")
-    (description "clasp is an answer set solver for (extended) normal and
-disjunctive logic programs.  The primary algorithm of clasp relies on
-conflict-driven nogood learning, a technique that proved very successful for
-satisfiability checking (SAT).")
-    (license license:expat)))
-
-(define-public clingo
-  (package
-    (name "clingo")
-    (version "5.6.2")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/potassco/clingo")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (modules '((guix build utils)))
-              (snippet
-               #~(begin
-                   (delete-file-recursively "clasp")
-                   ;; TODO: Unvendor other third-party stuff
-                   (delete-file-recursively "third_party/catch")))
-              (sha256
-               (base32
-                "19s59ndcm2yj0kxlikfxnx2bmp6b7n31wq1zvwc7hyk37rqarwys"))))
-    (build-system cmake-build-system)
-    (arguments
-     (list
-      #:configure-flags #~`("-DCLINGO_BUILD_TESTS=on"
-                            "-DCLINGO_INSTALL_LIB=on"
-                            "-DCLINGO_BUILD_STATIC=off"
-                            "-DCLINGO_BUILD_SHARED=on"
-                            "-DCLINGO_USE_LOCAL_CLASP=off"
-                            "-DCLINGO_USE_LOCAL_CATCH=off")
-      #:phases
-      #~(modify-phases %standard-phases
-          (add-after 'unpack 'patch-cmake
-            (lambda _
-              (substitute* "CMakeLists.txt"
-                (("add_subdirectory\\(clasp\\)")
-                 "find_package(clasp REQUIRED)"))
-              (substitute* "libclingo/CMakeLists.txt"
-                (("\"cmake/Clingo\"") "\"cmake/clingo\"")
-                (("ClingoConfig\\.cmake") "clingo-config.cmake")
-                (("ClingoConfigVersion\\.cmake")
-                 "clingo-config-version.cmake"))
-              (substitute* "cmake/ClingoConfig.cmake.in"
-                (("find_package\\(Clasp") "find_package(clasp"))
-              (rename-file "cmake/ClingoConfig.cmake.in"
-                           "cmake/clingo-config.cmake.in")))
-          (add-after 'unpack 'skip-failing-tests
-            (lambda _
-              (with-directory-excursion "libclingo/tests"
-                (substitute* "CMakeLists.txt"
-                  (("COMMAND test_clingo" all)
-                   (string-append all
-                                  " -f "
-                                  "\"${CMAKE_CURRENT_SOURCE_DIR}/good.txt\"")))
-                (call-with-output-file "good.txt"
-                  (lambda (port)
-                    (for-each (lambda (test) (format port "~s~%" test))
-                              '("parse-ast-v2" "add-ast-v2" "build-ast-v2"
-                                "unpool-ast-v2" "parse_term"
-                                "propagator" "propgator-sequence-mining"
-                                "symbol" "visitor"))))))))))
-    (inputs (list catch2-3.1 clasp libpotassco))
-    (native-inputs (list pkg-config))
-    (home-page "https://potassco.org/")
-    (synopsis "Grounder and solver for logic programs")
-    (description "Clingo computes answer sets for a given logic program.")
-    (license license:expat)))
-
-(define-public python-clingo
-  (package
-    (inherit clingo)
-    (name "python-clingo")
-    (version (package-version clingo)) ; for #$version in arguments
-    (arguments
-     (substitute-keyword-arguments (package-arguments clingo)
-       ((#:configure-flags flags #~'())
-        #~(cons* "-DCLINGO_BUILD_WITH_PYTHON=pip"
-                 "-DCLINGO_USE_LIB=yes"
-                 #$flags))
-       ((#:imported-modules _ '())
-        `(,@%cmake-build-system-modules
-          (guix build python-build-system)))
-       ((#:modules _ '())
-        '((guix build cmake-build-system)
-          ((guix build python-build-system) #:prefix python:)
-          (guix build utils)))
-       ((#:phases phases #~%standard-phases)
-        #~(modify-phases #$phases
-            (add-after 'unpack 'fix-failing-tests
-              (lambda _
-                (substitute* "libpyclingo/clingo/tests/test_conf.py"
-                  (("ctl\\.solve\\(on_statistics=on_statistics\\)" all)
-                   (string-append
-                    all
-                    "; self.skipTest(\"You shall not fail.\")")))))
-            (add-after 'install 'install-distinfo
-              (lambda* (#:key inputs outputs #:allow-other-keys)
-                (with-directory-excursion (python:site-packages inputs outputs)
-                   (let ((dir (string-append "clingo-" #$version ".dist-info")))
-                     (mkdir-p dir)
-                     (call-with-output-file (string-append dir "/METADATA")
-                       (lambda (port)
-                         (format port "Metadata-Version: 1.1~%")
-                         (format port "Name: clingo~%")
-                         (format port "Version: ~a~%" #$version)))))))))))
-    (inputs (list clingo python-wrapper))
-    (propagated-inputs (list python-cffi))
-    (native-inputs (modify-inputs (package-native-inputs clingo)
-                     (prepend python-scikit-build)))
-    (synopsis "Python bindings for clingo")
-    (description "This package provides Python bindings to the clingo package,
-making it so that you can write @acronym{ASPs, Answer Set Programs} through
-Python code.")))
-
-(define-public python-clorm
-  (package
-   (name "python-clorm")
-   (version "1.4.1")
-   (source (origin
-            (method git-fetch)
-            (uri (git-reference
-                  (url "https://github.com/potassco/clorm")
-                  (commit (string-append "v" version))))
-            (file-name (git-file-name name version))
-            (sha256
-             (base32
-              "0jx99y71mrgdicn1da5dwz5nzgvvpabrikff783sg4shbv2cf0b5"))))
-   (build-system pyproject-build-system)
-   (arguments
-    (list #:phases
-          #~(modify-phases %standard-phases
-              (add-before 'check 'fix-breaking-tests
-                (lambda _
-                  ;; noclingo tests rely on this being set
-                  (setenv "CLORM_NOCLINGO" "1")
-                  (delete-file "tests/test_mypy_query.py")
-                  (substitute* "tests/test_clingo.py"
-                    (("self\\.assertTrue\\(os_called\\)" all)
-                     (string-append "# " all))))))))
-   (propagated-inputs (list python-clingo))
-   (native-inputs (list python-typing-extensions))
-   (home-page "https://potassco.org")
-   (synopsis "Object relational mapping to clingo")
-   (description "@acronym{Clorm, Clingo ORM} provides an @acronym{ORM,
-Object Relational Mapping} interface to the @acronym{ASP, answer set
-programming} solver clingo.  Its goal is to make integration of clingo
-into Python programs easier.")
-   (license license:expat)))
-
-(define-public python-telingo
-  (package
-    (name "python-telingo")
-    (version "2.1.1")
-    (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"))))
-    (build-system pyproject-build-system)
-    (propagated-inputs (list python-clingo))
-    (home-page "https://potassco.org/")
-    (synopsis "Solve dynamic temporal logic programs")
-    (description "This package provides a system to solve dynamic temporal
-logic programs based on clingo.")
-    (license license:expat)))
-
 (define-public scasp
   (let ((commit "89a427aa04ec6346425a40111c99b310901ffe51")
         (revision "1"))
diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
new file mode 100644
index 0000000000..eea7e6cefa
--- /dev/null
+++ b/gnu/packages/potassco.scm
@@ -0,0 +1,297 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2022, 2023 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
+;;; Copyright © 2023 Simon Tournier <zimon.toutoune <at> 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/>.
+
+(define-module (gnu packages potassco)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages)
+  #:use-module (guix gexp)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix gexp)
+  #:use-module (guix utils)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system python)
+  #:use-module (guix build-system pyproject)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages libffi)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages python-xyz))
+
+(define-public libpotassco
+  ;; No public release, update together with clasp
+  (let ((revision "1")
+        (commit "2f9fb7ca2c202f1b47643aa414054f2f4f9c1821"))
+    (package
+      (name "libpotassco")
+      (version (git-version "0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/potassco/libpotassco")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1c32f9gqclf7qx07lpx8wd720vfhkjqhzc6nyy8mjmgwpmb3iyyn"))))
+      (arguments
+       `(#:configure-flags '("-DLIB_POTASSCO_BUILD_TESTS=on"
+                             "-DLIB_POTASSCO_INSTALL_LIB=on"
+                             "-DBUILD_SHARED_LIBS=on")
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'patch-cmake
+             (lambda _
+               (substitute* "CMakeLists.txt"
+                 ;; clasp expects lowercase potassco and include directory is
+                 ;; lowercase as well, so let's use that
+                 (("\"cmake/Potassco\"") "\"cmake/potassco\"")
+                 (("PotasscoConfig\\.cmake") "potassco-config.cmake")
+                 (("PotasscoConfigVersion\\.cmake")
+                  "potassco-config-version.cmake"))
+               (rename-file "cmake/PotasscoConfig.cmake.in"
+                            "cmake/potassco-config.cmake.in"))))))
+      (build-system cmake-build-system)
+      (home-page "https://potassco.org/")
+      (synopsis "Utility library for Potassco's projects")
+      (description "@code{libpotassco} is a utility library providing functions
+and datatypes for
+@itemize
+@item parsing, writing, and converting logic programs in aspif and smodels
+format,
+@item passing information between a grounder and a solver,
+@item and defining and parsing command-line options and for creating
+command-line applications.
+@end itemize
+Furthermore, it comes with the tool @command{lpconvert} that converts either
+between aspif and smodels format or to a human-readable text format.")
+      (license license:expat))))
+
+(define-public clasp
+  (package
+    (name "clasp")
+    (version "3.3.9")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/potassco/clasp")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "163ps9zq7xppqy9hj5qnw6z5lcjnm4xf5fwjsavpia5ynm3hngcw"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags '("-DCLASP_BUILD_TESTS=on"
+                           "-DCLASP_INSTALL_LIB=on"
+                           "-DCLASP_USE_LOCAL_LIB_POTASSCO=off"
+                           "-DBUILD_SHARED_LIBS=on")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-cmake
+           (lambda _
+             (substitute* "CMakeLists.txt"
+               ;; Use lowercase to be consistent with libpotassco
+               (("\"cmake/Clasp\"") "\"cmake/clasp\"")
+               (("ClaspConfig\\.cmake") "clasp-config.cmake")
+               (("ClaspConfigVersion\\.cmake")
+                "clasp-config-version.cmake"))
+             (substitute* "cmake/ClaspConfig.cmake.in"
+               (("find_package\\(Potassco") "find_package(potassco"))
+             (rename-file "cmake/ClaspConfig.cmake.in"
+                          "cmake/clasp-config.cmake.in"))))))
+    (inputs
+     (list libpotassco))
+    (home-page "https://potassco.org/")
+    (synopsis "Answer set solver")
+    (description "clasp is an answer set solver for (extended) normal and
+disjunctive logic programs.  The primary algorithm of clasp relies on
+conflict-driven nogood learning, a technique that proved very successful for
+satisfiability checking (SAT).")
+    (license license:expat)))
+
+(define-public clingo
+  (package
+    (name "clingo")
+    (version "5.6.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/potassco/clingo")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (modules '((guix build utils)))
+              (snippet
+               #~(begin
+                   (delete-file-recursively "clasp")
+                   ;; TODO: Unvendor other third-party stuff
+                   (delete-file-recursively "third_party/catch")))
+              (sha256
+               (base32
+                "19s59ndcm2yj0kxlikfxnx2bmp6b7n31wq1zvwc7hyk37rqarwys"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:configure-flags #~`("-DCLINGO_BUILD_TESTS=on"
+                            "-DCLINGO_INSTALL_LIB=on"
+                            "-DCLINGO_BUILD_STATIC=off"
+                            "-DCLINGO_BUILD_SHARED=on"
+                            "-DCLINGO_USE_LOCAL_CLASP=off"
+                            "-DCLINGO_USE_LOCAL_CATCH=off")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-cmake
+            (lambda _
+              (substitute* "CMakeLists.txt"
+                (("add_subdirectory\\(clasp\\)")
+                 "find_package(clasp REQUIRED)"))
+              (substitute* "libclingo/CMakeLists.txt"
+                (("\"cmake/Clingo\"") "\"cmake/clingo\"")
+                (("ClingoConfig\\.cmake") "clingo-config.cmake")
+                (("ClingoConfigVersion\\.cmake")
+                 "clingo-config-version.cmake"))
+              (substitute* "cmake/ClingoConfig.cmake.in"
+                (("find_package\\(Clasp") "find_package(clasp"))
+              (rename-file "cmake/ClingoConfig.cmake.in"
+                           "cmake/clingo-config.cmake.in")))
+          (add-after 'unpack 'skip-failing-tests
+            (lambda _
+              (with-directory-excursion "libclingo/tests"
+                (substitute* "CMakeLists.txt"
+                  (("COMMAND test_clingo" all)
+                   (string-append all
+                                  " -f "
+                                  "\"${CMAKE_CURRENT_SOURCE_DIR}/good.txt\"")))
+                (call-with-output-file "good.txt"
+                  (lambda (port)
+                    (for-each (lambda (test) (format port "~s~%" test))
+                              '("parse-ast-v2" "add-ast-v2" "build-ast-v2"
+                                "unpool-ast-v2" "parse_term"
+                                "propagator" "propgator-sequence-mining"
+                                "symbol" "visitor"))))))))))
+    (inputs (list catch2-3.1 clasp libpotassco))
+    (native-inputs (list pkg-config))
+    (home-page "https://potassco.org/")
+    (synopsis "Grounder and solver for logic programs")
+    (description "Clingo computes answer sets for a given logic program.")
+    (license license:expat)))
+
+(define-public python-clingo
+  (package
+    (inherit clingo)
+    (name "python-clingo")
+    (version (package-version clingo)) ; for #$version in arguments
+    (arguments
+     (substitute-keyword-arguments (package-arguments clingo)
+       ((#:configure-flags flags #~'())
+        #~(cons* "-DCLINGO_BUILD_WITH_PYTHON=pip"
+                 "-DCLINGO_USE_LIB=yes"
+                 #$flags))
+       ((#:imported-modules _ '())
+        `(,@%cmake-build-system-modules
+          (guix build python-build-system)))
+       ((#:modules _ '())
+        '((guix build cmake-build-system)
+          ((guix build python-build-system) #:prefix python:)
+          (guix build utils)))
+       ((#:phases phases #~%standard-phases)
+        #~(modify-phases #$phases
+            (add-after 'unpack 'fix-failing-tests
+              (lambda _
+                (substitute* "libpyclingo/clingo/tests/test_conf.py"
+                  (("ctl\\.solve\\(on_statistics=on_statistics\\)" all)
+                   (string-append
+                    all
+                    "; self.skipTest(\"You shall not fail.\")")))))
+            (add-after 'install 'install-distinfo
+              (lambda* (#:key inputs outputs #:allow-other-keys)
+                (with-directory-excursion (python:site-packages inputs outputs)
+                   (let ((dir (string-append "clingo-" #$version ".dist-info")))
+                     (mkdir-p dir)
+                     (call-with-output-file (string-append dir "/METADATA")
+                       (lambda (port)
+                         (format port "Metadata-Version: 1.1~%")
+                         (format port "Name: clingo~%")
+                         (format port "Version: ~a~%" #$version)))))))))))
+    (inputs (list clingo python-wrapper))
+    (propagated-inputs (list python-cffi))
+    (native-inputs (modify-inputs (package-native-inputs clingo)
+                     (prepend python-scikit-build)))
+    (synopsis "Python bindings for clingo")
+    (description "This package provides Python bindings to the clingo package,
+making it so that you can write @acronym{ASPs, Answer Set Programs} through
+Python code.")))
+
+(define-public python-clorm
+  (package
+   (name "python-clorm")
+   (version "1.4.1")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://github.com/potassco/clorm")
+                  (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32
+              "0jx99y71mrgdicn1da5dwz5nzgvvpabrikff783sg4shbv2cf0b5"))))
+   (build-system pyproject-build-system)
+   (arguments
+    (list #:phases
+          #~(modify-phases %standard-phases
+              (add-before 'check 'fix-breaking-tests
+                (lambda _
+                  ;; noclingo tests rely on this being set
+                  (setenv "CLORM_NOCLINGO" "1")
+                  (delete-file "tests/test_mypy_query.py")
+                  (substitute* "tests/test_clingo.py"
+                    (("self\\.assertTrue\\(os_called\\)" all)
+                     (string-append "# " all))))))))
+   (propagated-inputs (list python-clingo))
+   (native-inputs (list python-typing-extensions))
+   (home-page "https://potassco.org")
+   (synopsis "Object relational mapping to clingo")
+   (description "@acronym{Clorm, Clingo ORM} provides an @acronym{ORM,
+Object Relational Mapping} interface to the @acronym{ASP, answer set
+programming} solver clingo.  Its goal is to make integration of clingo
+into Python programs easier.")
+   (license license:expat)))
+
+(define-public python-telingo
+  (package
+    (name "python-telingo")
+    (version "2.1.1")
+    (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"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-clingo))
+    (home-page "https://potassco.org/")
+    (synopsis "Solve dynamic temporal logic programs")
+    (description "This package provides a system to solve dynamic temporal
+logic programs based on clingo.")
+    (license license:expat)))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:06 GMT) Full text and rfc822 format available.

Message #35 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 08/19] gnu: python-pathspec: Move to (gnu packages
 python-build).
Date: Sat, 18 Mar 2023 08:43:56 +0100
* gnu/packages/python-xyz.scm (python-pathspec): Move from here…
* gnu/packages/python-build.scm (python-pathspec): …to here.
---
 gnu/packages/python-build.scm | 20 ++++++++++++++++++++
 gnu/packages/python-xyz.scm   | 20 --------------------
 2 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 17f8892c05..a4be4b4991 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -569,3 +569,23 @@ (define-public python-editables
 ``editable mode''.  In other words, changes to the package source will be
 reflected in the package visible to Python, without needing a reinstall.")
     (license license:expat)))
+
+(define-public python-pathspec
+  (package
+    (name "python-pathspec")
+    (version "0.11.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pathspec" version))
+       (sha256
+        (base32
+         "1g7b60ds4mwm4vyff7c5n4d3ynasgf8fc893g70r2kliw3a3ilv4"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/cpburnz/python-path-specification")
+    (synopsis "Match file names against specifications")
+    (description
+     "This package provides a utility library to match file names against
+specified patterns.  It is currently limited to wildmatch-style patterns,
+which are used e.g. in .gitignore files.")
+    (license license:mpl2.0)))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 557482b612..b506f4daa9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5981,26 +5981,6 @@ (define-public python-lsp-server
 (define-public python-language-server
   (deprecated-package "python-language-server" python-lsp-server))
 
-(define-public python-pathspec
-  (package
-    (name "python-pathspec")
-    (version "0.11.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "pathspec" version))
-       (sha256
-        (base32
-         "1g7b60ds4mwm4vyff7c5n4d3ynasgf8fc893g70r2kliw3a3ilv4"))))
-    (build-system python-build-system)
-    (home-page "https://github.com/cpburnz/python-path-specification")
-    (synopsis "Match file names against specifications")
-    (description
-     "This package provides a utility library to match file names against
-specified patterns.  It is currently limited to wildmatch-style patterns,
-which are used e.g. in .gitignore files.")
-    (license license:mpl2.0)))
-
 (define-public python-black
   (package
     (name "python-black")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:06 GMT) Full text and rfc822 format available.

Message #38 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 09/19] gnu: python-pluggy: Move to (gnu packages python-build).
Date: Sat, 18 Mar 2023 08:44:28 +0100
* gnu/packages/python-xyz.scm (python-pluggy, python-pluggy-next): Move from
here…
* gnu/packages/python-build.scm (python-pluggy, python-pluggy-next): …to here.
Reindent using Emacs.
---
 gnu/packages/python-build.scm | 33 +++++++++++++++++++++++++++++++++
 gnu/packages/python-xyz.scm   | 33 ---------------------------------
 2 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index a4be4b4991..1281824a97 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -589,3 +589,36 @@ (define-public python-pathspec
 specified patterns.  It is currently limited to wildmatch-style patterns,
 which are used e.g. in .gitignore files.")
     (license license:mpl2.0)))
+
+(define-public python-pluggy
+  (package
+    (name "python-pluggy")
+    (version "0.13.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pluggy" version))
+       (sha256
+        (base32
+         "1c35qyhvy27q9ih9n899f3h4sdnpgq027dbiilly2qb5cvgarchm"))))
+    (build-system python-build-system)
+    (native-inputs
+     (list python-setuptools-scm))
+    (synopsis "Plugin and hook calling mechanism for Python")
+    (description "Pluggy is an extraction of the plugin manager as used by
+Pytest but stripped of Pytest specific details.")
+    (home-page "https://pypi.org/project/pluggy/")
+    (license license:expat)))
+
+;;; TODO: Make this the default python-pluggy in the next rebuild cycle.
+(define-public python-pluggy-next
+  (package
+    (inherit python-pluggy)
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pluggy" version))
+       (sha256
+        (base32
+         "0n8iadlas2z1b4h0fc73b043c7iwfvx9rgvqm1azjmffmhxkf922"))))))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b506f4daa9..9c9178f030 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15386,39 +15386,6 @@ (define-public python-rsa
    (home-page "https://stuvel.eu/rsa")
    (license license:asl2.0)))
 
-(define-public python-pluggy
-  (package
-   (name "python-pluggy")
-   (version "0.13.1")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (pypi-uri "pluggy" version))
-     (sha256
-      (base32
-       "1c35qyhvy27q9ih9n899f3h4sdnpgq027dbiilly2qb5cvgarchm"))))
-   (build-system python-build-system)
-   (native-inputs
-    (list python-setuptools-scm))
-   (synopsis "Plugin and hook calling mechanism for Python")
-   (description "Pluggy is an extraction of the plugin manager as used by
-Pytest but stripped of Pytest specific details.")
-   (home-page "https://pypi.org/project/pluggy/")
-   (license license:expat)))
-
-;;; TODO: Make this the default python-pluggy in the next rebuild cycle.
-(define-public python-pluggy-next
-  (package
-   (inherit python-pluggy)
-   (version "1.0.0")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (pypi-uri "pluggy" version))
-     (sha256
-      (base32
-       "0n8iadlas2z1b4h0fc73b043c7iwfvx9rgvqm1azjmffmhxkf922"))))))
-
 (define-public python-plumbum
   (package
     (name "python-plumbum")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:07 GMT) Full text and rfc822 format available.

Message #41 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 10/19] gnu: Add python-hatchling.
Date: Sat, 18 Mar 2023 08:44:38 +0100
* gnu/packages/python-build.scm (python-hatchling)
(python-hatchling-ouroboros): New variables.
---
 gnu/packages/python-build.scm | 46 +++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 1281824a97..cb6301689a 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -28,6 +28,7 @@ (define-module (gnu packages python-build)
   #:use-module (gnu packages)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system pyproject)
   #:use-module (guix gexp)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -622,3 +623,48 @@ (define-public python-pluggy-next
        (sha256
         (base32
          "0n8iadlas2z1b4h0fc73b043c7iwfvx9rgvqm1azjmffmhxkf922"))))))
+
+(define-public python-hatchling
+  (package
+    (name "python-hatchling")
+    (version "1.13.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "hatchling" version))
+              (sha256
+               (base32
+                "1isk1kqra0sm2sj2yp39sgk62mx0bp1jnbkwdcl3a1vjrji7blpq"))))
+    (arguments
+     ;; Tests don't appear to be integrated into build.
+     ;; Also, we can't rely on python-pytest anyway, as that's in
+     ;; (gnu packages python-check)...
+     (list #:tests? #f))
+    (propagated-inputs
+     (list python-editables
+           python-pathspec
+           python-pluggy-next
+           python-tomli))
+    (native-inputs (list python-hatchling-ouroboros))
+    (build-system pyproject-build-system)
+    (home-page "https://hatch.pypa.io/")
+    (synopsis "Modern, extensible Python build backend")
+    (description "Modern, extensible Python build backend")
+    (license license:expat)))
+
+(define python-hatchling-ouroboros
+  (package/inherit python-hatchling
+    (name "python-hatchling-ouroboros")
+    (version (package-version python-hatchling))
+    (arguments
+     (list
+      #:tests? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'configure)
+          (delete 'build)
+          (replace 'install
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (copy-recursively "src/hatchling/"
+                                (string-append (site-packages inputs outputs)
+                                               "/hatchling")))))))
+    (native-inputs '())))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:07 GMT) Full text and rfc822 format available.

Message #44 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 11/19] gnu: python-starlette: Update to 0.25.0.
Date: Sat, 18 Mar 2023 08:48:57 +0100
* gnu/packages/python-web.scm (python-starlette): Update to 0.25.0.
[source]: Switch to git-fetch and git-reference.
[build-system]: Use pyproject-build-system.
[native-inputs]: Add python-hatchling, python-httpx, python-pytest, and
python-typing-extensions-next.
---
 gnu/packages/python-web.scm | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 8a73c929a1..2df8fbc523 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -8064,14 +8064,17 @@ (define-public python-sendgrid
 (define-public python-starlette
   (package
     (name "python-starlette")
-    (version "0.20.4")
+    (version "0.25.0")
     (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "starlette" version))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/encode/starlette")
+                    (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "112hmwk4fh4dl21nlr2xd37h43xzxpjxfnic7v7fz3wr5w9g7z22"))))
-    (build-system python-build-system)
+                "1mkkj15lphgycnp51dnrfxbyrx3dicjdcpsqvwc7yw55zyih6h5k"))))
+    (build-system pyproject-build-system)
     (propagated-inputs (list python-anyio
                              python-typing-extensions
                              ;; [all] extra dependencies:
@@ -8080,6 +8083,10 @@ (define-public python-starlette
                              python-multipart
                              python-pyyaml
                              python-requests))
+    (native-inputs (list python-hatchling
+                         python-httpx
+                         python-pytest
+                         python-typing-extensions-next))
     (home-page "https://github.com/encode/starlette")
     (synopsis "Little ASGI library")
     (description
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:07 GMT) Full text and rfc822 format available.

Message #47 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 12/19] gnu: python-sqlalchemy: Update to 1.4.42.
Date: Sat, 18 Mar 2023 08:51:04 +0100
* gnu/packages/databases.scm (python-sqlalchemy): Update to 1.4.42.
---
 gnu/packages/databases.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index c24d067bb0..7bfff9b71d 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3391,13 +3391,13 @@ (define-public python-ccm
 (define-public python-sqlalchemy
   (package
     (name "python-sqlalchemy")
-    (version "1.4.35")
+    (version "1.4.42")
     (source
      (origin
       (method url-fetch)
       (uri (pypi-uri "SQLAlchemy" version))
       (sha256
-       (base32 "1ddab00d5mpzg25r1qxccma2zb551hhmymsy1ycp6r6w04xq3z1g"))))
+       (base32 "0qzkxy47y06fqh1m7a0p7q2r9h48x9k5kl3znzhx2vj79j8l2zhp"))))
     (build-system python-build-system)
     (native-inputs
      (list python-cython ; for C extensions
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:08 GMT) Full text and rfc822 format available.

Message #50 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 14/19] gnu: python-aiomysql: Update to 0.1.1.
Date: Sat, 18 Mar 2023 08:57:23 +0100
* gnu/packages/databases.scm (python-aiomysql): Update to 0.1.1.
[build-system]: Change to pyproject-build-system.
---
 gnu/packages/databases.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 13d9f4aeae..295d88e05a 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3003,14 +3003,14 @@ (define-public python-asyncmy
 (define-public python-aiomysql
   (package
     (name "python-aiomysql")
-    (version "0.0.21")
+    (version "0.1.1")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "aiomysql" version))
         (sha256
-          (base32 "0b442d0jb82z3lk19ylmm64ix88ppz7gay08bxld538ivg06j5c1"))))
-    (build-system python-build-system)
+          (base32 "0zhhisf2bz2hv0vcklw45k54yr0f7gx61gnq4lc7vdp6v97nqs0d"))))
+    (build-system pyproject-build-system)
     (arguments '(#:tests? #f))           ;test suite requires docker
     (propagated-inputs (list python-pymysql))
     (home-page "https://github.com/aio-libs/aiomysql")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:08 GMT) Full text and rfc822 format available.

Message #53 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 16/19] gnu: python-databases: Update to 0.7.0.
Date: Sat, 18 Mar 2023 09:47:55 +0100
* gnu/packages/databases.scm (python-databases): Update to 0.7.0.
---
 gnu/packages/databases.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 6b693f940f..cb58c0379f 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3661,13 +3661,13 @@ (define-public python-aiosqlite
 (define-public python-databases
   (package
     (name "python-databases")
-    (version "0.5.5")
+    (version "0.7.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "databases" version))
        (sha256
-        (base32 "0dzb998kg35xmd50ih168320vih2w3ich798r8fc4lf9q4bb1ih2"))))
+        (base32 "0x5nqhzgjqimv2ybjbzy5vv0l23g0n1g5f6fnyahbf1f7nfl2bga"))))
     (build-system python-build-system)
     (propagated-inputs
      (list python-aiosqlite
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:09 GMT) Full text and rfc822 format available.

Message #56 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 17/19] gnu: python-databases: Revise description.
Date: Sat, 18 Mar 2023 09:48:02 +0100
* gnu/packages/databases.scm (python-databases)[synopsis]: Spell out
“Asynchronous”.
[description]: Mention that it's a wrapper around other libraries using
SQLAlchemy.
---
 gnu/packages/databases.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index cb58c0379f..1fc97f1a97 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3677,8 +3677,9 @@ (define-public python-databases
            python-asyncmy
            python-sqlalchemy))
     (home-page "https://github.com/encode/databases")
-    (synopsis "Async database support for Python")
-    (description "This package implements async database support for Python.")
+    (synopsis "Asynchronous database abstraction library")
+    (description "Databases provides a wrapper around asynchronous database
+libraries with SQLALchemy.")
     (license license:bsd-3)))
 
 (define-public python-psycopg2
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:09 GMT) Full text and rfc822 format available.

Message #59 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 18/19] gnu: Add python-fastapi.
Date: Sat, 18 Mar 2023 09:59:52 +0100
* gnu/packages/python-web.scm (python-fastapi): New variable.
---
 gnu/packages/python-web.scm | 62 +++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 2df8fbc523..f2f7618f13 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -8094,6 +8094,68 @@ (define-public python-starlette
 Interface) framework/toolkit for building async web services in Python.")
     (license license:bsd-3)))
 
+(define-public python-fastapi
+  (package
+    (name "python-fastapi")
+    (version "0.92.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "fastapi" version))
+              (sha256
+               (base32
+                "1pm4p5i9h732f0qag85yd9ngjz8x9bhs3fyk2j861cn8s9dhyfh2"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'drop-orjson
+            (lambda _
+              (substitute* "pyproject.toml"
+                (("\"orjson.*\",") ""))))
+          (add-after 'unpack 'delete-failing-tests
+            (lambda _
+              (for-each
+               delete-file
+               (append
+                '("docs_src/app_testing/app_b_py310/test_main.py"
+                  "tests/test_tutorial/test_templates/test_tutorial001.py")
+                (find-files "docs_src/sql_databases/"
+                            "test_sql_app\\.py$")
+                (find-files "tests"
+                            "test_(default|orjson)_response_class\\.py$")
+                (find-files "tests/test_tutorial"
+                            "test_tutorial00(1b|9c)\\.py$")
+                (find-files "tests/test_tutorial"
+                            "test_testing_databases.*\\.py$"))))))))
+    (propagated-inputs (list python-email-validator
+                             python-httpx
+                             python-itsdangerous
+                             python-jinja2
+                             python-multipart
+                             python-starlette
+                             python-pydantic
+                             python-pyyaml
+                             python-uvicorn
+                             python-ujson))
+    (native-inputs (list python-databases
+                         python-flask
+                         python-hatchling
+                         python-isort
+                         python-jose
+                         python-mypy
+                         python-passlib
+                         python-peewee
+                         python-pytest
+                         python-sqlalchemy
+                         python-types-orjson
+                         python-types-ujson))
+    (home-page "https://github.com/tiangolo/fastapi")
+    (synopsis "Web framework based on type hints")
+    (description "FastAPI provides a web API framework based on pydantic and
+starlette.")
+    (license license:expat)))
+
 (define-public python-pyactiveresource
   (package
     (name "python-pyactiveresource")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sat, 18 Mar 2023 10:06:09 GMT) Full text and rfc822 format available.

Message #62 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH 19/19] gnu: Add python-clinguin.
Date: Sat, 18 Mar 2023 10:01:48 +0100
* gnu/packages/potassco.scm (python-clinguin): New variable.
---
 gnu/packages/potassco.scm | 49 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 48 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index 02a12d9c77..c6e2dc50e4 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -34,7 +34,9 @@ (define-module (gnu packages potassco)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages python-xyz))
+  #:use-module (gnu packages python-web)
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx))
 
 (define-public libpotassco
   ;; No public release, update together with clasp
@@ -326,3 +328,48 @@ (define-public python-clingraph
      "This package provides a clingo-based visualizer for graphs defined
 as logic programs.")
     (license license:expat)))
+
+(define-public python-clinguin
+  (package
+   (name "python-clinguin")
+   (version "1.0.0-beta")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://github.com/potassco/clinguin")
+                  (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32
+              "032fnzxv6wl01sdq7n2k0ikajpmkg8ihjh5mck1mwjvmis8z16d4"))
+            (modules '((guix build utils)))
+            (snippet
+             #~(begin
+                 (substitute* "setup.cfg"
+                   ;; Fun fact of the day
+                   ;; some typo squatter hosted
+                   ;; a package named tk
+                   (("tk") "")
+                   (("typing") "typing;python_version<\"3.5\""))))))
+   (build-system pyproject-build-system)
+   (propagated-inputs
+    (list python-clingo
+          python-clorm
+          python-clingraph
+          python-fastapi
+          python-httpx
+          python-nbconvert
+          python-nbformat
+          python-nbsphinx
+          python-networkx
+          python-pillow
+          python-pydantic
+          `(,python "tk")
+          python-sphinx-rtd-theme
+          python-traitlets
+          python-uvicorn))
+   (home-page "https://github.com/potassco/clingraph")
+   (synopsis "Clingo-based interactive UI")
+   (description "Clinguin is a graphical user interface toolkit for clingo,
+which allows user interfaces to be specified entirely as a logic program.")
+   (license license:expat)))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:02 GMT) Full text and rfc822 format available.

Message #65 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 01/19] gnu: Add python-imageio-ffmpeg.
Date: Sat, 18 Mar 2023 07:49:23 +0100
* gnu/packages/python-xyz.scm (python-imageio-ffmpeg): 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 9d086136d0..41be99373b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8020,6 +8020,35 @@ (define-public python-lfdfiles
 experimental data and metadata at the Laboratory for Fluorescence Dynamics.")
     (license license:bsd-3)))
 
+(define-public python-imageio-ffmpeg
+  (package
+   (name "python-imageio-ffmpeg")
+   (version "0.4.8")
+   (source (origin
+            (method url-fetch)
+            (uri (pypi-uri "imageio-ffmpeg" version))
+            (sha256
+             (base32
+              "1a8as5c42s8yl79gc2nhj6vvkwr81p5ibxp5m1zhn1zy22nhbapx"))))
+   (arguments
+    (list #:phases
+          #~(modify-phases %standard-phases
+              (add-after 'unpack 'hardcode-ffmpeg
+                (lambda* (#:key inputs #:allow-other-keys)
+                  (substitute* "imageio_ffmpeg/_utils.py"
+                    (("os\\.getenv\\(\"IMAGEIO_FFMPEG_EXE\".*\\)" all)
+                     (string-append "(" all " or \""
+                                    (search-input-file inputs "bin/ffmpeg")
+                                    "\")"))))))))
+   (inputs (list ffmpeg-4))
+   (build-system python-build-system)
+   (home-page "https://github.com/imageio/imageio-ffmpeg")
+   (synopsis "FFMPEG wrapper for Python")
+   (description "This package provides an FFMPEG wrapper for working with video
+files.  It implements generator functions for reading and writing data to and
+from FFMPEG, reliably terminating the process when done.")
+   (license license:bsd-2)))
+
 (define-public python-imageio
   (package
     (name "python-imageio")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:02 GMT) Full text and rfc822 format available.

Message #68 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 02/19] gnu: python-imageio: Update to 2.26.0.
Date: Sat, 18 Mar 2023 07:51:37 +0100
* gnu/packages/python-xyz.scm (python-imageio): Update to 2.26.0.
[build-system]: Use pyproject-build-system.
[arguments]: Use G-Expressions.
<#:tests?>: Drop argument.
<#:test-flags>: New argument.
<#:phases>: Drop replacement for ‘check’.
Add ‘fix-source’ and ‘fix-failing-tests’.
[inputs]: Add freeimage.
[propagated-inputs]: Add python-imageio-ffmpeg.
---
 gnu/packages/python-xyz.scm | 44 +++++++++++++++++++++++--------------
 1 file changed, 28 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 41be99373b..c41f85af4a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8052,29 +8052,41 @@ (define-public python-imageio-ffmpeg
 (define-public python-imageio
   (package
     (name "python-imageio")
-    (version "2.8.0")
+    (version "2.26.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "imageio" version))
        (sha256
         (base32
-         "1ksjl523fm0fikrd85llxfba35rc1qsgwadgr6mbn9kis79xcpzv"))))
-    (build-system python-build-system)
+         "0dgddhi5dlpry5j4d3256v09pcziyj3ii47yx0zi68xprm11d7qn"))))
+    (build-system pyproject-build-system)
     (arguments
-     `(#:tests? #f ; many tests require online data
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda* (#:key outputs inputs tests? #:allow-other-keys)
-             (if tests?
-                 (begin
-                   ;; Make installed package available for running the tests.
-                   (add-installed-pythonpath inputs outputs)
-                   (invoke "pytest" "-vv"))
-                 #t))))))
-    (propagated-inputs
-     (list python-numpy python-pillow python-psutil))
+     (list
+      #:test-flags #~(list "-m" "not needs_internet")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-source
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "imageio/plugins/_freeimage.py"
+                (("os\\.getenv\\(\"IMAGEIO_FREEIMAGE_LIB\".*\\)" all)
+                 (string-append
+                  "(" all " or \""
+                  (search-input-file inputs "lib/libfreeimage.so")
+                  "\")")))
+              (substitute* "imageio/core/util.py"
+                (("\"/var/tmp\"")
+                 "os.getenv(\"TMPDIR\", \"/tmp\")"))))
+          (add-after 'unpack 'fix-failing-tests
+            (lambda _
+              (substitute* "tests/test_core.py"
+                (("(core\\.load_lib)\\((\\[gllib\\], \\[\\])\\)"
+                  all fun args)
+                 (string-append "raises(ValueError, " fun ", " args ")")))
+              (delete-file "tests/test_freeimage.py"))))))
+    (inputs (list freeimage))
+    (propagated-inputs
+     (list python-imageio-ffmpeg python-numpy python-pillow python-psutil))
     (native-inputs
      (list python-pytest))
     (home-page "https://imageio.github.io/")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:03 GMT) Full text and rfc822 format available.

Message #71 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 04/19] gnu: Add python-clingraph.
Date: Sat, 18 Mar 2023 08:34:03 +0100
* gnu/packages/potassco.scm (python-clingraph): New variable.
---
 gnu/packages/potassco.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index 22f70eba7f..0e6973d980 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -31,6 +31,7 @@ (define-module (gnu packages potassco)
   #:use-module (guix build-system python)
   #:use-module (guix build-system pyproject)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -343,3 +344,33 @@ (define-public python-telingo
     (description "This package provides a system to solve dynamic temporal
 logic programs based on clingo.")
     (license license:expat)))
+
+(define-public python-clingraph
+  (package
+    (name "python-clingraph")
+    (version "1.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/potassco/clingraph")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0bdhli20nw9qnyxmpisgz7m97d7bwx6lbmxy9bgqvm6mipprnv3n"))))
+    (build-system pyproject-build-system)
+    (inputs (list dot2tex graphviz))
+    (propagated-inputs (list python-clingo
+                             python-clorm
+                             python-graphviz
+                             python-imageio
+                             python-jinja2
+                             python-jsonschema
+                             python-networkx))
+    (native-inputs (list dot2tex graphviz python-pylint python-pytest))
+    (home-page "https://github.com/potassco/clingraph")
+    (synopsis "Visualizer for graphs defined as logic programs")
+    (description
+     "This package provides a clingo-based visualizer for graphs defined
+as logic programs.")
+    (license license:expat)))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:03 GMT) Full text and rfc822 format available.

Message #74 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 03/19] gnu: Separate potassco packages into their own
 module.
Date: Sat, 18 Mar 2023 08:23:00 +0100
* gnu/packages/potassco.scm: New file.
* gnu/packages/maths.scm (libpotassco, clasp, clingo, python-clingo)
(python-telingo): Move to potassco module.  Adjust imports accordingly.
* gnu/packages/emacs-xyz.scm (emacs-pasp-mode): Move to potassco module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add %D%/packages/potassco.scm.
---
Changes since v1: Also move emacs-pasp-mode to (gnu packages potassco).
Adjust commit message accordingly.

 gnu/local.mk               |   1 +
 gnu/packages/emacs-xyz.scm |  47 -----
 gnu/packages/maths.scm     | 263 ----------------------------
 gnu/packages/potassco.scm  | 345 +++++++++++++++++++++++++++++++++++++
 4 files changed, 346 insertions(+), 310 deletions(-)
 create mode 100644 gnu/packages/potassco.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 2abece0d2f..fd8c91bb3c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -502,6 +502,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/poedit.scm				\
   %D%/packages/polkit.scm			\
   %D%/packages/popt.scm				\
+  %D%/packages/potassco.scm				\
   %D%/packages/printers.scm			\
   %D%/packages/profiling.scm			\
   %D%/packages/prolog.scm			\
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0a1846ea4c..fb3d8a00e2 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -4602,53 +4602,6 @@ (define-public emacs-pabbrev
 during idle time, while Emacs is doing nothing else.")
     (license license:gpl3+)))
 
-(define-public emacs-pasp-mode
-  (let ((commit "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92")
-        (revision "1"))
-    (package
-     (name "emacs-pasp-mode")
-     (version (git-version "0.1.0" revision commit))
-     (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/santifa/pasp-mode")
-                    (commit commit)))
-              (patches
-               (search-patches "emacs-pasp-mode-quote-file-names.patch"))
-              (sha256
-               (base32
-                "1ar4vws3izzmir7m870mccci620ns3c5j26dcmwaxavhgw45wcmf"))))
-     (build-system emacs-build-system)
-     (arguments
-      (list
-       #:phases
-       #~(modify-phases %standard-phases
-           (add-after 'unpack 'defconst-version
-             (lambda _
-               (emacs-batch-edit-file "pasp-mode.el"
-                 '(progn
-                   (search-forward-regexp "(defcustom pasp-mode-version")
-                   (forward-sexp)
-                   (kill-sexp)
-                   (backward-sexp)
-                   (beginning-of-line)
-                   (kill-sexp)
-                   (insert (format "(defconst emacs-pasp-version \"%s\" %s)"
-                                   #$version (cadr kill-ring)))
-                   (basic-save-buffer)))))
-           (add-after 'unpack 'hardcode-clingo
-             (lambda* (#:key inputs #:allow-other-keys)
-               (emacs-substitute-variables "pasp-mode.el"
-                 ("pasp-clingo-path"
-                  (search-input-file inputs "/bin/clingo"))))))))
-     (inputs (list clingo))
-     (home-page "https://github.com/santifa/pasp-mode")
-     (synopsis "Major mode for editing answer set programs")
-     (description
-      "This package provides a major mode for editing answer set programs,
-in particular ones that can be solved by @command{clingo}.")
-     (license license:gpl3+))))
-
 (define-public emacs-pdf-tools
   (package
     (name "emacs-pdf-tools")
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 238352f278..bc07382bac 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -96,7 +96,6 @@ (define-module (gnu packages maths)
   #:use-module (guix build-system ocaml)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
-  #:use-module (guix build-system pyproject)
   #:use-module (guix build-system ruby)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages audio)
@@ -132,7 +131,6 @@ (define-module (gnu packages maths)
   #:use-module (gnu packages image)
   #:use-module (gnu packages java)
   #:use-module (gnu packages less)
-  #:use-module (gnu packages libffi)
   #:use-module (gnu packages lisp)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -2545,267 +2543,6 @@ (define-public libflame
 includes a complete LAPACK implementation.")
     (license license:bsd-3)))
 
-(define-public libpotassco
-  ;; No public release, update together with clasp
-  (let ((revision "1")
-        (commit "2f9fb7ca2c202f1b47643aa414054f2f4f9c1821"))
-    (package
-      (name "libpotassco")
-      (version (git-version "0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/potassco/libpotassco")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "1c32f9gqclf7qx07lpx8wd720vfhkjqhzc6nyy8mjmgwpmb3iyyn"))))
-      (arguments
-       `(#:configure-flags '("-DLIB_POTASSCO_BUILD_TESTS=on"
-                             "-DLIB_POTASSCO_INSTALL_LIB=on"
-                             "-DBUILD_SHARED_LIBS=on")
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'patch-cmake
-             (lambda _
-               (substitute* "CMakeLists.txt"
-                 ;; clasp expects lowercase potassco and include directory is
-                 ;; lowercase as well, so let's use that
-                 (("\"cmake/Potassco\"") "\"cmake/potassco\"")
-                 (("PotasscoConfig\\.cmake") "potassco-config.cmake")
-                 (("PotasscoConfigVersion\\.cmake")
-                  "potassco-config-version.cmake"))
-               (rename-file "cmake/PotasscoConfig.cmake.in"
-                            "cmake/potassco-config.cmake.in"))))))
-      (build-system cmake-build-system)
-      (home-page "https://potassco.org/")
-      (synopsis "Utility library for Potassco's projects")
-      (description "@code{libpotassco} is a utility library providing functions
-and datatypes for
-@itemize
-@item parsing, writing, and converting logic programs in aspif and smodels
-format,
-@item passing information between a grounder and a solver,
-@item and defining and parsing command-line options and for creating
-command-line applications.
-@end itemize
-Furthermore, it comes with the tool @command{lpconvert} that converts either
-between aspif and smodels format or to a human-readable text format.")
-      (license license:expat))))
-
-(define-public clasp
-  (package
-    (name "clasp")
-    (version "3.3.9")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/potassco/clasp")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "163ps9zq7xppqy9hj5qnw6z5lcjnm4xf5fwjsavpia5ynm3hngcw"))))
-    (build-system cmake-build-system)
-    (arguments
-     `(#:configure-flags '("-DCLASP_BUILD_TESTS=on"
-                           "-DCLASP_INSTALL_LIB=on"
-                           "-DCLASP_USE_LOCAL_LIB_POTASSCO=off"
-                           "-DBUILD_SHARED_LIBS=on")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-cmake
-           (lambda _
-             (substitute* "CMakeLists.txt"
-               ;; Use lowercase to be consistent with libpotassco
-               (("\"cmake/Clasp\"") "\"cmake/clasp\"")
-               (("ClaspConfig\\.cmake") "clasp-config.cmake")
-               (("ClaspConfigVersion\\.cmake")
-                "clasp-config-version.cmake"))
-             (substitute* "cmake/ClaspConfig.cmake.in"
-               (("find_package\\(Potassco") "find_package(potassco"))
-             (rename-file "cmake/ClaspConfig.cmake.in"
-                          "cmake/clasp-config.cmake.in"))))))
-    (inputs
-     (list libpotassco))
-    (home-page "https://potassco.org/")
-    (synopsis "Answer set solver")
-    (description "clasp is an answer set solver for (extended) normal and
-disjunctive logic programs.  The primary algorithm of clasp relies on
-conflict-driven nogood learning, a technique that proved very successful for
-satisfiability checking (SAT).")
-    (license license:expat)))
-
-(define-public clingo
-  (package
-    (name "clingo")
-    (version "5.6.2")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/potassco/clingo")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (modules '((guix build utils)))
-              (snippet
-               #~(begin
-                   (delete-file-recursively "clasp")
-                   ;; TODO: Unvendor other third-party stuff
-                   (delete-file-recursively "third_party/catch")))
-              (sha256
-               (base32
-                "19s59ndcm2yj0kxlikfxnx2bmp6b7n31wq1zvwc7hyk37rqarwys"))))
-    (build-system cmake-build-system)
-    (arguments
-     (list
-      #:configure-flags #~`("-DCLINGO_BUILD_TESTS=on"
-                            "-DCLINGO_INSTALL_LIB=on"
-                            "-DCLINGO_BUILD_STATIC=off"
-                            "-DCLINGO_BUILD_SHARED=on"
-                            "-DCLINGO_USE_LOCAL_CLASP=off"
-                            "-DCLINGO_USE_LOCAL_CATCH=off")
-      #:phases
-      #~(modify-phases %standard-phases
-          (add-after 'unpack 'patch-cmake
-            (lambda _
-              (substitute* "CMakeLists.txt"
-                (("add_subdirectory\\(clasp\\)")
-                 "find_package(clasp REQUIRED)"))
-              (substitute* "libclingo/CMakeLists.txt"
-                (("\"cmake/Clingo\"") "\"cmake/clingo\"")
-                (("ClingoConfig\\.cmake") "clingo-config.cmake")
-                (("ClingoConfigVersion\\.cmake")
-                 "clingo-config-version.cmake"))
-              (substitute* "cmake/ClingoConfig.cmake.in"
-                (("find_package\\(Clasp") "find_package(clasp"))
-              (rename-file "cmake/ClingoConfig.cmake.in"
-                           "cmake/clingo-config.cmake.in")))
-          (add-after 'unpack 'skip-failing-tests
-            (lambda _
-              (with-directory-excursion "libclingo/tests"
-                (substitute* "CMakeLists.txt"
-                  (("COMMAND test_clingo" all)
-                   (string-append all
-                                  " -f "
-                                  "\"${CMAKE_CURRENT_SOURCE_DIR}/good.txt\"")))
-                (call-with-output-file "good.txt"
-                  (lambda (port)
-                    (for-each (lambda (test) (format port "~s~%" test))
-                              '("parse-ast-v2" "add-ast-v2" "build-ast-v2"
-                                "unpool-ast-v2" "parse_term"
-                                "propagator" "propgator-sequence-mining"
-                                "symbol" "visitor"))))))))))
-    (inputs (list catch2-3.1 clasp libpotassco))
-    (native-inputs (list pkg-config))
-    (home-page "https://potassco.org/")
-    (synopsis "Grounder and solver for logic programs")
-    (description "Clingo computes answer sets for a given logic program.")
-    (license license:expat)))
-
-(define-public python-clingo
-  (package
-    (inherit clingo)
-    (name "python-clingo")
-    (version (package-version clingo)) ; for #$version in arguments
-    (arguments
-     (substitute-keyword-arguments (package-arguments clingo)
-       ((#:configure-flags flags #~'())
-        #~(cons* "-DCLINGO_BUILD_WITH_PYTHON=pip"
-                 "-DCLINGO_USE_LIB=yes"
-                 #$flags))
-       ((#:imported-modules _ '())
-        `(,@%cmake-build-system-modules
-          (guix build python-build-system)))
-       ((#:modules _ '())
-        '((guix build cmake-build-system)
-          ((guix build python-build-system) #:prefix python:)
-          (guix build utils)))
-       ((#:phases phases #~%standard-phases)
-        #~(modify-phases #$phases
-            (add-after 'unpack 'fix-failing-tests
-              (lambda _
-                (substitute* "libpyclingo/clingo/tests/test_conf.py"
-                  (("ctl\\.solve\\(on_statistics=on_statistics\\)" all)
-                   (string-append
-                    all
-                    "; self.skipTest(\"You shall not fail.\")")))))
-            (add-after 'install 'install-distinfo
-              (lambda* (#:key inputs outputs #:allow-other-keys)
-                (with-directory-excursion (python:site-packages inputs outputs)
-                   (let ((dir (string-append "clingo-" #$version ".dist-info")))
-                     (mkdir-p dir)
-                     (call-with-output-file (string-append dir "/METADATA")
-                       (lambda (port)
-                         (format port "Metadata-Version: 1.1~%")
-                         (format port "Name: clingo~%")
-                         (format port "Version: ~a~%" #$version)))))))))))
-    (inputs (list clingo python-wrapper))
-    (propagated-inputs (list python-cffi))
-    (native-inputs (modify-inputs (package-native-inputs clingo)
-                     (prepend python-scikit-build)))
-    (synopsis "Python bindings for clingo")
-    (description "This package provides Python bindings to the clingo package,
-making it so that you can write @acronym{ASPs, Answer Set Programs} through
-Python code.")))
-
-(define-public python-clorm
-  (package
-   (name "python-clorm")
-   (version "1.4.1")
-   (source (origin
-            (method git-fetch)
-            (uri (git-reference
-                  (url "https://github.com/potassco/clorm")
-                  (commit (string-append "v" version))))
-            (file-name (git-file-name name version))
-            (sha256
-             (base32
-              "0jx99y71mrgdicn1da5dwz5nzgvvpabrikff783sg4shbv2cf0b5"))))
-   (build-system pyproject-build-system)
-   (arguments
-    (list #:phases
-          #~(modify-phases %standard-phases
-              (add-before 'check 'fix-breaking-tests
-                (lambda _
-                  ;; noclingo tests rely on this being set
-                  (setenv "CLORM_NOCLINGO" "1")
-                  (delete-file "tests/test_mypy_query.py")
-                  (substitute* "tests/test_clingo.py"
-                    (("self\\.assertTrue\\(os_called\\)" all)
-                     (string-append "# " all))))))))
-   (propagated-inputs (list python-clingo))
-   (native-inputs (list python-typing-extensions))
-   (home-page "https://potassco.org")
-   (synopsis "Object relational mapping to clingo")
-   (description "@acronym{Clorm, Clingo ORM} provides an @acronym{ORM,
-Object Relational Mapping} interface to the @acronym{ASP, answer set
-programming} solver clingo.  Its goal is to make integration of clingo
-into Python programs easier.")
-   (license license:expat)))
-
-(define-public python-telingo
-  (package
-    (name "python-telingo")
-    (version "2.1.1")
-    (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"))))
-    (build-system pyproject-build-system)
-    (propagated-inputs (list python-clingo))
-    (home-page "https://potassco.org/")
-    (synopsis "Solve dynamic temporal logic programs")
-    (description "This package provides a system to solve dynamic temporal
-logic programs based on clingo.")
-    (license license:expat)))
-
 (define-public scasp
   (let ((commit "89a427aa04ec6346425a40111c99b310901ffe51")
         (revision "1"))
diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
new file mode 100644
index 0000000000..22f70eba7f
--- /dev/null
+++ b/gnu/packages/potassco.scm
@@ -0,0 +1,345 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2022, 2023 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
+;;; Copyright © 2023 Simon Tournier <zimon.toutoune <at> 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/>.
+
+(define-module (gnu packages potassco)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages)
+  #:use-module (guix gexp)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix gexp)
+  #:use-module (guix utils)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system emacs)
+  #:use-module (guix build-system python)
+  #:use-module (guix build-system pyproject)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages libffi)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages python-xyz))
+
+(define-public libpotassco
+  ;; No public release, update together with clasp
+  (let ((revision "1")
+        (commit "2f9fb7ca2c202f1b47643aa414054f2f4f9c1821"))
+    (package
+      (name "libpotassco")
+      (version (git-version "0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/potassco/libpotassco")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1c32f9gqclf7qx07lpx8wd720vfhkjqhzc6nyy8mjmgwpmb3iyyn"))))
+      (arguments
+       `(#:configure-flags '("-DLIB_POTASSCO_BUILD_TESTS=on"
+                             "-DLIB_POTASSCO_INSTALL_LIB=on"
+                             "-DBUILD_SHARED_LIBS=on")
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'patch-cmake
+             (lambda _
+               (substitute* "CMakeLists.txt"
+                 ;; clasp expects lowercase potassco and include directory is
+                 ;; lowercase as well, so let's use that
+                 (("\"cmake/Potassco\"") "\"cmake/potassco\"")
+                 (("PotasscoConfig\\.cmake") "potassco-config.cmake")
+                 (("PotasscoConfigVersion\\.cmake")
+                  "potassco-config-version.cmake"))
+               (rename-file "cmake/PotasscoConfig.cmake.in"
+                            "cmake/potassco-config.cmake.in"))))))
+      (build-system cmake-build-system)
+      (home-page "https://potassco.org/")
+      (synopsis "Utility library for Potassco's projects")
+      (description "@code{libpotassco} is a utility library providing functions
+and datatypes for
+@itemize
+@item parsing, writing, and converting logic programs in aspif and smodels
+format,
+@item passing information between a grounder and a solver,
+@item and defining and parsing command-line options and for creating
+command-line applications.
+@end itemize
+Furthermore, it comes with the tool @command{lpconvert} that converts either
+between aspif and smodels format or to a human-readable text format.")
+      (license license:expat))))
+
+(define-public clasp
+  (package
+    (name "clasp")
+    (version "3.3.9")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/potassco/clasp")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "163ps9zq7xppqy9hj5qnw6z5lcjnm4xf5fwjsavpia5ynm3hngcw"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags '("-DCLASP_BUILD_TESTS=on"
+                           "-DCLASP_INSTALL_LIB=on"
+                           "-DCLASP_USE_LOCAL_LIB_POTASSCO=off"
+                           "-DBUILD_SHARED_LIBS=on")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-cmake
+           (lambda _
+             (substitute* "CMakeLists.txt"
+               ;; Use lowercase to be consistent with libpotassco
+               (("\"cmake/Clasp\"") "\"cmake/clasp\"")
+               (("ClaspConfig\\.cmake") "clasp-config.cmake")
+               (("ClaspConfigVersion\\.cmake")
+                "clasp-config-version.cmake"))
+             (substitute* "cmake/ClaspConfig.cmake.in"
+               (("find_package\\(Potassco") "find_package(potassco"))
+             (rename-file "cmake/ClaspConfig.cmake.in"
+                          "cmake/clasp-config.cmake.in"))))))
+    (inputs
+     (list libpotassco))
+    (home-page "https://potassco.org/")
+    (synopsis "Answer set solver")
+    (description "clasp is an answer set solver for (extended) normal and
+disjunctive logic programs.  The primary algorithm of clasp relies on
+conflict-driven nogood learning, a technique that proved very successful for
+satisfiability checking (SAT).")
+    (license license:expat)))
+
+(define-public clingo
+  (package
+    (name "clingo")
+    (version "5.6.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/potassco/clingo")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (modules '((guix build utils)))
+              (snippet
+               #~(begin
+                   (delete-file-recursively "clasp")
+                   ;; TODO: Unvendor other third-party stuff
+                   (delete-file-recursively "third_party/catch")))
+              (sha256
+               (base32
+                "19s59ndcm2yj0kxlikfxnx2bmp6b7n31wq1zvwc7hyk37rqarwys"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:configure-flags #~`("-DCLINGO_BUILD_TESTS=on"
+                            "-DCLINGO_INSTALL_LIB=on"
+                            "-DCLINGO_BUILD_STATIC=off"
+                            "-DCLINGO_BUILD_SHARED=on"
+                            "-DCLINGO_USE_LOCAL_CLASP=off"
+                            "-DCLINGO_USE_LOCAL_CATCH=off")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-cmake
+            (lambda _
+              (substitute* "CMakeLists.txt"
+                (("add_subdirectory\\(clasp\\)")
+                 "find_package(clasp REQUIRED)"))
+              (substitute* "libclingo/CMakeLists.txt"
+                (("\"cmake/Clingo\"") "\"cmake/clingo\"")
+                (("ClingoConfig\\.cmake") "clingo-config.cmake")
+                (("ClingoConfigVersion\\.cmake")
+                 "clingo-config-version.cmake"))
+              (substitute* "cmake/ClingoConfig.cmake.in"
+                (("find_package\\(Clasp") "find_package(clasp"))
+              (rename-file "cmake/ClingoConfig.cmake.in"
+                           "cmake/clingo-config.cmake.in")))
+          (add-after 'unpack 'skip-failing-tests
+            (lambda _
+              (with-directory-excursion "libclingo/tests"
+                (substitute* "CMakeLists.txt"
+                  (("COMMAND test_clingo" all)
+                   (string-append all
+                                  " -f "
+                                  "\"${CMAKE_CURRENT_SOURCE_DIR}/good.txt\"")))
+                (call-with-output-file "good.txt"
+                  (lambda (port)
+                    (for-each (lambda (test) (format port "~s~%" test))
+                              '("parse-ast-v2" "add-ast-v2" "build-ast-v2"
+                                "unpool-ast-v2" "parse_term"
+                                "propagator" "propgator-sequence-mining"
+                                "symbol" "visitor"))))))))))
+    (inputs (list catch2-3.1 clasp libpotassco))
+    (native-inputs (list pkg-config))
+    (home-page "https://potassco.org/")
+    (synopsis "Grounder and solver for logic programs")
+    (description "Clingo computes answer sets for a given logic program.")
+    (license license:expat)))
+
+(define-public emacs-pasp-mode
+  (let ((commit "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92")
+        (revision "1"))
+    (package
+     (name "emacs-pasp-mode")
+     (version (git-version "0.1.0" revision commit))
+     (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/santifa/pasp-mode")
+                    (commit commit)))
+              (patches
+               (search-patches "emacs-pasp-mode-quote-file-names.patch"))
+              (sha256
+               (base32
+                "1ar4vws3izzmir7m870mccci620ns3c5j26dcmwaxavhgw45wcmf"))))
+     (build-system emacs-build-system)
+     (arguments
+      (list
+       #:phases
+       #~(modify-phases %standard-phases
+           (add-after 'unpack 'defconst-version
+             (lambda _
+               (emacs-batch-edit-file "pasp-mode.el"
+                 '(progn
+                   (search-forward-regexp "(defcustom pasp-mode-version")
+                   (forward-sexp)
+                   (kill-sexp)
+                   (backward-sexp)
+                   (beginning-of-line)
+                   (kill-sexp)
+                   (insert (format "(defconst emacs-pasp-version \"%s\" %s)"
+                                   #$version (cadr kill-ring)))
+                   (basic-save-buffer)))))
+           (add-after 'unpack 'hardcode-clingo
+             (lambda* (#:key inputs #:allow-other-keys)
+               (emacs-substitute-variables "pasp-mode.el"
+                 ("pasp-clingo-path"
+                  (search-input-file inputs "/bin/clingo"))))))))
+     (inputs (list clingo))
+     (home-page "https://github.com/santifa/pasp-mode")
+     (synopsis "Major mode for editing answer set programs")
+     (description
+      "This package provides a major mode for editing answer set programs,
+in particular ones that can be solved by @command{clingo}.")
+     (license license:gpl3+))))
+
+(define-public python-clingo
+  (package
+    (inherit clingo)
+    (name "python-clingo")
+    (version (package-version clingo)) ; for #$version in arguments
+    (arguments
+     (substitute-keyword-arguments (package-arguments clingo)
+       ((#:configure-flags flags #~'())
+        #~(cons* "-DCLINGO_BUILD_WITH_PYTHON=pip"
+                 "-DCLINGO_USE_LIB=yes"
+                 #$flags))
+       ((#:imported-modules _ '())
+        `(,@%cmake-build-system-modules
+          (guix build python-build-system)))
+       ((#:modules _ '())
+        '((guix build cmake-build-system)
+          ((guix build python-build-system) #:prefix python:)
+          (guix build utils)))
+       ((#:phases phases #~%standard-phases)
+        #~(modify-phases #$phases
+            (add-after 'unpack 'fix-failing-tests
+              (lambda _
+                (substitute* "libpyclingo/clingo/tests/test_conf.py"
+                  (("ctl\\.solve\\(on_statistics=on_statistics\\)" all)
+                   (string-append
+                    all
+                    "; self.skipTest(\"You shall not fail.\")")))))
+            (add-after 'install 'install-distinfo
+              (lambda* (#:key inputs outputs #:allow-other-keys)
+                (with-directory-excursion (python:site-packages inputs outputs)
+                   (let ((dir (string-append "clingo-" #$version ".dist-info")))
+                     (mkdir-p dir)
+                     (call-with-output-file (string-append dir "/METADATA")
+                       (lambda (port)
+                         (format port "Metadata-Version: 1.1~%")
+                         (format port "Name: clingo~%")
+                         (format port "Version: ~a~%" #$version)))))))))))
+    (inputs (list clingo python-wrapper))
+    (propagated-inputs (list python-cffi))
+    (native-inputs (modify-inputs (package-native-inputs clingo)
+                     (prepend python-scikit-build)))
+    (synopsis "Python bindings for clingo")
+    (description "This package provides Python bindings to the clingo package,
+making it so that you can write @acronym{ASPs, Answer Set Programs} through
+Python code.")))
+
+(define-public python-clorm
+  (package
+   (name "python-clorm")
+   (version "1.4.1")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://github.com/potassco/clorm")
+                  (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32
+              "0jx99y71mrgdicn1da5dwz5nzgvvpabrikff783sg4shbv2cf0b5"))))
+   (build-system pyproject-build-system)
+   (arguments
+    (list #:phases
+          #~(modify-phases %standard-phases
+              (add-before 'check 'fix-breaking-tests
+                (lambda _
+                  ;; noclingo tests rely on this being set
+                  (setenv "CLORM_NOCLINGO" "1")
+                  (delete-file "tests/test_mypy_query.py")
+                  (substitute* "tests/test_clingo.py"
+                    (("self\\.assertTrue\\(os_called\\)" all)
+                     (string-append "# " all))))))))
+   (propagated-inputs (list python-clingo))
+   (native-inputs (list python-typing-extensions))
+   (home-page "https://potassco.org")
+   (synopsis "Object relational mapping to clingo")
+   (description "@acronym{Clorm, Clingo ORM} provides an @acronym{ORM,
+Object Relational Mapping} interface to the @acronym{ASP, answer set
+programming} solver clingo.  Its goal is to make integration of clingo
+into Python programs easier.")
+   (license license:expat)))
+
+(define-public python-telingo
+  (package
+    (name "python-telingo")
+    (version "2.1.1")
+    (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"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-clingo))
+    (home-page "https://potassco.org/")
+    (synopsis "Solve dynamic temporal logic programs")
+    (description "This package provides a system to solve dynamic temporal
+logic programs based on clingo.")
+    (license license:expat)))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:04 GMT) Full text and rfc822 format available.

Message #77 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 05/19] gnu: python-pathspec: Update to 0.11.0.
Date: Sat, 18 Mar 2023 08:34:09 +0100
* gnu/packages/python-xyz.scm (python-pathspec): Update to 0.11.0.
---
 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 c41f85af4a..5b2e737c6c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5984,14 +5984,14 @@ (define-public python-language-server
 (define-public python-pathspec
   (package
     (name "python-pathspec")
-    (version "0.9.0")
+    (version "0.11.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pathspec" version))
        (sha256
         (base32
-         "1cdbdb3s6ldnjpwbi0bgl0xlmw4mbfxk08bbdxc3srx26na4jr75"))))
+         "1g7b60ds4mwm4vyff7c5n4d3ynasgf8fc893g70r2kliw3a3ilv4"))))
     (build-system python-build-system)
     (home-page "https://github.com/cpburnz/python-path-specification")
     (synopsis "Utility library for gitignore style pattern matching of file paths")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:04 GMT) Full text and rfc822 format available.

Message #80 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 06/19] gnu: python-pathspec: Revise description.
Date: Sat, 18 Mar 2023 08:34:31 +0100
* gnu/packages/python-xyz.scm (python-pathspec)[synopsis, description]:
Rewrite to better explain what it does.
---
 gnu/packages/python-xyz.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5b2e737c6c..b33c2affc8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5994,10 +5994,11 @@ (define-public python-pathspec
          "1g7b60ds4mwm4vyff7c5n4d3ynasgf8fc893g70r2kliw3a3ilv4"))))
     (build-system python-build-system)
     (home-page "https://github.com/cpburnz/python-path-specification")
-    (synopsis "Utility library for gitignore style pattern matching of file paths")
+    (synopsis "Match file names against specifications")
     (description
-     "This package provides a utility library for gitignore style pattern
-matching of file paths.")
+     "This package provides a utility library to match file names against
+specified patterns.  It is currently limited to wildmatch-style patterns,
+which are used e.g. in .gitignore files.")
     (license license:mpl2.0)))
 
 (define-public python-black
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:04 GMT) Full text and rfc822 format available.

Message #83 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Felix Gruber <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 07/19] gnu: Add python-pluggy-next.
Date: Fri, 17 Mar 2023 19:19:18 +0000
* gnu/packages/python-xyz.scm (python-pluggy-next): New variable.

Signed-off-by: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
---
 gnu/packages/python-xyz.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b33c2affc8..937155259b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15431,6 +15431,19 @@ (define-public python-pluggy
    (home-page "https://pypi.org/project/pluggy/")
    (license license:expat)))
 
+;;; TODO: Make this the default python-pluggy in the next rebuild cycle.
+(define-public python-pluggy-next
+  (package
+   (inherit python-pluggy)
+   (version "1.0.0")
+   (source
+    (origin
+     (method url-fetch)
+     (uri (pypi-uri "pluggy" version))
+     (sha256
+      (base32
+       "0n8iadlas2z1b4h0fc73b043c7iwfvx9rgvqm1azjmffmhxkf922"))))))
+
 (define-public python-plumbum
   (package
     (name "python-plumbum")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:05 GMT) Full text and rfc822 format available.

Message #86 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 16/19] gnu: python-databases: Update to 0.7.0.
Date: Sat, 18 Mar 2023 09:47:55 +0100
* gnu/packages/databases.scm (python-databases): Update to 0.7.0.
---
 gnu/packages/databases.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 2ea2f8325e..5a38b1adb3 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3667,13 +3667,13 @@ (define-public python-aiosqlite
 (define-public python-databases
   (package
     (name "python-databases")
-    (version "0.5.5")
+    (version "0.7.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "databases" version))
        (sha256
-        (base32 "0dzb998kg35xmd50ih168320vih2w3ich798r8fc4lf9q4bb1ih2"))))
+        (base32 "0x5nqhzgjqimv2ybjbzy5vv0l23g0n1g5f6fnyahbf1f7nfl2bga"))))
     (build-system python-build-system)
     (propagated-inputs
      (list python-aiosqlite
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:05 GMT) Full text and rfc822 format available.

Message #89 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 08/19] gnu: python-pathspec: Move to (gnu packages
 python-build).
Date: Sat, 18 Mar 2023 08:43:56 +0100
* gnu/packages/python-xyz.scm (python-pathspec): Move from here…
* gnu/packages/python-build.scm (python-pathspec): …to here.
---
 gnu/packages/python-build.scm | 20 ++++++++++++++++++++
 gnu/packages/python-xyz.scm   | 20 --------------------
 2 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 17f8892c05..a4be4b4991 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -569,3 +569,23 @@ (define-public python-editables
 ``editable mode''.  In other words, changes to the package source will be
 reflected in the package visible to Python, without needing a reinstall.")
     (license license:expat)))
+
+(define-public python-pathspec
+  (package
+    (name "python-pathspec")
+    (version "0.11.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pathspec" version))
+       (sha256
+        (base32
+         "1g7b60ds4mwm4vyff7c5n4d3ynasgf8fc893g70r2kliw3a3ilv4"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/cpburnz/python-path-specification")
+    (synopsis "Match file names against specifications")
+    (description
+     "This package provides a utility library to match file names against
+specified patterns.  It is currently limited to wildmatch-style patterns,
+which are used e.g. in .gitignore files.")
+    (license license:mpl2.0)))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 937155259b..137f125b2b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5981,26 +5981,6 @@ (define-public python-lsp-server
 (define-public python-language-server
   (deprecated-package "python-language-server" python-lsp-server))
 
-(define-public python-pathspec
-  (package
-    (name "python-pathspec")
-    (version "0.11.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "pathspec" version))
-       (sha256
-        (base32
-         "1g7b60ds4mwm4vyff7c5n4d3ynasgf8fc893g70r2kliw3a3ilv4"))))
-    (build-system python-build-system)
-    (home-page "https://github.com/cpburnz/python-path-specification")
-    (synopsis "Match file names against specifications")
-    (description
-     "This package provides a utility library to match file names against
-specified patterns.  It is currently limited to wildmatch-style patterns,
-which are used e.g. in .gitignore files.")
-    (license license:mpl2.0)))
-
 (define-public python-black
   (package
     (name "python-black")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:06 GMT) Full text and rfc822 format available.

Message #92 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 09/19] gnu: python-pluggy: Move to (gnu packages
 python-build).
Date: Sat, 18 Mar 2023 08:44:28 +0100
* gnu/packages/python-xyz.scm (python-pluggy, python-pluggy-next): Move from
here…
* gnu/packages/python-build.scm (python-pluggy, python-pluggy-next): …to here.
Reindent using Emacs.
---
 gnu/packages/python-build.scm | 33 +++++++++++++++++++++++++++++++++
 gnu/packages/python-xyz.scm   | 33 ---------------------------------
 2 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index a4be4b4991..1281824a97 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -589,3 +589,36 @@ (define-public python-pathspec
 specified patterns.  It is currently limited to wildmatch-style patterns,
 which are used e.g. in .gitignore files.")
     (license license:mpl2.0)))
+
+(define-public python-pluggy
+  (package
+    (name "python-pluggy")
+    (version "0.13.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pluggy" version))
+       (sha256
+        (base32
+         "1c35qyhvy27q9ih9n899f3h4sdnpgq027dbiilly2qb5cvgarchm"))))
+    (build-system python-build-system)
+    (native-inputs
+     (list python-setuptools-scm))
+    (synopsis "Plugin and hook calling mechanism for Python")
+    (description "Pluggy is an extraction of the plugin manager as used by
+Pytest but stripped of Pytest specific details.")
+    (home-page "https://pypi.org/project/pluggy/")
+    (license license:expat)))
+
+;;; TODO: Make this the default python-pluggy in the next rebuild cycle.
+(define-public python-pluggy-next
+  (package
+    (inherit python-pluggy)
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pluggy" version))
+       (sha256
+        (base32
+         "0n8iadlas2z1b4h0fc73b043c7iwfvx9rgvqm1azjmffmhxkf922"))))))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 137f125b2b..f4a8e15df0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15391,39 +15391,6 @@ (define-public python-rsa
    (home-page "https://stuvel.eu/rsa")
    (license license:asl2.0)))
 
-(define-public python-pluggy
-  (package
-   (name "python-pluggy")
-   (version "0.13.1")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (pypi-uri "pluggy" version))
-     (sha256
-      (base32
-       "1c35qyhvy27q9ih9n899f3h4sdnpgq027dbiilly2qb5cvgarchm"))))
-   (build-system python-build-system)
-   (native-inputs
-    (list python-setuptools-scm))
-   (synopsis "Plugin and hook calling mechanism for Python")
-   (description "Pluggy is an extraction of the plugin manager as used by
-Pytest but stripped of Pytest specific details.")
-   (home-page "https://pypi.org/project/pluggy/")
-   (license license:expat)))
-
-;;; TODO: Make this the default python-pluggy in the next rebuild cycle.
-(define-public python-pluggy-next
-  (package
-   (inherit python-pluggy)
-   (version "1.0.0")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (pypi-uri "pluggy" version))
-     (sha256
-      (base32
-       "0n8iadlas2z1b4h0fc73b043c7iwfvx9rgvqm1azjmffmhxkf922"))))))
-
 (define-public python-plumbum
   (package
     (name "python-plumbum")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:06 GMT) Full text and rfc822 format available.

Message #95 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 10/19] gnu: Add python-hatchling.
Date: Sat, 18 Mar 2023 08:44:38 +0100
* gnu/packages/python-build.scm (python-hatchling)
(python-hatchling-ouroboros): New variables.
---
 gnu/packages/python-build.scm | 46 +++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 1281824a97..cb6301689a 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -28,6 +28,7 @@ (define-module (gnu packages python-build)
   #:use-module (gnu packages)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system pyproject)
   #:use-module (guix gexp)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -622,3 +623,48 @@ (define-public python-pluggy-next
        (sha256
         (base32
          "0n8iadlas2z1b4h0fc73b043c7iwfvx9rgvqm1azjmffmhxkf922"))))))
+
+(define-public python-hatchling
+  (package
+    (name "python-hatchling")
+    (version "1.13.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "hatchling" version))
+              (sha256
+               (base32
+                "1isk1kqra0sm2sj2yp39sgk62mx0bp1jnbkwdcl3a1vjrji7blpq"))))
+    (arguments
+     ;; Tests don't appear to be integrated into build.
+     ;; Also, we can't rely on python-pytest anyway, as that's in
+     ;; (gnu packages python-check)...
+     (list #:tests? #f))
+    (propagated-inputs
+     (list python-editables
+           python-pathspec
+           python-pluggy-next
+           python-tomli))
+    (native-inputs (list python-hatchling-ouroboros))
+    (build-system pyproject-build-system)
+    (home-page "https://hatch.pypa.io/")
+    (synopsis "Modern, extensible Python build backend")
+    (description "Modern, extensible Python build backend")
+    (license license:expat)))
+
+(define python-hatchling-ouroboros
+  (package/inherit python-hatchling
+    (name "python-hatchling-ouroboros")
+    (version (package-version python-hatchling))
+    (arguments
+     (list
+      #:tests? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'configure)
+          (delete 'build)
+          (replace 'install
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (copy-recursively "src/hatchling/"
+                                (string-append (site-packages inputs outputs)
+                                               "/hatchling")))))))
+    (native-inputs '())))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:07 GMT) Full text and rfc822 format available.

Message #98 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 11/19] gnu: python-starlette: Update to 0.25.0.
Date: Sat, 18 Mar 2023 08:48:57 +0100
* gnu/packages/python-web.scm (python-starlette): Update to 0.25.0.
[source]: Switch to git-fetch and git-reference.
[build-system]: Use pyproject-build-system.
[native-inputs]: Add python-hatchling, python-httpx, python-pytest, and
python-typing-extensions-next.
---
 gnu/packages/python-web.scm | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 072d160c26..14fc4763f5 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -8196,14 +8196,17 @@ (define-public python-sendgrid
 (define-public python-starlette
   (package
     (name "python-starlette")
-    (version "0.20.4")
+    (version "0.25.0")
     (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "starlette" version))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/encode/starlette")
+                    (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "112hmwk4fh4dl21nlr2xd37h43xzxpjxfnic7v7fz3wr5w9g7z22"))))
-    (build-system python-build-system)
+                "1mkkj15lphgycnp51dnrfxbyrx3dicjdcpsqvwc7yw55zyih6h5k"))))
+    (build-system pyproject-build-system)
     (propagated-inputs (list python-anyio
                              python-typing-extensions
                              ;; [all] extra dependencies:
@@ -8212,6 +8215,10 @@ (define-public python-starlette
                              python-multipart
                              python-pyyaml
                              python-requests))
+    (native-inputs (list python-hatchling
+                         python-httpx
+                         python-pytest
+                         python-typing-extensions-next))
     (home-page "https://github.com/encode/starlette")
     (synopsis "Little ASGI library")
     (description
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:07 GMT) Full text and rfc822 format available.

Message #101 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 12/19] gnu: python-sqlalchemy: Update to 1.4.42.
Date: Sat, 18 Mar 2023 08:51:04 +0100
* gnu/packages/databases.scm (python-sqlalchemy): Update to 1.4.42.
---
 gnu/packages/databases.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index e51ddd5bf2..5b2e1849c8 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3397,13 +3397,13 @@ (define-public python-ccm
 (define-public python-sqlalchemy
   (package
     (name "python-sqlalchemy")
-    (version "1.4.35")
+    (version "1.4.42")
     (source
      (origin
       (method url-fetch)
       (uri (pypi-uri "SQLAlchemy" version))
       (sha256
-       (base32 "1ddab00d5mpzg25r1qxccma2zb551hhmymsy1ycp6r6w04xq3z1g"))))
+       (base32 "0qzkxy47y06fqh1m7a0p7q2r9h48x9k5kl3znzhx2vj79j8l2zhp"))))
     (build-system python-build-system)
     (native-inputs
      (list python-cython ; for C extensions
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:07 GMT) Full text and rfc822 format available.

Message #104 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 13/19] gnu: python-pymysql: Update to 1.0.2.
Date: Sat, 18 Mar 2023 09:19:58 +0100
* gnu/packages/databases.scm (python-pymysql): Update to 1.0.2.
---
 gnu/packages/databases.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 5b2e1849c8..74eacede78 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1529,13 +1529,13 @@ (define-public pgloader
 (define-public python-pymysql
   (package
     (name "python-pymysql")
-    (version "0.9.3")
+    (version "1.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "PyMySQL" version))
        (sha256
-        (base32 "1ry8lxgdc1p3k7gbw20r405jqi5lvhi5wk83kxdbiv8xv3f5kh6q"))))
+        (base32 "0dmdszskfri11b9m6n3lag31vzi10aqxz9gc583md3gka2ijfsc1"))))
     (build-system python-build-system)
     (inputs
      (list python-cryptography))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:08 GMT) Full text and rfc822 format available.

Message #107 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 14/19] gnu: python-aiomysql: Update to 0.1.1.
Date: Sat, 18 Mar 2023 08:57:23 +0100
* gnu/packages/databases.scm (python-aiomysql): Update to 0.1.1.
[build-system]: Change to pyproject-build-system.
---
 gnu/packages/databases.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 74eacede78..6de24db720 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3009,14 +3009,14 @@ (define-public python-asyncmy
 (define-public python-aiomysql
   (package
     (name "python-aiomysql")
-    (version "0.0.21")
+    (version "0.1.1")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "aiomysql" version))
         (sha256
-          (base32 "0b442d0jb82z3lk19ylmm64ix88ppz7gay08bxld538ivg06j5c1"))))
-    (build-system python-build-system)
+          (base32 "0zhhisf2bz2hv0vcklw45k54yr0f7gx61gnq4lc7vdp6v97nqs0d"))))
+    (build-system pyproject-build-system)
     (arguments '(#:tests? #f))           ;test suite requires docker
     (propagated-inputs (list python-pymysql))
     (home-page "https://github.com/aio-libs/aiomysql")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:57:08 GMT) Full text and rfc822 format available.

Message #110 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 15/19] gnu: python-aiosqlite: Update to 0.18.0.
Date: Sat, 18 Mar 2023 09:43:29 +0100
* gnu/packages/databases.scm (python-aiosqlite): Update to 0.18.0.
[source]: Use git-fetch and git-reference.
[build-system]: Use pyproject-build-system.
[arguments]: Adjust accordingly.
[propagated-inputs]: Remove.
[native-inputs]: Remove python-aiounittest.
Add python-flit-core, python-coverage and python-mypy.
---
 gnu/packages/databases.scm | 41 +++++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 6de24db720..2ea2f8325e 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3633,27 +3633,28 @@ (define-public python-apsw
 (define-public python-aiosqlite
   (package
     (name "python-aiosqlite")
-    (version "0.17.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "aiosqlite" version))
-       (sha256
-        (base32
-         "0lgfpbkcd730hbgj3zlrbx2y8fzvdns2zj3s4r4l31n49g1arrph"))))
-    (build-system python-build-system)
+    (version "0.18.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/omnilib/aiosqlite")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1a8sggh1wwbpl46k5qcfmp97s9hjysna0x7mwwc53kyfm0m95wf8"))))
+    (build-system pyproject-build-system)
     (arguments
-     '(#:phases (modify-phases %standard-phases
-                  (replace 'check
-                    (lambda* (#:key tests? #:allow-other-keys)
-                      (if tests?
-                          (invoke "python" "-m" "unittest" "aiosqlite.tests")
-                          (format #t "test suite not run~%"))
-                      #t)))))
-    (propagated-inputs
-     (list python-typing-extensions))
-    (native-inputs
-     (list python-aiounittest))
+     (list #:phases #~(modify-phases %standard-phases
+                        (replace 'check
+                          (lambda* (#:key tests? #:allow-other-keys)
+                            (when tests?
+                              (invoke "python" "-m" "coverage" "run" "-m"
+                                      "aiosqlite.tests")
+                              (invoke "python" "-m" "coverage" "report")))))))
+    (native-inputs (list python-flit-core
+                         python-coverage
+                         python-mypy))
     (home-page "https://github.com/jreese/aiosqlite")
     (synopsis
      "Asyncio bridge for sqlite3")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:58:02 GMT) Full text and rfc822 format available.

Message #113 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 18/19] gnu: Add python-fastapi.
Date: Sat, 18 Mar 2023 09:59:52 +0100
* gnu/packages/python-web.scm (python-fastapi): New variable.
---
 gnu/packages/python-web.scm | 62 +++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 14fc4763f5..1e5cd6220a 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -8226,6 +8226,68 @@ (define-public python-starlette
 Interface) framework/toolkit for building async web services in Python.")
     (license license:bsd-3)))
 
+(define-public python-fastapi
+  (package
+    (name "python-fastapi")
+    (version "0.92.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "fastapi" version))
+              (sha256
+               (base32
+                "1pm4p5i9h732f0qag85yd9ngjz8x9bhs3fyk2j861cn8s9dhyfh2"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'drop-orjson
+            (lambda _
+              (substitute* "pyproject.toml"
+                (("\"orjson.*\",") ""))))
+          (add-after 'unpack 'delete-failing-tests
+            (lambda _
+              (for-each
+               delete-file
+               (append
+                '("docs_src/app_testing/app_b_py310/test_main.py"
+                  "tests/test_tutorial/test_templates/test_tutorial001.py")
+                (find-files "docs_src/sql_databases/"
+                            "test_sql_app\\.py$")
+                (find-files "tests"
+                            "test_(default|orjson)_response_class\\.py$")
+                (find-files "tests/test_tutorial"
+                            "test_tutorial00(1b|9c)\\.py$")
+                (find-files "tests/test_tutorial"
+                            "test_testing_databases.*\\.py$"))))))))
+    (propagated-inputs (list python-email-validator
+                             python-httpx
+                             python-itsdangerous
+                             python-jinja2
+                             python-multipart
+                             python-starlette
+                             python-pydantic
+                             python-pyyaml
+                             python-uvicorn
+                             python-ujson))
+    (native-inputs (list python-databases
+                         python-flask
+                         python-hatchling
+                         python-isort
+                         python-jose
+                         python-mypy
+                         python-passlib
+                         python-peewee
+                         python-pytest
+                         python-sqlalchemy
+                         python-types-orjson
+                         python-types-ujson))
+    (home-page "https://github.com/tiangolo/fastapi")
+    (synopsis "Web framework based on type hints")
+    (description "FastAPI provides a web API framework based on pydantic and
+starlette.")
+    (license license:expat)))
+
 (define-public python-pyactiveresource
   (package
     (name "python-pyactiveresource")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:58:02 GMT) Full text and rfc822 format available.

Message #116 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 19/19] gnu: Add python-clinguin.
Date: Sat, 18 Mar 2023 10:01:48 +0100
* gnu/packages/potassco.scm (python-clinguin): New variable.
---
 gnu/packages/potassco.scm | 49 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 48 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index 0e6973d980..a3e33ea249 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -35,7 +35,9 @@ (define-module (gnu packages potassco)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages python-xyz))
+  #:use-module (gnu packages python-web)
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx))
 
 (define-public libpotassco
   ;; No public release, update together with clasp
@@ -374,3 +376,48 @@ (define-public python-clingraph
      "This package provides a clingo-based visualizer for graphs defined
 as logic programs.")
     (license license:expat)))
+
+(define-public python-clinguin
+  (package
+   (name "python-clinguin")
+   (version "1.0.0-beta")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://github.com/potassco/clinguin")
+                  (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32
+              "032fnzxv6wl01sdq7n2k0ikajpmkg8ihjh5mck1mwjvmis8z16d4"))
+            (modules '((guix build utils)))
+            (snippet
+             #~(begin
+                 (substitute* "setup.cfg"
+                   ;; Fun fact of the day
+                   ;; some typo squatter hosted
+                   ;; a package named tk
+                   (("tk") "")
+                   (("typing") "typing;python_version<\"3.5\""))))))
+   (build-system pyproject-build-system)
+   (propagated-inputs
+    (list python-clingo
+          python-clorm
+          python-clingraph
+          python-fastapi
+          python-httpx
+          python-nbconvert
+          python-nbformat
+          python-nbsphinx
+          python-networkx
+          python-pillow
+          python-pydantic
+          `(,python "tk")
+          python-sphinx-rtd-theme
+          python-traitlets
+          python-uvicorn))
+   (home-page "https://github.com/potassco/clingraph")
+   (synopsis "Clingo-based interactive UI")
+   (description "Clinguin is a graphical user interface toolkit for clingo,
+which allows user interfaces to be specified entirely as a logic program.")
+   (license license:expat)))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 21 Mar 2023 19:58:02 GMT) Full text and rfc822 format available.

Message #119 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v2 17/19] gnu: python-databases: Revise description.
Date: Sat, 18 Mar 2023 09:48:02 +0100
* gnu/packages/databases.scm (python-databases)[synopsis]: Spell out
“Asynchronous”.
[description]: Mention that it's a wrapper around other libraries using
SQLAlchemy.
---
 gnu/packages/databases.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 5a38b1adb3..1328818449 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3683,8 +3683,9 @@ (define-public python-databases
            python-asyncmy
            python-sqlalchemy))
     (home-page "https://github.com/encode/databases")
-    (synopsis "Async database support for Python")
-    (description "This package implements async database support for Python.")
+    (synopsis "Asynchronous database abstraction library")
+    (description "Databases provides a wrapper around asynchronous database
+libraries with SQLALchemy.")
     (license license:bsd-3)))
 
 (define-public python-psycopg2
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:02 GMT) Full text and rfc822 format available.

Message #122 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 01/19] gnu: Add python-imageio-ffmpeg.
Date: Sat, 18 Mar 2023 07:49:23 +0100
* gnu/packages/python-xyz.scm (python-imageio-ffmpeg): 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 3f0005faa2..5b515489b4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8087,6 +8087,35 @@ (define-public python-lfdfiles
 experimental data and metadata at the Laboratory for Fluorescence Dynamics.")
     (license license:bsd-3)))
 
+(define-public python-imageio-ffmpeg
+  (package
+   (name "python-imageio-ffmpeg")
+   (version "0.4.8")
+   (source (origin
+            (method url-fetch)
+            (uri (pypi-uri "imageio-ffmpeg" version))
+            (sha256
+             (base32
+              "1a8as5c42s8yl79gc2nhj6vvkwr81p5ibxp5m1zhn1zy22nhbapx"))))
+   (arguments
+    (list #:phases
+          #~(modify-phases %standard-phases
+              (add-after 'unpack 'hardcode-ffmpeg
+                (lambda* (#:key inputs #:allow-other-keys)
+                  (substitute* "imageio_ffmpeg/_utils.py"
+                    (("os\\.getenv\\(\"IMAGEIO_FFMPEG_EXE\".*\\)" all)
+                     (string-append "(" all " or \""
+                                    (search-input-file inputs "bin/ffmpeg")
+                                    "\")"))))))))
+   (inputs (list ffmpeg-4))
+   (build-system python-build-system)
+   (home-page "https://github.com/imageio/imageio-ffmpeg")
+   (synopsis "FFMPEG wrapper for Python")
+   (description "This package provides an FFMPEG wrapper for working with video
+files.  It implements generator functions for reading and writing data to and
+from FFMPEG, reliably terminating the process when done.")
+   (license license:bsd-2)))
+
 (define-public python-imageio
   (package
     (name "python-imageio")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:03 GMT) Full text and rfc822 format available.

Message #125 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 02/19] gnu: python-imageio: Update to 2.26.0.
Date: Sat, 18 Mar 2023 07:51:37 +0100
* gnu/packages/python-xyz.scm (python-imageio): Update to 2.26.0.
[build-system]: Use pyproject-build-system.
[arguments]: Use G-Expressions.
<#:tests?>: Drop argument.
<#:test-flags>: New argument.
<#:phases>: Drop replacement for ‘check’.
Add ‘fix-source’ and ‘fix-failing-tests’.
[inputs]: Add freeimage.
[propagated-inputs]: Add python-imageio-ffmpeg.
---
 gnu/packages/python-xyz.scm | 44 +++++++++++++++++++++++--------------
 1 file changed, 28 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5b515489b4..f4f17b7e87 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8119,29 +8119,41 @@ (define-public python-imageio-ffmpeg
 (define-public python-imageio
   (package
     (name "python-imageio")
-    (version "2.8.0")
+    (version "2.26.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "imageio" version))
        (sha256
         (base32
-         "1ksjl523fm0fikrd85llxfba35rc1qsgwadgr6mbn9kis79xcpzv"))))
-    (build-system python-build-system)
+         "0dgddhi5dlpry5j4d3256v09pcziyj3ii47yx0zi68xprm11d7qn"))))
+    (build-system pyproject-build-system)
     (arguments
-     `(#:tests? #f ; many tests require online data
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda* (#:key outputs inputs tests? #:allow-other-keys)
-             (if tests?
-                 (begin
-                   ;; Make installed package available for running the tests.
-                   (add-installed-pythonpath inputs outputs)
-                   (invoke "pytest" "-vv"))
-                 #t))))))
-    (propagated-inputs
-     (list python-numpy python-pillow python-psutil))
+     (list
+      #:test-flags #~(list "-m" "not needs_internet")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-source
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "imageio/plugins/_freeimage.py"
+                (("os\\.getenv\\(\"IMAGEIO_FREEIMAGE_LIB\".*\\)" all)
+                 (string-append
+                  "(" all " or \""
+                  (search-input-file inputs "lib/libfreeimage.so")
+                  "\")")))
+              (substitute* "imageio/core/util.py"
+                (("\"/var/tmp\"")
+                 "os.getenv(\"TMPDIR\", \"/tmp\")"))))
+          (add-after 'unpack 'fix-failing-tests
+            (lambda _
+              (substitute* "tests/test_core.py"
+                (("(core\\.load_lib)\\((\\[gllib\\], \\[\\])\\)"
+                  all fun args)
+                 (string-append "raises(ValueError, " fun ", " args ")")))
+              (delete-file "tests/test_freeimage.py"))))))
+    (inputs (list freeimage))
+    (propagated-inputs
+     (list python-imageio-ffmpeg python-numpy python-pillow python-psutil))
     (native-inputs
      (list python-pytest))
     (home-page "https://imageio.github.io/")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:03 GMT) Full text and rfc822 format available.

Message #128 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 04/19] gnu: Add python-clingraph.
Date: Sat, 18 Mar 2023 08:34:03 +0100
* gnu/packages/potassco.scm (python-clingraph): New variable.
---
 gnu/packages/potassco.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index 22f70eba7f..0e6973d980 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -31,6 +31,7 @@ (define-module (gnu packages potassco)
   #:use-module (guix build-system python)
   #:use-module (guix build-system pyproject)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -343,3 +344,33 @@ (define-public python-telingo
     (description "This package provides a system to solve dynamic temporal
 logic programs based on clingo.")
     (license license:expat)))
+
+(define-public python-clingraph
+  (package
+    (name "python-clingraph")
+    (version "1.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/potassco/clingraph")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0bdhli20nw9qnyxmpisgz7m97d7bwx6lbmxy9bgqvm6mipprnv3n"))))
+    (build-system pyproject-build-system)
+    (inputs (list dot2tex graphviz))
+    (propagated-inputs (list python-clingo
+                             python-clorm
+                             python-graphviz
+                             python-imageio
+                             python-jinja2
+                             python-jsonschema
+                             python-networkx))
+    (native-inputs (list dot2tex graphviz python-pylint python-pytest))
+    (home-page "https://github.com/potassco/clingraph")
+    (synopsis "Visualizer for graphs defined as logic programs")
+    (description
+     "This package provides a clingo-based visualizer for graphs defined
+as logic programs.")
+    (license license:expat)))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:04 GMT) Full text and rfc822 format available.

Message #131 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 05/19] gnu: python-pathspec: Update to 0.11.0.
Date: Sat, 18 Mar 2023 08:34:09 +0100
* gnu/packages/python-xyz.scm (python-pathspec): Update to 0.11.0.
---
 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 f4f17b7e87..37592452c9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6051,14 +6051,14 @@ (define-public python-language-server
 (define-public python-pathspec
   (package
     (name "python-pathspec")
-    (version "0.9.0")
+    (version "0.11.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pathspec" version))
        (sha256
         (base32
-         "1cdbdb3s6ldnjpwbi0bgl0xlmw4mbfxk08bbdxc3srx26na4jr75"))))
+         "1g7b60ds4mwm4vyff7c5n4d3ynasgf8fc893g70r2kliw3a3ilv4"))))
     (build-system python-build-system)
     (home-page "https://github.com/cpburnz/python-path-specification")
     (synopsis "Utility library for gitignore style pattern matching of file paths")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:04 GMT) Full text and rfc822 format available.

Message #134 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 03/19] gnu: Separate potassco packages into their own
 module.
Date: Sat, 18 Mar 2023 08:23:00 +0100
* gnu/packages/potassco.scm: New file.
* gnu/packages/maths.scm (libpotassco, clasp, clingo, python-clingo)
(python-telingo): Move to potassco module.  Adjust imports accordingly.
* gnu/packages/emacs-xyz.scm (emacs-pasp-mode): Move to potassco module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add %D%/packages/potassco.scm.
---
 gnu/local.mk               |   1 +
 gnu/packages/emacs-xyz.scm |  47 -----
 gnu/packages/maths.scm     | 263 ----------------------------
 gnu/packages/potassco.scm  | 345 +++++++++++++++++++++++++++++++++++++
 4 files changed, 346 insertions(+), 310 deletions(-)
 create mode 100644 gnu/packages/potassco.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 64a1268fbe..0f4898d2e2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -502,6 +502,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/poedit.scm				\
   %D%/packages/polkit.scm			\
   %D%/packages/popt.scm				\
+  %D%/packages/potassco.scm				\
   %D%/packages/printers.scm			\
   %D%/packages/profiling.scm			\
   %D%/packages/prolog.scm			\
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index da2856abc8..8b070acb31 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -4601,53 +4601,6 @@ (define-public emacs-pabbrev
 during idle time, while Emacs is doing nothing else.")
     (license license:gpl3+)))
 
-(define-public emacs-pasp-mode
-  (let ((commit "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92")
-        (revision "1"))
-    (package
-     (name "emacs-pasp-mode")
-     (version (git-version "0.1.0" revision commit))
-     (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/santifa/pasp-mode")
-                    (commit commit)))
-              (patches
-               (search-patches "emacs-pasp-mode-quote-file-names.patch"))
-              (sha256
-               (base32
-                "1ar4vws3izzmir7m870mccci620ns3c5j26dcmwaxavhgw45wcmf"))))
-     (build-system emacs-build-system)
-     (arguments
-      (list
-       #:phases
-       #~(modify-phases %standard-phases
-           (add-after 'unpack 'defconst-version
-             (lambda _
-               (emacs-batch-edit-file "pasp-mode.el"
-                 '(progn
-                   (search-forward-regexp "(defcustom pasp-mode-version")
-                   (forward-sexp)
-                   (kill-sexp)
-                   (backward-sexp)
-                   (beginning-of-line)
-                   (kill-sexp)
-                   (insert (format "(defconst emacs-pasp-version \"%s\" %s)"
-                                   #$version (cadr kill-ring)))
-                   (basic-save-buffer)))))
-           (add-after 'unpack 'hardcode-clingo
-             (lambda* (#:key inputs #:allow-other-keys)
-               (emacs-substitute-variables "pasp-mode.el"
-                 ("pasp-clingo-path"
-                  (search-input-file inputs "/bin/clingo"))))))))
-     (inputs (list clingo))
-     (home-page "https://github.com/santifa/pasp-mode")
-     (synopsis "Major mode for editing answer set programs")
-     (description
-      "This package provides a major mode for editing answer set programs,
-in particular ones that can be solved by @command{clingo}.")
-     (license license:gpl3+))))
-
 (define-public emacs-pdf-tools
   (package
     (name "emacs-pdf-tools")
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 93afc6ed40..dc9658a3b2 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -97,7 +97,6 @@ (define-module (gnu packages maths)
   #:use-module (guix build-system ocaml)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
-  #:use-module (guix build-system pyproject)
   #:use-module (guix build-system ruby)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages audio)
@@ -135,7 +134,6 @@ (define-module (gnu packages maths)
   #:use-module (gnu packages image)
   #:use-module (gnu packages java)
   #:use-module (gnu packages less)
-  #:use-module (gnu packages libffi)
   #:use-module (gnu packages lisp)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -2644,267 +2642,6 @@ (define-public libflame
 includes a complete LAPACK implementation.")
     (license license:bsd-3)))
 
-(define-public libpotassco
-  ;; No public release, update together with clasp
-  (let ((revision "1")
-        (commit "2f9fb7ca2c202f1b47643aa414054f2f4f9c1821"))
-    (package
-      (name "libpotassco")
-      (version (git-version "0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/potassco/libpotassco")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "1c32f9gqclf7qx07lpx8wd720vfhkjqhzc6nyy8mjmgwpmb3iyyn"))))
-      (arguments
-       `(#:configure-flags '("-DLIB_POTASSCO_BUILD_TESTS=on"
-                             "-DLIB_POTASSCO_INSTALL_LIB=on"
-                             "-DBUILD_SHARED_LIBS=on")
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'patch-cmake
-             (lambda _
-               (substitute* "CMakeLists.txt"
-                 ;; clasp expects lowercase potassco and include directory is
-                 ;; lowercase as well, so let's use that
-                 (("\"cmake/Potassco\"") "\"cmake/potassco\"")
-                 (("PotasscoConfig\\.cmake") "potassco-config.cmake")
-                 (("PotasscoConfigVersion\\.cmake")
-                  "potassco-config-version.cmake"))
-               (rename-file "cmake/PotasscoConfig.cmake.in"
-                            "cmake/potassco-config.cmake.in"))))))
-      (build-system cmake-build-system)
-      (home-page "https://potassco.org/")
-      (synopsis "Utility library for Potassco's projects")
-      (description "@code{libpotassco} is a utility library providing functions
-and datatypes for
-@itemize
-@item parsing, writing, and converting logic programs in aspif and smodels
-format,
-@item passing information between a grounder and a solver,
-@item and defining and parsing command-line options and for creating
-command-line applications.
-@end itemize
-Furthermore, it comes with the tool @command{lpconvert} that converts either
-between aspif and smodels format or to a human-readable text format.")
-      (license license:expat))))
-
-(define-public clasp
-  (package
-    (name "clasp")
-    (version "3.3.9")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/potassco/clasp")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "163ps9zq7xppqy9hj5qnw6z5lcjnm4xf5fwjsavpia5ynm3hngcw"))))
-    (build-system cmake-build-system)
-    (arguments
-     `(#:configure-flags '("-DCLASP_BUILD_TESTS=on"
-                           "-DCLASP_INSTALL_LIB=on"
-                           "-DCLASP_USE_LOCAL_LIB_POTASSCO=off"
-                           "-DBUILD_SHARED_LIBS=on")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-cmake
-           (lambda _
-             (substitute* "CMakeLists.txt"
-               ;; Use lowercase to be consistent with libpotassco
-               (("\"cmake/Clasp\"") "\"cmake/clasp\"")
-               (("ClaspConfig\\.cmake") "clasp-config.cmake")
-               (("ClaspConfigVersion\\.cmake")
-                "clasp-config-version.cmake"))
-             (substitute* "cmake/ClaspConfig.cmake.in"
-               (("find_package\\(Potassco") "find_package(potassco"))
-             (rename-file "cmake/ClaspConfig.cmake.in"
-                          "cmake/clasp-config.cmake.in"))))))
-    (inputs
-     (list libpotassco))
-    (home-page "https://potassco.org/")
-    (synopsis "Answer set solver")
-    (description "clasp is an answer set solver for (extended) normal and
-disjunctive logic programs.  The primary algorithm of clasp relies on
-conflict-driven nogood learning, a technique that proved very successful for
-satisfiability checking (SAT).")
-    (license license:expat)))
-
-(define-public clingo
-  (package
-    (name "clingo")
-    (version "5.6.2")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/potassco/clingo")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (modules '((guix build utils)))
-              (snippet
-               #~(begin
-                   (delete-file-recursively "clasp")
-                   ;; TODO: Unvendor other third-party stuff
-                   (delete-file-recursively "third_party/catch")))
-              (sha256
-               (base32
-                "19s59ndcm2yj0kxlikfxnx2bmp6b7n31wq1zvwc7hyk37rqarwys"))))
-    (build-system cmake-build-system)
-    (arguments
-     (list
-      #:configure-flags #~`("-DCLINGO_BUILD_TESTS=on"
-                            "-DCLINGO_INSTALL_LIB=on"
-                            "-DCLINGO_BUILD_STATIC=off"
-                            "-DCLINGO_BUILD_SHARED=on"
-                            "-DCLINGO_USE_LOCAL_CLASP=off"
-                            "-DCLINGO_USE_LOCAL_CATCH=off")
-      #:phases
-      #~(modify-phases %standard-phases
-          (add-after 'unpack 'patch-cmake
-            (lambda _
-              (substitute* "CMakeLists.txt"
-                (("add_subdirectory\\(clasp\\)")
-                 "find_package(clasp REQUIRED)"))
-              (substitute* "libclingo/CMakeLists.txt"
-                (("\"cmake/Clingo\"") "\"cmake/clingo\"")
-                (("ClingoConfig\\.cmake") "clingo-config.cmake")
-                (("ClingoConfigVersion\\.cmake")
-                 "clingo-config-version.cmake"))
-              (substitute* "cmake/ClingoConfig.cmake.in"
-                (("find_package\\(Clasp") "find_package(clasp"))
-              (rename-file "cmake/ClingoConfig.cmake.in"
-                           "cmake/clingo-config.cmake.in")))
-          (add-after 'unpack 'skip-failing-tests
-            (lambda _
-              (with-directory-excursion "libclingo/tests"
-                (substitute* "CMakeLists.txt"
-                  (("COMMAND test_clingo" all)
-                   (string-append all
-                                  " -f "
-                                  "\"${CMAKE_CURRENT_SOURCE_DIR}/good.txt\"")))
-                (call-with-output-file "good.txt"
-                  (lambda (port)
-                    (for-each (lambda (test) (format port "~s~%" test))
-                              '("parse-ast-v2" "add-ast-v2" "build-ast-v2"
-                                "unpool-ast-v2" "parse_term"
-                                "propagator" "propgator-sequence-mining"
-                                "symbol" "visitor"))))))))))
-    (inputs (list catch2-3.1 clasp libpotassco))
-    (native-inputs (list pkg-config))
-    (home-page "https://potassco.org/")
-    (synopsis "Grounder and solver for logic programs")
-    (description "Clingo computes answer sets for a given logic program.")
-    (license license:expat)))
-
-(define-public python-clingo
-  (package
-    (inherit clingo)
-    (name "python-clingo")
-    (version (package-version clingo)) ; for #$version in arguments
-    (arguments
-     (substitute-keyword-arguments (package-arguments clingo)
-       ((#:configure-flags flags #~'())
-        #~(cons* "-DCLINGO_BUILD_WITH_PYTHON=pip"
-                 "-DCLINGO_USE_LIB=yes"
-                 #$flags))
-       ((#:imported-modules _ '())
-        `(,@%cmake-build-system-modules
-          (guix build python-build-system)))
-       ((#:modules _ '())
-        '((guix build cmake-build-system)
-          ((guix build python-build-system) #:prefix python:)
-          (guix build utils)))
-       ((#:phases phases #~%standard-phases)
-        #~(modify-phases #$phases
-            (add-after 'unpack 'fix-failing-tests
-              (lambda _
-                (substitute* "libpyclingo/clingo/tests/test_conf.py"
-                  (("ctl\\.solve\\(on_statistics=on_statistics\\)" all)
-                   (string-append
-                    all
-                    "; self.skipTest(\"You shall not fail.\")")))))
-            (add-after 'install 'install-distinfo
-              (lambda* (#:key inputs outputs #:allow-other-keys)
-                (with-directory-excursion (python:site-packages inputs outputs)
-                   (let ((dir (string-append "clingo-" #$version ".dist-info")))
-                     (mkdir-p dir)
-                     (call-with-output-file (string-append dir "/METADATA")
-                       (lambda (port)
-                         (format port "Metadata-Version: 1.1~%")
-                         (format port "Name: clingo~%")
-                         (format port "Version: ~a~%" #$version)))))))))))
-    (inputs (list clingo python-wrapper))
-    (propagated-inputs (list python-cffi))
-    (native-inputs (modify-inputs (package-native-inputs clingo)
-                     (prepend python-scikit-build)))
-    (synopsis "Python bindings for clingo")
-    (description "This package provides Python bindings to the clingo package,
-making it so that you can write @acronym{ASPs, Answer Set Programs} through
-Python code.")))
-
-(define-public python-clorm
-  (package
-   (name "python-clorm")
-   (version "1.4.1")
-   (source (origin
-            (method git-fetch)
-            (uri (git-reference
-                  (url "https://github.com/potassco/clorm")
-                  (commit (string-append "v" version))))
-            (file-name (git-file-name name version))
-            (sha256
-             (base32
-              "0jx99y71mrgdicn1da5dwz5nzgvvpabrikff783sg4shbv2cf0b5"))))
-   (build-system pyproject-build-system)
-   (arguments
-    (list #:phases
-          #~(modify-phases %standard-phases
-              (add-before 'check 'fix-breaking-tests
-                (lambda _
-                  ;; noclingo tests rely on this being set
-                  (setenv "CLORM_NOCLINGO" "1")
-                  (delete-file "tests/test_mypy_query.py")
-                  (substitute* "tests/test_clingo.py"
-                    (("self\\.assertTrue\\(os_called\\)" all)
-                     (string-append "# " all))))))))
-   (propagated-inputs (list python-clingo))
-   (native-inputs (list python-typing-extensions))
-   (home-page "https://potassco.org")
-   (synopsis "Object relational mapping to clingo")
-   (description "@acronym{Clorm, Clingo ORM} provides an @acronym{ORM,
-Object Relational Mapping} interface to the @acronym{ASP, answer set
-programming} solver clingo.  Its goal is to make integration of clingo
-into Python programs easier.")
-   (license license:expat)))
-
-(define-public python-telingo
-  (package
-    (name "python-telingo")
-    (version "2.1.1")
-    (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"))))
-    (build-system pyproject-build-system)
-    (propagated-inputs (list python-clingo))
-    (home-page "https://potassco.org/")
-    (synopsis "Solve dynamic temporal logic programs")
-    (description "This package provides a system to solve dynamic temporal
-logic programs based on clingo.")
-    (license license:expat)))
-
 (define-public scasp
   (let ((commit "89a427aa04ec6346425a40111c99b310901ffe51")
         (revision "1"))
diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
new file mode 100644
index 0000000000..22f70eba7f
--- /dev/null
+++ b/gnu/packages/potassco.scm
@@ -0,0 +1,345 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2022, 2023 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
+;;; Copyright © 2023 Simon Tournier <zimon.toutoune <at> 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/>.
+
+(define-module (gnu packages potassco)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages)
+  #:use-module (guix gexp)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix gexp)
+  #:use-module (guix utils)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system emacs)
+  #:use-module (guix build-system python)
+  #:use-module (guix build-system pyproject)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages libffi)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages python-xyz))
+
+(define-public libpotassco
+  ;; No public release, update together with clasp
+  (let ((revision "1")
+        (commit "2f9fb7ca2c202f1b47643aa414054f2f4f9c1821"))
+    (package
+      (name "libpotassco")
+      (version (git-version "0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/potassco/libpotassco")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1c32f9gqclf7qx07lpx8wd720vfhkjqhzc6nyy8mjmgwpmb3iyyn"))))
+      (arguments
+       `(#:configure-flags '("-DLIB_POTASSCO_BUILD_TESTS=on"
+                             "-DLIB_POTASSCO_INSTALL_LIB=on"
+                             "-DBUILD_SHARED_LIBS=on")
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'patch-cmake
+             (lambda _
+               (substitute* "CMakeLists.txt"
+                 ;; clasp expects lowercase potassco and include directory is
+                 ;; lowercase as well, so let's use that
+                 (("\"cmake/Potassco\"") "\"cmake/potassco\"")
+                 (("PotasscoConfig\\.cmake") "potassco-config.cmake")
+                 (("PotasscoConfigVersion\\.cmake")
+                  "potassco-config-version.cmake"))
+               (rename-file "cmake/PotasscoConfig.cmake.in"
+                            "cmake/potassco-config.cmake.in"))))))
+      (build-system cmake-build-system)
+      (home-page "https://potassco.org/")
+      (synopsis "Utility library for Potassco's projects")
+      (description "@code{libpotassco} is a utility library providing functions
+and datatypes for
+@itemize
+@item parsing, writing, and converting logic programs in aspif and smodels
+format,
+@item passing information between a grounder and a solver,
+@item and defining and parsing command-line options and for creating
+command-line applications.
+@end itemize
+Furthermore, it comes with the tool @command{lpconvert} that converts either
+between aspif and smodels format or to a human-readable text format.")
+      (license license:expat))))
+
+(define-public clasp
+  (package
+    (name "clasp")
+    (version "3.3.9")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/potassco/clasp")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "163ps9zq7xppqy9hj5qnw6z5lcjnm4xf5fwjsavpia5ynm3hngcw"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags '("-DCLASP_BUILD_TESTS=on"
+                           "-DCLASP_INSTALL_LIB=on"
+                           "-DCLASP_USE_LOCAL_LIB_POTASSCO=off"
+                           "-DBUILD_SHARED_LIBS=on")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-cmake
+           (lambda _
+             (substitute* "CMakeLists.txt"
+               ;; Use lowercase to be consistent with libpotassco
+               (("\"cmake/Clasp\"") "\"cmake/clasp\"")
+               (("ClaspConfig\\.cmake") "clasp-config.cmake")
+               (("ClaspConfigVersion\\.cmake")
+                "clasp-config-version.cmake"))
+             (substitute* "cmake/ClaspConfig.cmake.in"
+               (("find_package\\(Potassco") "find_package(potassco"))
+             (rename-file "cmake/ClaspConfig.cmake.in"
+                          "cmake/clasp-config.cmake.in"))))))
+    (inputs
+     (list libpotassco))
+    (home-page "https://potassco.org/")
+    (synopsis "Answer set solver")
+    (description "clasp is an answer set solver for (extended) normal and
+disjunctive logic programs.  The primary algorithm of clasp relies on
+conflict-driven nogood learning, a technique that proved very successful for
+satisfiability checking (SAT).")
+    (license license:expat)))
+
+(define-public clingo
+  (package
+    (name "clingo")
+    (version "5.6.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/potassco/clingo")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (modules '((guix build utils)))
+              (snippet
+               #~(begin
+                   (delete-file-recursively "clasp")
+                   ;; TODO: Unvendor other third-party stuff
+                   (delete-file-recursively "third_party/catch")))
+              (sha256
+               (base32
+                "19s59ndcm2yj0kxlikfxnx2bmp6b7n31wq1zvwc7hyk37rqarwys"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:configure-flags #~`("-DCLINGO_BUILD_TESTS=on"
+                            "-DCLINGO_INSTALL_LIB=on"
+                            "-DCLINGO_BUILD_STATIC=off"
+                            "-DCLINGO_BUILD_SHARED=on"
+                            "-DCLINGO_USE_LOCAL_CLASP=off"
+                            "-DCLINGO_USE_LOCAL_CATCH=off")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-cmake
+            (lambda _
+              (substitute* "CMakeLists.txt"
+                (("add_subdirectory\\(clasp\\)")
+                 "find_package(clasp REQUIRED)"))
+              (substitute* "libclingo/CMakeLists.txt"
+                (("\"cmake/Clingo\"") "\"cmake/clingo\"")
+                (("ClingoConfig\\.cmake") "clingo-config.cmake")
+                (("ClingoConfigVersion\\.cmake")
+                 "clingo-config-version.cmake"))
+              (substitute* "cmake/ClingoConfig.cmake.in"
+                (("find_package\\(Clasp") "find_package(clasp"))
+              (rename-file "cmake/ClingoConfig.cmake.in"
+                           "cmake/clingo-config.cmake.in")))
+          (add-after 'unpack 'skip-failing-tests
+            (lambda _
+              (with-directory-excursion "libclingo/tests"
+                (substitute* "CMakeLists.txt"
+                  (("COMMAND test_clingo" all)
+                   (string-append all
+                                  " -f "
+                                  "\"${CMAKE_CURRENT_SOURCE_DIR}/good.txt\"")))
+                (call-with-output-file "good.txt"
+                  (lambda (port)
+                    (for-each (lambda (test) (format port "~s~%" test))
+                              '("parse-ast-v2" "add-ast-v2" "build-ast-v2"
+                                "unpool-ast-v2" "parse_term"
+                                "propagator" "propgator-sequence-mining"
+                                "symbol" "visitor"))))))))))
+    (inputs (list catch2-3.1 clasp libpotassco))
+    (native-inputs (list pkg-config))
+    (home-page "https://potassco.org/")
+    (synopsis "Grounder and solver for logic programs")
+    (description "Clingo computes answer sets for a given logic program.")
+    (license license:expat)))
+
+(define-public emacs-pasp-mode
+  (let ((commit "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92")
+        (revision "1"))
+    (package
+     (name "emacs-pasp-mode")
+     (version (git-version "0.1.0" revision commit))
+     (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/santifa/pasp-mode")
+                    (commit commit)))
+              (patches
+               (search-patches "emacs-pasp-mode-quote-file-names.patch"))
+              (sha256
+               (base32
+                "1ar4vws3izzmir7m870mccci620ns3c5j26dcmwaxavhgw45wcmf"))))
+     (build-system emacs-build-system)
+     (arguments
+      (list
+       #:phases
+       #~(modify-phases %standard-phases
+           (add-after 'unpack 'defconst-version
+             (lambda _
+               (emacs-batch-edit-file "pasp-mode.el"
+                 '(progn
+                   (search-forward-regexp "(defcustom pasp-mode-version")
+                   (forward-sexp)
+                   (kill-sexp)
+                   (backward-sexp)
+                   (beginning-of-line)
+                   (kill-sexp)
+                   (insert (format "(defconst emacs-pasp-version \"%s\" %s)"
+                                   #$version (cadr kill-ring)))
+                   (basic-save-buffer)))))
+           (add-after 'unpack 'hardcode-clingo
+             (lambda* (#:key inputs #:allow-other-keys)
+               (emacs-substitute-variables "pasp-mode.el"
+                 ("pasp-clingo-path"
+                  (search-input-file inputs "/bin/clingo"))))))))
+     (inputs (list clingo))
+     (home-page "https://github.com/santifa/pasp-mode")
+     (synopsis "Major mode for editing answer set programs")
+     (description
+      "This package provides a major mode for editing answer set programs,
+in particular ones that can be solved by @command{clingo}.")
+     (license license:gpl3+))))
+
+(define-public python-clingo
+  (package
+    (inherit clingo)
+    (name "python-clingo")
+    (version (package-version clingo)) ; for #$version in arguments
+    (arguments
+     (substitute-keyword-arguments (package-arguments clingo)
+       ((#:configure-flags flags #~'())
+        #~(cons* "-DCLINGO_BUILD_WITH_PYTHON=pip"
+                 "-DCLINGO_USE_LIB=yes"
+                 #$flags))
+       ((#:imported-modules _ '())
+        `(,@%cmake-build-system-modules
+          (guix build python-build-system)))
+       ((#:modules _ '())
+        '((guix build cmake-build-system)
+          ((guix build python-build-system) #:prefix python:)
+          (guix build utils)))
+       ((#:phases phases #~%standard-phases)
+        #~(modify-phases #$phases
+            (add-after 'unpack 'fix-failing-tests
+              (lambda _
+                (substitute* "libpyclingo/clingo/tests/test_conf.py"
+                  (("ctl\\.solve\\(on_statistics=on_statistics\\)" all)
+                   (string-append
+                    all
+                    "; self.skipTest(\"You shall not fail.\")")))))
+            (add-after 'install 'install-distinfo
+              (lambda* (#:key inputs outputs #:allow-other-keys)
+                (with-directory-excursion (python:site-packages inputs outputs)
+                   (let ((dir (string-append "clingo-" #$version ".dist-info")))
+                     (mkdir-p dir)
+                     (call-with-output-file (string-append dir "/METADATA")
+                       (lambda (port)
+                         (format port "Metadata-Version: 1.1~%")
+                         (format port "Name: clingo~%")
+                         (format port "Version: ~a~%" #$version)))))))))))
+    (inputs (list clingo python-wrapper))
+    (propagated-inputs (list python-cffi))
+    (native-inputs (modify-inputs (package-native-inputs clingo)
+                     (prepend python-scikit-build)))
+    (synopsis "Python bindings for clingo")
+    (description "This package provides Python bindings to the clingo package,
+making it so that you can write @acronym{ASPs, Answer Set Programs} through
+Python code.")))
+
+(define-public python-clorm
+  (package
+   (name "python-clorm")
+   (version "1.4.1")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://github.com/potassco/clorm")
+                  (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32
+              "0jx99y71mrgdicn1da5dwz5nzgvvpabrikff783sg4shbv2cf0b5"))))
+   (build-system pyproject-build-system)
+   (arguments
+    (list #:phases
+          #~(modify-phases %standard-phases
+              (add-before 'check 'fix-breaking-tests
+                (lambda _
+                  ;; noclingo tests rely on this being set
+                  (setenv "CLORM_NOCLINGO" "1")
+                  (delete-file "tests/test_mypy_query.py")
+                  (substitute* "tests/test_clingo.py"
+                    (("self\\.assertTrue\\(os_called\\)" all)
+                     (string-append "# " all))))))))
+   (propagated-inputs (list python-clingo))
+   (native-inputs (list python-typing-extensions))
+   (home-page "https://potassco.org")
+   (synopsis "Object relational mapping to clingo")
+   (description "@acronym{Clorm, Clingo ORM} provides an @acronym{ORM,
+Object Relational Mapping} interface to the @acronym{ASP, answer set
+programming} solver clingo.  Its goal is to make integration of clingo
+into Python programs easier.")
+   (license license:expat)))
+
+(define-public python-telingo
+  (package
+    (name "python-telingo")
+    (version "2.1.1")
+    (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"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-clingo))
+    (home-page "https://potassco.org/")
+    (synopsis "Solve dynamic temporal logic programs")
+    (description "This package provides a system to solve dynamic temporal
+logic programs based on clingo.")
+    (license license:expat)))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:04 GMT) Full text and rfc822 format available.

Message #137 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 08/19] gnu: python-pluggy: Move to (gnu packages
 python-build).
Date: Sat, 18 Mar 2023 08:44:28 +0100
* gnu/packages/python-xyz.scm (python-pluggy, python-pluggy-next): Move from
here…
* gnu/packages/python-build.scm (python-pluggy, python-pluggy-next): …to here.
Reindent using Emacs.
---
 gnu/packages/python-build.scm | 33 +++++++++++++++++++++++++++++++++
 gnu/packages/python-xyz.scm   | 33 ---------------------------------
 2 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index a4be4b4991..1281824a97 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -589,3 +589,36 @@ (define-public python-pathspec
 specified patterns.  It is currently limited to wildmatch-style patterns,
 which are used e.g. in .gitignore files.")
     (license license:mpl2.0)))
+
+(define-public python-pluggy
+  (package
+    (name "python-pluggy")
+    (version "0.13.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pluggy" version))
+       (sha256
+        (base32
+         "1c35qyhvy27q9ih9n899f3h4sdnpgq027dbiilly2qb5cvgarchm"))))
+    (build-system python-build-system)
+    (native-inputs
+     (list python-setuptools-scm))
+    (synopsis "Plugin and hook calling mechanism for Python")
+    (description "Pluggy is an extraction of the plugin manager as used by
+Pytest but stripped of Pytest specific details.")
+    (home-page "https://pypi.org/project/pluggy/")
+    (license license:expat)))
+
+;;; TODO: Make this the default python-pluggy in the next rebuild cycle.
+(define-public python-pluggy-next
+  (package
+    (inherit python-pluggy)
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pluggy" version))
+       (sha256
+        (base32
+         "0n8iadlas2z1b4h0fc73b043c7iwfvx9rgvqm1azjmffmhxkf922"))))))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bca7804e04..81101be1da 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15458,39 +15458,6 @@ (define-public python-rsa
    (home-page "https://stuvel.eu/rsa")
    (license license:asl2.0)))
 
-(define-public python-pluggy
-  (package
-   (name "python-pluggy")
-   (version "0.13.1")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (pypi-uri "pluggy" version))
-     (sha256
-      (base32
-       "1c35qyhvy27q9ih9n899f3h4sdnpgq027dbiilly2qb5cvgarchm"))))
-   (build-system python-build-system)
-   (native-inputs
-    (list python-setuptools-scm))
-   (synopsis "Plugin and hook calling mechanism for Python")
-   (description "Pluggy is an extraction of the plugin manager as used by
-Pytest but stripped of Pytest specific details.")
-   (home-page "https://pypi.org/project/pluggy/")
-   (license license:expat)))
-
-;;; TODO: Make this the default python-pluggy in the next rebuild cycle.
-(define-public python-pluggy-next
-  (package
-   (inherit python-pluggy)
-   (version "1.0.0")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (pypi-uri "pluggy" version))
-     (sha256
-      (base32
-       "0n8iadlas2z1b4h0fc73b043c7iwfvx9rgvqm1azjmffmhxkf922"))))))
-
 (define-public python-plumbum
   (package
     (name "python-plumbum")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:05 GMT) Full text and rfc822 format available.

Message #140 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 17/19] gnu: python-databases: Revise description.
Date: Sat, 18 Mar 2023 09:48:02 +0100
* gnu/packages/databases.scm (python-databases)[synopsis]: Spell out
“Asynchronous”.
[description]: Mention that it's a wrapper around other libraries using
SQLAlchemy.
---
 gnu/packages/databases.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 5a38b1adb3..1328818449 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3683,8 +3683,9 @@ (define-public python-databases
            python-asyncmy
            python-sqlalchemy))
     (home-page "https://github.com/encode/databases")
-    (synopsis "Async database support for Python")
-    (description "This package implements async database support for Python.")
+    (synopsis "Asynchronous database abstraction library")
+    (description "Databases provides a wrapper around asynchronous database
+libraries with SQLALchemy.")
     (license license:bsd-3)))
 
 (define-public python-psycopg2
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:05 GMT) Full text and rfc822 format available.

Message #143 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 06/19] gnu: python-pathspec: Revise description.
Date: Sat, 18 Mar 2023 08:34:31 +0100
* gnu/packages/python-xyz.scm (python-pathspec)[synopsis, description]:
Rewrite to better explain what it does.
---
 gnu/packages/python-xyz.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 37592452c9..4815b6d948 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6061,10 +6061,11 @@ (define-public python-pathspec
          "1g7b60ds4mwm4vyff7c5n4d3ynasgf8fc893g70r2kliw3a3ilv4"))))
     (build-system python-build-system)
     (home-page "https://github.com/cpburnz/python-path-specification")
-    (synopsis "Utility library for gitignore style pattern matching of file paths")
+    (synopsis "Match file names against specifications")
     (description
-     "This package provides a utility library for gitignore style pattern
-matching of file paths.")
+     "This package provides a utility library to match file names against
+specified patterns.  It is currently limited to wildmatch-style patterns,
+which are used e.g. in .gitignore files.")
     (license license:mpl2.0)))
 
 (define-public python-black
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:06 GMT) Full text and rfc822 format available.

Message #146 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 07/19] gnu: python-pathspec: Move to (gnu packages
 python-build).
Date: Sat, 18 Mar 2023 08:43:56 +0100
* gnu/packages/python-xyz.scm (python-pathspec): Move from here…
* gnu/packages/python-build.scm (python-pathspec): …to here.
---
 gnu/packages/python-build.scm | 20 ++++++++++++++++++++
 gnu/packages/python-xyz.scm   | 20 --------------------
 2 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 17f8892c05..a4be4b4991 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -569,3 +569,23 @@ (define-public python-editables
 ``editable mode''.  In other words, changes to the package source will be
 reflected in the package visible to Python, without needing a reinstall.")
     (license license:expat)))
+
+(define-public python-pathspec
+  (package
+    (name "python-pathspec")
+    (version "0.11.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pathspec" version))
+       (sha256
+        (base32
+         "1g7b60ds4mwm4vyff7c5n4d3ynasgf8fc893g70r2kliw3a3ilv4"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/cpburnz/python-path-specification")
+    (synopsis "Match file names against specifications")
+    (description
+     "This package provides a utility library to match file names against
+specified patterns.  It is currently limited to wildmatch-style patterns,
+which are used e.g. in .gitignore files.")
+    (license license:mpl2.0)))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4815b6d948..bca7804e04 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6048,26 +6048,6 @@ (define-public python-lsp-server
 (define-public python-language-server
   (deprecated-package "python-language-server" python-lsp-server))
 
-(define-public python-pathspec
-  (package
-    (name "python-pathspec")
-    (version "0.11.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "pathspec" version))
-       (sha256
-        (base32
-         "1g7b60ds4mwm4vyff7c5n4d3ynasgf8fc893g70r2kliw3a3ilv4"))))
-    (build-system python-build-system)
-    (home-page "https://github.com/cpburnz/python-path-specification")
-    (synopsis "Match file names against specifications")
-    (description
-     "This package provides a utility library to match file names against
-specified patterns.  It is currently limited to wildmatch-style patterns,
-which are used e.g. in .gitignore files.")
-    (license license:mpl2.0)))
-
 (define-public python-black
   (package
     (name "python-black")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:06 GMT) Full text and rfc822 format available.

Message #149 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 15/19] gnu: python-aiosqlite: Update to 0.18.0.
Date: Sat, 18 Mar 2023 09:43:29 +0100
* gnu/packages/databases.scm (python-aiosqlite): Update to 0.18.0.
[source]: Use git-fetch and git-reference.
[build-system]: Use pyproject-build-system.
[arguments]: Adjust accordingly.
[propagated-inputs]: Remove.
[native-inputs]: Remove python-aiounittest.
Add python-flit-core, python-coverage and python-mypy.
---
 gnu/packages/databases.scm | 41 +++++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 6de24db720..2ea2f8325e 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3633,27 +3633,28 @@ (define-public python-apsw
 (define-public python-aiosqlite
   (package
     (name "python-aiosqlite")
-    (version "0.17.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "aiosqlite" version))
-       (sha256
-        (base32
-         "0lgfpbkcd730hbgj3zlrbx2y8fzvdns2zj3s4r4l31n49g1arrph"))))
-    (build-system python-build-system)
+    (version "0.18.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/omnilib/aiosqlite")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1a8sggh1wwbpl46k5qcfmp97s9hjysna0x7mwwc53kyfm0m95wf8"))))
+    (build-system pyproject-build-system)
     (arguments
-     '(#:phases (modify-phases %standard-phases
-                  (replace 'check
-                    (lambda* (#:key tests? #:allow-other-keys)
-                      (if tests?
-                          (invoke "python" "-m" "unittest" "aiosqlite.tests")
-                          (format #t "test suite not run~%"))
-                      #t)))))
-    (propagated-inputs
-     (list python-typing-extensions))
-    (native-inputs
-     (list python-aiounittest))
+     (list #:phases #~(modify-phases %standard-phases
+                        (replace 'check
+                          (lambda* (#:key tests? #:allow-other-keys)
+                            (when tests?
+                              (invoke "python" "-m" "coverage" "run" "-m"
+                                      "aiosqlite.tests")
+                              (invoke "python" "-m" "coverage" "report")))))))
+    (native-inputs (list python-flit-core
+                         python-coverage
+                         python-mypy))
     (home-page "https://github.com/jreese/aiosqlite")
     (synopsis
      "Asyncio bridge for sqlite3")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:07 GMT) Full text and rfc822 format available.

Message #152 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 11/19] gnu: python-starlette: Update to 0.25.0.
Date: Sat, 18 Mar 2023 08:48:57 +0100
* gnu/packages/python-web.scm (python-starlette): Update to 0.25.0.
[source]: Switch to git-fetch and git-reference.
[build-system]: Use pyproject-build-system.
[native-inputs]: Add python-hatchling, python-httpx, python-pytest, and
python-typing-extensions-next.
---
 gnu/packages/python-web.scm | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 072d160c26..14fc4763f5 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -8196,14 +8196,17 @@ (define-public python-sendgrid
 (define-public python-starlette
   (package
     (name "python-starlette")
-    (version "0.20.4")
+    (version "0.25.0")
     (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "starlette" version))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/encode/starlette")
+                    (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "112hmwk4fh4dl21nlr2xd37h43xzxpjxfnic7v7fz3wr5w9g7z22"))))
-    (build-system python-build-system)
+                "1mkkj15lphgycnp51dnrfxbyrx3dicjdcpsqvwc7yw55zyih6h5k"))))
+    (build-system pyproject-build-system)
     (propagated-inputs (list python-anyio
                              python-typing-extensions
                              ;; [all] extra dependencies:
@@ -8212,6 +8215,10 @@ (define-public python-starlette
                              python-multipart
                              python-pyyaml
                              python-requests))
+    (native-inputs (list python-hatchling
+                         python-httpx
+                         python-pytest
+                         python-typing-extensions-next))
     (home-page "https://github.com/encode/starlette")
     (synopsis "Little ASGI library")
     (description
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:07 GMT) Full text and rfc822 format available.

Message #155 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Cc: Ricardo Wurmus <rekado <at> elephly.net>
Subject: [PATCH v3 10/19] gnu: python-hatchling: Move to (gnu packages build).
Date: Sat, 18 Mar 2023 08:44:38 +0100
* gnu/packages/python-xyz.scm (python-hatchling): Move from here…
* gnu/packages/python-build.scm (python-hatchling): … to here.
[propagated-inputs]: Remove python-importlib-metadata.
Replace python-packaging with python-packaging-bootstrap.
[arguments]: Clarify #:tests?.
Rename ‘do-not-depend-on-hatchling’ to ‘bootstrap-without-hatchling’.
---
 gnu/packages/python-build.scm | 48 +++++++++++++++++++++++++++++++++++
 gnu/packages/python-xyz.scm   | 45 --------------------------------
 2 files changed, 48 insertions(+), 45 deletions(-)

diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 1281824a97..eb864d8ad6 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -28,6 +28,7 @@ (define-module (gnu packages python-build)
   #:use-module (gnu packages)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system pyproject)
   #:use-module (guix gexp)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -622,3 +623,50 @@ (define-public python-pluggy-next
        (sha256
         (base32
          "0n8iadlas2z1b4h0fc73b043c7iwfvx9rgvqm1azjmffmhxkf922"))))))
+
+(define-public python-hatchling
+  (package
+    (name "python-hatchling")
+    (version "1.13.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "hatchling" version))
+              (sha256
+               (base32
+                "1isk1kqra0sm2sj2yp39sgk62mx0bp1jnbkwdcl3a1vjrji7blpq"))))
+    (arguments
+     (list
+     ;; Tests don't appear to be integrated into build.
+     ;; Also, we can't rely on python-pytest anyway, as that's in
+     ;; (gnu packages python-check)...
+      #:tests? #false
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'bootstrap-without-hatchling
+            (lambda _
+              ;; We don't use hatchling.
+              (delete-file "pyproject.toml")
+              (call-with-output-file "pyproject.toml"
+                (lambda (port)
+                  (format port "\
+[build-system]
+build-backend = 'setuptools.build_meta'
+requires = ['setuptools']
+")))
+              (call-with-output-file "setup.cfg"
+                (lambda (port)
+                  (format port "\
+[metadata]
+name = hatchling
+version = '~a' " #$version))))))))
+    (propagated-inputs
+     (list python-editables
+           python-pathspec
+           python-packaging-bootstrap
+           python-pluggy
+           python-tomli))
+    (build-system pyproject-build-system)
+    (home-page "https://hatch.pypa.io/")
+    (synopsis "Extensible Python build backend")
+    (description "Hatchling is an extensible Python build backend.")
+    (license license:expat)))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 659339d2a5..f78eef2744 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1755,51 +1755,6 @@ (define-public python-boolean.py
 Expressions are constructed from parsed strings or directly in Python.")
     (license license:bsd-2)))
 
-(define-public python-hatchling
-  (package
-    (name "python-hatchling")
-    (version "1.13.0")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "hatchling" version))
-              (sha256
-               (base32
-                "1isk1kqra0sm2sj2yp39sgk62mx0bp1jnbkwdcl3a1vjrji7blpq"))))
-    (build-system pyproject-build-system)
-    (arguments
-     (list
-      #:tests? #false ;there are none
-      #:phases
-      #~(modify-phases %standard-phases
-          (add-after 'unpack 'do-not-depend-on-hatchling
-            (lambda _
-              ;; We don't use hatchling.
-              (delete-file "pyproject.toml")
-              (call-with-output-file "pyproject.toml"
-                (lambda (port)
-                  (format port "\
-[build-system]
-build-backend = 'setuptools.build_meta'
-requires = ['setuptools']
-")))
-              (call-with-output-file "setup.cfg"
-                (lambda (port)
-                  (format port "\
-[metadata]
-name = hatchling
-version = '~a' " #$version))))))))
-    (propagated-inputs
-     (list python-editables
-           python-importlib-metadata
-           python-packaging
-           python-pathspec
-           python-pluggy
-           python-tomli))
-    (home-page "https://hatch.pypa.io/")
-    (synopsis "Extensible Python build backend")
-    (description "Hatchling is an extensible Python build backend.")
-    (license license:expat)))
-
 (define-public python-hdf4
   (package
    (name "python-hdf4")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:07 GMT) Full text and rfc822 format available.

Message #158 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 12/19] gnu: python-sqlalchemy: Update to 1.4.42.
Date: Sat, 18 Mar 2023 08:51:04 +0100
* gnu/packages/databases.scm (python-sqlalchemy): Update to 1.4.42.
---
 gnu/packages/databases.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index e51ddd5bf2..5b2e1849c8 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3397,13 +3397,13 @@ (define-public python-ccm
 (define-public python-sqlalchemy
   (package
     (name "python-sqlalchemy")
-    (version "1.4.35")
+    (version "1.4.42")
     (source
      (origin
       (method url-fetch)
       (uri (pypi-uri "SQLAlchemy" version))
       (sha256
-       (base32 "1ddab00d5mpzg25r1qxccma2zb551hhmymsy1ycp6r6w04xq3z1g"))))
+       (base32 "0qzkxy47y06fqh1m7a0p7q2r9h48x9k5kl3znzhx2vj79j8l2zhp"))))
     (build-system python-build-system)
     (native-inputs
      (list python-cython ; for C extensions
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:08 GMT) Full text and rfc822 format available.

Message #161 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 13/19] gnu: python-pymysql: Update to 1.0.2.
Date: Sat, 18 Mar 2023 09:19:58 +0100
* gnu/packages/databases.scm (python-pymysql): Update to 1.0.2.
---
 gnu/packages/databases.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 5b2e1849c8..74eacede78 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1529,13 +1529,13 @@ (define-public pgloader
 (define-public python-pymysql
   (package
     (name "python-pymysql")
-    (version "0.9.3")
+    (version "1.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "PyMySQL" version))
        (sha256
-        (base32 "1ry8lxgdc1p3k7gbw20r405jqi5lvhi5wk83kxdbiv8xv3f5kh6q"))))
+        (base32 "0dmdszskfri11b9m6n3lag31vzi10aqxz9gc583md3gka2ijfsc1"))))
     (build-system python-build-system)
     (inputs
      (list python-cryptography))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:08 GMT) Full text and rfc822 format available.

Message #164 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 14/19] gnu: python-aiomysql: Update to 0.1.1.
Date: Sat, 18 Mar 2023 08:57:23 +0100
* gnu/packages/databases.scm (python-aiomysql): Update to 0.1.1.
[build-system]: Change to pyproject-build-system.
---
 gnu/packages/databases.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 74eacede78..6de24db720 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3009,14 +3009,14 @@ (define-public python-asyncmy
 (define-public python-aiomysql
   (package
     (name "python-aiomysql")
-    (version "0.0.21")
+    (version "0.1.1")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "aiomysql" version))
         (sha256
-          (base32 "0b442d0jb82z3lk19ylmm64ix88ppz7gay08bxld538ivg06j5c1"))))
-    (build-system python-build-system)
+          (base32 "0zhhisf2bz2hv0vcklw45k54yr0f7gx61gnq4lc7vdp6v97nqs0d"))))
+    (build-system pyproject-build-system)
     (arguments '(#:tests? #f))           ;test suite requires docker
     (propagated-inputs (list python-pymysql))
     (home-page "https://github.com/aio-libs/aiomysql")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:09 GMT) Full text and rfc822 format available.

Message #167 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 16/19] gnu: python-databases: Update to 0.7.0.
Date: Sat, 18 Mar 2023 09:47:55 +0100
* gnu/packages/databases.scm (python-databases): Update to 0.7.0.
---
 gnu/packages/databases.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 2ea2f8325e..5a38b1adb3 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3667,13 +3667,13 @@ (define-public python-aiosqlite
 (define-public python-databases
   (package
     (name "python-databases")
-    (version "0.5.5")
+    (version "0.7.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "databases" version))
        (sha256
-        (base32 "0dzb998kg35xmd50ih168320vih2w3ich798r8fc4lf9q4bb1ih2"))))
+        (base32 "0x5nqhzgjqimv2ybjbzy5vv0l23g0n1g5f6fnyahbf1f7nfl2bga"))))
     (build-system python-build-system)
     (propagated-inputs
      (list python-aiosqlite
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:09 GMT) Full text and rfc822 format available.

Message #170 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Cc: Ricardo Wurmus <rekado <at> elephly.net>
Subject: [PATCH v3 09/19] gnu: python-hatchling: Use upstream homepage.
Date: Sun, 26 Mar 2023 08:19:53 +0200
* gnu/packages/python-xyz.scm (python-hatchling)[home-page]: Use
“hatch.pypa.io”.
---
 gnu/packages/python-xyz.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 81101be1da..659339d2a5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1795,7 +1795,7 @@ (define-public python-hatchling
            python-pathspec
            python-pluggy
            python-tomli))
-    (home-page "https://pypi.org/project/hatchling/")
+    (home-page "https://hatch.pypa.io/")
     (synopsis "Extensible Python build backend")
     (description "Hatchling is an extensible Python build backend.")
     (license license:expat)))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:09 GMT) Full text and rfc822 format available.

Message #173 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 18/19] gnu: Add python-fastapi.
Date: Sat, 18 Mar 2023 09:59:52 +0100
* gnu/packages/python-web.scm (python-fastapi): New variable.
---
 gnu/packages/python-web.scm | 62 +++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 14fc4763f5..1e5cd6220a 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -8226,6 +8226,68 @@ (define-public python-starlette
 Interface) framework/toolkit for building async web services in Python.")
     (license license:bsd-3)))
 
+(define-public python-fastapi
+  (package
+    (name "python-fastapi")
+    (version "0.92.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "fastapi" version))
+              (sha256
+               (base32
+                "1pm4p5i9h732f0qag85yd9ngjz8x9bhs3fyk2j861cn8s9dhyfh2"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'drop-orjson
+            (lambda _
+              (substitute* "pyproject.toml"
+                (("\"orjson.*\",") ""))))
+          (add-after 'unpack 'delete-failing-tests
+            (lambda _
+              (for-each
+               delete-file
+               (append
+                '("docs_src/app_testing/app_b_py310/test_main.py"
+                  "tests/test_tutorial/test_templates/test_tutorial001.py")
+                (find-files "docs_src/sql_databases/"
+                            "test_sql_app\\.py$")
+                (find-files "tests"
+                            "test_(default|orjson)_response_class\\.py$")
+                (find-files "tests/test_tutorial"
+                            "test_tutorial00(1b|9c)\\.py$")
+                (find-files "tests/test_tutorial"
+                            "test_testing_databases.*\\.py$"))))))))
+    (propagated-inputs (list python-email-validator
+                             python-httpx
+                             python-itsdangerous
+                             python-jinja2
+                             python-multipart
+                             python-starlette
+                             python-pydantic
+                             python-pyyaml
+                             python-uvicorn
+                             python-ujson))
+    (native-inputs (list python-databases
+                         python-flask
+                         python-hatchling
+                         python-isort
+                         python-jose
+                         python-mypy
+                         python-passlib
+                         python-peewee
+                         python-pytest
+                         python-sqlalchemy
+                         python-types-orjson
+                         python-types-ujson))
+    (home-page "https://github.com/tiangolo/fastapi")
+    (synopsis "Web framework based on type hints")
+    (description "FastAPI provides a web API framework based on pydantic and
+starlette.")
+    (license license:expat)))
+
 (define-public python-pyactiveresource
   (package
     (name "python-pyactiveresource")
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 06:38:10 GMT) Full text and rfc822 format available.

Message #176 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 62252 <at> debbugs.gnu.org
Subject: [PATCH v3 19/19] gnu: Add python-clinguin.
Date: Sat, 18 Mar 2023 10:01:48 +0100
* gnu/packages/potassco.scm (python-clinguin): New variable.
---
 gnu/packages/potassco.scm | 49 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 48 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index 0e6973d980..a3e33ea249 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -35,7 +35,9 @@ (define-module (gnu packages potassco)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages python-xyz))
+  #:use-module (gnu packages python-web)
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx))
 
 (define-public libpotassco
   ;; No public release, update together with clasp
@@ -374,3 +376,48 @@ (define-public python-clingraph
      "This package provides a clingo-based visualizer for graphs defined
 as logic programs.")
     (license license:expat)))
+
+(define-public python-clinguin
+  (package
+   (name "python-clinguin")
+   (version "1.0.0-beta")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://github.com/potassco/clinguin")
+                  (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32
+              "032fnzxv6wl01sdq7n2k0ikajpmkg8ihjh5mck1mwjvmis8z16d4"))
+            (modules '((guix build utils)))
+            (snippet
+             #~(begin
+                 (substitute* "setup.cfg"
+                   ;; Fun fact of the day
+                   ;; some typo squatter hosted
+                   ;; a package named tk
+                   (("tk") "")
+                   (("typing") "typing;python_version<\"3.5\""))))))
+   (build-system pyproject-build-system)
+   (propagated-inputs
+    (list python-clingo
+          python-clorm
+          python-clingraph
+          python-fastapi
+          python-httpx
+          python-nbconvert
+          python-nbformat
+          python-nbsphinx
+          python-networkx
+          python-pillow
+          python-pydantic
+          `(,python "tk")
+          python-sphinx-rtd-theme
+          python-traitlets
+          python-uvicorn))
+   (home-page "https://github.com/potassco/clingraph")
+   (synopsis "Clingo-based interactive UI")
+   (description "Clinguin is a graphical user interface toolkit for clingo,
+which allows user interfaces to be specified entirely as a logic program.")
+   (license license:expat)))
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 08:05:01 GMT) Full text and rfc822 format available.

Message #179 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: 62252 <at> debbugs.gnu.org
Subject: Re: [PATCH v3 09/19] gnu: python-hatchling: Use upstream homepage.
Date: Sun, 26 Mar 2023 09:55:05 +0200
Hi,

I have built python-orjson on wip-rekado-rust-team, which is based on
top of the rust-team (but rebased on top of current master).  This lets
us build python-fastapi without having to remove orjson.

(I worked on packaging python-fastapi for python-pytorch-lightning.)

My python-fastapi package looks like this:

--8<---------------cut here---------------start------------->8---
+(define-public python-fastapi
+  (package
+    (name "python-fastapi")
+    (version "0.95.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "fastapi" version))
+              (sha256
+               (base32
+                "062fy794mv0yfb4ac5yaaqh6a0k7npa0n7dc4x0a5ncx1sqzvm4r"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags '(list "tests")))
+    (propagated-inputs (list python-pydantic python-starlette))
+    (native-inputs (list python-anyio
+                         python-black
+                         python-coverage
+                         python-databases
+                         python-email-validator
+                         python-flask
+                         python-hatchling
+                         python-httpx
+                         python-isort
+                         python-jose
+                         python-multipart
+                         python-mypy
+                         python-orjson
+                         python-passlib
+                         python-peewee
+                         python-pre-commit
+                         python-pytest
+                         python-pyyaml
+                         python-sqlalchemy
+                         python-types-orjson
+                         python-types-ujson
+                         python-ujson
+                         python-uvicorn))
…
--8<---------------cut here---------------end--------------->8---

The update of pathspec looks good to me, though with 300+ rebuilds this
whole thing should probably be built out on a feature branch first.

The starlette update also looks good to me, though you could move it to
0.26.1 (with hash 1gd9pvcfifrlaskqz741n4rbsgljn6jnjgkscvj211paay87knj1).
I used the version form pypi which didn’t come with tests, so I don’t
know if running the tests of 0.26.1 is more difficult than running those
of 0.25.

In any case, this whole patch set looks good to me.  I’m sorry for
stepping on your toes with python-hatchling.

-- 
Ricardo




Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 08:24:02 GMT) Full text and rfc822 format available.

Message #182 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 62252 <at> debbugs.gnu.org
Subject: Re: [PATCH v3 09/19] gnu: python-hatchling: Use upstream homepage.
Date: Sun, 26 Mar 2023 10:23:09 +0200
Am Sonntag, dem 26.03.2023 um 09:55 +0200 schrieb Ricardo Wurmus:
> Hi,
> 
> I have built python-orjson on wip-rekado-rust-team, which is based on
> top of the rust-team (but rebased on top of current master).  This
> lets us build python-fastapi without having to remove orjson.
Do we have an ETA on wip-rekado-rust-team?  And most importantly, does
it come with antioxidant? :)

> (I worked on packaging python-fastapi for python-pytorch-lightning.)
> 
> My python-fastapi package looks like this:
> 
> --8<---------------cut here---------------start------------->8---
> +(define-public python-fastapi
> +  (package
> +    (name "python-fastapi")
> +    (version "0.95.0")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (pypi-uri "fastapi" version))
> +              (sha256
> +               (base32
> +               
> "062fy794mv0yfb4ac5yaaqh6a0k7npa0n7dc4x0a5ncx1sqzvm4r"))))
> +    (build-system pyproject-build-system)
> +    (arguments
> +     (list
> +      #:test-flags '(list "tests")))
> +    (propagated-inputs (list python-pydantic python-starlette))
> +    (native-inputs (list python-anyio
> +                         python-black
> +                         python-coverage
> +                         python-databases
> +                         python-email-validator
> +                         python-flask
> +                         python-hatchling
> +                         python-httpx
> +                         python-isort
> +                         python-jose
> +                         python-multipart
> +                         python-mypy
> +                         python-orjson
> +                         python-passlib
> +                         python-peewee
> +                         python-pre-commit
> +                         python-pytest
> +                         python-pyyaml
> +                         python-sqlalchemy
> +                         python-types-orjson
> +                         python-types-ujson
> +                         python-ujson
> +                         python-uvicorn))
> …
> --8<---------------cut here---------------end--------------->8---
> 
> The update of pathspec looks good to me, though with 300+ rebuilds
> this whole thing should probably be built out on a feature branch
> first.
Hmm, 380 rebuilds would be fine if it was just python imho, but since
it appears to cut into R and Gnome as well, I get your point.  Should
we do the typical -next dance?

> The starlette update also looks good to me, though you could move it
> to 0.26.1 (with hash
> 1gd9pvcfifrlaskqz741n4rbsgljn6jnjgkscvj211paay87knj1).
> I used the version form pypi which didn’t come with tests, so I don’t
> know if running the tests of 0.26.1 is more difficult than running
> those of 0.25.
I actually haven't tested 0.26.1 – the patch was lying around for some
while before committing, since I didn't have the other parts running
back then.  I'll probably send a v4 once I check whether there's an
issue and what that issue might be.

Cheers

Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 26 Mar 2023 10:19:02 GMT) Full text and rfc822 format available.

Message #185 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: 62252 <at> debbugs.gnu.org
Subject: Re: [PATCH v3 09/19] gnu: python-hatchling: Use upstream homepage.
Date: Sun, 26 Mar 2023 12:14:28 +0200
Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:

> Am Sonntag, dem 26.03.2023 um 09:55 +0200 schrieb Ricardo Wurmus:
>> Hi,
>> 
>> I have built python-orjson on wip-rekado-rust-team, which is based on
>> top of the rust-team (but rebased on top of current master).  This
>> lets us build python-fastapi without having to remove orjson.
> Do we have an ETA on wip-rekado-rust-team?  And most importantly, does
> it come with antioxidant? :)

wip-rekado-rust-team is held up by the merge of the rust-team branch;
that one can only be merged once we’ve built rust on aarch64.  This
hasn’t succeeded yet as the builds time out or fail due to lack of
resources.  I’m trying to build it manually on ci.guix.gnu.org (i.e. not
through cuirass), so I have more control over options.

When rust-team has been merged, we’d build the few extra commits added
by wip-rekado-rust-team and merged that too.

> Hmm, 380 rebuilds would be fine if it was just python imho, but since
> it appears to cut into R and Gnome as well, I get your point.  Should
> we do the typical -next dance?

I don’t know.  I thought: rebase a feature branch on top of master,
start building it on ci, merge as soon as it’s done.

>> The starlette update also looks good to me, though you could move it
>> to 0.26.1 (with hash
>> 1gd9pvcfifrlaskqz741n4rbsgljn6jnjgkscvj211paay87knj1).
>> I used the version form pypi which didn’t come with tests, so I don’t
>> know if running the tests of 0.26.1 is more difficult than running
>> those of 0.25.
> I actually haven't tested 0.26.1 – the patch was lying around for some
> while before committing, since I didn't have the other parts running
> back then.  I'll probably send a v4 once I check whether there's an
> issue and what that issue might be.

Good good!

-- 
Ricardo




Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Sun, 02 Apr 2023 10:50:02 GMT) Full text and rfc822 format available.

Message #188 received at 62252 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 62252 <at> debbugs.gnu.org
Subject: Re: [PATCH v3 09/19] gnu: python-hatchling: Use upstream homepage.
Date: Sun, 02 Apr 2023 12:49:51 +0200
Am Sonntag, dem 26.03.2023 um 12:14 +0200 schrieb Ricardo Wurmus:
> > Hmm, 380 rebuilds would be fine if it was just python imho, but
> > since it appears to cut into R and Gnome as well, I get your point.
> > Should we do the typical -next dance?
> 
> I don’t know.  I thought: rebase a feature branch on top of master,
> start building it on ci, merge as soon as it’s done.
I split the series into one part that can go to master and the rest
went to the new "clinguin" branch.  How do I get that to build on CI?

Cheers




Reply sent to Ricardo Wurmus <rekado <at> elephly.net>:
You have taken responsibility. (Tue, 09 May 2023 17:59:01 GMT) Full text and rfc822 format available.

Notification sent to Liliana Marie Prikler <liliana.prikler <at> gmail.com>:
bug acknowledged by developer. (Tue, 09 May 2023 17:59:01 GMT) Full text and rfc822 format available.

Message #193 received at 62252-done <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: 62252-done <at> debbugs.gnu.org
Subject: [PATCH 00/19] Add python-clinguin
Date: Tue, 09 May 2023 19:57:02 +0200
Now that the rust-team branch has been merged I rebased the clinguin
branch, fixed a few problems, added orjson to fastapi, and pushed the
patches to the master branch.

Thank you for the patience!

-- 
Ricardo




Information forwarded to guix-patches <at> gnu.org:
bug#62252; Package guix-patches. (Tue, 09 May 2023 19:46:00 GMT) Full text and rfc822 format available.

Message #196 received at 62252-done <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Ricardo Wurmus <rekado <at> elephly.net>, 62252-done <at> debbugs.gnu.org
Subject: Re: [PATCH 00/19] Add python-clinguin
Date: Tue, 09 May 2023 21:45:41 +0200
Am Dienstag, dem 09.05.2023 um 19:57 +0200 schrieb Ricardo Wurmus:
> Now that the rust-team branch has been merged I rebased the clinguin
> branch, fixed a few problems, added orjson to fastapi, and pushed the
> patches to the master branch.
> 
> Thank you for the patience!
Thanks for the push.  I deleted the clinguin branch now since its job
is done.

Cheers




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 07 Jun 2023 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 316 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.