diff options
-rw-r--r-- | guix/build-system/asdf.scm | 30 | ||||
-rw-r--r-- | guix/build/asdf-build-system.scm | 1 | ||||
-rw-r--r-- | guix/build/lisp-utils.scm | 3 |
3 files changed, 32 insertions, 2 deletions
diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm index 5ce63d106f..6c34b82952 100644 --- a/guix/build-system/asdf.scm +++ b/guix/build-system/asdf.scm @@ -44,7 +44,8 @@ asdf-build-system/source sbcl-package->cl-source-package sbcl-package->ecl-package - sbcl-package->clasp-package)) + sbcl-package->clasp-package + sbcl-package->abcl-package)) ;; Commentary: ;; @@ -70,7 +71,11 @@ (define (default-lisp implementation) "Return the default package for the lisp IMPLEMENTATION." ;; Lazily resolve the binding to avoid a circular dependency. - (let ((lisp-module (resolve-interface '(gnu packages lisp)))) + (let ((lisp-module + (resolve-interface + (if (eq? implementation 'abcl) + '(gnu packages java) + '(gnu packages lisp))))) (module-ref lisp-module implementation))) (define* (lower/source name @@ -254,6 +259,7 @@ set up using CL source package conventions." ("sbcl" 'sbcl) ("ecl" 'ecl) ("clasp" 'clasp-cl) + ("abcl" 'abcl) (_ error "The LISP provided is not supported at this time.")))) #:allow-other-keys #:rest arguments) @@ -353,6 +359,12 @@ set up using CL source package conventions." (description "The build system for ASDF binary packages using Clasp") (lower (lower "clasp")))) +(define asdf-build-system/abcl + (build-system + (name 'asdf/abcl) + (description "The build system for ASDF binary packages using ABCL") + (lower (lower "abcl")))) + (define asdf-build-system/source (build-system (name 'asdf/source) @@ -401,4 +413,18 @@ set up using CL source package conventions." (transformer (strip-variant-as-necessary property pkg))))) +(define sbcl-package->abcl-package + (let* ((property 'abcl-variant) + (transformer + (package-with-build-system asdf-build-system/sbcl + asdf-build-system/abcl + "sbcl-" + "abcl-" + #:variant-property property + #:phases-transformer + 'identity))) + (lambda (pkg) + (transformer + (strip-variant-as-necessary property pkg))))) + ;;; asdf.scm ends here diff --git a/guix/build/asdf-build-system.scm b/guix/build/asdf-build-system.scm index 92154e7d34..11f39aaaae 100644 --- a/guix/build/asdf-build-system.scm +++ b/guix/build/asdf-build-system.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2022 Pierre Neidhardt <mail@ambrevar.xyz> +;;; Copyright © 2025 jgart <jgart@dismail.de> ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/build/lisp-utils.scm b/guix/build/lisp-utils.scm index 793ee3e163..0354990b67 100644 --- a/guix/build/lisp-utils.scm +++ b/guix/build/lisp-utils.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2020, 2022 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2022 Pierre Neidhardt <mail@ambrevar.xyz> +;;; Copyright © 2025 jgart <jgart@dismail.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -108,6 +109,8 @@ with PROGRAM." "--eval" "(quit)")) ("clasp" `(,(%lisp) "--non-interactive" ,@(spread-statements program "--eval"))) + ("abcl" `(,(%lisp) "--batch" + ,@(spread-statements program "--eval"))) (_ (error "The LISP provided is not supported at this time.")))) (define (compile-systems systems directory operation) |