[bug#74393,2/2] gnu: texinfo-7: Use external modules.

Message ID 2ccd9b48bbc1649f1a0e3fd5d9f5f6395add8dcc.1731840319.git.gemmaro.dev@gmail.com
State New
Headers
Series gnu: texinfo-7: Use external modules. |

Commit Message

gemmaro Nov. 17, 2024, 11:21 a.m. UTC
* 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.

Change-Id: Ife2cdec50affb5287d5ad850b0ef80c6048b4b32
---
 gnu/packages/texinfo.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
  

Comments

Ludovic Courtès Dec. 18, 2024, 12:03 p.m. UTC | #1
Hi,

gemmaro <gemmaro.dev@gmail.com> skribis:

> * 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.
>
> Change-Id: Ife2cdec50affb5287d5ad850b0ef80c6048b4b32

Nice.

> +              (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))

I believe the ‘wrap-program’ phase needs to be adjusted accordingly so
that all the Perl modules are found.  Right now, with these patches, I
get:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix shell texinfo@7 -- makeinfo --version
Can't locate Locale/Messages.pm in @INC (you may need to install the Locale::Messages module) (@INC contains: /gnu/store/5nj6cj127n61skayphscg7icpq34brab-texinfo-7.1.1/lib/texinfo /gnu/store/5nj6cj127n61skayphscg7icpq34brab-texinfo-7.1.1/share/texinfo /gnu/store/5nj6cj127n61skayphscg7icpq34brab-texinfo-7.1.1/share/texinfo /gnu/store/jfmknbgrxmbp7gg0g4gx2bnx70z2y998-perl-archive-zip-1.68/lib/perl5/site_perl/5.36.0/x86_64-linux-thread-multi /gnu/store/jfmknbgrxmbp7gg0g4gx2bnx70z2y998-perl-archive-zip-1.68/lib/perl5/site_perl/5.36.0 /home/ludo/.guix-home/profile/lib/perl5/site_perl/5.36.0/x86_64-linux-thread-multi /home/ludo/.guix-home/profile/lib/perl5/site_perl/5.36.0 /home/ludo/.guix-home/profile/lib/perl5/site_perl /home/ludo/.guix-home/profile/lib/perl5/site_perl/5.36.0/x86_64-linux-thread-multi /home/ludo/.guix-home/profile/lib/perl5/site_perl/5.36.0 /home/ludo/.guix-home/profile/lib/perl5/site_perl /gnu/store/prf2zax6rxl3l179d1qxn6hkm726jyj4-perl-5.36.0/lib/perl5/site_perl/5.36.0/x86_64-linux-thread-multi /gnu/store/prf2zax6rxl3l179d1qxn6hkm726jyj4-perl-5.36.0/lib/perl5/site_perl/5.36.0 /gnu/store/prf2zax6rxl3l179d1qxn6hkm726jyj4-perl-5.36.0/lib/perl5/5.36.0/x86_64-linux-thread-multi /gnu/store/prf2zax6rxl3l179d1qxn6hkm726jyj4-perl-5.36.0/lib/perl5/5.36.0) at /gnu/store/5nj6cj127n61skayphscg7icpq34brab-texinfo-7.1.1/bin/.texi2any-real line 127.
BEGIN failed--compilation aborted at /gnu/store/5nj6cj127n61skayphscg7icpq34brab-texinfo-7.1.1/bin/.texi2any-real line 127.
--8<---------------cut here---------------end--------------->8---

Could you take a look and send updated patches?

Thanks,
Ludo’.
  

Patch

diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index 81afdaf7a7..ac10af59fc 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -116,9 +116,17 @@  (define-public texinfo-7
                (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