From: Ricardo Wurmus <rekado@elephly.net>
To: 37314@debbugs.gnu.org
Subject: bug#37314: Various TeX Live problems
Date: Thu, 05 Sep 2019 23:17:44 +0200 [thread overview]
Message-ID: <87zhjie93b.fsf@elephly.net> (raw)
Hi Guix,
on the “wip-texlive” branch I just fixed a serious problem with how
texlive-union generates font maps. On the “master” branch it just
doesn’t. On “wip-texlive” we run “updmap-sys” to first remove all
invalid font maps from the default configuration file (which contains
*all* maps, even when they are not installed), and then a second time to
generate maps for all fonts that are actually available (e.g. as inputs
of the texlive union).
This fixes one of the biggest and most confusing problems with TeX Live
in Guix where the various *tex executables would complain about not
being able to find or use certain fonts. This should be fine now.
To demonstrate it I packaged Guile CV, which depends on a few LaTeX
packages and probes for them at configure time. This will not work on
“master”, but it does work on “wip-texlive”.
Despite this step forward, we’re still right in the middle of
overhauling how we deal with TeX Live packages, because I keep running
out of steam :) Help in this area would be greatly appreciated.
Off the top of my head these are things that really ought to be changed
or fixed:
- the profile hook in (guix profiles) should use “texlive-union” from
(gnu packages tex), because it’s rather complicated now, and we don’t
want to repeat ourselves. Currently, installing texlive-* packages
into your profile won’t lead to a fully functional LaTeX installation,
primarily because of screwed up font maps.
- many texlive-* packages still need to be compared to their expected
outputs according to $(guix build
texlive-bin)/share/tlpkg/texlive.tlpdb, especially those with names
matching “texlive-{latex,generic}-*”. Packages that have names of the
newer “texlive-${name}” format (and those using
“simple-texlive-package”) should be complete.
- the “simple-texlive-package” procedure in (gnu packages tex) could be
more helpful for cases where custom build phases are required. Right
now many packages inherit from a template produced by
“simple-texlive-package” and then verbosely add to the build phases
with substitute-keyword-arguments.
- “simple-texlive-package” only installs “doc” files from the sources to
a separate “doc” output when the package is marked as “trivial”. When
texlive-build-system is used it doesn’t do this.
- “simple-texlive-package” requires an awkward custom chdir phase when
texlive-build-system is supposed to be used.
- “simple-texlive-package” installs the “source” directory to the “out”
output. Maybe that’s not what we want.
- “texlive-build-system” causes files to be unpacked to just a single
location, which can be wrong. That’s why some packages have a
“move-files” phase. The reason is that the build system installs
files to an output directory (called “build”) and then copies its
contents to the location specified with the “tex-directory” keyword
argument.
--
Ricardo
next reply other threads:[~2019-09-05 21:18 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-05 21:17 Ricardo Wurmus [this message]
2023-08-27 8:44 ` bug#37314: Closing Andreas Enge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87zhjie93b.fsf@elephly.net \
--to=rekado@elephly.net \
--cc=37314@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).