summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2022-12-08 09:48:53 +0100
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2022-12-15 16:55:51 +0100
commit1339623a42174c7cdfea07dc796908fae5ad047f (patch)
treec298875480be254b21ca32d26348baf0a45227c9 /gnu/packages
parent25e3e0c6eca0b78875f01904a95659aeddbbd4cd (diff)
downloadguix-1339623a42174c7cdfea07dc796908fae5ad047f.tar.gz
gnu: Add python-clingo.
* gnu/packages/maths.scm (python-clingo): New variable.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/maths.scm29
1 files changed, 29 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index e524b63699..64fa725184 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -127,6 +127,7 @@
   #: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)
@@ -2689,6 +2690,34 @@ satisfiability checking (SAT).")
     (description "Clingo computes answer sets for a given logic program.")
     (license license:expat)))
 
+(define-public python-clingo
+  (package
+    (inherit clingo)
+    (name "python-clingo")
+    (arguments
+     (substitute-keyword-arguments (package-arguments clingo)
+       ((#:configure-flags flags #~'())
+        #~(cons* "-DCLINGO_BUILD_WITH_PYTHON=pip"
+                 "-DCLINGO_USE_LIB=yes"
+                 #$flags))
+       ((#: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.\")")))))))))
+    (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 ceres
   (package
     (name "ceres-solver")