Subject: [bug#60658] [PATCH 1/3] gnu: guile-aa-tree: Restrict install to aa-tree.scm.

From: Nicolas Graves <[email-masked]>
Date: Sun, 8 Jan 2023 17:03:15 +0100

* gnu/packages/guile-xyz.scm (guile-aa-tree):
  [native-inputs]: Remove guile-2.2.
  [inputs]: Add guile-2.2.
  [arguments]: (scheme-file-regexp): Restrict install to aa-tree.scm
  [arguments]: (phases): Add check phase.
---
 gnu/packages/guile-xyz.scm | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 2dd5a520d1..68150c89d0 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -1261,7 +1261,23 @@ (define-public guile-aa-tree
                (base32
                 "0044c105r3q9vpl17pv3phl1b79kjm1llhkakqgiasixyav01blh"))))
     (build-system guile-build-system)
-    (native-inputs (list guile-2.2))
+    (inputs (list guile-2.2))
+    (arguments
+     (list
+      #:scheme-file-regexp "^aa-tree\\.scm"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'install-documentation 'check
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let* ((guile      #$(this-package-input "guile"))
+                     (effective  (target-guile-effective-version guile))
+                     (go-dir     (string-append #$output "/lib/guile/"
+                                                effective "/site-ccache/")))
+                (invoke (search-input-file inputs "/bin/guile")
+                        "--no-auto-compile"
+                        "-C" go-dir
+                        "-c" (string-append
+                              "(load \"" (getcwd) "/test-aa-tree.scm\")"))))))))
     ;; https://savannah.nongnu.org/projects/guile-aa-tree
     (home-page "https://qlfiles.net/guile-aa-tree/")
     (synopsis "AA tree data structure for Guile")
-- 
2.38.1