unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Update ecl.
@ 2016-07-25  1:05 Andy Patterson
  2016-07-25  1:05 ` [PATCH 1/3] gnu: ecl: Update to 16.1.2 Andy Patterson
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Andy Patterson @ 2016-07-25  1:05 UTC (permalink / raw)
  To: guix-devel


Hello,

This patch set was created for the purpose of getting ecl to be able to
compile and run a system from within a '--pure' environment. I updated it to
the most recent release and enabled the test suite while I was at it.

Comments welcome.

Thanks,

--
Andy

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/3] gnu: ecl: Update to 16.1.2.
  2016-07-25  1:05 [PATCH] gnu: Update ecl Andy Patterson
@ 2016-07-25  1:05 ` Andy Patterson
  2016-07-25  8:25   ` Ludovic Courtès
  2016-07-25  1:05 ` [PATCH 2/3] gnu: ecl: Enable tests Andy Patterson
  2016-07-25  1:05 ` [PATCH 3/3] gnu: ecl: Wrap with PATH, CPATH, LIBRARY_PATH and LD_LIBRARY_PATH Andy Patterson
  2 siblings, 1 reply; 7+ messages in thread
From: Andy Patterson @ 2016-07-25  1:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/lisp.scm (ecl): Update to 16.1.2.
---
 gnu/packages/lisp.scm | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 863ee00..faac8bd 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -102,15 +102,15 @@ interface to the Tk widget system.")
 (define-public ecl
   (package
     (name "ecl")
-    (version "15.2.21")
+    (version "16.1.2")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://sourceforge/ecls/ecls/"
-                           (version-major+minor version)
-                           "/ecl-" version ".tgz"))
+       (uri (string-append
+             "https://common-lisp.net/project/ecl/static/files/release/"
+             name "-" version ".tgz"))
        (sha256
-        (base32 "05di23v977byf67rq5bdshw8lqbby1ycbscdcl1vca0z6r1s204j"))))
+        (base32 "16ab8qs3awvdxy8xs8jy82v8r04x4wr70l9l2j45vgag18d2nj1d"))))
     (build-system gnu-build-system)
     ;; src/configure uses 'which' to confirm the existence of 'gzip'.
     (native-inputs `(("which" ,which)))
-- 
2.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/3] gnu: ecl: Enable tests.
  2016-07-25  1:05 [PATCH] gnu: Update ecl Andy Patterson
  2016-07-25  1:05 ` [PATCH 1/3] gnu: ecl: Update to 16.1.2 Andy Patterson
@ 2016-07-25  1:05 ` Andy Patterson
  2016-07-25  8:31   ` Ludovic Courtès
  2016-07-25  1:05 ` [PATCH 3/3] gnu: ecl: Wrap with PATH, CPATH, LIBRARY_PATH and LD_LIBRARY_PATH Andy Patterson
  2 siblings, 1 reply; 7+ messages in thread
From: Andy Patterson @ 2016-07-25  1:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/lisp.scm (ecl): Enable tests.
---
 gnu/packages/lisp.scm | 33 +++++++++------------------------
 1 file changed, 9 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index faac8bd..1c7a791 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -119,30 +119,15 @@ interface to the Tk widget system.")
               ("libgc" ,libgc)
               ("libffi" ,libffi)))
     (arguments
-     '(;; During 'make check', ECL fails to initialize with "protocol not
-       ;; supported", presumably because /etc/protocols is missing in the
-       ;; build environment.  See <http://sourceforge.net/p/ecls/bugs/300/>.
-       ;;
-       ;; Should the test suite be re-enabled, it might be necessary to add
-       ;; '#:parallel-tests #f'.  See the same bug report as above.
-       ;;
-       ;; The following might also be necessary, due to 'make check' assuming
-       ;; ECL is installed.  See <http://sourceforge.net/p/ecls/bugs/299/>.
-       ;;
-       ;; #:phases
-       ;; (let* ((check-phase (assq-ref %standard-phases 'check))
-       ;;        (rearranged-phases
-       ;;         (alist-cons-after 'install 'check check-phase
-       ;;                           (alist-delete 'check %standard-phases))))
-       ;;   (alist-cons-before
-       ;;    'check 'pre-check
-       ;;    (lambda* (#:key outputs #:allow-other-keys)
-       ;;      (substitute* '("build/tests/Makefile")
-       ;;        (("ECL=ecl")
-       ;;         (string-append
-       ;;          "ECL=" (assoc-ref outputs "out") "/bin/ecl"))))
-       ;;    rearranged-phases))
-       #:tests? #f))
+     '(#:tests? #t
+       #:make-flags `(,(string-append "ECL="
+                                      (assoc-ref %outputs "out")
+                                      "/bin/ecl"))
+       #:parallel-tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'check)
+         (add-after 'install '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
-- 
2.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/3] gnu: ecl: Wrap with PATH, CPATH, LIBRARY_PATH and LD_LIBRARY_PATH
  2016-07-25  1:05 [PATCH] gnu: Update ecl Andy Patterson
  2016-07-25  1:05 ` [PATCH 1/3] gnu: ecl: Update to 16.1.2 Andy Patterson
  2016-07-25  1:05 ` [PATCH 2/3] gnu: ecl: Enable tests Andy Patterson
@ 2016-07-25  1:05 ` Andy Patterson
  2016-07-25  8:50   ` Ludovic Courtès
  2 siblings, 1 reply; 7+ messages in thread
From: Andy Patterson @ 2016-07-25  1:05 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/lisp.scm (ecl)[arguments]: Wrap with PATH, CPATH,
  LIBRARY_PATH and LD_LIBRARY_PATH
---
 gnu/packages/lisp.scm | 33 +++++++++++++++++++++++++++++++--
 1 file changed, 31 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 1c7a791..8769410 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.
 ;;;
@@ -33,10 +34,12 @@
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages bdw-gc)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages libffcall)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages libsigsegv)
   #:use-module (gnu packages admin)
@@ -117,7 +120,12 @@ interface to the Tk widget system.")
     (inputs `(("gmp" ,gmp)
               ("libatomic-ops" ,libatomic-ops)
               ("libgc" ,libgc)
-              ("libffi" ,libffi)))
+              ("libffi" ,libffi)
+              ("linux-headers" ,linux-libre-headers)
+              ("gcc" ,gcc)
+              ("binutils" ,binutils)
+              ("ld-wrapper" ,(make-ld-wrapper "ld-wrapper" #:binutils binutils))
+              ("libc" ,glibc)))
     (arguments
      '(#:tests? #t
        #:make-flags `(,(string-append "ECL="
@@ -127,7 +135,28 @@ 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" "binutils" "ld-wrapper"))
+                    (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
-- 
2.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3] gnu: ecl: Update to 16.1.2.
  2016-07-25  1:05 ` [PATCH 1/3] gnu: ecl: Update to 16.1.2 Andy Patterson
@ 2016-07-25  8:25   ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2016-07-25  8:25 UTC (permalink / raw)
  To: Andy Patterson; +Cc: guix-devel

Andy Patterson <ajpatter@uwaterloo.ca> skribis:

> * gnu/packages/lisp.scm (ecl): Update to 16.1.2.

Applied, thanks!

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/3] gnu: ecl: Enable tests.
  2016-07-25  1:05 ` [PATCH 2/3] gnu: ecl: Enable tests Andy Patterson
@ 2016-07-25  8:31   ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2016-07-25  8:31 UTC (permalink / raw)
  To: Andy Patterson; +Cc: guix-devel

Andy Patterson <ajpatter@uwaterloo.ca> skribis:

> * gnu/packages/lisp.scm (ecl): Enable tests.

That’s good news.  Applied, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 3/3] gnu: ecl: Wrap with PATH, CPATH, LIBRARY_PATH and LD_LIBRARY_PATH
  2016-07-25  1:05 ` [PATCH 3/3] gnu: ecl: Wrap with PATH, CPATH, LIBRARY_PATH and LD_LIBRARY_PATH Andy Patterson
@ 2016-07-25  8:50   ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2016-07-25  8:50 UTC (permalink / raw)
  To: Andy Patterson; +Cc: guix-devel

Andy Patterson <ajpatter@uwaterloo.ca> skribis:

> * gnu/packages/lisp.scm (ecl)[arguments]: Wrap with PATH, CPATH,
>   LIBRARY_PATH and LD_LIBRARY_PATH

[...]

> +              ("libffi" ,libffi)
> +              ("linux-headers" ,linux-libre-headers)
> +              ("gcc" ,gcc)
> +              ("binutils" ,binutils)
> +              ("ld-wrapper" ,(make-ld-wrapper "ld-wrapper" #:binutils binutils))
> +              ("libc" ,glibc)))

I removed these inputs because they’re implicit and don’t need to be
added.

> +                    (binaries '("gcc" "binutils" "ld-wrapper"))

I also moved ld-wrapper before binutils so that ld-wrappers ‘ld’ command
is picked up.

Pushed, thank you!

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-07-25  8:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-25  1:05 [PATCH] gnu: Update ecl Andy Patterson
2016-07-25  1:05 ` [PATCH 1/3] gnu: ecl: Update to 16.1.2 Andy Patterson
2016-07-25  8:25   ` Ludovic Courtès
2016-07-25  1:05 ` [PATCH 2/3] gnu: ecl: Enable tests Andy Patterson
2016-07-25  8:31   ` Ludovic Courtès
2016-07-25  1:05 ` [PATCH 3/3] gnu: ecl: Wrap with PATH, CPATH, LIBRARY_PATH and LD_LIBRARY_PATH Andy Patterson
2016-07-25  8:50   ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).