Message ID | CM8ctR0aIM2Hsd4u2h3ySzVLXZMdKdWGJP2dmR_jM_ZEvneWa_rPETFk5idr-dF1B6DsgzMGCK-i5okcq95lqPJ6G5PGAcGT69cZCRHbRyQ=@protonmail.com |
---|---|
State | New |
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 5E2AD27BBE2; Mon, 17 Jun 2024 02:09:44 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 72BC127BBE9 for <patchwork@mira.cbaines.net>; Mon, 17 Jun 2024 02:09:43 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces@gnu.org>) id 1sJ0s5-00058B-Lw; Sun, 16 Jun 2024 21:09:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1sIzAG-00033B-NI for guix-patches@gnu.org; Sun, 16 Jun 2024 19:20:01 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1sIzAG-0007WH-FC for guix-patches@gnu.org; Sun, 16 Jun 2024 19:20:00 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1sIzAH-0004jv-U6 for guix-patches@gnu.org; Sun, 16 Jun 2024 19:20:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#71602] [PATCH] gnu: texlive-scripts: add mktexfmt Resent-From: spencerpeters <spencerpeters@protonmail.com> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 16 Jun 2024 23:20:01 +0000 Resent-Message-ID: <handler.71602.B.171857994618142@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 71602 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 71602@debbugs.gnu.org Cc: "rekado@elephly.net" <rekado@elephly.net>, "andreas@enge.fr" <andreas@enge.fr> X-Debbugs-Original-To: "guix-patches@gnu.org" <guix-patches@gnu.org> Received: via spool by submit@debbugs.gnu.org id=B.171857994618142 (code B ref -1); Sun, 16 Jun 2024 23:20:01 +0000 Received: (at submit) by debbugs.gnu.org; 16 Jun 2024 23:19:06 +0000 Received: from localhost ([127.0.0.1]:56560 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1sIz9M-0004iX-Uv for submit@debbugs.gnu.org; Sun, 16 Jun 2024 19:19:05 -0400 Received: from lists.gnu.org ([209.51.188.17]:52100) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <spencerpeters@protonmail.com>) id 1sIvFM-0002sI-0k for submit@debbugs.gnu.org; Sun, 16 Jun 2024 15:09:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <spencerpeters@protonmail.com>) id 1sIvFJ-0005V2-T4 for guix-patches@gnu.org; Sun, 16 Jun 2024 15:08:58 -0400 Received: from mail-40132.protonmail.ch ([185.70.40.132]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <spencerpeters@protonmail.com>) id 1sIvFG-00018k-PG for guix-patches@gnu.org; Sun, 16 Jun 2024 15:08:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1718564920; x=1718824120; bh=o5VMl//awHZOp9G5tgtDps27wa87t4Z0Jnow+viLAmg=; h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=XB96DRTTBFOrdJLx+b6m7iRtA+oX1aacHKWzNLobsD0ii7BpDMh+5p1desm+FAfxl ql9gW+OZlhDxV7AWKCb7S0DOA6aNsY3nUsmgir7Qoi5u0BCvgOzZgIvEFql3hAnohf G13KfXAduU9k9Zf+6LudIhMUKtbzRuucqAjrJfKVEJL6dF0R0KhQv32U8qzaRIe0nJ TS4sq1VCWSPWb17LdiGt1fXFP53+NY9YnKsOTbZOfB7tCS48R/gna1T8EHxQFkhy+k EHOsztA1H7iqJNj982vH/INoo7BCNIT3KNl9IzNMwD9VW9mDaOgNPhgK5myolrofbx gI6D+fq5cyP7g== Date: Sun, 16 Jun 2024 19:08:37 +0000 Message-ID: <CM8ctR0aIM2Hsd4u2h3ySzVLXZMdKdWGJP2dmR_jM_ZEvneWa_rPETFk5idr-dF1B6DsgzMGCK-i5okcq95lqPJ6G5PGAcGT69cZCRHbRyQ=@protonmail.com> Feedback-ID: 8784119:user:proton X-Pm-Message-ID: 1d0fe451ccd0c01df621b886f4df006e2159df6d MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_PoyhjBE6c7ckrnY3wPJvCyKbmZbnEPAwk1PydpA94BM" Received-SPF: pass client-ip=185.70.40.132; envelope-from=spencerpeters@protonmail.com; helo=mail-40132.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Sun, 16 Jun 2024 19:19:03 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Mailman-Approved-At: Sun, 16 Jun 2024 21:09:19 -0400 X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Reply-to: spencerpeters <spencerpeters@protonmail.com> X-ACL-Warn: , spencerpeters via Guix-patches <guix-patches@gnu.org> From: spencerpeters via Guix-patches via <guix-patches@gnu.org> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches |
Series |
[bug#71602] gnu: texlive-scripts: add mktexfmt
|
|
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
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,
Hi, Any ETA for the merge? This breaks emacs org-mode export to latex. Thanks, Jorge
Hello, Jorge Acereda <jacereda@gmail.com> writes: > Any ETA for the merge? This should happen soon. Currently, the branch is being built on QA[¹]. > This breaks emacs org-mode export to latex. This is rather surprising. "mktexfmt" is not directly used to compile documents, but rather to create format files. However, these format files are pre-generated during build, without relying on "mktexfmt". Also, I can export from Org to LaTeX without issues. Your problem lies elsewhere, IMO. Maybe an incomplete TeX Live installation ? Regards, [¹] https://qa.guix.gnu.org/branch/core-updates
On Sun, Jun 30, 2024 at 4:32 PM Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote: > This is rather surprising. "mktexfmt" is not directly used to compile > documents, but rather to create format files. However, these format > files are pre-generated during build, without relying on "mktexfmt". > > Also, I can export from Org to LaTeX without issues. Your problem lies > elsewhere, IMO. Maybe an incomplete TeX Live installation ? > Oh, sorry. I mean org-latex-export-to-pdf. Maybe I'm missing something as you suggest. I have installed texlive-bin, texlive-etex and texlive-scripts. This is what I'm getting: This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/GNU Guix) (preloaded format=pdflatex) restricted \write18 enabled. kpathsea: Running mktexfmt pdflatex.fmt mktexfmt: No such file or directory I can't find the format file `pdflatex.fmt'! This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/GNU Guix) (preloaded format=pdflatex) restricted \write18 enabled. kpathsea: Running mktexfmt pdflatex.fmt mktexfmt: No such file or directory I can't find the format file `pdflatex.fmt'! This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/GNU Guix) (preloaded format=pdflatex) restricted \write18 enabled. kpathsea: Running mktexfmt pdflatex.fmt mktexfmt: No such file or directory I can't find the format file `pdflatex.fmt'! Thanks, Jorge
Jorge Acereda <jacereda@gmail.com> writes: > On Sun, Jun 30, 2024 at 4:32 PM Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote: >> This is rather surprising. "mktexfmt" is not directly used to compile >> documents, but rather to create format files. However, these format >> files are pre-generated during build, without relying on "mktexfmt". >> >> Also, I can export from Org to LaTeX without issues. Your problem lies >> elsewhere, IMO. Maybe an incomplete TeX Live installation ? >> > > Oh, sorry. I mean org-latex-export-to-pdf. Maybe I'm missing something > as you suggest. I have installed texlive-bin, texlive-etex and > texlive-scripts. This is what I'm getting: > > This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/GNU > Guix) (preloaded format=pdflatex) > restricted \write18 enabled. > > kpathsea: Running mktexfmt pdflatex.fmt > mktexfmt: No such file or directory > I can't find the format file `pdflatex.fmt'! I see. The first thing to know is the error above is a red herring. Formats (i.e. ".fmt" files) are pre-generated when TeX Live packages are built. When kpathsea library does not find one, it tries to generate it with "mktexfmt", but the problem stems from the fact that you didn't install the package containing the expected format in the first place. In this case, the package texlive-latex-bin does provide it. Anyway, the packages "texlive-bin, texlive-etex and texlive-scripts" are clearly insufficient to compile any document. As indicated in the manual, you should install collections of packages to create a self-sufficient TeX Live distribution. For Org, at the very least, you should start by installing texlive-collection-latexrecommended (and remove the previous packages you had). The packages texlive-collection-pictures (for PGF/TikZ) and texlive-collection-fontsrecommended can be nice to have, too, but they are optional for Org. However, if you want a relatively small TeX Live installation, you may want to stay away from texlive-collection-binextra, texlive-collection-fontsextra, texlive-collection-fontutils, and texlive-collection-latexextra, which can be quite large. I suggest to pick the individual packages you need from them. Off the top of my head, for Org, you may want: - texlive-capt-of - texlive-soul - texlive-ulem - texlilve-wrapfig all from texlive-collection-latexextra. Of course, if space is not an issue, installing texlive-collection-latexextra (roughly 1500 packages, 1G) is an option. There is also texlive-scheme-full (schemes are meta packages mixing collections and sometimes individual packages), which installs all TeX Live (4500 packages, 4G). But I really recommend to spend a few minutes to select a sufficient TeX Live tree instead. HTH, Regards,
Hi Nicolas, Thanks a lot for the detailed explanation, clearly a PEBKAC on my side. On Sun, Jun 30, 2024 at 7:10 PM Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote: > > - texlive-capt-of > - texlive-soul > - texlive-ulem > - texlilve-wrapfig You remember correctly, those plus texlive-collection-latexrecommended did the trick.
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")