summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjgart <jgart@dismail.de>2025-06-27 11:03:13 -0400
committerjgart <jgart@dismail.de>2025-06-27 11:18:36 -0400
commit4f5cf07f1837d0665aa8239bb25e8f4677ff0236 (patch)
tree3f826a3d5497d1bb281a4540cb503749b3194501
parentd563bf6178fd71f6d768c4bf3be7ccc18c188c04 (diff)
guix: asdf: Add asdf-build-system/abcl.lisp-team-asdf-build-system/abcl
* guix/build-system/asdf.scm (asdf-build-system/abcl): New variable. Change-Id: Ifdf2a395f78f9bbb2aabe60b8cd584729666a526
-rw-r--r--guix/build-system/asdf.scm30
-rw-r--r--guix/build/asdf-build-system.scm1
-rw-r--r--guix/build/lisp-utils.scm3
3 files changed, 32 insertions, 2 deletions
diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm
index 5ce63d106fd..6c34b829529 100644
--- a/guix/build-system/asdf.scm
+++ b/guix/build-system/asdf.scm
@@ -44,7 +44,8 @@
44 asdf-build-system/source 44 asdf-build-system/source
45 sbcl-package->cl-source-package 45 sbcl-package->cl-source-package
46 sbcl-package->ecl-package 46 sbcl-package->ecl-package
47 sbcl-package->clasp-package)) 47 sbcl-package->clasp-package
48 sbcl-package->abcl-package))
48 49
49;; Commentary: 50;; Commentary:
50;; 51;;
@@ -70,7 +71,11 @@
70(define (default-lisp implementation) 71(define (default-lisp implementation)
71 "Return the default package for the lisp IMPLEMENTATION." 72 "Return the default package for the lisp IMPLEMENTATION."
72 ;; Lazily resolve the binding to avoid a circular dependency. 73 ;; Lazily resolve the binding to avoid a circular dependency.
73 (let ((lisp-module (resolve-interface '(gnu packages lisp)))) 74 (let ((lisp-module
75 (resolve-interface
76 (if (eq? implementation 'abcl)
77 '(gnu packages java)
78 '(gnu packages lisp)))))
74 (module-ref lisp-module implementation))) 79 (module-ref lisp-module implementation)))
75 80
76(define* (lower/source name 81(define* (lower/source name
@@ -254,6 +259,7 @@ set up using CL source package conventions."
254 ("sbcl" 'sbcl) 259 ("sbcl" 'sbcl)
255 ("ecl" 'ecl) 260 ("ecl" 'ecl)
256 ("clasp" 'clasp-cl) 261 ("clasp" 'clasp-cl)
262 ("abcl" 'abcl)
257 (_ error "The LISP provided is not supported at this time.")))) 263 (_ error "The LISP provided is not supported at this time."))))
258 #:allow-other-keys 264 #:allow-other-keys
259 #:rest arguments) 265 #:rest arguments)
@@ -353,6 +359,12 @@ set up using CL source package conventions."
353 (description "The build system for ASDF binary packages using Clasp") 359 (description "The build system for ASDF binary packages using Clasp")
354 (lower (lower "clasp")))) 360 (lower (lower "clasp"))))
355 361
362(define asdf-build-system/abcl
363 (build-system
364 (name 'asdf/abcl)
365 (description "The build system for ASDF binary packages using ABCL")
366 (lower (lower "abcl"))))
367
356(define asdf-build-system/source 368(define asdf-build-system/source
357 (build-system 369 (build-system
358 (name 'asdf/source) 370 (name 'asdf/source)
@@ -401,4 +413,18 @@ set up using CL source package conventions."
401 (transformer 413 (transformer
402 (strip-variant-as-necessary property pkg))))) 414 (strip-variant-as-necessary property pkg)))))
403 415
416(define sbcl-package->abcl-package
417 (let* ((property 'abcl-variant)
418 (transformer
419 (package-with-build-system asdf-build-system/sbcl
420 asdf-build-system/abcl
421 "sbcl-"
422 "abcl-"
423 #:variant-property property
424 #:phases-transformer
425 'identity)))
426 (lambda (pkg)
427 (transformer
428 (strip-variant-as-necessary property pkg)))))
429
404;;; asdf.scm ends here 430;;; asdf.scm ends here
diff --git a/guix/build/asdf-build-system.scm b/guix/build/asdf-build-system.scm
index 92154e7d348..11f39aaaaef 100644
--- a/guix/build/asdf-build-system.scm
+++ b/guix/build/asdf-build-system.scm
@@ -2,6 +2,7 @@
2;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca> 2;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
3;;; Copyright © 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net> 3;;; Copyright © 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
4;;; Copyright © 2022 Pierre Neidhardt <mail@ambrevar.xyz> 4;;; Copyright © 2022 Pierre Neidhardt <mail@ambrevar.xyz>
5;;; Copyright © 2025 jgart <jgart@dismail.de>
5;;; 6;;;
6;;; This file is part of GNU Guix. 7;;; This file is part of GNU Guix.
7;;; 8;;;
diff --git a/guix/build/lisp-utils.scm b/guix/build/lisp-utils.scm
index 793ee3e1635..0354990b671 100644
--- a/guix/build/lisp-utils.scm
+++ b/guix/build/lisp-utils.scm
@@ -2,6 +2,7 @@
2;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca> 2;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
3;;; Copyright © 2020, 2022 Guillaume Le Vaillant <glv@posteo.net> 3;;; Copyright © 2020, 2022 Guillaume Le Vaillant <glv@posteo.net>
4;;; Copyright © 2022 Pierre Neidhardt <mail@ambrevar.xyz> 4;;; Copyright © 2022 Pierre Neidhardt <mail@ambrevar.xyz>
5;;; Copyright © 2025 jgart <jgart@dismail.de>
5;;; 6;;;
6;;; This file is part of GNU Guix. 7;;; This file is part of GNU Guix.
7;;; 8;;;
@@ -108,6 +109,8 @@ with PROGRAM."
108 "--eval" "(quit)")) 109 "--eval" "(quit)"))
109 ("clasp" `(,(%lisp) "--non-interactive" 110 ("clasp" `(,(%lisp) "--non-interactive"
110 ,@(spread-statements program "--eval"))) 111 ,@(spread-statements program "--eval")))
112 ("abcl" `(,(%lisp) "--batch"
113 ,@(spread-statements program "--eval")))
111 (_ (error "The LISP provided is not supported at this time.")))) 114 (_ (error "The LISP provided is not supported at this time."))))
112 115
113(define (compile-systems systems directory operation) 116(define (compile-systems systems directory operation)