diff options
Diffstat (limited to 'gnu/packages/lisp.scm')
-rw-r--r-- | gnu/packages/lisp.scm | 55 |
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))) |