From: Eric Bavier <ericbavier@gmail.com>
To: guix-devel@gnu.org
Cc: Eric Bavier <bavier@member.fsf.org>
Subject: [PATCH 14/14] gnu: Add c-reduce.
Date: Sun, 7 Dec 2014 15:51:54 -0600 [thread overview]
Message-ID: <1417989115-32107-15-git-send-email-bavier@member.fsf.org> (raw)
In-Reply-To: <1417989115-32107-1-git-send-email-bavier@member.fsf.org>
* gnu/packages/debug.scm (c-reduce): New variable.
---
gnu/packages/debug.scm | 68 +++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 67 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 578703d..78cba27 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -20,9 +20,15 @@
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
+ #:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
- #:use-module (gnu packages perl))
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages flex)
+ #:use-module (gnu packages indent)
+ #:use-module (gnu packages llvm)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pretty-print))
(define-public delta
(package
@@ -72,3 +78,63 @@ program to exhibit a bug.")
;; See License.txt, which is a bsd-3 license, despite the project's
;; home-page pointing to a bsd-2 license.
(license bsd-3)))
+
+(define-public c-reduce
+ (package
+ (name "c-reduce")
+ (version "2.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (list
+ (string-append "http://embed.cs.utah.edu/creduce/"
+ "creduce-" version ".tar.gz")))
+ (sha256
+ (base32
+ "0wh0fkyg2l41d2wkndrgdiai9g2qiav7jik7cys21vmgzq01pyy2"))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* "clang_delta/TransformationManager.cpp"
+ (("llvm/Config/config.h") "llvm/Config/llvm-config.h")))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("astyle" ,astyle)
+ ("delta" ,delta)
+ ("llvm" ,llvm)
+ ("clang" ,clang)
+ ("flex" ,flex)
+ ("indent" ,indent)
+ ("perl" ,perl)
+ ("benchmark-timer" ,perl-benchmark-timer)
+ ("exporter-lite" ,perl-exporter-lite)
+ ("file-which" ,perl-file-which)
+ ("getopt-tabular" ,perl-getopt-tabular)
+ ("regex-common" ,perl-regexp-common)
+ ("sys-cpu" ,perl-sys-cpu)))
+ (arguments
+ `(#:phases (alist-cons-after
+ 'install 'set-load-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Tell creduce where to find the perl modules it needs.
+ (let* ((out (assoc-ref outputs "out"))
+ (prog (string-append out "/bin/creduce")))
+ (wrap-program
+ prog
+ `("PERL5LIB" ":" prefix
+ ,(map (lambda (p)
+ (string-append (assoc-ref inputs p)
+ "/lib/perl5/site_perl/"
+ ,(package-version perl)))
+ '("benchmark-timer" "exporter-lite"
+ "file-which" "getopt-tabular"
+ "regex-common" "sys-cpu"))))))
+ %standard-phases)))
+ (home-page "http://embed.cs.utah.edu/creduce")
+ (synopsis "Reducer for interesting code")
+ (description
+ "C-Reduce is a tool that takes a large C or C++ program that has a
+property of interest (such as triggering a compiler bug) and automatically
+produces a much smaller C/C++ program that has the same property. It is
+intended for use by people who discover and report bugs in compilers and other
+tools that process C/C++ code.")
+ (license ncsa)))
--
1.7.9.5
next prev parent reply other threads:[~2014-12-07 21:51 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-07 21:51 [PATCH 00/14]: gnu: Add c-reduce Eric Bavier
2014-12-07 21:51 ` [PATCH 01/14] gnu: Add astyle Eric Bavier
2014-12-08 20:43 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 02/14] gnu: Add delta Eric Bavier
2014-12-08 20:45 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 03/14] gnu: Add perl-benchmark-timer Eric Bavier
2014-12-08 20:47 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 04/14] gnu: Add perl-exporter-lite Eric Bavier
2014-12-08 20:47 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 05/14] gnu: Add perl-probe-perl Eric Bavier
2014-12-08 20:48 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 06/14] gnu: Add perl-ipc-run3 Eric Bavier
2014-12-08 20:48 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 07/14] gnu: Add perl-test-script Eric Bavier
2014-12-08 20:49 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 08/14] gnu: Add perl-file-which Eric Bavier
2014-12-08 20:49 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 09/14] gnu: Add perl-getopt-tabular Eric Bavier
2014-12-08 20:49 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 10/14] gnu: Add perl-regexp-common Eric Bavier
2014-12-08 20:50 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 11/14] gnu: Add perl-sys-cpu Eric Bavier
2014-12-08 20:51 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 12/14] gnu: Add NCSA license Eric Bavier
2014-12-08 20:52 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 13/14] gnu: Add llvm and clang Eric Bavier
2014-12-08 20:55 ` Ludovic Courtès
2014-12-09 17:21 ` Eric Bavier
2014-12-09 20:26 ` Ludovic Courtès
2014-12-07 21:51 ` Eric Bavier [this message]
2014-12-08 20:56 ` [PATCH 14/14] gnu: Add c-reduce Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1417989115-32107-15-git-send-email-bavier@member.fsf.org \
--to=ericbavier@gmail.com \
--cc=bavier@member.fsf.org \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.