summaryrefslogtreecommitdiff
path: root/gnu/packages/debug.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/debug.scm')
-rw-r--r--gnu/packages/debug.scm57
1 files changed, 56 insertions, 1 deletions
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 9a4ce7067ab..6507c82fcc8 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -1,5 +1,5 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net> 2;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2020, 2021 Eric Bavier <bavier@posteo.net>
3;;; Copyright © 2016, 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> 3;;; Copyright © 2016, 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
4;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> 4;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
5;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com> 5;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
@@ -7,6 +7,7 @@
7;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> 7;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
8;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> 8;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
9;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> 9;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
10;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
10;;; 11;;;
11;;; This file is part of GNU Guix. 12;;; This file is part of GNU Guix.
12;;; 13;;;
@@ -38,6 +39,7 @@
38 #:use-module (gnu packages bash) 39 #:use-module (gnu packages bash)
39 #:use-module (gnu packages bison) 40 #:use-module (gnu packages bison)
40 #:use-module (gnu packages c) 41 #:use-module (gnu packages c)
42 #:use-module (gnu packages check)
41 #:use-module (gnu packages code) 43 #:use-module (gnu packages code)
42 #:use-module (gnu packages compression) 44 #:use-module (gnu packages compression)
43 #:use-module (gnu packages flex) 45 #:use-module (gnu packages flex)
@@ -55,6 +57,7 @@
55 #:use-module (gnu packages pkg-config) 57 #:use-module (gnu packages pkg-config)
56 #:use-module (gnu packages pretty-print) 58 #:use-module (gnu packages pretty-print)
57 #:use-module (gnu packages python) 59 #:use-module (gnu packages python)
60 #:use-module (gnu packages python-check)
58 #:use-module (gnu packages python-xyz) 61 #:use-module (gnu packages python-xyz)
59 #:use-module (gnu packages readline) 62 #:use-module (gnu packages readline)
60 #:use-module (gnu packages serialization) 63 #:use-module (gnu packages serialization)
@@ -171,6 +174,58 @@ intended for use by people who discover and report bugs in compilers and other
171tools that process C/C++ code.") 174tools that process C/C++ code.")
172 (license license:ncsa))) 175 (license license:ncsa)))
173 176
177(define-public c-vise
178 (package
179 (name "c-vise")
180 (version "2.3.0")
181 (source
182 (origin
183 (method git-fetch)
184 (uri (git-reference
185 (url "https://github.com/marxin/cvise")
186 (commit (string-append "v" version))))
187 (sha256
188 (base32 "0f6m58rak87gvcvxxcgp1bzbsv1q618h0iipmv0dx9jv1bn0qv43"))
189 (file-name (git-file-name name version))))
190 (build-system cmake-build-system)
191 (native-inputs
192 `(("flex" ,flex)
193 ("python-pytest" ,python-pytest)
194 ("python-pytest-flake8" ,python-pytest-flake8)))
195 (inputs
196 `(("bash" ,bash-minimal) ; For wrap-program
197 ("clang" ,clang)
198 ("llvm" ,llvm)
199 ("python" ,python)
200 ("python-pebble" ,python-pebble)
201 ("python-psutil" ,python-psutil)
202 ("unifdef" ,unifdef)))
203 (arguments
204 `(#:phases
205 (modify-phases %standard-phases
206 (add-before 'build 'hardcode-paths
207 (lambda _
208 (substitute* "cvise.py"
209 (("/bin/bash") (which "bash"))
210 (("(.*)# Special case for clang-format" & >)
211 (string-append > "# Special case for unifdef\n"
212 > "programs['unifdef'] = '" (which "unifdef") "'\n"
213 &)))))
214 (add-after 'install 'wrap
215 (lambda* (#:key outputs #:allow-other-keys)
216 (let ((out (assoc-ref outputs "out"))
217 (python-path (getenv "GUIX_PYTHONPATH")))
218 (wrap-program (string-append out "/bin/cvise")
219 `("PYTHONPATH" ":" prefix (,python-path)))
220 #t))))))
221 (home-page "https://github.com/marxin/cvise")
222 (synopsis "Reducer for interesting code")
223 (description
224 "C-Vise is a Python port of the C-Reduce tool that is fully compatible
225and uses the same efficient LLVM-based C/C++ @code{clang_delta} reduction
226tool.")
227 (license license:ncsa)))
228
174(define-public american-fuzzy-lop 229(define-public american-fuzzy-lop
175 (let ((machine (match (or (%current-target-system) 230 (let ((machine (match (or (%current-target-system)
176 (%current-system)) 231 (%current-system))