guix_mirror_bot pushed a commit to branch master
in repository guix.

commit e4c4320c571dccad6ee287596cd11dde6cab140f
Author: Malte Frank Gerdes <[email protected]>
AuthorDate: Fri Sep 11 14:38:10 2026 +0200

    gnu: chicken: Add chicken-doc.
    
    This package uses a pregenerated database of the CHICKEN Scheme wiki.  There
    may be discrepancies in the documentation and the used version of a library,
    because there is no clear correspondence between a wiki revision (which is
    just a subversion repository) and a particular package release.
    
    * gnu/packages/chicken.scm (chicken-doc): New variable.
    
    Signed-off-by: Liliana Marie Prikler <[email protected]>
---
 gnu/packages/chicken.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/chicken.scm b/gnu/packages/chicken.scm
index e619bde76a9..40eafcf377a 100644
--- a/gnu/packages/chicken.scm
+++ b/gnu/packages/chicken.scm
@@ -487,6 +487,45 @@ documentation from the command-line and from the REPL.  It 
also provides an API
 to access this documentation from your own programs.")
     (license license:bsd-3)))
 
+(define-public chicken-doc
+  (let ((doc-repo-path "share/doc-db"))
+    (package
+      (inherit chicken-doc-bare)
+      (name "chicken-doc")
+      (arguments
+       (list #:egg-name "chicken-doc"
+             #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'build 'build-documentation-index
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (let ((eggref (search-input-directory inputs "eggref/6"))
+                           (man (search-input-directory inputs "man/6")))
+                       (setenv "CHICKEN_DOC_REPOSITORY" #$doc-repo-path)
+                       (mkdir-p #$doc-repo-path)
+                       (invoke "chicken-doc-admin" "-i")
+                       (invoke "chicken-doc-admin" "-e" eggref)
+                       (invoke "chicken-doc-admin" "-m" man))))
+                 (add-after 'install 'install-documentation-index
+                   (lambda _
+                     (copy-recursively
+                      "share" (string-append #$output "/share")))))))
+      (native-inputs
+       (list chicken-doc-admin
+             (origin
+               (method svn-fetch)
+               (uri (svn-reference
+                      (url "https://code.call-cc.org/svn/chicken-eggs/wiki";)
+                      (revision 46347)
+                      (user-name "anonymous")
+                      (password "")))
+               (sha256
+                (base32
+                 "06nma438n5yabhp1cv4swz3sa800y21bn9xafw5jq2jmcw2mg85p")))))
+      (native-search-paths
+       (list (search-path-specification
+               (variable "CHICKEN_DOC_REPOSITORY")
+               (files (list doc-repo-path))))))))
+
 (define-public chicken-doc-admin
   (package
     (name "chicken-doc-admin")

Reply via email to