gnu: Add asdf-build-system/clasp.

* guix/build-system/asdf.scm (asdf-build-system/clasp): New variable.
[native-search-paths]: Add search paths.

Change-Id: I8a868e56a2795cfad05c474a039ab755666ec827
This commit is contained in:
jgart 2024-12-30 19:03:32 -06:00
parent dff037f9aa
commit 494742f677
No known key found for this signature in database
GPG key ID: A52AA2B477B6DD35
3 changed files with 32 additions and 1 deletions

View file

@ -440,6 +440,13 @@ (define-public clasp-cl
(replace 'install
(lambda* _
(invoke "ninja" "-C" "build" "install"))))))
(native-search-paths
(list (search-path-specification
(variable "XDG_DATA_DIRS")
(files '("share")))
(search-path-specification
(variable "XDG_CONFIG_DIRS")
(files '("etc")))))
(home-page "https://clasp-developers.github.io/")
(synopsis "Common Lisp implementation based on LLVM and C++")
(description "Clasp is a new Common Lisp implementation that seamlessly

View file

@ -3,6 +3,7 @@
;;; Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2022 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2024 jgart <jgart@dismail.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -42,7 +43,8 @@ (define-module (guix build-system asdf)
asdf-build-system/ecl
asdf-build-system/source
sbcl-package->cl-source-package
sbcl-package->ecl-package))
sbcl-package->ecl-package
sbcl-package->clasp-package))
;; Commentary:
;;
@ -336,6 +338,12 @@ (define asdf-build-system/ecl
(description "The build system for ASDF binary packages using ECL")
(lower (lower "ecl"))))
(define asdf-build-system/clasp
(build-system
(name 'asdf/clasp)
(description "The build system for ASDF binary packages using Clasp")
(lower (lower "clasp"))))
(define asdf-build-system/source
(build-system
(name 'asdf/source)
@ -370,4 +378,18 @@ (define sbcl-package->ecl-package
(transformer
(strip-variant-as-necessary property pkg)))))
(define sbcl-package->clasp-package
(let* ((property 'clasp-variant)
(transformer
(package-with-build-system asdf-build-system/sbcl
asdf-build-system/clasp
"sbcl-"
"clasp-"
#:variant-property property
#:phases-transformer
'identity)))
(lambda (pkg)
(transformer
(strip-variant-as-necessary property pkg)))))
;;; asdf.scm ends here

View file

@ -106,6 +106,8 @@ (define (lisp-invocation program)
("ecl" `(,(%lisp)
,@(spread-statements program "--eval")
"--eval" "(quit)"))
("clasp" `(,(%lisp) "--non-interactive"
,@(spread-statements program "--eval")))
(_ (error "The LISP provided is not supported at this time."))))
(define (compile-systems systems directory operation)