From 805af862c6f0f6c54b74125bff8d348ae8f8e6f8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 28 Jan 2022 19:18:01 +0100 Subject: guix: Restore profile hook for TeX Live font maps. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Long ago we had a profile hook, called “texlive-configuration”, which would operate on the texlive-* packages that have actually been installed in the profile, build a union directory, and then install a texmf.cnf file that declared the prefix of the TeX Live tree to be the union directory. It then generated font maps based on the fonts that had actually been installed. This approach had multiple disadvantages, the worst of which was that you could only really have one TeX Live tree. Commit 04a0b1e09abce99857e7930336421ca6d15ae630 addressed this, where texmf.cnf was modified *once* and for all in texlive-bin to reference the GUIX_TEXMF variable to determine the root of the tree. This made much of “texlive-configuration” obsolete, because we didn’t need to have any union directories at all, because we had no need for a customized per-profile variant of texmf.cnf. Unfortunately, with the loss of the profile hook we would no longer build font maps. This patch resurrects the profile hook: we’re again generating font maps (such as pdftex.map) based on the contents of the profile. * gnu/packages/tex.scm (texlive-default-updmap.cfg): New variable. * guix/profiles.scm (texlive-configuration): Rename this... (texlive-font-maps): ...to this; update to run updmap-sys on the contents of the profile to generate only font maps. (%default-profile-hooks): Add texlive-font-maps. * guix/status.scm (hook-message): Rename unused texlive-configuration to texlive-font-maps. --- gnu/packages/tex.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'gnu/packages/tex.scm') diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index a68c42096b..5d5e875a51 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -4422,6 +4422,18 @@ It includes little more than the required set of LaTeX packages.") '() default-packages))))) +(define-public texlive-default-updmap.cfg + (origin + (method url-fetch) + (uri (string-append "https://tug.org/svn/texlive/tags/" + %texlive-tag "/Master/texmf-dist/web2c/updmap.cfg" + "?revision=" (number->string %texlive-revision))) + (file-name (string-append "updmap.cfg-" + (number->string %texlive-revision))) + (sha256 + (base32 + "0zhpyld702im6352fwp41f2hgfkpj2b4j1kfsjqbkijlcmvb6w2c")))) + ;;; TODO: Add a TeX Live profile hook computing fonts maps (and others?) ;;; configuration from the packages in the profile, similar to what's done ;;; below. -- cgit v1.2.3