;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ed)
#:use-module (gnu packages which)
- #:use-module (gnu packages gtk)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
;; Since `guile-1.8.pc' has "Libs: ... -lgmp -lltdl", these must be
;; propagated.
(propagated-inputs `(("gmp" ,gmp)
- ("libtool" ,libtool)))
+ ("libltdl" ,libltdl)))
;; When cross-compiling, a native version of Guile itself is needed.
(self-native-input? #t)
(native-search-paths
(list (search-path-specification
(variable "GUILE_LOAD_PATH")
- (directories '("share/guile/site")))))
+ (files '("share/guile/site")))))
(synopsis "Scheme implementation intended especially for extensions")
(description
".tar.xz"))
(sha256
(base32
- "1qh3j7308qvsjgwf7h94yqgckpbgz2k3yqdkzsyhqcafvfka9l5f"))))
+ "1qh3j7308qvsjgwf7h94yqgckpbgz2k3yqdkzsyhqcafvfka9l5f"))
+ (patches (list (search-patch "guile-arm-fixes.patch")))))
(build-system gnu-build-system)
(native-inputs `(("pkgconfig" ,pkg-config)))
(inputs `(("libffi" ,libffi)
;; `-L' flags. As for why the `.la' file lacks the `-L' flags, see
;; <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/18903>.
("libunistring" ,libunistring)
- ("libtool" ,libtool)
+
+ ;; Depend on LIBLTDL, not LIBTOOL. That way, we avoid some the extra
+ ;; dependencies that LIBTOOL has, which is helpful during bootstrap.
+ ("libltdl" ,libltdl)
;; The headers and/or `guile-2.0.pc' refer to these packages, so they
;; must be propagated.
(native-search-paths
(list (search-path-specification
(variable "GUILE_LOAD_PATH")
- (directories '("share/guile/site/2.0")))
+ (files '("share/guile/site/2.0")))
(search-path-specification
(variable "GUILE_LOAD_COMPILED_PATH")
- (directories '("share/guile/site/2.0")))))
+ (files '("share/guile/site/2.0")))))
(synopsis "Scheme implementation intended especially for extensions")
(description
;;; Extensions.
;;;
-(define (guile-reader guile)
- "Build Guile-Reader against GUILE, a package of some version of Guile 1.8
-or 2.0."
+(define-public guile-reader
(package
- (name (string-append "guile-reader-for-guile_" (package-version guile)))
- (version "0.6")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://download-mirror.savannah.gnu.org/releases/guile-reader/guile-reader-"
- version ".tar.gz"))
- (sha256
- (base32
- "1svlyk5pm4fsdp2g7n6qffdl6fdggxnlicj0jn9s4lxd63gzxy1n"))))
- (build-system gnu-build-system)
- (native-inputs `(("pkgconfig" ,pkg-config)
- ("gperf" ,gperf)))
- (inputs `(("guile" ,guile)))
- (arguments `(#:configure-flags
- (let ((out (assoc-ref %outputs "out")))
- ,(if (string-prefix? "2." (package-version guile))
- '(list (string-append "--with-guilemoduledir="
- out "/share/guile/site/2.0"))
- '(list (string-append "--with-guilemoduledir="
- out "/share/guile/site"))))))
- (synopsis "Framework for building readers for GNU Guile")
- (description
-"Guile-Reader is a simple framework for building readers for GNU Guile.
+ (name "guile-reader")
+ (version "0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/guile-reader/guile-reader-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1svlyk5pm4fsdp2g7n6qffdl6fdggxnlicj0jn9s4lxd63gzxy1n"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("pkgconfig" ,pkg-config)
+ ("gperf" ,gperf)))
+ (inputs `(("guile" ,guile-2.0)))
+ (arguments `(#:configure-flags
+ (let ((out (assoc-ref %outputs "out")))
+ (list (string-append "--with-guilemoduledir="
+ out "/share/guile/site/2.0")))))
+ (synopsis "Framework for building readers for GNU Guile")
+ (description
+ "Guile-Reader is a simple framework for building readers for GNU Guile.
The idea is to make it easy to build procedures that extend Guile’s read
-procedure. Readers supporting various syntax variants can easily be written,
+procedure. Readers supporting various syntax variants can easily be written,
possibly by re-using existing “token readers” of a standard Scheme
-readers. For example, it is used to implement Skribilo’s R5RS-derived
+readers. For example, it is used to implement Skribilo’s R5RS-derived
document syntax.
Guile-Reader’s approach is similar to Common Lisp’s “read table”, but
hopefully more powerful and flexible (for instance, one may instantiate as
many readers as needed).")
- (home-page "http://www.nongnu.org/guile-reader/")
- (license gpl3+)))
-
-(define-public guile-reader/guile-1.8
- ;; Guile-Reader built against Guile 1.8.
- (guile-reader guile-1.8))
-
-(define-public guile-reader/guile-2.0
- ;; Guile-Reader built against Guile 2.0.
- (guile-reader guile-2.0))
+ (home-page "http://www.nongnu.org/guile-reader/")
+ (license gpl3+)))
(define-public guile-ncurses
(package
(name "guile-ncurses")
- (version "1.4")
+ (version "1.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/guile-ncurses/guile-ncurses-"
version ".tar.gz"))
(sha256
(base32
- "070wl664lsm14hb6y9ch97x9q6cns4k6nxgdzbdzi5byixn74899"))
- (patches (list (search-patch "guile-ncurses-tests.patch")))))
+ "0wmk681zzi1wxw543r2s2r84ndnzxp69kr7pc01aw4l55hg7jn73"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("guile" ,guile-2.0)))
(home-page "http://www.nongnu.org/guile-lib/")
(synopsis "Collection of useful Guile Scheme modules")
(description
- "guile-lib is intended as an accumulation place for pure-scheme Guile
+ "Guile-Lib is intended as an accumulation place for pure-scheme Guile
modules, allowing for people to cooperate integrating their generic Guile
modules into a coherent library. Think \"a down-scaled, limited-scope CPAN
for Guile\".")
(("moddir =.*/share/guile/site" all)
(string-append all "/2.0"))))))
(build-system gnu-build-system)
- (inputs `(("guile" ,guile-2.0)))
+ (native-inputs `(("guile" ,guile-2.0)))
(home-page "http://savannah.nongnu.org/projects/guile-json/")
(synopsis "JSON module for Guile")
(description
"Guile-json supports parsing and building JSON documents according to the
-http:://json.org specification. These are the main features:
+http:://json.org specification. These are the main features:
- Strictly complies to http://json.org specification.
- Build JSON documents programmatically via macros.
- Unicode support for strings.
- Allows JSON pretty printing.")
(license lgpl3+)))
-(define-public guile-charting
- (package
- (name "guile-charting")
- (version "0.1.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://wingolog.org/pub/guile-charting/"
- "guile-charting-" version ".tar.gz"))
- (sha256
- (base32
- "1l8xcqq4cp67jzxnmf07ivsgq23mfmi00zz1s8bnv2zkb0ab9475"))
- (modules '((guix build utils)))
- (snippet
- ;; Remove dependency from guile-charting.texi to
- ;; guile-chartingscmfiles to avoid rebuild the doc (which is
- ;; unnecessary and fails with "failed to match any pattern in
- ;; form define-macro-with-docs" as of Guile 2.0.11.)
- '(substitute* "doc/Makefile.in"
- (("^(.+):(.*) \\$\\(doc\\)scmfiles(.*$)" _ target dep1 dep2)
- (string-append target ":" dep1 " " dep2 "\n"))))))
- (build-system gnu-build-system)
- (native-inputs `(("pkg-config" ,pkg-config)))
- (inputs `(("guile" ,guile-2.0)
- ("guile-cairo" ,guile-cairo)))
- (home-page "http://wingolog.org/software/guile-charting/")
- (synopsis "Create charts and graphs in Guile")
- (description
- "Guile-Charting is a Guile Scheme library to create bar charts and graphs
-using the Cairo drawing library.")
- (license lgpl2.1+)))
-
;;; guile.scm ends here