Subject: [bug#75178] [PATCH 01/64] gnu: Add asdf-build-system/clasp.

From: jgart <[email-masked]>
Date: Tue, 31 Dec 2024 03:02:22 -0600

* 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 @@ (define-public clasp-cl
          (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-masked]>
 ;;; Copyright © 2021 Ludovic Courtès <[email-masked]>
 ;;; Copyright © 2022 Pierre Neidhardt <[email-masked]>
+;;; Copyright © 2024 jgart <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -42,7 +43,8 @@ (define-module (guix build-system asdf)
             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 @@ (define asdf-build-system/ecl
     (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 @@ (define sbcl-package->ecl-package
       (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 @@ (define (lisp-invocation 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)

base-commit: 18463019a24a7c5acc9c2f3ddf3c0ba04a36db96
prerequisite-patch-id: 444de8be75d98856a45438eeb0b680e618a0b12c
prerequisite-patch-id: 49acc3baeb94dfe51e9ff0df7f708e6f9dec8c8e
prerequisite-patch-id: 7585cc5a5bfa1bcc668050611a05516332c3a539
prerequisite-patch-id: 5496f145d4d1f981d52e7b67fd1a613e1e2ff80f
prerequisite-patch-id: 1db46e9e96748c609b20913cc7596599aba57750
prerequisite-patch-id: 40919d9adf5da681ac50b98e547f52ce3e0e797c
prerequisite-patch-id: 0fd5b6e8325a18657be0760331fa751486e169e1
prerequisite-patch-id: 3d747224479b368279e7f2faf880ea55c8668b14
prerequisite-patch-id: 54256209498bcad438d9fe404caa48d0cdb1ad33
prerequisite-patch-id: 1f418b26c20e3145ef3d66592d042838bbb69557
prerequisite-patch-id: 7df34df7c5571cdcb8c255319bbc2f2c16d8ce15
prerequisite-patch-id: 005ca4b79c220039f28b066589d4c071f5a4ce45
prerequisite-patch-id: 93ce4505ea8327aa65f07a5f1a3a133913fd0452
prerequisite-patch-id: a9b9b9d90adf576cb930bd8afb8dd5cfa50e112f
prerequisite-patch-id: ed5c27f3ca32fef1f7822a8a4b0c62f8867a2f74
prerequisite-patch-id: f132b4af7b85df465998e4f459bf729f8b66f320
prerequisite-patch-id: e3900e2e16a03026d3890c6e2c8b554b0e571c1a
prerequisite-patch-id: e59f1fe6787677a532ddd2eda87d05907fa5375a
prerequisite-patch-id: 82491765b4bd3f1bd795108ece86b211b9c4e809
prerequisite-patch-id: 4f30f25421db2a1b6f018a8542ba36f0c4eb951e
prerequisite-patch-id: 31d9b2573fb06b7db0455de6d08086f268e1796f
prerequisite-patch-id: 8f9abfd132690cd839e36a042b180c7950e3ccd6
prerequisite-patch-id: 4568c2ce728742e90a8c536305aa8a10edf2d15c
prerequisite-patch-id: 14c2da55139a187f1e71ab98e0f8632e5d2bf0ee
prerequisite-patch-id: 59ff10e2c876336b20efcf5d71a4d11016289f77
prerequisite-patch-id: 4d82e095a60f001b8f76b2c5441f6b886d7f8fb7
prerequisite-patch-id: 095f7bef47d540b823053766de54ba1b1b1a0add
prerequisite-patch-id: 7df44cb47e948bf00be43becddcb2176374e61a0
prerequisite-patch-id: 96f00e6131905eff8068f3d4b7333540bb79d30c
prerequisite-patch-id: 207b6b853c5273f6274eb51e6a3ff024ff3cb076
prerequisite-patch-id: 01edaf3088b9e07d644573727d08b47b8b1b15fb
prerequisite-patch-id: 218c867f3b083341c939483d21ef845ca656dcbd
prerequisite-patch-id: fda9d9a7da4bdaf575df98744451a4975aa816ad
prerequisite-patch-id: 27f88a7d0dcef4c57331b8ea8fbbc00ecdb4ca5a
prerequisite-patch-id: be142d6a9040b20a2401eba3e5fffdb314ca96e6
prerequisite-patch-id: a258258679432b3113c147203450fde6395fb808
prerequisite-patch-id: d7b3a56f8c31c6ed7b85270dbcb736cde0eef969
prerequisite-patch-id: afe26c8319e1ee55c5bc564527bff9af3d70132b
prerequisite-patch-id: 930650fc58cbedce7deec18fffab34fe32d0d6a5
prerequisite-patch-id: a84943ffbc4c7821243cee73dabcdf8d89aff4de
prerequisite-patch-id: e9ae8a564e1041de128691cacda9543a03b4785b
prerequisite-patch-id: 33b6a236d3b0e8099db75e2e335d604fa6ce3aad
prerequisite-patch-id: bd7bcda4b3435440ad8c2cd878bca6bd93205dc8
prerequisite-patch-id: 50e54465b8a30109aded5dcfcd9048b2636cf645
prerequisite-patch-id: 7bbc1d71025940167550e96b20433833e1e25da5
prerequisite-patch-id: 5c20de4d49d1d233a3be9093d3b725e24e93ba02
prerequisite-patch-id: 1e9e90eef929a98f541629fb5ee8d59b4e401511
prerequisite-patch-id: 28582794fcd5e2a396fa40fbbf93f09d2b0d62ac
prerequisite-patch-id: fc18ab622d9acfa913df752bccf521f195c4d6b2
prerequisite-patch-id: 85f899682234a61c6b0e6c11f392f87d3a7b0c66
prerequisite-patch-id: 50f7a0ca02bebe56c9a37ba732ca9bcd8a96a581
prerequisite-patch-id: 181f61cce5b85b48b5088ea8dd422e2fcf384853
prerequisite-patch-id: 94a6538de8f6d29d771d775b60e471d764544d16
prerequisite-patch-id: d2910f18297ce4e0daf4a55a419a741ab41fdb3e
prerequisite-patch-id: 5a16c525d0af2d51b6f4631ab67d79fa33583e9b
prerequisite-patch-id: 42bada6127c0d80ee667e6a575a82e3cd133fb29
prerequisite-patch-id: 87205d51f72447e0857ed8d591bbc8f42ab972c0
prerequisite-patch-id: 695934c8a8d85085ce5d329f4be3200ee0f5013d
prerequisite-patch-id: 4993b394a77b88399da210153395d68736d88df6
prerequisite-patch-id: 0dc6cd310ff1f481c8ebb8c2935122963e581f38
prerequisite-patch-id: 7ac21c0dbdae54a6651af2768859357b95651d40
prerequisite-patch-id: f009cf7081d7bbf02281b1db0c325e6766d6fc4b
prerequisite-patch-id: 67832e791757335d3bbe6ee63cea87cc62dfa9ac
prerequisite-patch-id: b28465e1c626dc0a1a5c86f6b3853386f132ef27
prerequisite-patch-id: 2d04db8dc910add8a494ba907a369902ba8db9da
prerequisite-patch-id: 4d4bc76520164d6132878702de757f2cf6ef4a61
prerequisite-patch-id: a7d305dce807f7f81e5afb03bd748fad0777d2cb
prerequisite-patch-id: 792f4d800e9f6e85bb52efa3150dc9e4847e3827
prerequisite-patch-id: 72295e2b4ebc1915ca8cd2f863389f5e408e821a
prerequisite-patch-id: fac9a33d483ab8aaa49ef660e009ddbb567e5aef
prerequisite-patch-id: 3375eb97c99374ad901d7c8f1e294a707a5f5cb2
prerequisite-patch-id: f8e9b58985430ca6314061c5a7019236e4c771e5
prerequisite-patch-id: 554c0e18639cb155d4db8fb78fcae00ff31f7ec5
prerequisite-patch-id: e950b490a155631e5976d910126b776a846815e6
prerequisite-patch-id: 87c32b2946dc06cf0c943c87fa6a8988399f3264
prerequisite-patch-id: baa17cf38f0d1051d47c0c8d79eed2cf87024498
prerequisite-patch-id: f4619dc3997ef21858fa2681fc943f88489bab0b
prerequisite-patch-id: 5c80333c85b6fc2108898ed6b5a3eb96689f991a
prerequisite-patch-id: 6246adc23e04ee38056f6783c1ffc0b10671105b
prerequisite-patch-id: d8a15997abe656388cf08043121f32158ec97d76
prerequisite-patch-id: b310f3774f8988a8b9f12e0d223718230e933347
prerequisite-patch-id: 3386ba09b8c1cda89fb12d1b3824b123db576bc8
prerequisite-patch-id: ba10c4f2762c58708b2f01f71506db50bbe4bdd3
prerequisite-patch-id: 10f30f4a689eaa695c22359c9a4aa75a17141603
prerequisite-patch-id: 85343317209fe3935c2752962b5768850ca87c54
prerequisite-patch-id: 9cc5120b0a976c537b3d9c801c985d5d9c029060
prerequisite-patch-id: 861fd22c87192bcef0f4c7900b4b37ab55c21895
prerequisite-patch-id: ad175645f52d75869d1b3b5920bad9afd0937275
prerequisite-patch-id: 59da2c1f2840f32ab093a63290480019f0f70bb0
prerequisite-patch-id: 1bf0581e1ad7814f7f1529fae4197bdece16a438
prerequisite-patch-id: 4ad189699abe5f79aee5e31ac074aade036c65f9
prerequisite-patch-id: fbc1459e7a5424b10b243b05c8f5c8517a5ece92
prerequisite-patch-id: 9ee2736887f157dc2b81d043bf8e316714bef820
prerequisite-patch-id: c8fda4c7a9e5ca9cfbb412ca1e7d83410bfbdd3f
prerequisite-patch-id: 1110a25e16d66a9d8cd759f9d8a7a42cc306fdc4
prerequisite-patch-id: a5ae4419698b5bddc669dce8301361cca1951c36
prerequisite-patch-id: c3642b808867efd54bba6bc55bdac8dc632f37e3
prerequisite-patch-id: 923431e88dfd6d1e2cb50dadaa85c2fc8bb6638e
prerequisite-patch-id: 33581b1f8bb5e06660d045d51ca89052e110aa1f
prerequisite-patch-id: fa7e086226f2d1611390621ac71ad0ad8553799a
prerequisite-patch-id: 8246ef16171e1f24c6a2484af27f7102fe8c0d0f
prerequisite-patch-id: c70e841b1cae401625060d533321324f0f6a7a44
prerequisite-patch-id: 5b89760df504d2ecdf10c7380db853d419be1b4e
prerequisite-patch-id: 2b7e0c677f4d42d377df425afbaad11868363fb6
prerequisite-patch-id: fd002d8380fd8981d59f22caf77e1a56131d50ac
prerequisite-patch-id: b138a3c04228852c06b6c27c87b197446adae72e
prerequisite-patch-id: a99cf6085c5416f50480ee5f598dab1ba8048ece
prerequisite-patch-id: 27372c6789ef63e387326309c398ffc91e17b3ad
prerequisite-patch-id: 2f238ca49da215b41503c94f092cfca55f2334ea
prerequisite-patch-id: aec54f717c6641ef24a01e396b41cd21fca40c6f
prerequisite-patch-id: 0ae3a7ff135e59dbd735fec8d890ba297521a46e
prerequisite-patch-id: 910f501abab0386e1d7aeb3f5b1359151b279b84
prerequisite-patch-id: 9a392bc9f973d07028246c9dfb5a3d1105b13d48
prerequisite-patch-id: 391d36676cd2956a281800dbb39da4188bde2318
prerequisite-patch-id: 133af2baa205bdae8096cac0a8d491e25b5788a3
prerequisite-patch-id: b2950ca4b978802a5971fe607a240fa89e1231c6
prerequisite-patch-id: 2f303c96c98c2a02df5b8eb41d6fe5031fde5649
prerequisite-patch-id: c4fefcb20f5d85a8fafd4b5069bd630a94cce335
prerequisite-patch-id: 2b3e46c9fcce5ad6697de78e06d421c3ee27fb7b
prerequisite-patch-id: fdb0001a40464c5c7e87645582a5ca6b3a92f58f
prerequisite-patch-id: 072f52b11aa8d5af9baf66c934ac1b76e28aeb89
prerequisite-patch-id: 8cd26368be1b280df5ce6d8a8e7404bd09f2ff4b
prerequisite-patch-id: 40c158cede3b14bf20ce233d60d1d7b7d1273623
prerequisite-patch-id: d9147ae5b8fd70decf3ac54baaf6bf3b2f6de94a
prerequisite-patch-id: c712efd1acdd1559cbb97892958f397b42f36f6a
prerequisite-patch-id: 355ad17811a9d70a3f60d73610acd06abe39d39b
prerequisite-patch-id: 23a6a68539a643e67aad822d0582f11f66ae6a63
-- 
2.47.1