all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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

  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.