guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#49294] [PATCH] gnu: po4a: Add perl-yaml-tiny to PERL5LIB


From: EuAndreh
Subject: [bug#49294] [PATCH] gnu: po4a: Add perl-yaml-tiny to PERL5LIB
Date: Wed, 30 Jun 2021 11:44:23 -0300

* gnu/packages/gettext.scm (po4a): Include perl-yaml-tiny dependency in
  PERL5LIB search path of executables.
  [native-inputs]: Remove perl-yaml-tiny.
  [propagated-inputs]: Add perl-yaml-tiny.

---
The "use YAML::Tiny;" [0] statement is failing, because the library was
included in the list of dependencies, but was not being propagated and
not put in PERL5LIB, and resulted in an error:

```
$ po4a-updatepo -f text -m f.txt -p l.po -v
Unknown format type: text.
po4a::chooser: Module loading error: Can't locate YAML/Tiny.pm in @INC (you may 
need to install the YAML::Tiny module) (@INC contains: 
/gnu/store/6ba47ndbbaf1h8qrsss9lfji0xvmh8px-po4a-0.61/lib/perl5/site_perl/5.30.2/x86_64-linux-thread-multi
 
/gnu/store/6ba47ndbbaf1h8qrsss9lfji0xvmh8px-po4a-0.61/lib/perl5/site_perl/5.30.2
 /gnu/store/6ba47ndbbaf1h8qrsss9lfji0xvmh8px-po4a-0.61/lib/perl5/site_perl 
/gnu/store/8zvc5mvk0xm3ygrxsgpyy5ilxb5rzjry-perl-5.30.2/lib/perl5/site_perl/5.30.2/x86_64-linux-thread-multi
 
/gnu/store/8zvc5mvk0xm3ygrxsgpyy5ilxb5rzjry-perl-5.30.2/lib/perl5/site_perl/5.30.2
 
/gnu/store/8zvc5mvk0xm3ygrxsgpyy5ilxb5rzjry-perl-5.30.2/lib/perl5/5.30.2/x86_64-linux-thread-multi
 /gnu/store/8zvc5mvk0xm3ygrxsgpyy5ilxb5rzjry-perl-5.30.2/lib/perl5/5.30.2) at 
/gnu/store/6ba47ndbbaf1h8qrsss9lfji0xvmh8px-po4a-0.61/lib/perl5/site_perl/5.30.2/Locale/Po4a/Text.pm
 line 60.
BEGIN failed--compilation aborted at 
/gnu/store/6ba47ndbbaf1h8qrsss9lfji0xvmh8px-po4a-0.61/lib/perl5/site_perl/5.30.2/Locale/Po4a/Text.pm
 line 60.
Compilation failed in require at (eval 22) line 1.
BEGIN failed--compilation aborted at (eval 22) line 1.
```

This patch addresses that, and now the use statement works as expected.

[0]: 
https://github.com/mquinson/po4a/blob/a69b48eda3ebd66eec30a34a377c7a00c6f8e36c/lib/Locale/Po4a/Text.pm#L60

 gnu/packages/gettext.scm | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index 21228694d7..e4cd139393 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -238,17 +238,19 @@ from Markdown files.")
      `(#:phases
        (modify-phases %standard-phases
          (add-after 'install 'wrap-programs
-          (lambda* (#:key outputs #:allow-other-keys)
+          (lambda* (#:key outputs inputs #:allow-other-keys)
             ;; Make sure all executables in "bin" find the Perl modules
             ;; provided by this package at runtime.
-            (let* ((out  (assoc-ref outputs "out"))
-                   (bin  (string-append out "/bin/"))
-                   (path (string-append out "/lib/perl5/site_perl")))
+            (let* ((out       (assoc-ref outputs "out"))
+                   (bin       (string-append out "/bin/"))
+                   (path      (string-append out "/lib/perl5/site_perl"))
+                   (deps-path (string-append (assoc-ref inputs 
"perl-yaml-tiny")
+                                             "/lib/perl5/site_perl")))
               (for-each (lambda (file)
                           (wrap-program file
-                            `("PERL5LIB" ":" prefix (,path))))
-                        (find-files bin "\\.*$"))
-              #t)))
+                            `("PERL5LIB" ":" prefix (,path
+                                                     ,deps-path))))
+                        (find-files bin "\\.*$")))))
          (add-before 'reset-gzip-timestamps 'make-compressed-files-writable
            (lambda* (#:key outputs #:allow-other-keys)
              (for-each make-file-writable
@@ -284,8 +286,9 @@ from Markdown files.")
        ;; For tests.
        ("docbook-xml" ,docbook-xml-4.1.2)
        ("perl-test-pod" ,perl-test-pod)
-       ("perl-yaml-tiny" ,perl-yaml-tiny)
        ("texlive" ,texlive-tiny)))
+    (propagated-inputs
+     `(("perl-yaml-tiny" ,perl-yaml-tiny)))
     (home-page "https://po4a.org/";)
     (synopsis "Scripts to ease maintenance of translations")
     (description
-- 
2.31.1






reply via email to

[Prev in Thread] Current Thread [Next in Thread]