Subject: bug#71602: closed (Re: [bug#71602] [PATCH] gnu: texlive-scripts: add mktexfmt)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 17 Jun 2024 07:20:01 +0000

Your bug report

#71602: [PATCH] gnu: texlive-scripts: add mktexfmt

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
71602: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71602
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#71602] [PATCH] gnu: texlive-scripts: add mktexfmt
From: Nicolas Goaziou <[email-masked]>
To: spencerpeters via Guix-patches via <[email-masked]>
Cc: "[email-masked]" <[email-masked]>, [email-masked], "[email-masked]" <[email-masked]>, spencerpeters <[email-masked]>
Date: Mon, 17 Jun 2024 09:18:59 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

spencerpeters via Guix-patches via <[email-masked]> writes:

> * gnu/packages/tex.scm (texlive-scripts): add mktexfmt

Good catch.

> Hello. I have noticed while using a modular TeX Live installation that the texlive-scripts package
> lacks mktexfmt, which is necessary for creating TeX fmts.

Actually, it is not strictly necessary. Guix uses "fmtutil-sys" to
generate such fmts.  But you're right, the script should be installed anyway.

> #:link-scripts
> - (find-files "scripts")))))))))
> + (find-files "scripts"))))))
> + (add-after 'link-scripts 'link-mktexfmt
> + (lambda _
> + (let ((fmtutil (string-append #$output "/bin/fmtutil")))
> + (symlink fmtutil
> + (string-append #$output "/bin/mktexfmt" ))))))))

I integrated this in the `link-scripts' phase, and pushed to "tex-team"
branch. "mktexfmt" should be available once this branch is merged.

Regards,
-- 
Nicolas Goaziou

Subject: [PATCH] gnu: texlive-scripts: add mktexfmt
From: spencerpeters <[email-masked]>
To: "[email-masked]" <[email-masked]>
Cc: "[email-masked]" <[email-masked]>, "[email-masked]" <[email-masked]>
Date: Sun, 16 Jun 2024 19:08:37 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/tex.scm (texlive-scripts): add mktexfmt

Hello. I have noticed while using a modular TeX Live installation that the texlive-scripts package
lacks mktexfmt, which is necessary for creating TeX fmts. TeX Live places mktexfmt in a
separate folder from the remainder of the scripts in this package, but mktexfmt is simply
a symlink to fmtutil, which is included in this Guix package. As such, this patch adds a phase to
the build system to create this symlink after fmtutil has been installed. An alternative solution would
be to add the mktexfmt file in the upstream TeX Live repository as a source location, but since that
file is still only a symlink to fmtutil, I believe it is easier to create the symlink ourselves as the package
is built. I apologize if there are any errors as this is my first patch.

Best,
Spencer
---
gnu/packages/tex.scm | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 828bcde0e2..5df60193d8 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -383,7 +383,12 @@ (define-public texlive-scripts
(apply (assoc-ref tex:%standard-phases 'link-scripts)
(list #:outputs outputs
#:link-scripts
- (find-files "scripts")))))))))
+ (find-files "scripts"))))))
+ (add-after 'link-scripts 'link-mktexfmt
+ (lambda _
+ (let ((fmtutil (string-append #$output "/bin/fmtutil")))
+ (symlink fmtutil
+ (string-append #$output "/bin/mktexfmt" ))))))))
(inputs (list perl))
(home-page "https://www.tug.org/texlive/")
(synopsis "TeX Live infrastructure programs")
--
2.45.1