diff options
Diffstat (limited to 'guix/build-system/asdf.scm')
-rw-r--r-- | guix/build-system/asdf.scm | 30 |
1 files changed, 28 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 |