aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington <jmd@gnu.org> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017-2019, 2022, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2019–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018, 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com> ;;; Copyright © 2019-2024 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2021, 2023 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021 Paul A. Patience <paul@apatience.com> ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> ;;; Copyright © 2022 Joeke de Graaf <joeke@posteo.net> ;;; Copyright © 2021, 2022 jgart <jgart@dismail.de> ;;; Copyright © 2022 ( <paren@disroot.org> ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> ;;; Copyright © 2023 Andrew Kravchuk <awkravchuk@gmail.com> ;;; Copyright © 2024 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2024 bigbug <bigbookofbug@proton.me> ;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se> ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; This file only contains Common Lisp compilers and tooling. ;;; Common Lisp libraries go to lisp-xyz.scm. ;;; Common Lisp applications should go to the most appropriate file, ;;; e.g. StumpWM is in wm.scm. (define-module (gnu packages lisp) #:use-module (gnu packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system haskell) #:use-module (guix build-system trivial) #:use-module (gnu packages admin) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages dbm) #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #: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 libunwind) #: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) #:use-module (gnu packages ncurses) #:use-module (gnu packages ninja) #:use-module (gnu packages notcurses) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages readline) #:use-module (gnu packages sdl) #:use-module (gnu packages tcl) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) #:use-module (gnu packages text-editors) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (gnu packages xorg) #:use-module (ice-9 match) #:use-module (srfi srfi-1)) (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 (list 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))) (define-public carp ;; Release 0.5.5 does not support GHC 9.2. (let ((commit "339722325ec607091f6035866ebedea2b69080fe") (revision "1")) (package (name "carp") (version (git-version "0.5.5" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/carp-lang/Carp") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0w0j3imi4270dsmrh96spsc9xllsk5rrh817l80q1nyay9p53xwd")))) (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 ccl ;; Warning: according to upstream, CCL is not bootstrappable. ;; See https://github.com/Clozure/ccl/issues/222 from 2019-09-02: ;; ;; "As far as I know, there is no way to build CCL without an existing ;; running CCL image. It was bootstrapped back in 1986 or so as ;; Macintosh Common Lisp, by Gary Byers, I believe, who is no longer on ;; the planet to tell us the story. It SHOULD be possible to port the ;;