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.scm55
1 files changed, 52 insertions, 3 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 7d65bfc887..60f346fde3 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.
;;;
@@ -235,7 +236,13 @@ interface to the Tk widget system.")
`(("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)
@@ -1079,7 +1086,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)
@@ -1088,7 +1095,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
@@ -1098,12 +1105,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))))))))
@@ -1122,3 +1131,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)))