* [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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.