summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp.scm
diff options
context:
space:
mode:
authorAndy Patterson <ajpatter@uwaterloo.ca>2016-07-24 21:05:39 -0400
committerLudovic Courtès <ludo@gnu.org>2016-07-25 10:48:49 +0200
commit54a43ff4069c11e9944722e867518bfa677e196d (patch)
tree27ed0ee90f1d23e0ccdb4d20f683811570ca2ede /gnu/packages/lisp.scm
parent60474cd1148e04423318b0724752729199fdec80 (diff)
gnu: ecl: Wrap with PATH, CPATH, LIBRARY_PATH, and LD_LIBRARY_PATH.
* gnu/packages/lisp.scm (ecl)[arguments]: Add 'wrap' phase. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/lisp.scm')
-rw-r--r--gnu/packages/lisp.scm26
1 files changed, 25 insertions, 1 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index ece35114ea..2f3442b8f5 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -127,7 +128,30 @@ interface to the Tk widget system.")
#:phases
(modify-phases %standard-phases
(delete 'check)
- (add-after 'install 'check (assoc-ref %standard-phases 'check)))))
+ (add-after 'install 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((ecl (assoc-ref outputs "out"))
+ (input-path (lambda (lib path)
+ (string-append
+ (assoc-ref inputs lib) path)))
+ (libraries '("gmp" "libatomic-ops" "libgc" "libffi" "libc"))
+ (binaries '("gcc" "ld-wrapper" "binutils"))
+ (library-directories
+ (map (lambda (lib) (input-path lib "/lib"))
+ libraries)))
+
+ (wrap-program (string-append ecl "/bin/ecl")
+ `("PATH" prefix
+ ,(map (lambda (binary)
+ (input-path binary "/bin"))
+ binaries))
+ `("CPATH" suffix
+ ,(map (lambda (lib)
+ (input-path lib "/include"))
+ `("linux-headers" ,@libraries)))
+ `("LIBRARY_PATH" suffix ,library-directories)
+ `("LD_LIBRARY_PATH" suffix ,library-directories)))))
+ (add-after 'wrap 'check (assoc-ref %standard-phases 'check)))))
(home-page "http://ecls.sourceforge.net/")
(synopsis "Embeddable Common Lisp")
(description "ECL is an implementation of the Common Lisp language as