jgart pushed a commit to branch lisp-team-asdf-build-system-clasp in repository guix.
commit 7e2ff8dd20ea8506a0842482deaac96ee7f5f326 Author: jgart <[email protected]> AuthorDate: Mon Dec 30 19:03:32 2024 -0600 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 --- gnu/packages/lisp.scm | 7 +++++++ guix/build-system/asdf.scm | 24 +++++++++++++++++++++++- guix/build/lisp-utils.scm | 2 ++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 9cc630eec2..fe80c63d9a 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -440,6 +440,13 @@ interface.") (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 diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm index 26b5a5008a..bb91e7e575 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 <[email protected]> ;;; Copyright © 2021 Ludovic Courtès <[email protected]> ;;; Copyright © 2022 Pierre Neidhardt <[email protected]> +;;; Copyright © 2024 jgart <[email protected]> ;;; ;;; 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: ;; @@ -336,6 +338,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) @@ -370,4 +378,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..46ca676c74 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)
