guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/03: gnu: ecl: Wrap with PATH, CPATH, LIBRARY_PATH, and LD_LIBRARY_PAT


From: Ludovic Courtès
Subject: 03/03: gnu: ecl: Wrap with PATH, CPATH, LIBRARY_PATH, and LD_LIBRARY_PATH.
Date: Mon, 25 Jul 2016 08:48:55 +0000 (UTC)

civodul pushed a commit to branch master
in repository guix.

commit 54a43ff4069c11e9944722e867518bfa677e196d
Author: Andy Patterson <address@hidden>
Date:   Sun Jul 24 21:05:39 2016 -0400

    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 <address@hidden>
---
 gnu/packages/lisp.scm |   26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index ece3511..2f3442b 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Mark H Weaver <address@hidden>
 ;;; Copyright © 2016 Federico Beffa <address@hidden>
 ;;; Copyright © 2016 ng0 <address@hidden>
+;;; Copyright © 2016 Andy Patterson <address@hidden>
 ;;;
 ;;; 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]