gnu: klee: Build with klee-uclibc support.
* gnu/packages/check.scm (klee): Use klee-uclibc. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
parent
3bdaa223b3
commit
087bd6916d
|
@ -1063,13 +1063,32 @@ with the @code{klee} package.")
|
||||||
(base32 "1nma6dqi8chjb97llsa8mzyskgsg4dx56lm8j514j5wmr8vkafz6"))))
|
(base32 "1nma6dqi8chjb97llsa8mzyskgsg4dx56lm8j514j5wmr8vkafz6"))))
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch
|
||||||
|
(lambda _
|
||||||
|
(substitute* "CMakeLists.txt"
|
||||||
|
(("\\$\\{KLEE_UCLIBC_PATH\\}/lib/libc\\.a")
|
||||||
|
"${KLEE_UCLIBC_PATH}"))))
|
||||||
|
(add-after 'install 'wrap-hooks
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(bin (string-append out "/bin"))
|
||||||
|
(lib (string-append out "/lib")))
|
||||||
|
;; Ensure that KLEE finds runtime libraries (e.g. uclibc).
|
||||||
|
(wrap-program (string-append bin "/klee")
|
||||||
|
`("KLEE_RUNTIME_LIBRARY_PATH" =
|
||||||
|
(,(string-append lib "/klee/runtime/"))))))))
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
#~(list (string-append "-DLLVMCC="
|
#~(list (string-append "-DLLVMCC="
|
||||||
(search-input-file %build-inputs "/bin/clang"))
|
(search-input-file %build-inputs "/bin/clang"))
|
||||||
(string-append "-DLLVMCXX="
|
(string-append "-DLLVMCXX="
|
||||||
(search-input-file %build-inputs "/bin/clang++")))))
|
(search-input-file %build-inputs "/bin/clang++"))
|
||||||
|
(string-append "-DKLEE_UCLIBC_PATH="
|
||||||
|
(search-input-file %build-inputs "/lib/klee/libc.a"))
|
||||||
|
"-DENABLE_POSIX_RUNTIME=ON")))
|
||||||
(native-inputs (list clang-13 llvm-13 python-lit))
|
(native-inputs (list clang-13 llvm-13 python-lit))
|
||||||
(inputs (list gperftools sqlite z3))
|
(inputs (list bash-minimal klee-uclibc gperftools sqlite z3))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(home-page "https://klee-se.org/")
|
(home-page "https://klee-se.org/")
|
||||||
(synopsis "Symbolic execution engine")
|
(synopsis "Symbolic execution engine")
|
||||||
|
|
Reference in New Issue