guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#63604] Branch "tex-team-next" in need of review


From: Nicolas Goaziou
Subject: [bug#63604] Branch "tex-team-next" in need of review
Date: Sat, 20 May 2023 11:38:46 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Hello,

I just pushed branch named "tex-team-next", based on current "tex-team"
branch. At its core, it merely modifies the texlive build system.
Consequently, it also rewrites (almost) all texlive-prefixed packages
accordingly, and tweaks the texlive importer to follow suit.

The most obvious differences with the last iteration of this build
system are that `simple-texlive-package' function along with its
`#:trivial?' argument disappear, and the `#:tex-directory' keyword is no
longer used. Package definitions are now more regular, in comparison to
other packages in Guix.

Internally, this build system now:

- tries to build ".dtx" files when no build targets, through
  `#:build-targets keyword', are specified and no ".ins" file are
  present in the source;

- generates font metrics (".tfm") from Metafont files (".mf"), with the
  consequence of adding a new `#:ignore-metafont-files' keyword for
  a few tricky font packages;

- guarantees that no cruft, e.g., ".log" files, is installed in the
  output by comparing generated files with those expected by the TeX
  Live distribution;

Since these changes affected almost all packages in "tex.scm", I took
the opportunity to:

- normalize package names, so that every package is now named after the
  texlive-TEXLIVENAME scheme, where TEXLIVENAME is the name of the
  matching package in the TeX Live distribution;

- add appropriate propagated inputs, which will hopefully drastically
  reduce the number of packages to declare when installing a working,
  minimal, and modular bundle;

- created new packages required as propagated inputs, and a couple
  others to try out the font metrics generation on peculiar setups.

Unfortunately, these changes do not affect the "bootstrap" part of the
texlive packages, e.g., `texlive-bin', `texlive-latex-base', or
`texlive-hyphen-package'… While creating new texlive packages is
certainly, all of this doesn't help in updating packages individually or
as a whole. Neither does it solve the dreaded hyphenation issue. Sorry.

In order to help anyone interested in reviewing this 400+ packages set,
here are some guidelines. The noteworthy patches are:

- patches 1 and 389, about the real changes to the build system;
- patches 3, 4, 5, 6 and 390, about refinements to its relative
  importer.

These ones should be reviewed, since this is where the Guile code lives.
The others are not so interesting and can be merrily skipped. Anyway,

- patches 2, 360, and 388 are the steps taken to ultimately remove
  `simple-texlive-package' function without breaking every build right
  from the beginning;

- everything else (!) is just boring package rewriting, or addition.

Feedback welcome,

Regards,
-- 
Nicolas Goaziou





reply via email to

[Prev in Thread] Current Thread [Next in Thread]