;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages which)
#:use-module (guix packages)
#:use-module (guix download)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (guix utils)
+ #:use-module (ice-9 match))
;;; Commentary:
;;;
".tar.gz"))
(sha256
(base32
- "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3"))))
+ "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3"))
+ (patches (list (search-patch "guile-1.8-cpp-4.5.patch")))))
(build-system gnu-build-system)
(arguments '(#:configure-flags '("--disable-error-on-warning")
- #:patches (list (assoc-ref %build-inputs "patch/snarf"))
;; Insert a phase before `configure' to patch things up.
#:phases (alist-cons-before
(substitute* "ice-9/popen.scm"
(("/bin/sh") (which "sh"))))
%standard-phases)))
- (inputs `(("patch/snarf" ,(search-patch "guile-1.8-cpp-4.5.patch"))
- ("gawk" ,gawk)
+ (inputs `(("gawk" ,gawk)
("readline" ,readline)))
;; Since `guile-1.8.pc' has "Libs: ... -lgmp -lltdl", these must be
(synopsis "Scheme implementation intended especially for extensions")
(description
-"GNU Guile 1.8 is an interpreter for the Scheme programming language,
-packaged as a library that can be embedded into programs to make them
-extensible. It supports many SRFIs.")
+ "Guile is the GNU Ubiquitous Intelligent Language for Extensions, the
+official extension language of the GNU system. It is an implementation of
+the Scheme language which can be easily embedded in other applications to
+provide a convenient means of extending the functionality of the application
+without requiring the source code to be rewritten.")
(home-page "http://www.gnu.org/software/guile/")
(license lgpl2.0+)))
;; The headers and/or `guile-2.0.pc' refer to these packages, so they
;; must be propagated.
- ("bdw-gc" ,libgc)
+ ("bdw-gc" ,libgc-7.4)
("gmp" ,gmp)))
(self-native-input? #t)
(synopsis "Scheme implementation intended especially for extensions")
(description
-"GNU Guile is an implementation of the Scheme programming language, with
-support for many SRFIs, packaged for use in a wide variety of environments.
-In addition to implementing the R5RS Scheme standard and a large subset of
-R6RS, Guile includes a module system, full access to POSIX system calls,
-networking support, multiple threads, dynamic linking, a foreign function
-call interface, and powerful string processing.")
+ "Guile is the GNU Ubiquitous Intelligent Language for Extensions, the
+official extension language of the GNU system. It is an implementation of
+the Scheme language which can be easily embedded in other applications to
+provide a convenient means of extending the functionality of the application
+without requiring the source code to be rewritten.")
(home-page "http://www.gnu.org/software/guile/")
(license lgpl3+)))
(define-public guile-2.0/fixed
;; A package of Guile 2.0 that's rarely changed. It is the one used
;; in the `base' module, and thus changing it entails a full rebuild.
- guile-2.0)
+ (package (inherit guile-2.0)
+ (location (source-properties->location (current-source-location)))
+
+ ;; Keep using the stable libgc.
+ (propagated-inputs (map (match-lambda
+ (("bdw-gc" _)
+ `("bdw-gc" ,libgc))
+ (x x))
+ (package-propagated-inputs guile-2.0)))))
\f
;;;
(home-page "http://www.gnu.org/software/guile-ncurses/")
(synopsis "Guile bindings to ncurses")
(description
- "GNU Guile-Ncurses is a library for the Guile Scheme interpreter that
-provides functions for creating text user interfaces. The text user interface
-functionality is built on the ncurses libraries: curses, form, panel, and
-menu.")
+ "guile-ncurses provides Guile language bindings for the ncurses
+library.")
(license lgpl3+)))
(define-public mcron
version ".tar.gz"))
(sha256
(base32
- "0yvrfzzdy2m7fbqkr61fw01wd9r2jpnbyabxhcsfivgxywknl0fy"))))
+ "0yvrfzzdy2m7fbqkr61fw01wd9r2jpnbyabxhcsfivgxywknl0fy"))
+ (patches (list (search-patch "mcron-install.patch")))))
(build-system gnu-build-system)
- (arguments
- '(#:patches (list (assoc-ref %build-inputs "patch/install"))))
(inputs
- `(("ed" ,ed) ("which" ,which) ("guile" ,guile-1.8)
- ("patch/install" ,(search-patch "mcron-install.patch"))))
+ `(("ed" ,ed) ("which" ,which) ("guile" ,guile-1.8)))
(home-page "http://www.gnu.org/software/mcron/")
(synopsis "Run jobs at scheduled times")
(description
- "The GNU package mcron (Mellor's cron) is a 100% compatible replacement
-for Vixie cron. It is written in pure Guile, and allows configuration files
-to be written in scheme (as well as Vixie's original format) for infinite
-flexibility in specifying when jobs should be run. Mcron was written by Dale
-Mellor.")
+ "GNU Mcron is a complete replacement for Vixie cron. It is used to run
+tasks on a schedule, such as every hour or every Monday. Mcron is written in
+Guile, so its configuration can be written in Scheme; the original cron
+format is also supported.")
(license gpl3+)))
(define-public guile-lib