circular dependency when building LaTeX?

Thiago Jung Bauermann bauermann at kolabnow.com
Sat Jun 26 23:23:08 CEST 2021


Hello Phelype,

Em sexta-feira, 25 de junho de 2021, às 10:33:56 -03, Phelype Oleinik 
escreveu:
> On 6/25/21 01:50, Thiago Jung Bauermann wrote:>
> 
> > Ok.  I’m just a bit puzzled because I’m using checkouts from the svn
> > tag
> > “texlive-2021.1” to build everything. If latex-base from that tag needs
> > xparse-generic.tex, shouldn’t it be generated by l3packages/xparse/
> > xparse.ins from that same tag?
> 
> It doesn't need to be _generated_, it just needs to exist.

Generating files during the build process is much preferred to using pre-
generated ones, because if one wants or needs to modify the software they 
are running, it’s much better to change the source file. Generated files are 
often too cumbersome or unintelligible to be modified. Perhaps that’s not 
the case for the xparse files specifically. I haven’t looked closely.

This isn’t just a theoretical concern. Guix has a mechanism called “package 
transformations”¹ where the user can specify a patch to be applied to the 
package they are installing. Guix strives to make it easy for users to 
modify the software on their systems.

> |xparse-generic.tex| and the |xparse-<date>.sty| you mention are no
> 
> longer generated from |xparse.ins| because the development version moved
> to |ltcmd.dtx| in latex-base.
> 
> Also, the |texlive-2020.1| tag is frozen and doesn't get any more
> updates.  I'd recommend you use the |trunk| version (updated daily),
> which has the newest LaTeX, that I mentioned.

Interesting suggestion, thanks. Is trunk considered a stable version of the 
TeX Live distribution that can be relied upon by users?

> >> There is, however, a frozen
> >> 
> >> |xparse-generic.tex| in that package that should do what you need, no?
> > 
> > True. Is there a way for me to generate it, or do I have to copy it
> > verbatim?
> 
> No, nowadays that file is frozen and won't change, so you'll have to
> just copy it verbatim.

Ok, I will do that.

> > I also see a couple of xparse-<date>.sty. Their headers say that they
> > were “generated from xparse.dtx […] then adapted”. Does that mean that
> > they were modified by hand after being generated by docstrip?
> 
> Exactly (I am the one to blame :-).  |xparse-generic.tex| was generated
> then modified by hand, but I forgot to add a similar note on its header.

Ok, that makes it unrealistic to try to generate it during the build 
process. I’ll simply copy the versions that are in the CTAN package. As you 
mention, this is a temporary situation that will go away after 
texlive-2021.1, so the impact is limited.

-- 
Thanks,
Thiago


¹ https://guix.gnu.org/en/manual/devel/en/html_node/Package-Transformation-Options.html





More information about the tex-live mailing list.