diff options
author | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-02-25 09:25:49 +0100 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-03-05 08:17:58 +0100 |
commit | ffbf8ce07a8601501be6368345e767e50aeb27b6 (patch) | |
tree | 6c63c6304fba0e7ae4be0c8f82e0b4843a40dcf2 | |
parent | a10cc08a0f848f490635191cf1137e68b63c9d3c (diff) | |
download | guix-ffbf8ce07a8601501be6368345e767e50aeb27b6.tar.gz |
gnu: Add java-smtinterpol.
* gnu/packages/maths.scm (java-smtinterpol): New variable.
-rw-r--r-- | gnu/packages/maths.scm | 68 |
1 files changed, 67 insertions, 1 deletions
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 @@ #: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 @@ find_package(louvain_communities)") (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") |