[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
- [bug#63604] Branch "tex-team-next" in need of review,
Nicolas Goaziou <=