Subject: [bug#70087] [PATCH v2 2/4] gnu: Add chuffed.

From: Herman Rimm <[email-masked]>
Date: Wed, 15 May 2024 17:51:23 +0200

* gnu/packages/maths.scm (chuffed): Add variable.

Change-Id: I77fc1ceb9caa42833689fba771010aeb38443e5e
---
 gnu/packages/maths.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 48f43f264b..d245805ffb 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -305,6 +305,42 @@ (define-public calc
     (home-page "http://www.isthe.com/chongo/tech/comp/calc/")
     (license license:lgpl2.1)))
 
+(define-public chuffed
+  (package
+    (name "chuffed")
+    (version "0.13.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/chuffed/chuffed")
+               (commit version)))
+        (sha256
+          (base32
+            "164brmwn71p9gb2441kh7b1gzmy2sg7bjv5z00wjs9nw41qc908g"))))
+    (build-system cmake-build-system)
+    (arguments
+      (list #:tests? #f ; no 'check' target
+            #:modules '((guix build cmake-build-system)
+                        (guix build utils))
+            #:phases
+            #~(modify-phases %standard-phases
+                (add-before 'build 'patch-msc
+                  (lambda* (#:key outputs #:allow-other-keys)
+                    (let ((out (assoc-ref outputs "out")))
+                      (substitute* "chuffed.msc"
+                        (("\\.\\./../..") out)
+                        (("\\.\\.")
+                         (string-append out "/share/minizinc")))))))))
+    (synopsis "Lazy clause generation solver")
+    (description
+     "Chuffed is a state of the art lazy clause solver designed from the
+ground up with lazy clause generation in mind.  Lazy clause generation
+is a hybrid approach to constraint solving that combines features of
+finite domain propagation and Boolean satisfiability.")
+    (home-page "https://github.com/chuffed/chuffed")
+    (license license:expat)))
+
 (define-public coda
   (package
     (name "coda")
-- 
2.41.0