unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Liliana Marie Prikler <liliana.prikler@gmail.com>
To: 61783@debbugs.gnu.org
Subject: [bug#61783] [PATCH 6/6] gnu: Add java-smtinterpol.
Date: Sat, 25 Feb 2023 09:25:49 +0100	[thread overview]
Message-ID: <ed2d6f96a469c89e667b16c2c58a19442a8e6469.camel@gmail.com> (raw)
In-Reply-To: <94a22cf50237fb101387b9a47c3beae6626631be.camel@gmail.com>

* gnu/packages/maths.scm (java-smtinterpol): New variable.
---
 gnu/packages/maths.scm | 68 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 67 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 28750e5f46..a7497f1d2f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -87,6 +87,7 @@ (define-module (gnu packages maths)
   #:use-module (guix gexp)
   #:use-module (guix utils)
   #:use-module ((guix build utils) #:select (alist-replace))
+  #:use-module (guix build-system ant)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
@@ -6130,11 +6131,76 @@ (define-public boolector
    (native-inputs (list googletest pkg-config python-wrapper))
    (home-page "http://boolector.github.io/")
    (synopsis "Bitvector-based theory solver")
-   (description "Boolector is a @abbrev{SMT, satisfiability modulo theories}
+   (description "Boolector is a @acronym{SMT, satisfiability modulo theories}
 solver for the theories of fixed-size bit-vectors, arrays and uninterpreted
 functions.")
    (license license:lgpl3+)))
 
+(define-public java-smtinterpol
+  (package
+   (name "java-smtinterpol")
+   (version "2.5")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://github.com/ultimate-pa/smtinterpol")
+                  (commit version)))
+            (file-name (git-file-name name version))
+            (modules '((guix build utils)))
+            (snippet #~(begin
+                         (delete-file-recursively "jacoco")
+                         (delete-file-recursively "libs")
+                         (delete-file-recursively "sonar")))
+            (sha256
+             (base32
+              "0bq5l7g830a8hxw1xyyfp2ph6jqk8ak0ichlymdglpnpngf6322f"))))
+   (build-system ant-build-system)
+   (arguments
+    (list #:build-target "dist"
+          #:test-target "runtests"
+          #:phases
+          #~(modify-phases %standard-phases
+              (add-after 'unpack 'fix-build.xml
+                (lambda _
+                  (substitute* "build.xml"
+                    (("<tstamp>") "<!--")
+                    (("</tstamp>") "-->")
+                    (("executable=\"git\"")
+                     (string-append "executable=\""
+                                    (which "sh")
+                                    "\""))
+                    (("<property file=.*/>" all)
+                     (string-append all
+                                    "<property environment=\"env\" />"))
+                    (("<classpath>" all)
+                     (string-append
+                      all
+                      "<pathelement path=\"${env.CLASSPATH}\" />"))
+                    (("<fileset file=\".*/libs/.*/>") "")
+                    (("<junit")
+                     "<junit haltonfailure=\"yes\""))
+                  (call-with-output-file "describe"
+                    (lambda (port)
+                      (format port "echo ~a" #$version)))))
+              (add-before 'check 'delete-failing-tests
+                (lambda _
+                  (delete-file
+                   (string-append "SMTInterpolTest/src/de/uni_freiburg"
+                                  "/informatik/ultimate/smtinterpol/convert/"
+                                  "EqualityDestructorTest.java"))))
+              (replace 'install
+                (lambda* (#:key outputs #:allow-other-keys)
+                  (let* ((out (assoc-ref outputs "out"))
+                         (java (string-append out "/share/java")))
+                    (for-each (lambda (f) (install-file f java))
+                              (find-files "dist" "\\.jar$"))))))))
+   (native-inputs (list java-junit))
+   (home-page "http://ultimate.informatik.uni-freiburg.de/smtinterpol/")
+   (synopsis "Interpolating SMT solver")
+   (description "SMTInterpol is an @acronym{SMT, Satisfiability Modulo Theories}
+solver, that can compute Craig interpolants for various theories.")
+   (license license:lgpl3+)))
+
 (define-public yices
   (package
    (name "yices")
-- 
2.39.1





  parent reply	other threads:[~2023-02-25  9:59 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-25  8:58 [bug#61783] [PATCH 0/6] Add more SMT solvers Liliana Marie Prikler
2023-02-25  8:24 ` [bug#61783] [PATCH 1/6] gnu: Add cudd Liliana Marie Prikler
2023-02-25  8:24 ` [bug#61783] [PATCH 2/6] gnu: Add libpoly Liliana Marie Prikler
2023-02-25  8:24 ` [bug#61783] [PATCH 3/6] gnu: Add yices Liliana Marie Prikler
2023-02-25  8:25 ` [bug#61783] [PATCH 4/6] gnu: Add btor2tools Liliana Marie Prikler
2023-02-25  8:25 ` [bug#61783] [PATCH 5/6] gnu: Add boolector Liliana Marie Prikler
2023-02-25  8:25 ` Liliana Marie Prikler [this message]
2023-03-05  8:49 ` bug#61783: [PATCH 0/6] Add more SMT solvers Liliana Marie Prikler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ed2d6f96a469c89e667b16c2c58a19442a8e6469.camel@gmail.com \
    --to=liliana.prikler@gmail.com \
    --cc=61783@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).