diff options
author | jgart <jgart@dismail.de> | 2025-06-19 00:41:15 -0400 |
---|---|---|
committer | jgart <jgart@dismail.de> | 2025-06-19 02:20:36 -0400 |
commit | 7c85983c09f66e123df28535fe1d0ace73a2cebc (patch) | |
tree | fe20de63df3a4b460102536df77b6aaaf8bcab47 | |
parent | 568140b72cfc302a5d6bd0834060c8f0e25794b3 (diff) |
guix: asdf: Add asdf-build-system/clasp.
* guix/build-system/asdf.scm (asdf-build-system/clasp): New variable.
[native-search-paths]: Add search paths.
Change-Id: I3631fa0d55112fd6440d2b500dddc4d04ead78e6
-rw-r--r-- | guix/build-system/asdf.scm | 31 | ||||
-rw-r--r-- | guix/build/lisp-utils.scm | 2 |
2 files changed, 31 insertions, 2 deletions
diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm index ad0fb993f6..5ce63d106f 100644 --- a/guix/build-system/asdf.scm +++ b/guix/build-system/asdf.scm @@ -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 © 2025 jgart <jgart@dismail.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,7 +43,8 @@ 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: ;; @@ -247,7 +249,12 @@ set up using CL source package conventions." (define (lower lisp-type) (lambda* (name #:key source inputs outputs native-inputs system target - (lisp (default-lisp (string->symbol lisp-type))) + (lisp (default-lisp + (match lisp-type + ("sbcl" 'sbcl) + ("ecl" 'ecl) + ("clasp" 'clasp-cl) + (_ error "The LISP provided is not supported at this time.")))) #:allow-other-keys #:rest arguments) "Return a bag for NAME" @@ -340,6 +347,12 @@ set up using CL source package conventions." (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) @@ -374,4 +387,18 @@ set up using CL source package conventions." (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 diff --git a/guix/build/lisp-utils.scm b/guix/build/lisp-utils.scm index 646d4a3365..793ee3e163 100644 --- a/guix/build/lisp-utils.scm +++ b/guix/build/lisp-utils.scm @@ -106,6 +106,8 @@ with 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) |