Subject: Re: [bug#75365] [PATCH]: Add info manual to sbcl-alexandria

From: André A. Gomes <[email-masked]>
Date: Fri, 17 Jan 2025 23:24:56 +0200

Guillaume Le Vaillant <[email-masked]> writes:

> Hi.
> The new 'build-doc' phase doesn't work for ecl-alexandria.
> Could you take a look at it, or disable building the doc for
> ecl-alexandria if it can't be fixed easily?

Thanks for taking a look and noticing the issue.

I've disabled the doc phrase for ecl-alexandria.  The issue lies
somewhere at package-with-build-system (asdf.scm) but I would need to
take a deeper look.  Basically, it fails to assume asdf-build-system/ecl
in case a new phase is added to the sbcl package.  I still need to learn
how to use geiser.  For some reason, it always seemed harder than
Slime/Sly.

Patch attached, thanks.

-- 
André A. Gomes
"You cannot even find the ruins..."
>From e38323e88ed370a1e077bc193f7f3986c1e3d794 Mon Sep 17 00:00:00 2001
From: "Andre A. Gomes" <[email-masked]>
Date: Fri, 17 Jan 2025 23:17:50 +0200
Subject: [PATCH] gnu: sbcl-alexandria: Add info manual.

* gnu/packages/lisp-xyz.scm (sbcl-alexandria): Add info manual.
---
 gnu/packages/lisp-xyz.scm | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index ab6ec76a5f..7f8c5df99f 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -23,7 +23,7 @@
 ;;; Copyright © 2020-2024 Sharlatan Hellseher <[email-masked]>
 ;;; Copyright © 2021, 2022 Aurora <[email-masked]>
 ;;; Copyright © 2021 Matthew James Kraai <[email-masked]>
-;;; Copyright © 2021-2024 André A. Gomes <[email-masked]>
+;;; Copyright © 2021-2025 André A. Gomes <[email-masked]>
 ;;; Copyright © 2021, 2022, 2023 Cage <[email-masked]>
 ;;; Copyright © 2021 Cameron Chaparro <[email-masked]>
 ;;; Copyright © 2021, 2024 Charles Jackson <[email-masked]>
@@ -126,6 +126,7 @@ (define-module (gnu packages lisp-xyz)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages tcl)
+  #:use-module (gnu packages texinfo)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
@@ -933,8 +934,17 @@ (define-public sbcl-alexandria
          (sha256
           (base32 "0pdj779j3nwzn8f1661vf00rrjrbks1xgiq0rvwjw6qyxsfqfnl9"))))
       (build-system asdf-build-system/sbcl)
+      (arguments
+       (list #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'build 'build-doc
+                   (lambda _
+                     (with-directory-excursion "doc"
+                       (invoke "make" "info")
+                       (install-file "alexandria.info"
+                                     (string-append #$output "/share/info"))))))))
       (native-inputs
-       (list sbcl-rt))
+       (list sbcl-rt texinfo))
       (synopsis "Collection of portable utilities for Common Lisp")
       (description
        "Alexandria is a collection of portable utilities.  It does not contain
@@ -947,7 +957,15 @@ (define-public cl-alexandria
   (sbcl-package->cl-source-package sbcl-alexandria))
 
 (define-public ecl-alexandria
-  (sbcl-package->ecl-package sbcl-alexandria))
+  (let ((pkg (sbcl-package->ecl-package sbcl-alexandria)))
+    (package
+      (inherit pkg)
+      (outputs '("out"))
+      (arguments
+       (substitute-keyword-arguments (package-arguments pkg)
+         ((#:phases phases)
+          `(modify-phases ,phases
+             (delete 'build-doc))))))))
 
 (define-public sbcl-alexandria-plus
   (let ((commit "adafb09838a84895bedb119f8253b89b6a04a2c5")
-- 
2.47.1