~ruther/guix-local

92fd8975a1c0b680f8ee1477b8f3b132cf3870dc — Maxim Cournoyer 5 years ago 9e78ea7
gnu: texlive-bin: Patch shell commands in scripts.

* gnu/packages/tex.scm (texlive-bin)[phases]{patch-scripts}: New phase.
1 files changed, 24 insertions(+), 0 deletions(-)

M gnu/packages/tex.scm
M gnu/packages/tex.scm => gnu/packages/tex.scm +24 -0
@@ 406,6 406,30 @@ files from LOCATIONS with expected checksum HASH.  CODE is not currently in use.
             (with-directory-excursion "texlive-scripts"
               (apply (assoc-ref %standard-phases 'unpack)
                      (list #:source (assoc-ref inputs "texlive-scripts"))))))
         (add-after 'unpack-texlive-scripts 'patch-scripts
           (lambda _
             (let* ((scripts (append (find-files "texk/kpathsea" "^mktex")
                                     (find-files "texlive-scripts" "\\.sh$")))
                    (commands '("awk" "basename" "cat" "grep" "mkdir" "rm"
                                "sed" "sort" "uname"))
                    (command-regexp (format #f "\\b(~a)\\b"
                                            (string-join commands "|")))
                    (iso-8859-1-encoded-scripts
                     '("texlive-scripts/source/rubibtex.sh"
                       "texlive-scripts/source/rumakeindex.sh")))

               (define (substitute-commands scripts)
                 (substitute* scripts
                   ((command-regexp dummy command)
                    (which command))))

               (substitute-commands (lset-difference string= scripts
                                                     iso-8859-1-encoded-scripts))

               (with-fluids ((%default-port-encoding "ISO-8859-1"))
                 (substitute-commands iso-8859-1-encoded-scripts))

               #t)))
         (add-after 'install 'postint
           (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
             (let* ((out (assoc-ref outputs "out"))