lilyp pushed a commit to branch master
in repository guix.

commit fe7c898750e3fdad586ab3929c67b4b4643ffece
Author: Liliana Marie Prikler <liliana.prik...@gmail.com>
AuthorDate: Sat Jun 15 23:42:36 2024 +0200

    gnu: Add klee.
    
    * gnu/packages/check.scm (klee): New variable.
---
 gnu/packages/check.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index fafa5d3f33..bbd9cf3181 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -75,6 +75,7 @@
   #:use-module (gnu packages bash)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages glib)
@@ -85,6 +86,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages guile-xyz)
+  #:use-module (gnu packages maths)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -93,6 +95,7 @@
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages python-science)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages time)
   #:use-module (gnu packages xml)
@@ -986,6 +989,35 @@ macros for defining tests, grouping them into suites, and 
providing a test
 runner.  It is quite unopinionated with most of its features being optional.")
    (license license:isc)))
 
+(define-public klee
+  (package
+   (name "klee")
+   (version "3.1")
+   (source
+    (origin
+     (method git-fetch)
+     (uri (git-reference
+           (url "https://github.com/klee/klee";)
+           (commit (string-append "v" version))))
+     (file-name (git-file-name name version))
+     (sha256
+      (base32 "1nma6dqi8chjb97llsa8mzyskgsg4dx56lm8j514j5wmr8vkafz6"))))
+   (arguments
+    (list
+     #:configure-flags
+     #~(list (string-append "-DLLVMCC="
+                            (search-input-file %build-inputs "/bin/clang"))
+             (string-append "-DLLVMCXX="
+                            (search-input-file %build-inputs 
"/bin/clang++")))))
+   (native-inputs (list clang-13 llvm-13 python-lit))
+   (inputs (list gperftools sqlite z3))
+   (build-system cmake-build-system)
+   (home-page "https://klee-se.org/";)
+   (synopsis "Symbolic execution engine")
+   (description "KLEE is a symbolic virtual machine built on top of the LLVM
+compiler infrastructure.")
+   (license license:bsd-3)))
+
 (define-public cpputest
   (package
     (name "cpputest")

Reply via email to