diff mbox series

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

Message ID CM8ctR0aIM2Hsd4u2h3ySzVLXZMdKdWGJP2dmR_jM_ZEvneWa_rPETFk5idr-dF1B6DsgzMGCK-i5okcq95lqPJ6G5PGAcGT69cZCRHbRyQ=@protonmail.com
State New
Headers show
Series [bug#71602] gnu: texlive-scripts: add mktexfmt | expand

Commit Message

spencerpeters June 16, 2024, 7:08 p.m. UTC
* 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(-)

--
2.45.1

Comments

Nicolas Goaziou June 17, 2024, 7:18 a.m. UTC | #1
Hello,

spencerpeters via Guix-patches via <guix-patches@gnu.org> 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,
diff mbox series

Patch

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")