Subject: [bug#68712] [PATCH 1/4] gnu: Add python-clingo-dl.

From: Liliana Marie Prikler <[email-masked]>
Date: Thu, 25 Jan 2024 10:42:06 +0100

* gnu/packages/potassco.scm (python-clingo-dl): New variable.
---
 gnu/packages/potassco.scm | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index f2ee27db99..afc4c4d513 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2022, 2023 Liliana Marie Prikler <[email-masked]>
+;;; Copyright © 2022–2024 Liliana Marie Prikler <[email-masked]>
 ;;; Copyright © 2023 Simon Tournier <[email-masked]>
 ;;; Copyright © 2023 David Elsing <[email-masked]>
 ;;; Copyright © 2024 Ricardo Wurmus <[email-masked]>
@@ -370,6 +370,40 @@ (define-public python-clingo
 making it so that you can write @acronym{ASPs, Answer Set Programs} through
 Python code.")))
 
+(define-public python-clingo-dl
+  (package
+    (inherit clingo-dl)
+    (name "python-clingo-dl")
+    (version (package-version clingo-dl))
+    (arguments
+     (list
+      #:configure-flags #~'("-DPYCLINGODL_ENABLE=pip")
+      #:tests? #f
+      #: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
+      #~(modify-phases %standard-phases
+          (add-after 'install 'install-distinfo
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (with-directory-excursion (python:site-packages inputs outputs)
+                (let ((dir (string-append "clingodl-" #$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: clingodl~%")
+                      (format port "Version: ~a~%" #$version))))))))))
+    (inputs (modify-inputs (package-inputs clingo-dl)
+              (prepend python-wrapper)))
+    (propagated-inputs (list python-clingo python-cffi))
+    (synopsis "Python bindings for clingo-dl")
+    (description "This package allows users to add the clingo-dl propagator
+as a theory to clingo from Python code.  It also supports running clingo-dl
+directly from the python command line.")))
+
 (define-public python-clorm
   (package
    (name "python-clorm")
-- 
2.41.0