guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/07: gnu: z3: Build Python bindings.


From: Ludovic Courtès
Subject: 01/07: gnu: z3: Build Python bindings.
Date: Mon, 21 Aug 2017 11:06:12 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit cf684d87d7446ffe33ca4c73bf51dc24fa5a7129
Author: Theodoros Foradis <address@hidden>
Date:   Wed Aug 2 13:10:12 2017 +0300

    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 <address@hidden>
---
 gnu/packages/maths.scm | 34 +++++++++++++++++++++++-----------
 1 file changed, 23 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 3f1dc84..d1651e5 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)))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]