guix-devel
[Top][All Lists]
Advanced

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

gnu: Add CLISP.


From: Taylan Ulrich Bayırlı/Kammer
Subject: gnu: Add CLISP.
Date: Fri, 13 Feb 2015 00:48:05 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux)

>From 6201470b3e6c2410be7f38d8cc1cc99c3b13f0da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <address@hidden>
Date: Thu, 12 Feb 2015 22:19:52 +0100
Subject: [PATCH] gnu: Add CLISP.

* gnu/packages/lisp.scm (clisp): New variable.
---
 gnu/packages/lisp.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 53 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index cdf0912..2788ef8 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -31,7 +31,9 @@
   #:use-module (gnu packages which)
   #: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 readline)
+  #:use-module (gnu packages libsigsegv))
 
 (define-public gcl
   (package
@@ -135,3 +137,53 @@ supporting ASDF, Sockets, Gray streams, MOP, and other 
useful components.")
     ;; which aren't under the lgpl2.0+ and instead contain many different,
     ;; non-copyleft licenses.
     (license license:lgpl2.0+)))
+
+(define-public clisp
+  (package
+    (name "clisp")
+    (version "2.49")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://gnu/clisp/release/" version
+                           "/clisp-" version ".tar.gz"))
+       (sha256
+        (base32 "0rp82nqp5362isl9i34rwgg04cidz7izljd9d85pqcw1qr964bxx"))))
+    (build-system gnu-build-system)
+    (inputs `(("libffcall" ,libffcall)
+              ("readline" ,readline)
+              ("libsigsegv" ,libsigsegv)))
+    (arguments
+     '(#:phases
+       (alist-cons-after
+        'unpack 'post-unpack
+        (lambda _
+          ;; The package is very messy with its references to "/bin/sh" and
+          ;; some other absolute pathes to traditional tools.  These appear in
+          ;; many places where our automatic patching misses them.  Therefore
+          ;; we do the following, in this early (post-unpack) phase, to solve
+          ;; the problem from its root.
+          (substitute* (find-files "." "configure|Makefile")
+            (("/bin/sh") "sh"))
+          (substitute* '("src/clisp-link.in")
+            (("/bin/pwd") "pwd")))
+        (alist-cons-before
+         'build 'pre-build
+         (lambda _
+           ;; We are supposed to call make under the src sub-directory.
+           (chdir "src"))
+         %standard-phases))
+       ;; Parallel builds seem to fail.
+       #:parallel-build? #f))
+    (home-page "http://www.clisp.org/";)
+    (synopsis "A feature-rich Common Lisp implementation")
+    (description "GNU CLISP is an implementation of ANSI Common Lisp, with
+many extensions.  It includes an interpreter, compiler, debugger, CLOS, MOP,
+an FFI, i18n, POSIX and Perl regular expressions, a socket interface, fast
+bignums, arbitrary precision floats, and more.  An X11 interface is available
+through CLX, Garnet and CLUE/CLIO.  Command line editing is provided by
+readline.")
+    ;; Website says gpl2+, COPYRIGHT file says gpl2; actual source files have
+    ;; a lot of gpl3+.  (Also some parts are under non-copyleft licenses, such
+    ;; as CLX by Texas Instruments.)
+    (license (list license:gpl2 license:gpl2+ license:gpl3+))))
-- 
2.2.1




reply via email to

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