summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2024-06-15 23:42:36 +0200
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2024-06-23 10:09:00 +0200
commitfe7c898750e3fdad586ab3929c67b4b4643ffece (patch)
tree1ace9b2349fa53633472d8a9ee9b9c31066e1ad1 /gnu
parentfde607ee75ca0de1fe2966cac004fefd9c505d92 (diff)
downloadguix-fe7c898750e3fdad586ab3929c67b4b4643ffece.tar.gz
gnu: Add klee.
* gnu/packages/check.scm (klee): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/check.scm32
1 files changed, 32 insertions, 0 deletions
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")