[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#71925] [PATCH v4 2/2] gnu: klee: Build with klee-uclibc support.
From: |
soeren |
Subject: |
[bug#71925] [PATCH v4 2/2] gnu: klee: Build with klee-uclibc support. |
Date: |
Mon, 8 Jul 2024 09:44:26 +0200 |
From: Sören Tempel <soeren@soeren-tempel.net>
* gnu/packages/check.scm (klee): Use klee-uclibc.
---
Changes since v3: Move klee-uclibc library to `/lib/klee/libc.a`.
gnu/packages/check.scm | 23 +++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index e02dc1b23d..c4eaaef18f 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1062,13 +1062,32 @@ (define-public klee
(base32 "1nma6dqi8chjb97llsa8mzyskgsg4dx56lm8j514j5wmr8vkafz6"))))
(arguments
(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
#~(list (string-append "-DLLVMCC="
(search-input-file %build-inputs "/bin/clang"))
(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))
- (inputs (list gperftools sqlite z3))
+ (inputs (list bash-minimal klee-uclibc gperftools sqlite z3))
(build-system cmake-build-system)
(home-page "https://klee-se.org/")
(synopsis "Symbolic execution engine")
- [bug#71925] [PATCH 2/2] gnu: klee: Build with klee-uclibc support., (continued)
[bug#71925] [PATCH 1/2] gnu: Add klee-uclibc., soeren, 2024/07/03
[bug#71925] [PATCH v2 1/2] gnu: Add klee-uclibc., soeren, 2024/07/07
[bug#71925] [PATCH v3 1/2] gnu: Add klee-uclibc., soeren, 2024/07/07
[bug#71925] [PATCH v4 1/2] gnu: Add klee-uclibc., soeren, 2024/07/08
- [bug#71925] [PATCH v4 2/2] gnu: klee: Build with klee-uclibc support.,
soeren <=
[bug#71925] [PATCH 0/2] Add klee-uclibc., Sören Tempel, 2024/07/08