* [PATCH 01/14] gnu: Add astyle.
2014-12-07 21:51 [PATCH 00/14]: gnu: Add c-reduce Eric Bavier
@ 2014-12-07 21:51 ` Eric Bavier
2014-12-08 20:43 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 02/14] gnu: Add delta Eric Bavier
` (12 subsequent siblings)
13 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-07 21:51 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/pretty-print.scm (astyle): New variable.
---
gnu/packages/pretty-print.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm
index bd38a4b..1576c3d 100644
--- a/gnu/packages/pretty-print.scm
+++ b/gnu/packages/pretty-print.scm
@@ -196,3 +196,44 @@ output to 8 different formats, including HTML, LaTeX and ODF. It can also
output to ANSI color escape sequences, so that highlighted source code can be
seen in a terminal.")
(license gpl3+)))
+
+(define-public astyle
+ (package
+ (name "astyle")
+ (version "2.05")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/astyle/astyle/astyle%20"
+ version "/astyle_" version "_linux.tar.gz"))
+ (sha256
+ (base32
+ "0f9sh9kq5ajp1yz133h00fr9235p1m698x7n3h7zbrhjiwgynd6s"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no tests
+ #:make-flags (list (string-append "prefix=" %output)
+ "INSTALL=install"
+ "all")
+ #:phases (alist-replace
+ 'configure
+ (lambda _ (chdir "build/gcc"))
+ (alist-cons-after
+ 'install 'install-libs
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Libraries are not installed by default
+ (let* ((output (assoc-ref outputs "out"))
+ (libdir (string-append output "/lib")))
+ (begin
+ (mkdir-p libdir)
+ (for-each (lambda (l)
+ (copy-file
+ l (string-append libdir "/" (basename l))))
+ (find-files "bin" "lib*")))))
+ %standard-phases))))
+ (home-page "http://astyle.sourceforge.net/")
+ (synopsis "Source code indenter, formatter, and beautifier")
+ (description
+ "Artistic Style is a source code indenter, formatter, and beautifier for
+the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.")
+ (license lgpl3+)))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 02/14] gnu: Add delta.
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-07 21:51 ` 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
` (11 subsequent siblings)
13 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-07 21:51 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/debug.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
gnu-system.am | 1 +
gnu/packages/debug.scm | 74 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 75 insertions(+)
create mode 100644 gnu/packages/debug.scm
diff --git a/gnu-system.am b/gnu-system.am
index ac0bfa1..9f77456 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -72,6 +72,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/databases.scm \
gnu/packages/datamash.scm \
gnu/packages/dc.scm \
+ gnu/packages/debug.scm \
gnu/packages/dejagnu.scm \
gnu/packages/dictionaries.scm \
gnu/packages/disk.scm \
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
new file mode 100644
index 0000000..578703d
--- /dev/null
+++ b/gnu/packages/debug.scm
@@ -0,0 +1,74 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages debug)
+ #:use-module (guix packages)
+ #:use-module (guix licenses)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages perl))
+
+(define-public delta
+ (package
+ (name "delta")
+ (version "2006.08.03")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (list
+ (string-append "http://ftp.de.debian.org/debian/pool/main/d/delta/"
+ "delta_" version ".orig.tar.gz")
+ ;; This uri seems to send guix download into an infinite loop
+ (string-append "http://delta.tigris.org/files/documents/3103/"
+ "33566/delta-" version ".tar.gz")))
+ (sha256
+ (base32
+ "184wh35pf2ddx97319s6sgkzpz48xxkbwzcjpycv009bm53lh61q"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("perl" ,perl)))
+ (arguments
+ `(#:phases
+ (alist-replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Makefile contains no install target
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (doc (string-append out "/share/doc/delta-" ,version)))
+ (begin
+ (mkdir-p bin)
+ (mkdir-p doc)
+ (for-each (lambda (h)
+ (copy-file h (string-append doc "/" (basename h))))
+ `("License.txt" ,@(find-files "www" ".*\\.html")))
+ (for-each (lambda (b)
+ (copy-file b (string-append bin "/" b)))
+ `("delta" "multidelta" "topformflat")))))
+ (alist-delete 'configure %standard-phases))))
+ (home-page "http://delta.tigris.org/")
+ (synopsis "Heuristical file minimizer")
+ (description
+ "Delta assists you in minimizing \"interesting\" files subject to a test
+of their interestingness. A common such situation is when attempting to
+isolate a small failure-inducing substring of a large input that causes your
+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)))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH 02/14] gnu: Add delta.
2014-12-07 21:51 ` [PATCH 02/14] gnu: Add delta Eric Bavier
@ 2014-12-08 20:45 ` Ludovic Courtès
0 siblings, 0 replies; 31+ messages in thread
From: Ludovic Courtès @ 2014-12-08 20:45 UTC (permalink / raw)
To: Eric Bavier; +Cc: guix-devel, Eric Bavier
Eric Bavier <ericbavier@gmail.com> skribis:
> * gnu/packages/debug.scm: New file.
> * gnu-system.am (GNU_SYSTEM_MODULES): Add it.
[...]
> +(define-module (gnu packages debug)
> + #:use-module (guix packages)
> + #:use-module (guix licenses)
> + #:use-module (guix download)
> + #:use-module (guix build-system gnu)
> + #:use-module (gnu packages)
Unneeded module.
> + (inputs
> + `(("perl" ,perl)))
If it’s really ‘inputs’ and not ‘native-inputs’, please add a comment to
explain.
OK to push with these changes.
Ludo’.
^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH 03/14] gnu: Add perl-benchmark-timer.
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-07 21:51 ` [PATCH 02/14] gnu: Add delta Eric Bavier
@ 2014-12-07 21:51 ` 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
` (10 subsequent siblings)
13 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-07 21:51 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/perl.scm (perl-benchmark-timer): New variable.
---
gnu/packages/perl.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 8d71660..064822e 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -161,3 +161,28 @@ SHA-1 message digest algorithm for use by Perl programs.")
(home-page (string-append "http://search.cpan.org/~gaas/Digest-SHA1-"
version "/SHA1.pm"))
(license (package-license perl))))
+
+(define-public perl-benchmark-timer
+ (package
+ (name "perl-benchmark-timer")
+ (version "0.7102")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/D/DC/DCOPPIT/"
+ "Benchmark-Timer-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1gl9ybm9hgia3ld5s11b7bv2p2hmx5rss5hxcfy6rmbzrjcnci01"))))
+ (build-system perl-build-system)
+ ;; The optional input module Statistics::PointEstimation (from
+ ;; Statistics-TTest) lists no license.
+ (synopsis "Benchmarking with statistical confidence")
+ (description
+ "The Benchmark::Timer class allows you to time portions of code
+conveniently, as well as benchmark code by allowing timings of repeated
+trials. It is perfect for when you need more precise information about the
+running time of portions of your code than the Benchmark module will give you,
+but don't want to go all out and profile your code.")
+ (home-page (string-append "http://search.cpan.org/~dcoppit/"
+ "Benchmark-Timer-" version))
+ (license gpl2)))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 04/14] gnu: Add perl-exporter-lite.
2014-12-07 21:51 [PATCH 00/14]: gnu: Add c-reduce Eric Bavier
` (2 preceding siblings ...)
2014-12-07 21:51 ` [PATCH 03/14] gnu: Add perl-benchmark-timer Eric Bavier
@ 2014-12-07 21:51 ` 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
` (9 subsequent siblings)
13 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-07 21:51 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/perl.scm (perl-exporter-lite): New variable.
---
gnu/packages/perl.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 064822e..55e87fe 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -186,3 +186,24 @@ but don't want to go all out and profile your code.")
(home-page (string-append "http://search.cpan.org/~dcoppit/"
"Benchmark-Timer-" version))
(license gpl2)))
+
+(define-public perl-exporter-lite
+ (package
+ (name "perl-exporter-lite")
+ (version "0.06")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
+ "Exporter-Lite-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0k4gkvid4fr8yvwj0axdx5111mzfw2iipls3qllxr364fqhmclpj"))))
+ (build-system perl-build-system)
+ (synopsis "Lightweight exporting of functions and variables")
+ (description
+ "Exporter::Lite is an alternative to Exporter, intended to provide a
+lightweight subset of the most commonly-used functionality. It supports
+import(), @EXPORT and @EXPORT_OK and not a whole lot else.")
+ (home-page (string-append "http://search.cpan.org/~neilb/"
+ "Exporter-Lite-" version))
+ (license (package-license perl))))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 05/14] gnu: Add perl-probe-perl.
2014-12-07 21:51 [PATCH 00/14]: gnu: Add c-reduce Eric Bavier
` (3 preceding siblings ...)
2014-12-07 21:51 ` [PATCH 04/14] gnu: Add perl-exporter-lite Eric Bavier
@ 2014-12-07 21:51 ` 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
` (8 subsequent siblings)
13 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-07 21:51 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/perl.scm (perl-probe-perl): New variable.
---
gnu/packages/perl.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 55e87fe..430c6b5 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -207,3 +207,24 @@ import(), @EXPORT and @EXPORT_OK and not a whole lot else.")
(home-page (string-append "http://search.cpan.org/~neilb/"
"Exporter-Lite-" version))
(license (package-license perl))))
+
+(define-public perl-probe-perl
+ (package
+ (name "perl-probe-perl")
+ (version "0.03")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/K/KW/KWILLIAMS/"
+ "Probe-Perl-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0c9wiaz0mqqknafr4jdr0g2gdzxnn539182z0icqaqvp5qgd5r6r"))))
+ (build-system perl-build-system)
+ (synopsis "Information about the currently running perl")
+ (description
+ "Probe::Perl provides methods for obtaining information about the
+currently running perl interpreter. It originally began life as code in the
+Module::Build project, but has been externalized here for general use.")
+ (home-page (string-append "http://search.cpan.org/~kwilliams/"
+ "Probe-Perl-" version))
+ (license (package-license perl))))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 06/14] gnu: Add perl-ipc-run3.
2014-12-07 21:51 [PATCH 00/14]: gnu: Add c-reduce Eric Bavier
` (4 preceding siblings ...)
2014-12-07 21:51 ` [PATCH 05/14] gnu: Add perl-probe-perl Eric Bavier
@ 2014-12-07 21:51 ` 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
` (7 subsequent siblings)
13 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-07 21:51 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/perl.scm (perl-ipc-run3): New variable.
---
gnu/packages/perl.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 430c6b5..cdac13d 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -228,3 +228,27 @@ Module::Build project, but has been externalized here for general use.")
(home-page (string-append "http://search.cpan.org/~kwilliams/"
"Probe-Perl-" version))
(license (package-license perl))))
+
+(define-public perl-ipc-run3
+ (package
+ (name "perl-ipc-run3")
+ (version "0.048")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
+ "IPC-Run3-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0r9m8q78bg7yycpixd7738jm40yz71p2q7inm766kzsw3g6c709x"))))
+ (build-system perl-build-system)
+ (synopsis "Run a subprocess with input/ouput redirection")
+ (description
+ "The IPC::Run3 module allows you to run a subprocess and redirect stdin,
+stdout, and/or stderr to files and perl data structures. It aims to satisfy
+99% of the need for using system, qx, and open3 with a simple, extremely
+Perlish API and none of the bloat and rarely used features of IPC::Run.")
+ (home-page (string-append "http://search.cpan.org/~rjbs/"
+ "IPC-Run3-" version))
+ ;; "You may use this module under the terms of the BSD, Artistic, or GPL
+ ;; licenses, any version."
+ (license (list bsd-3 gpl3+))))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 07/14] gnu: Add perl-test-script.
2014-12-07 21:51 [PATCH 00/14]: gnu: Add c-reduce Eric Bavier
` (5 preceding siblings ...)
2014-12-07 21:51 ` [PATCH 06/14] gnu: Add perl-ipc-run3 Eric Bavier
@ 2014-12-07 21:51 ` 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
` (6 subsequent siblings)
13 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-07 21:51 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/perl.scm (perl-test-script): New variable.
---
gnu/packages/perl.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index cdac13d..8d25ef3 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -252,3 +252,27 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.")
;; "You may use this module under the terms of the BSD, Artistic, or GPL
;; licenses, any version."
(license (list bsd-3 gpl3+))))
+
+(define-public perl-test-script
+ (package
+ (name "perl-test-script")
+ (version "1.07")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/"
+ "Test-Script-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15pb4zzsnm33msc1syhig2bk05xqc0pckmfyahdwbd177bj5w7p2"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("probe-perl" ,perl-probe-perl)
+ ("ipc-run3" ,perl-ipc-run3)))
+ (synopsis "Basic cross-platform tests for scripts")
+ (description
+ "The intent of the Test::Script module is to provide a series of basic
+tests for 80% of the testing you will need to do for scripts in the script (or
+bin as is also commonly used) paths of your Perl distribution.")
+ (home-page (string-append "http://search.cpan.org/~adamk/"
+ "Test-Script-" version))
+ (license (package-license perl))))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 08/14] gnu: Add perl-file-which.
2014-12-07 21:51 [PATCH 00/14]: gnu: Add c-reduce Eric Bavier
` (6 preceding siblings ...)
2014-12-07 21:51 ` [PATCH 07/14] gnu: Add perl-test-script Eric Bavier
@ 2014-12-07 21:51 ` 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
` (5 subsequent siblings)
13 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-07 21:51 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/perl.scm (perl-file-which): New variable.
---
gnu/packages/perl.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 8d25ef3..d7ca131 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -276,3 +276,25 @@ bin as is also commonly used) paths of your Perl distribution.")
(home-page (string-append "http://search.cpan.org/~adamk/"
"Test-Script-" version))
(license (package-license perl))))
+
+(define-public perl-file-which
+ (package
+ (name "perl-file-which")
+ (version "1.09")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/"
+ "File-Which-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1hxjyh9yrv32f3g8vrnr8iylzprajsac14vjm75kf1qnj1jyqbxp"))))
+ (build-system perl-build-system)
+ (native-inputs `(("test-script" ,perl-test-script)))
+ (synopsis "Portable implementation of the `which' utility")
+ (description
+ "File::Which was created to be able to get the paths to executable
+programs on systems under which the `which' program wasn't implemented in the
+shell.")
+ (home-page (string-append "http://search.cpan.org/~adamk/"
+ "File-Which-" version))
+ (license (package-license perl))))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 09/14] gnu: Add perl-getopt-tabular.
2014-12-07 21:51 [PATCH 00/14]: gnu: Add c-reduce Eric Bavier
` (7 preceding siblings ...)
2014-12-07 21:51 ` [PATCH 08/14] gnu: Add perl-file-which Eric Bavier
@ 2014-12-07 21:51 ` 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
` (4 subsequent siblings)
13 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-07 21:51 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/perl.scm (perl-getopt-tabular): New variable.
---
gnu/packages/perl.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index d7ca131..e385e7b 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -298,3 +298,23 @@ shell.")
(home-page (string-append "http://search.cpan.org/~adamk/"
"File-Which-" version))
(license (package-license perl))))
+
+(define-public perl-getopt-tabular
+ (package
+ (name "perl-getopt-tabular")
+ (version "0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/G/GW/GWARD/"
+ "Getopt-Tabular-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0xskl9lcj07sdfx5dkma5wvhhgf5xlsq0khgh8kk34dm6dv0dpwv"))))
+ (build-system perl-build-system)
+ (synopsis "Table-driven argument parsing for Perl")
+ (description
+ "Getopt::Tabular is a Perl 5 module for table-driven argument parsing,
+vaguely inspired by John Ousterhout's Tk_ParseArgv.")
+ (home-page (string-append "http://search.cpan.org/~gward/"
+ "Getopt-Tabular-" version))
+ (license (package-license perl))))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 10/14] gnu: Add perl-regexp-common.
2014-12-07 21:51 [PATCH 00/14]: gnu: Add c-reduce Eric Bavier
` (8 preceding siblings ...)
2014-12-07 21:51 ` [PATCH 09/14] gnu: Add perl-getopt-tabular Eric Bavier
@ 2014-12-07 21:51 ` 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
` (3 subsequent siblings)
13 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-07 21:51 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/perl.scm (perl-regexp-common): New variable.
---
gnu/packages/perl.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index e385e7b..64d2c09 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -318,3 +318,28 @@ vaguely inspired by John Ousterhout's Tk_ParseArgv.")
(home-page (string-append "http://search.cpan.org/~gward/"
"Getopt-Tabular-" version))
(license (package-license perl))))
+
+(define-public perl-regexp-common
+ (package
+ (name "perl-regexp-common")
+ (version "2013031301")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/A/AB/ABIGAIL/"
+ "Regexp-Common-" version ".tar.gz"))
+ (sha256
+ (base32
+ "112wybsm0vr8yfannx6sdfvgp5vza28gjgr3pgn69ak4sac836kj"))))
+ (build-system perl-build-system)
+ (synopsis "Provide commonly requested regular expressions")
+ (description
+ "This module exports a single hash (`%RE') that stores or generates
+commonly needed regular expressions. Patterns currently provided include:
+balanced parentheses and brackets, delimited text (with escapes), integers and
+floating-point numbers in any base (up to 36), comments in 44 languages,
+offensive language, lists of any pattern, IPv4 addresses, URIs, and Zip
+codes.")
+ (home-page (string-append "http://search.cpan.org/~abigail/"
+ "Regexp-Common-" version))
+ ;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD.
+ (license (list x11 bsd-3))))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 11/14] gnu: Add perl-sys-cpu.
2014-12-07 21:51 [PATCH 00/14]: gnu: Add c-reduce Eric Bavier
` (9 preceding siblings ...)
2014-12-07 21:51 ` [PATCH 10/14] gnu: Add perl-regexp-common Eric Bavier
@ 2014-12-07 21:51 ` Eric Bavier
2014-12-08 20:51 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 12/14] gnu: Add NCSA license Eric Bavier
` (2 subsequent siblings)
13 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-07 21:51 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/perl.scm (perl-sys-cpu): New variable.
---
gnu/packages/perl.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 64d2c09..3457172 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -343,3 +343,24 @@ codes.")
"Regexp-Common-" version))
;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD.
(license (list x11 bsd-3))))
+
+(define-public perl-sys-cpu
+ (package
+ (name "perl-sys-cpu")
+ (version "0.61")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/M/MZ/MZSANFORD/"
+ "Sys-CPU-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1r6976bs86j7zp51m5vh42xlyah951jgdlkimv202413kjvqc2i5"))))
+ (build-system perl-build-system)
+ (synopsis "Perl extension for getting CPU information")
+ (description
+ "In responce to a post on perlmonks.org, a module for counting the number
+of CPU's on a system. Support has now also been added for type of CPU and
+clock speed.")
+ (home-page (string-append "http://search.cpan.org/~mzsanford/"
+ "Sys-CPU-" version))
+ (license (package-license perl))))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 12/14] gnu: Add NCSA license.
2014-12-07 21:51 [PATCH 00/14]: gnu: Add c-reduce Eric Bavier
` (10 preceding siblings ...)
2014-12-07 21:51 ` [PATCH 11/14] gnu: Add perl-sys-cpu Eric Bavier
@ 2014-12-07 21:51 ` 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-07 21:51 ` [PATCH 14/14] gnu: Add c-reduce Eric Bavier
13 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-07 21:51 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* guix/licenses.scm (ncsa): New variable.
---
guix/licenses.scm | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/guix/licenses.scm b/guix/licenses.scm
index 86929b1..86f3ae4 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -41,6 +41,7 @@
imlib2
lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+
mpl1.1 mpl2.0
+ ncsa
openldap2.8 openssl
psfl public-domain
qpl
@@ -249,6 +250,11 @@ which may be a file:// URI pointing the package's tree."
"http://directory.fsf.org/wiki/License:MPLv2.0"
"https://www.gnu.org/licenses/license-list#MPL-2.0"))
+(define ncsa
+ (license "NCSA/University of Illinois Open Source License"
+ "http://directory.fsf.org/wiki/License:IllinoisNCSA"
+ "https://www.gnu.org/licenses/license-list#NCSA"))
+
(define openssl
(license "OpenSSL"
"http://directory.fsf.org/wiki/License:OpenSSL"
--
1.7.9.5
^ permalink raw reply related [flat|nested] 31+ messages in thread
* [PATCH 13/14] gnu: Add llvm and clang.
2014-12-07 21:51 [PATCH 00/14]: gnu: Add c-reduce Eric Bavier
` (11 preceding siblings ...)
2014-12-07 21:51 ` [PATCH 12/14] gnu: Add NCSA license Eric Bavier
@ 2014-12-07 21:51 ` Eric Bavier
2014-12-08 20:55 ` Ludovic Courtès
2014-12-07 21:51 ` [PATCH 14/14] gnu: Add c-reduce Eric Bavier
13 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-07 21:51 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* gnu/packages/llvm.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
gnu-system.am | 1 +
gnu/packages/llvm.scm | 105 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 106 insertions(+)
create mode 100644 gnu/packages/llvm.scm
diff --git a/gnu-system.am b/gnu-system.am
index 9f77456..0253996 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -161,6 +161,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/links.scm \
gnu/packages/linux.scm \
gnu/packages/lisp.scm \
+ gnu/packages/llvm.scm \
gnu/packages/lout.scm \
gnu/packages/lsh.scm \
gnu/packages/lsof.scm \
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
new file mode 100644
index 0000000..a5f253e
--- /dev/null
+++ b/gnu/packages/llvm.scm
@@ -0,0 +1,105 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages llvm)
+ #:use-module (guix packages)
+ #:use-module (guix licenses)
+ #:use-module (guix download)
+ #:use-module (guix utils)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system cmake)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages xml))
+
+(define-public llvm
+ (package
+ (name "llvm")
+ (version "3.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://llvm.org/releases/"
+ version "/llvm-" version ".src.tar.xz"))
+ (sha256
+ (base32
+ "00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("python" ,python-wrapper)
+ ("perl" ,perl)))
+ (arguments
+ `(#:phases (alist-cons-before
+ 'build 'link-lib-for-build-exec
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; This is a hacky fix that will allow binaries to run
+ ;; before being installed. -DCMAKE_SKIP_BUILD_RPATH=FALSE
+ ;; seems to not help. Nixpkgs does the same.
+ (let* ((out (assoc-ref outputs "out"))
+ (out-lib (string-append out "/lib"))
+ (build-lib (string-append (getcwd) "/lib")))
+ (mkdir-p out)
+ (symlink build-lib out-lib)))
+ (alist-cons-after
+ 'build 'cleanup-out
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Cleanup the symlink that was created previously. Let
+ ;; the install phase repopulate out.
+ (delete-file-recursively (assoc-ref outputs "out")))
+ %standard-phases))))
+ (home-page "http://www.llvm.org")
+ (synopsis "Optimizing compiler infrastructure")
+ (description
+ "LLVM is a compiler infrastructure designed for compile-time, link-time, runtime,
+and idle-time optimization of programs from arbitrary programming languages.
+It currently supports compilation of C and C++ programs, using front-ends
+derived from GCC 4.0.1. A new front-end for the C family of languages is in
+development. The compiler infrastructure includes mirror sets of programming
+tools as well as libraries with equivalent functionality.")
+ (license ncsa)))
+
+(define-public clang
+ (package
+ (name "clang")
+ (version (package-version llvm))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://llvm.org/releases/"
+ version "/cfe-" version ".src.tar.xz"))
+ (sha256
+ (base32
+ "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w"))))
+ ;; Using cmake allows us to treat llvm as an external library. There
+ ;; doesn't seem to be any way to do this with clang's autotools-based
+ ;; build system.
+ (build-system cmake-build-system)
+ (native-inputs (package-native-inputs llvm))
+ (inputs `(("llvm" ,llvm)
+ ("libxml2" ,libxml2)
+ ,@(package-inputs llvm)))
+ (arguments `(#:configure-flags '("-DCLANG_INCLUDE_TESTS=True")))
+ (home-page "http://clang.llvm.org")
+ (synopsis "C language family frontend for LLVM")
+ (description
+ "Clang is a compiler front end for the C, C++, Objective-C and
+Objective-C++ programming languages. It uses LLVM as its back end. The Clang
+project includes the Clang front end, the Clang static analyzer, and several
+code analysis tools.")
+ (license ncsa)))
--
1.7.9.5
^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH 13/14] gnu: Add llvm and clang.
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
0 siblings, 1 reply; 31+ messages in thread
From: Ludovic Courtès @ 2014-12-08 20:55 UTC (permalink / raw)
To: Eric Bavier; +Cc: guix-devel, Eric Bavier
Eric Bavier <ericbavier@gmail.com> skribis:
> * gnu/packages/llvm.scm: New file.
> * gnu-system.am (GNU_SYSTEM_MODULES): Add it.
[...]
> + (inputs `(("llvm" ,llvm)
> + ("libxml2" ,libxml2)
> + ,@(package-inputs llvm)))
Should LLVM be a propagated input of Clang?
Otherwise LGTM. (And congrats on these two!)
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 13/14] gnu: Add llvm and clang.
2014-12-08 20:55 ` Ludovic Courtès
@ 2014-12-09 17:21 ` Eric Bavier
2014-12-09 20:26 ` Ludovic Courtès
0 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-09 17:21 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel, Eric Bavier
Ludovic Courtès writes:
> Eric Bavier <ericbavier@gmail.com> skribis:
>
>> * gnu/packages/llvm.scm: New file.
>> * gnu-system.am (GNU_SYSTEM_MODULES): Add it.
>
> [...]
>
>> + (inputs `(("llvm" ,llvm)
>> + ("libxml2" ,libxml2)
>> + ,@(package-inputs llvm)))
>
> Should LLVM be a propagated input of Clang?
Probably. There are installed headers that refer to llvm headers.
That's usually a candidate for propagation, correct?
> Otherwise LGTM. (And congrats on these two!)
Thanks.
--
Eric Bavier
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html
^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH 13/14] gnu: Add llvm and clang.
2014-12-09 17:21 ` Eric Bavier
@ 2014-12-09 20:26 ` Ludovic Courtès
0 siblings, 0 replies; 31+ messages in thread
From: Ludovic Courtès @ 2014-12-09 20:26 UTC (permalink / raw)
To: Eric Bavier; +Cc: guix-devel, Eric Bavier
Eric Bavier <ericbavier@gmail.com> skribis:
> Ludovic Courtès writes:
>
>> Eric Bavier <ericbavier@gmail.com> skribis:
>>
>>> * gnu/packages/llvm.scm: New file.
>>> * gnu-system.am (GNU_SYSTEM_MODULES): Add it.
>>
>> [...]
>>
>>> + (inputs `(("llvm" ,llvm)
>>> + ("libxml2" ,libxml2)
>>> + ,@(package-inputs llvm)))
>>
>> Should LLVM be a propagated input of Clang?
>
> Probably. There are installed headers that refer to llvm headers.
> That's usually a candidate for propagation, correct?
Yep.
Ludo’.
^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH 14/14] gnu: Add c-reduce.
2014-12-07 21:51 [PATCH 00/14]: gnu: Add c-reduce Eric Bavier
` (12 preceding siblings ...)
2014-12-07 21:51 ` [PATCH 13/14] gnu: Add llvm and clang Eric Bavier
@ 2014-12-07 21:51 ` Eric Bavier
2014-12-08 20:56 ` Ludovic Courtès
13 siblings, 1 reply; 31+ messages in thread
From: Eric Bavier @ 2014-12-07 21:51 UTC (permalink / raw)
To: guix-devel; +Cc: Eric Bavier
* 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
^ permalink raw reply related [flat|nested] 31+ messages in thread