aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheodoros Foradis <theodoros.for@openmailbox.org>2017-08-02 13:10:12 +0300
committerLudovic Courtès <ludo@gnu.org>2017-08-21 17:04:53 +0200
commitcf684d87d7446ffe33ca4c73bf51dc24fa5a7129 (patch)
tree6d583d433b24edf1ea93c42a0b10a616cb0c1382
parentbd2e321061218729dec82fceba639aaee52bfff3 (diff)
downloadguix-cf684d87d7446ffe33ca4c73bf51dc24fa5a7129.tar
guix-cf684d87d7446ffe33ca4c73bf51dc24fa5a7129.tar.gz
gnu: z3: Build Python bindings.
* gnu/packages/maths.scm (z3): Add python bindings. [build-system]: Change to cmake-build-system. [arguments]: Remove "changedir" phase. Add "bootstrap" and "make-test-z3" phases; replace the "check" phase. Add #:configure-flags. Remove #:test-target. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/maths.scm34
1 files changed, 23 insertions, 11 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 3f1dc845fe..d1651e5a7b 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3179,26 +3179,38 @@ as equations, scalars, vectors, and matrices.")
(sha256
(base32
"032a5lvji2liwmc25jv52bdrhimqflvqbpg77ccaq1jykhiivbmf"))))
- (build-system gnu-build-system)
+ (build-system cmake-build-system)
(arguments
- `(#:test-target "test"
+ `(#:configure-flags
+ (list "-DBUILD_PYTHON_BINDINGS=true"
+ "-DINSTALL_PYTHON_BINDINGS=true"
+ (string-append "-DCMAKE_INSTALL_PYTHON_PKG_DIR="
+ %output
+ "/lib/python2.7/site-packages")
+ (string-append "-DCMAKE_INSTALL_LIBDIR="
+ %output
+ "/lib"))
+
#:phases
(modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-before 'configure 'bootstrap
+ (lambda _
(zero?
- (system* "python" "scripts/mk_make.py"
- (string-append "--prefix="
- (assoc-ref outputs "out"))))))
- (add-after 'configure 'change-dir
+ (system* "python" "contrib/cmake/bootstrap.py" "create"))))
+ (add-before 'check 'make-test-z3
(lambda _
- (chdir "build")
- #t)))))
+ ;; Build the test suite executable.
+ (zero? (system* "make" "test-z3" "-j"
+ (number->string (parallel-job-count))))))
+ (replace 'check
+ (lambda _
+ ;; Run all the tests that don't require arguments.
+ (zero? (system* "./test-z3" "/a")))))))
(native-inputs
`(("python" ,python-2)))
(synopsis "Theorem prover")
(description "Z3 is a theorem prover and @dfn{satisfiability modulo
-theories} (SMT) solver. It provides a C/C++ API.")
+theories} (SMT) solver. It provides a C/C++ API, as well as Python bindings.")
(home-page "https://github.com/Z3Prover/z3")
(license license:expat)))