diff options
author | Ludovic Courtès <ludo@gnu.org> | 2012-07-06 00:55:07 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2012-07-06 01:00:40 +0200 |
commit | d767288490c0d2edc1b64fb99994571ddcc08f0f (patch) | |
tree | 957bd4dfeabb020c3b550c83a274d26ee9aeb520 /distro/base.scm | |
parent | 8e6ecb14006a96ef6620005223597d6bf4e8ebdf (diff) | |
download | guix-d767288490c0d2edc1b64fb99994571ddcc08f0f.tar.gz |
distro: Add GNU Guile 1.8.
* distro/base.scm (guile-1.8): New variable. * distro/guile-1.8-cpp-4.5.patch: New file. * Makefile.am (nobase_dist_guilemodule_DATA): Add it.
Diffstat (limited to 'distro/base.scm')
-rw-r--r-- | distro/base.scm | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/distro/base.scm b/distro/base.scm index 1135d7551e..b11a7f2116 100644 --- a/distro/base.scm +++ b/distro/base.scm @@ -107,3 +107,59 @@ code.") (long-description "Yeah...") (home-page "http://www.gnu.org/software/hello/") (license "GPLv3+"))) + +(define-public guile-1.8 + (package + (name "guile") + (version "1.8.8") + (source (origin + (method http-fetch) + (uri (string-append "http://ftp.gnu.org/gnu/guile/guile-" version + ".tar.gz")) + (sha256 + (base32 + "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3")))) + (build-system gnu-build-system) + (arguments '(#:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 regex)) + #: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 + 'configure + 'patch-loader-search-path + (lambda* (#:key outputs #:allow-other-keys) + ;; Add a call to `lt_dladdsearchdir' so that + ;; `libguile-readline.so' & co. are in the + ;; loader's search path. + (substitute "libguile/dynl.c" + "lt_dlinit.*$" + (lambda (m p) + (format p + " ~a~% //lt_dladdsearchdir(\"~a/lib\");~%" + (match:substring m 0) + (assoc-ref outputs "out"))))) + %standard-phases))) + (inputs `(("patch/snarf" + ,(search-path %load-path "distro/guile-1.8-cpp-4.5.patch")) + ("gawk" ,gawk) + ("readline" ,(nixpkgs-derivation "readline")) + ("gmp" ,(nixpkgs-derivation "gmp")) + ("libtool" ,(nixpkgs-derivation "libtool")))) + + ;; When cross-compiling, a native version of Guile itself is needed. + (self-native-input? #t) + + (description "GNU Guile 1.8, an embeddable Scheme interpreter") + (long-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.") + (home-page "http://www.gnu.org/software/guile/") + (license "LGPLv2+"))) + +;;; Local Variables: +;;; eval: (put 'lambda* 'scheme-indent-function 1) +;;; End: |