Subject: bug#73866: closed (Re: [PATCH] gnu: Add clingcon.)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 27 Oct 2024 08:45:02 +0000

Your bug report

#73866: [PATCH] gnu: Add clingcon.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
73866: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=73866
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [PATCH] gnu: Add clingcon.
From: Liliana Marie Prikler <[email-masked]>
To: [email-masked], [email-masked]
Date: Sun, 27 Oct 2024 09:42:50 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Am Donnerstag, dem 03.10.2024 um 08:11 +0200 schrieb Liliana Marie
Prikler:
> * gnu/packages/potassco.scm (clingo-lpx): New variable.
> ---
> * gnu/packages/potassco.scm (clingcon): New variable.
> ---
Pushed.

Cheers

Subject: [PATCH] gnu: Add clingcon.
From: Liliana Marie Prikler <[email-masked]>
To: [email-masked]
Date: Thu, 3 Oct 2024 08:11:20 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/potassco.scm (clingcon): New variable.
---
 gnu/packages/potassco.scm | 41 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index 3465974fde..ec990f1382 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -275,6 +275,47 @@ (define-public clingo-lpx
 and goals over linear (in)equations.")
     (license license:expat)))
 
+(define-public clingcon
+  (package
+    (name "clingcon")
+    (version "5.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/potassco/clingcon")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (modules '((guix build utils)))
+              (snippet
+               #~(begin
+                   (delete-file-recursively "third_party")))
+              (sha256
+               (base32
+                "0050qp5gpznigpm743br8yhjg62gl739xmzkfr70hlqm1xrj0sa7"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'patch-cmake
+                 (lambda _
+                   (substitute* "CMakeLists.txt"
+                     (("add_subdirectory\\(third_party\\)")
+                      "find_package(Catch2 3 REQUIRED)"))
+                   ;; We use libwide-integer as a header-only library, so there
+                   ;; is no library to link
+                   (substitute* "libclingcon/CMakeLists.txt"
+                     (("target_link_libraries\\(.* libwide-integer\\)" all)
+                      (string-append "#" all))))))))
+    (home-page "https://potassco.org/clingcon")
+    (inputs (list clingo wide-integer))
+    (native-inputs (list catch2-3))
+    (synopsis "Constraint answer set solver")
+    (description "Clingcon is an answer set solver for constraint logic
+It extends Clingo with constraint solving capacities for constraints over
+finite domain integer variables, using techniques from the area of SMT,
+like conflict-driven learning and theory propagation.")
+    (license license:expat)))
+
 (define-public plasp
   (package
     (name "plasp")
-- 
2.46.0