diff options
Diffstat (limited to 'gnu/packages/lisp.scm')
-rw-r--r-- | gnu/packages/lisp.scm | 103 |
1 files changed, 82 insertions, 21 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index e21b60ec75..2afeb30a55 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -20,8 +20,9 @@ ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021 Paul A. Patience <paul@apatience.com> ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> -;;; Copyright © 2021 jgart <jgart@dismail.de> ;;; Copyright © 2022 Joeke de Graaf <joeke@posteo.net> +;;; Copyright © 2021, 2022 jgart <jgart@dismail.de> +;;; Copyright © 2022 ( <paren@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,6 +56,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system ant) #:use-module (guix build-system asdf) + #:use-module (guix build-system haskell) #:use-module (guix build-system trivial) #:use-module (gnu packages admin) #:use-module (gnu packages base) @@ -71,10 +73,14 @@ #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages groff) + #:use-module (gnu packages haskell-check) + #:use-module (gnu packages haskell-web) + #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages libffcall) #:use-module (gnu packages libffi) #:use-module (gnu packages libsigsegv) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) #:use-module (gnu packages m4) #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) @@ -417,14 +423,14 @@ an interpreter, a compiler, a debugger, and much more.") (define-public sbcl (package (name "sbcl") - (version "2.2.6") + (version "2.2.11") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-" version "-source.tar.bz2")) (sha256 - (base32 "18044dqx37mkipnrzs7jrp0cbnwp6snb5gi06a8zn9m8iy6088ry")))) + (base32 "1pwnhjp0fmkcgq11a6hj36gw8k05qramspgdbj28063k2s0dc1rn")))) (build-system gnu-build-system) (outputs '("out" "doc")) (native-inputs @@ -552,11 +558,6 @@ an interpreter, a compiler, a debugger, and much more.") (("\\(deftest grent\\.[12]" all) (string-append "#+nil ;disabled by Guix\n" all)))) #t)) - (add-before 'build 'fix-shared-library-makefile - (lambda _ - (substitute* '("src/runtime/GNUmakefile") - ((" cc") " $(CC)")) - #t)) (add-before 'build 'fix-contrib-library-path (lambda* (#:key inputs #:allow-other-keys) (let ((gmp (assoc-ref inputs "gmp")) @@ -584,8 +585,7 @@ an interpreter, a compiler, a debugger, and much more.") "--with-sb-xref-for-internals" ;; SB-SIMD will only be built on x86_64 CPUs supporting ;; AVX2 instructions. Some x86_64 CPUs don't, so for reproducibility - ;; we disable it and we don't build its documentation (see the - ;; 'build-doc' phase). + ;; we disable it. "--without-sb-simd"))) (add-after 'build 'build-shared-library (lambda* (#:key outputs #:allow-other-keys) @@ -596,11 +596,6 @@ an interpreter, a compiler, a debugger, and much more.") (invoke "sh" "install.sh"))) (add-after 'build 'build-doc (lambda _ - ;; Don't build the documentation for SB-SIMD as it is disabled in - ;; the 'build' phase. - (substitute* "doc/manual/generate-texinfo.lisp" - (("exclude '\\(\"asdf\"\\)") - "exclude '(\"asdf\" \"sb-simd\")")) (with-directory-excursion "doc/manual" (and (invoke "make" "info") (invoke "make" "dist"))))) @@ -988,7 +983,7 @@ the HTML documentation of TXR.") (define-public txr (package (name "txr") - (version "282") + (version "284") (source (origin (method git-fetch) @@ -997,7 +992,7 @@ the HTML documentation of TXR.") (commit (string-append "txr-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1hzni1v9qlh1vy8spz8prink7v9hp2bin15vnyfha2ax306w6dq5")))) + (base32 "1v6dq1q98v3jdx7g67k15njkpp49iwf30n29rrhwng3b3njqm75g")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -1236,7 +1231,7 @@ including a built-in database engine and a GUI system.") (define-public janet (package (name "janet") - (version "1.24.1") + (version "1.25.1") (source (origin (method git-fetch) @@ -1245,7 +1240,7 @@ including a built-in database engine and a GUI system.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1zaf2z2x5mgfp2nwj3q6pmcj558mw1772a09xn8b8na0cahxlrmq")))) + (base32 "0d601imsndkmjyanja6pqp234fwmn9jxzpcbigwpra969x4a4qjd")))) (build-system gnu-build-system) (arguments (list #:make-flags @@ -1268,6 +1263,72 @@ platforms. The entire language (core library, interpreter, compiler, assembler, PEG) is less than 1MB.") (license license:expat))) +(define-public carp + (package + (name "carp") + (version "0.5.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/carp-lang/Carp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "14jdnv0ljqvpr9ych1plfw7hp5q57a8j1bv8h3v345x06z783d07")))) + (build-system haskell-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + ;; Carp looks inside the sources checkout to know where to + ;; find its core libraries and other files. + ;; Carp emits C code and tries to compile it with an external + ;; C compiler. On Linux it defaults to Clang. + (add-after 'install 'wrap-programs + (lambda* (#:key inputs #:allow-other-keys) + (define (wrap-carp-program program) + (wrap-program (string-append + #$output "/bin/" program) + `("CARP_DIR" prefix + (#$(package-source this-package))) + `("PATH" prefix + ,(list (dirname + (search-input-file inputs "bin/clang")) + (dirname + (search-input-file inputs "bin/ld")))) + `("C_INCLUDE_PATH" prefix + ,(list (dirname + (search-input-directory + inputs "include/linux")) + (dirname + (search-input-file + inputs "include/stdlib.h")))))) + + (for-each wrap-carp-program + (list "carp" + "carp-header-parse"))))))) + (inputs + (list bash-minimal + clang + ghc-blaze-markup + ghc-blaze-html + ghc-split + ghc-ansi-terminal + ghc-cmark + ghc-edit-distance + ghc-hashable + ghc-open-browser + ghc-optparse-applicative)) + (native-inputs + (list ghc-hunit)) + (home-page "https://carp-lang.org/") + (synopsis "Statically typed Lisp without a garbage collector") + (description + "@code{carp} is a Lisp-like programming language that compiles to +C. It features inferred static typing, macros, automatic memory +management without a garbage collector, a REPL, and straightforward +integration with code written in C.") + (license license:asl2.0))) (define-public lisp-repl-core-dumper (package (name "lisp-repl-core-dumper") @@ -1359,7 +1420,7 @@ executable Common Lisp image. It is similar to cl-launch and hu.dwim.build.") (define-public eisl (package (name "eisl") - (version "2.63") + (version "2.65") (source (origin (method git-fetch) @@ -1368,7 +1429,7 @@ executable Common Lisp image. It is similar to cl-launch and hu.dwim.build.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "01fwffk71c1cvq7pf50xwpl2a32rbghcymllg67wvm07yfw3gi0q")))) + (base32 "1cnis1v70k4wmvw1gmvj3l9qajzncaa9ka8rx67vx12bgrr0811g")))) (build-system gnu-build-system) (inputs (list bash-minimal freeglut gdbm libiconv ncurses tcl tk)) |