Browse Source

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").
Ludovic Courtès 8 years ago
2 changed files with 57 additions and 2 deletions
  1. +55
  2. +2

+ 55
- 1
distro/base.scm View File

@@ -28,6 +28,60 @@
;;; Code:

(define-public libsigsegv
(name "libsigsegv")
(version "2.10")
(source (source
(method http-fetch)
(uri "")
(nix-base32-string->bytevector ; TODO: make conversion implicit
(build-system gnu-build-system)
(home-page "")
(description "GNU libsigsegv, a library to handle page faults in user mode")
"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
(name "gawk")
(version "4.0.0")
(source (source
(method http-fetch)
(uri "")
(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 "")
(description "GNU implementation of the Awk programming language")
"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
(license "GPLv3+")))

(define-public hello
(name "hello")
@@ -43,7 +97,7 @@
,(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 "")

+ 2
- 1
guix/packages.scm View File

@@ -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