civodul pushed a commit to branch master
in repository guix.

commit 753963b4537084508e5f3b1c41277e7e147c5347
Author: gemmaro <[email protected]>
AuthorDate: Fri Dec 20 00:10:34 2024 +0900

    gnu: texinfo-7: Use external modules.
    
    * gnu/packages/texinfo.scm (texinfo-7): Use external modules
    rather than bundled ones.
    [inputs]: Add perl-unicode-eastasianwidth, perl-text-unidecode,
    and perl-libintl-perl.
    [arguments]<#:configure-flags>: Add a phase
    to enable the use of external modules.
    <#:phases>: Add Perl modules to the PERL5LIB variable of the texi2any 
program
    in the wrap-program phase.
    
    Change-Id: Ife2cdec50affb5287d5ad850b0ef80c6048b4b32
    Signed-off-by: Ludovic Courtès <[email protected]>
---
 gnu/packages/texinfo.scm | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index 13c780897e..d389e4d60e 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -120,9 +120,17 @@ is on expressing the content semantically, avoiding 
physical markup commands.")
                (base32
                 "10kcdb3pf7yakniccvv0krchs2fh3vh1rvhvnqr98ll3cbj3gbii"))))
     (inputs (modify-inputs (package-inputs texinfo)
-              (append perl-archive-zip)))        ;needed for 'tex2any --epub3'
+              (append perl-archive-zip           ;needed for 'tex2any --epub3'
+                      perl-unicode-eastasianwidth perl-text-unidecode
+                      perl-libintl-perl)))
     (arguments
      (substitute-keyword-arguments (package-arguments texinfo)
+       ((#:configure-flags flags
+         ''())
+        #~(cons* "--with-external-Unicode-EastAsianWidth"
+                 "--with-external-Text-Unidecode"
+                 "--with-external-libintl-perl"
+                 #$flags))
        ((#:phases phases #~%standard-phases)
         #~(modify-phases #$phases
             (add-after 'install 'wrap-program
@@ -136,9 +144,15 @@ is on expressing the content semantically, avoiding 
physical markup commands.")
                                     (and (eq? 'directory (stat:type stat))
                                          (string=? (basename file)
                                                    "Archive")))
-                                  #:directories? #t))))
+                                  #:directories? #t)))
+                       (mods (map (lambda (mod)
+                                    (string-append (assoc-ref inputs mod)
+                                                   "/lib/perl5/site_perl"))
+                                  '("perl-unicode-eastasianwidth"
+                                    "perl-text-unidecode" 
"perl-libintl-perl"))))
                   (wrap-program program
-                    `("PERL5LIB" prefix (,(dirname zip)))))))))))))
+                    `("PERL5LIB" prefix
+                      ,(cons* (dirname zip) mods))))))))))))
 
 (define-public texinfo-5
   (package (inherit texinfo)

Reply via email to