aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-06-29 00:28:57 +0200
committerLudovic Courtès <ludo@gnu.org>2012-06-29 00:28:57 +0200
commit64fddd74f0f1bb154149fcd8e6369a1be323c1d3 (patch)
tree76ab40273080a22ecd5dda29c3edbfc3a8f160e4
parentd26ad5e45bc68ac0c373a576147310a7dacc9017 (diff)
downloadguix-64fddd74f0f1bb154149fcd8e6369a1be323c1d3.tar
guix-64fddd74f0f1bb154149fcd8e6369a1be323c1d3.tar.gz
distro: Add libsigsegv and GNU Awk.
* guix/packages.scm (<package>)[arguments]: Default to '(). * distro/base.scm (libsigsegv, gawk): New packages. (hello): Use GAWK instead of (nixpkgs-derivation "gawk").
-rw-r--r--distro/base.scm56
-rw-r--r--guix/packages.scm3
2 files changed, 57 insertions, 2 deletions
diff --git a/distro/base.scm b/distro/base.scm
index f80795282a..6e5b36aec3 100644
--- a/distro/base.scm
+++ b/distro/base.scm
@@ -28,6 +28,60 @@
;;;
;;; Code:
+(define-public libsigsegv
+ (package
+ (name "libsigsegv")
+ (version "2.10")
+ (source (source
+ (method http-fetch)
+ (uri "http://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.10.tar.gz")
+ (sha256
+ (nix-base32-string->bytevector ; TODO: make conversion implicit
+ "16hrs8k3nmc7a8jam5j1fpspd6sdpkamskvsdpcw6m29vnis8q44"))))
+ (build-system gnu-build-system)
+ (home-page "http://www.gnu.org/software/libsigsegv/")
+ (description "GNU libsigsegv, a library to handle page faults in user mode")
+ (long-description
+"GNU libsigsegv is a library for handling page faults in user mode. A page
+fault occurs when a program tries to access to a region of memory that is
+currently not available. Catching and handling a page fault is a useful
+technique for implementing pageable virtual memory, memory-mapped access to
+persistent databases, generational garbage collectors, stack overflow
+handlers, distributed shared memory, and more.")
+ (license "GPLv2+")))
+
+(define-public gawk
+ (package
+ (name "gawk")
+ (version "4.0.0")
+ (source (source
+ (method http-fetch)
+ (uri "http://ftp.gnu.org/gnu/gawk/gawk-4.0.0.tar.bz2")
+ (sha256
+ (nix-base32-string->bytevector
+ "0sss7rhpvizi2a88h6giv0i7w5h07s2fxkw3s6n1hqvcnhrfgbb0"))))
+ (build-system gnu-build-system)
+ (arguments '(#:configure-flags
+ `(,(string-append "--with-libsigsegv-prefix="
+ (assoc-ref %build-inputs "libsigsegv"))))
+ ;; TODO: disable tests on Cygwin
+ )
+ (inputs `(("libsigsegv" ,libsigsegv)))
+ (home-page "http://www.gnu.org/software/gawk/")
+ (description "GNU implementation of the Awk programming language")
+ (long-description
+ "Many computer users need to manipulate text files: extract and then
+operate on data from parts of certain lines while discarding the rest, make
+changes in various text files wherever certain patterns appear, and so on.
+To write a program to do these things in a language such as C or Pascal is a
+time-consuming inconvenience that may take many lines of code. The job is
+easy with awk, especially the GNU implementation: Gawk.
+
+The awk utility interprets a special-purpose programming language that makes
+it possible to handle many data-reformatting jobs with just a few lines of
+code.")
+ (license "GPLv3+")))
+
(define-public hello
(package
(name "hello")
@@ -43,7 +97,7 @@
`("--disable-dependency-tracking"
,(string-append "--with-gawk=" ; for illustration purposes
(assoc-ref %build-inputs "gawk")))))
- (inputs `(("gawk" ,(nixpkgs-derivation "gawk"))))
+ (inputs `(("gawk" ,gawk)))
(description "GNU Hello")
(long-description "Yeah...")
(home-page "http://www.gnu.org/software/hello/")
diff --git a/guix/packages.scm b/guix/packages.scm
index 786e6a8dc9..b00198f4af 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -107,7 +107,8 @@ etc."
(version package-version) ; string
(source package-source) ; <package-source> instance
(build-system package-build-system) ; build system
- (arguments package-arguments) ; arguments for the build method
+ (arguments package-arguments ; arguments for the build method
+ (default '()))
(inputs package-inputs ; input packages or derivations
(default '()))
(native-inputs package-native-inputs ; native input packages/derivations