summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/lisp.scm')
-rw-r--r--gnu/packages/lisp.scm67
1 files changed, 58 insertions, 9 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 9753926d13..17d52995f6 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
+;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -220,7 +221,7 @@ interface to the Tk widget system.")
(define-public ecl
(package
(name "ecl")
- (version "20.4.24")
+ (version "21.2.1")
(source
(origin
(method url-fetch)
@@ -228,14 +229,20 @@ interface to the Tk widget system.")
"https://common-lisp.net/project/ecl/static/files/release/"
name "-" version ".tgz"))
(sha256
- (base32 "01qgdmr54wkj854f69qdm9sybrvd6gd21dpx4askdaaqybnkh237"))))
+ (base32 "000906nnq25177bgsfndiw3iqqgrjc9spk10hzk653sbz3f7anmi"))))
(build-system gnu-build-system)
;; src/configure uses 'which' to confirm the existence of 'gzip'.
(native-inputs
`(("cl-asdf" ,cl-asdf)
("which" ,which)
("texinfo" ,texinfo)))
- (inputs
+ ;; When ECL is embedded in a program that wants to use Common Lisp as an
+ ;; extension language, libgmp, libatomic-ops, libgc and libffi must be
+ ;; present when compiling the program because they are required by ECL's
+ ;; header file.
+ ;; Therefore we put these libraries in 'propagated-inputs' instead
+ ;; of 'inputs'.
+ (propagated-inputs
`(("gmp" ,gmp)
("libatomic-ops" ,libatomic-ops)
("libgc" ,libgc)
@@ -393,14 +400,14 @@ an interpreter, a compiler, a debugger, and much more.")
(define-public sbcl
(package
(name "sbcl")
- (version "2.0.11")
+ (version "2.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
version "-source.tar.bz2"))
(sha256
- (base32 "07cpswxh2f38b440xdn3fjk7b4r0ipj3sbwb3jd134phrr9smll7"))))
+ (base32 "0k12m2z60fnq64m8dgivprs2mvrsnmp7c5ipzx7jzkprcsymdvh5"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(native-inputs
@@ -840,7 +847,7 @@ enough to play the original mainframe Zork all the way through.")
(define-public txr
(package
(name "txr")
- (version "245")
+ (version "246")
(source
(origin
(method git-fetch)
@@ -849,7 +856,7 @@ enough to play the original mainframe Zork all the way through.")
(commit (string-append "txr-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1pnajvqhzjlw0rwwhhk4hyps5pbg9njh10iqhnmvl1xnah6ff94z"))))
+ (base32 "1ynkz0ss7nn1ssiaxagpq80iabknf085nk0pra9hn8y9hx7av0db"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -1083,7 +1090,7 @@ assembler, PEG) is less than 1MB.")
(define-public lisp-repl-core-dumper
(package
(name "lisp-repl-core-dumper")
- (version "0.3.0")
+ (version "0.5.0")
(source
(origin
(method git-fetch)
@@ -1092,7 +1099,7 @@ assembler, PEG) is less than 1MB.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1w7x7d7bnrdj0bd04vnjy7d7sngvcx1yjr4iw429hdd9lzlg8rbg"))))
+ (base32 "1hrilm9lxy7zdidn4wac4yfqryg3hfw0371nanhd7g9bcfjx7n1q"))))
(build-system copy-build-system)
(arguments
'(#:install-plan
@@ -1102,12 +1109,14 @@ assembler, PEG) is less than 1MB.")
(add-before 'install 'fix-utils-path
(lambda* (#:key inputs #:allow-other-keys)
(let* ((coreutils (string-append (assoc-ref inputs "coreutils") "/bin/"))
+ (cat (string-append coreutils "cat"))
(paste (string-append coreutils "paste"))
(sort (string-append coreutils "sort"))
(basename (string-append coreutils "basename"))
(sed (string-append (assoc-ref inputs "sed") "/bin/sed")))
(substitute* "lisp-repl-core-dumper"
(("\\$\\(basename") (string-append "$(" basename))
+ (("\\<cat\\>") cat)
(("\\<paste\\>") paste)
(("\\<sed\\>") sed)
(("\\<sort\\>") sort))))))))
@@ -1126,3 +1135,43 @@ and make for REPLs that start blazing fast.
@item It allows you to include arbitrary libraries.
@end itemize\n")
(license license:gpl3+)))
+
+(define-public buildapp
+ (package
+ (name "buildapp")
+ (version "1.5.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xach/buildapp")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "020ipjfqa3l8skd97cj5kq837wgpj28ygfxnkv64cnjrlbnzh161"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("sbcl" ,sbcl)))
+ (arguments
+ `(#:tests? #f
+ #:make-flags
+ (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
+ #:strip-binaries? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'set-home
+ (lambda _
+ (setenv "HOME" "/tmp")
+ #t))
+ (add-before 'install 'create-target-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (mkdir-p bin)
+ #t))))))
+ (home-page "https://www.xach.com/lisp/buildapp/")
+ (synopsis "Makes easy to build application executables with SBCL")
+ (description
+ "Buildapp is an application for SBCL or CCL that configures and saves an
+executable Common Lisp image. It is similar to cl-launch and hu.dwim.build. ")
+ (license license:bsd-2)))