* [core-updates] texlive 2021 bootstrap problem
@ 2021-06-15 19:00 Thiago Jung Bauermann
2021-06-22 0:43 ` Thiago Jung Bauermann
0 siblings, 1 reply; 9+ messages in thread
From: Thiago Jung Bauermann @ 2021-06-15 19:00 UTC (permalink / raw)
To: guix-devel
Hello,
In an attempt to verify whether bug 48064¹ (”texlive-* packages fail to
build non-deterministically”) is fixed by the current TeX Live version, I’ve
been working on updating it to version 2021.1².
Unfortunately I ran into a bootstrapping issue: texlive-latex-base now
depends on texlive-latex-l3kernel, otherwise its build fails with:
LaTeX2e <2020-10-01> patch level 4
! LaTeX requires expl3.
The problem is that if I add texlive-latex-l3kernel to the propagated-
inputs list of texlive-latex-base, then a dependency loop is formed since
texlive-latex-l3kernel uses the texlive-build-system, which adds texlive-
latex-base as an implicit input. And if I understand thing correctly,
l3kernel does indeed need some form of TeX or LaTeX in order to run
`source/latex/l3kernel/l3.ins`.
I tried to “cheat” and added the build argument
`#:texlive-latex-base ,texlive-bin` to texlive-latex-l3kernel (since
texlive-bin doesn’t depend on texlive-latex-base), but then I get an error
about not being able to find `luatex.fmt`.
Looking around the web, I found this answer:
> To answer your question about deactivation ... the L3 programming layer
> is part of the core LaTeX format since release 2019-10-01 and it can't be
> deactivated. At the moment it is there to speed up processing of packages
> written in expl3, e.g., xparse, fontspec, and many others, but going
> forward core parts of LaTeX will make direct use of it.
>
> Deactivation is only possible by using a release prior to 2019-10 (even
> rollback via "latexrelease" will load).
— https://tex.stackexchange.com/a/538716
Does anyone have an idea how to break this dependency loop? Do we need to
have a package definition for a pre-2019-10 version of LaTeX just to build
texlive-latex-l3kernel, and then use that as a dependency for the actual
texlive-latex-base package?
The only alternative I can think of is trying to build a minimal version of
2021.1 LaTeX which somehow doesn’t use expl3 so that it can be used to
build texlive-latex-l3kernel. But that is above my very superficial
understanding of TeX and LaTeX. And the quote I pasted above doesn’t look
very encouraging.
If anyone wants to have a look at what I have so far, I pushed my patch to
branch “bug-48064-texlive-2021” at https://gitlab.com/bauermann/guix .
--
Thanks,
Thiago
¹ https://issues.guix.gnu.org/48064
² Well, almost. In order to have a stable URL to fetch from, I’m using the
latest version available in the historic repository, which is slightly
older than 2021.1.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [core-updates] texlive 2021 bootstrap problem
2021-06-15 19:00 [core-updates] texlive 2021 bootstrap problem Thiago Jung Bauermann
@ 2021-06-22 0:43 ` Thiago Jung Bauermann
2021-06-24 18:26 ` Maxim Cournoyer
0 siblings, 1 reply; 9+ messages in thread
From: Thiago Jung Bauermann @ 2021-06-22 0:43 UTC (permalink / raw)
To: guix-devel
Hello,
Em terça-feira, 15 de junho de 2021, às 16:00:51 -03, Thiago Jung Bauermann
escreveu:
> Does anyone have an idea how to break this dependency loop? Do we need to
> have a package definition for a pre-2019-10 version of LaTeX just to
> build texlive-latex-l3kernel, and then use that as a dependency for the
> actual texlive-latex-base package?
I’m pursuing this option. I took the definition of texlive-latex-base from
the master branch (which doesn’t depend on LaTeX3) and added it to my
branch as texlive-latex-no-l3 (with a few minor changes to get it to build
with texlive 2021), and used it as a dependency to build texlive-latex-
l3kernel.
This worked! Now texlive-latex-l3kernel builds correctly, and the build of
texlive-latex-base is attempted (instead of just causing Guix to max out
its heap while trying to process a dependency loop, as it was doing
before). But the build fails when generating some latex formats – a problem
I’m still investigating.
But this is progress nevertheless. :-)
> If anyone wants to have a look at what I have so far, I pushed my patch
> to branch “bug-48064-texlive-2021” at https://gitlab.com/bauermann/guix
I just force-pushed this branch with my current version of the patches.
--
Thanks,
Thiago
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [core-updates] texlive 2021 bootstrap problem
2021-06-22 0:43 ` Thiago Jung Bauermann
@ 2021-06-24 18:26 ` Maxim Cournoyer
2021-06-24 20:53 ` Thiago Jung Bauermann
0 siblings, 1 reply; 9+ messages in thread
From: Maxim Cournoyer @ 2021-06-24 18:26 UTC (permalink / raw)
To: Thiago Jung Bauermann; +Cc: guix-devel
Hi Thiago,
Thiago Jung Bauermann <bauermann@kolabnow.com> writes:
> Hello,
>
> Em terça-feira, 15 de junho de 2021, às 16:00:51 -03, Thiago Jung Bauermann
> escreveu:
>> Does anyone have an idea how to break this dependency loop? Do we need to
>> have a package definition for a pre-2019-10 version of LaTeX just to
>> build texlive-latex-l3kernel, and then use that as a dependency for the
>> actual texlive-latex-base package?
>
> I’m pursuing this option. I took the definition of texlive-latex-base from
> the master branch (which doesn’t depend on LaTeX3) and added it to my
> branch as texlive-latex-no-l3 (with a few minor changes to get it to build
> with texlive 2021), and used it as a dependency to build texlive-latex-
> l3kernel.
>
> This worked! Now texlive-latex-l3kernel builds correctly, and the build of
> texlive-latex-base is attempted (instead of just causing Guix to max out
> its heap while trying to process a dependency loop, as it was doing
> before). But the build fails when generating some latex formats – a problem
> I’m still investigating.
>
> But this is progress nevertheless. :-)
Thumbs up for working and figuring things out for a texlive 2021
upgrade!
Thank you,
Maxim
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [core-updates] texlive 2021 bootstrap problem
2021-06-24 18:26 ` Maxim Cournoyer
@ 2021-06-24 20:53 ` Thiago Jung Bauermann
2021-06-25 3:34 ` Maxim Cournoyer
0 siblings, 1 reply; 9+ messages in thread
From: Thiago Jung Bauermann @ 2021-06-24 20:53 UTC (permalink / raw)
To: Maxim Cournoyer; +Cc: guix-devel
Hello Maxim,
Em quinta-feira, 24 de junho de 2021, às 15:26:55 -03, Maxim Cournoyer
escreveu:
> Hi Thiago,
>
> Thiago Jung Bauermann <bauermann@kolabnow.com> writes:
> > Hello,
> >
> > Em terça-feira, 15 de junho de 2021, às 16:00:51 -03, Thiago Jung
> > Bauermann>
> > escreveu:
> >> Does anyone have an idea how to break this dependency loop? Do we need
> >> to have a package definition for a pre-2019-10 version of LaTeX just
> >> to build texlive-latex-l3kernel, and then use that as a dependency
> >> for the actual texlive-latex-base package?
> >
> > I’m pursuing this option. I took the definition of texlive-latex-base
> > from the master branch (which doesn’t depend on LaTeX3) and added it
> > to my branch as texlive-latex-no-l3 (with a few minor changes to get
> > it to build with texlive 2021), and used it as a dependency to build
> > texlive-latex- l3kernel.
> >
> > This worked! Now texlive-latex-l3kernel builds correctly, and the build
> > of texlive-latex-base is attempted (instead of just causing Guix to
> > max out its heap while trying to process a dependency loop, as it was
> > doing before). But the build fails when generating some latex formats
> > – a problem I’m still investigating.
> >
> > But this is progress nevertheless. :-)
>
> Thumbs up for working and figuring things out for a texlive 2021
> upgrade!
Thank you! I was just going to report on recent developments.
It turns out that using an older LaTeX to build texlive-latex-l3kernel
isn’t necessary.
I decided to ask on the TeX Live mailing list about the bootstrap problem¹
(not sure why this didn’t occur to me earlier). It turns out it’s not a
real circular dependency, it just appears so because of Guix packaging.
It’s possible to build texlive-latex-l3kernel with IniTeX (i.e., by calling
`pdftex -ini` or `tex -ini`) and docstrip, without any format loaded.
So I made some changes to texlive-build-system to that, and it worked. By
which I mean: the texlive-latex-l3kernel package builds, and the texlive-
latex-base build is attempted and fails in the same way as it was failing
when I sent the last email, when generating latex formats. I think I’m
missing some file(s) with definitions for LaTeX macros, but I don’t know yet.
I pushed a new branch “bug-48064-texlive-2021-l3kernel-initex” to my GitLab
repo at https://gitlab.com/bauermann/guix.git with two patches implementing
the new approach.
--
Thanks,
Thiago
¹ https://tug.org/pipermail/tex-live/2021-June/047156.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [core-updates] texlive 2021 bootstrap problem
2021-06-24 20:53 ` Thiago Jung Bauermann
@ 2021-06-25 3:34 ` Maxim Cournoyer
2021-06-25 5:00 ` Thiago Jung Bauermann
0 siblings, 1 reply; 9+ messages in thread
From: Maxim Cournoyer @ 2021-06-25 3:34 UTC (permalink / raw)
To: Thiago Jung Bauermann; +Cc: guix-devel
Hello Thiago,
Thiago Jung Bauermann <bauermann@kolabnow.com> writes:
[...]
> I decided to ask on the TeX Live mailing list about the bootstrap problem¹
> (not sure why this didn’t occur to me earlier). It turns out it’s not a
> real circular dependency, it just appears so because of Guix packaging.
>
> It’s possible to build texlive-latex-l3kernel with IniTeX (i.e., by calling
> `pdftex -ini` or `tex -ini`) and docstrip, without any format loaded.
It was worth it to ask :-).
> So I made some changes to texlive-build-system to that, and it worked. By
> which I mean: the texlive-latex-l3kernel package builds, and the texlive-
> latex-base build is attempted and fails in the same way as it was failing
> when I sent the last email, when generating latex formats. I think I’m
> missing some file(s) with definitions for LaTeX macros, but I don’t know yet.
>
> I pushed a new branch “bug-48064-texlive-2021-l3kernel-initex” to my GitLab
> repo at https://gitlab.com/bauermann/guix.git with two patches implementing
> the new approach.
I had a cursory look at the commits; they look good to me! And the
commit messages are very useful in understanding the hows and whys.
Make sure to send them to guix-patches@gnu.org after you are satisfied
with the result!
Happy hacking,
Maxim
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [core-updates] texlive 2021 bootstrap problem
2021-06-25 3:34 ` Maxim Cournoyer
@ 2021-06-25 5:00 ` Thiago Jung Bauermann
2021-06-29 20:43 ` Thiago Jung Bauermann
0 siblings, 1 reply; 9+ messages in thread
From: Thiago Jung Bauermann @ 2021-06-25 5:00 UTC (permalink / raw)
To: Maxim Cournoyer; +Cc: guix-devel
Hi Maxim,
Em sexta-feira, 25 de junho de 2021, às 00:34:23 -03, Maxim Cournoyer
escreveu:
> Thiago Jung Bauermann <bauermann@kolabnow.com> writes:
> > It’s possible to build texlive-latex-l3kernel with IniTeX (i.e., by
> > calling `pdftex -ini` or `tex -ini`) and docstrip, without any format
> > loaded.
> It was worth it to ask :-).
Indeed!
> > So I made some changes to texlive-build-system to that, and it worked.
> > By which I mean: the texlive-latex-l3kernel package builds, and the
> > texlive- latex-base build is attempted and fails in the same way as it
> > was failing when I sent the last email, when generating latex formats.
> > I think I’m missing some file(s) with definitions for LaTeX macros,
> > but I don’t know yet.
> >
> > I pushed a new branch “bug-48064-texlive-2021-l3kernel-initex” to my
> > GitLab repo at https://gitlab.com/bauermann/guix.git with two patches
> > implementing the new approach.
>
> I had a cursory look at the commits; they look good to me! And the
> commit messages are very useful in understanding the hows and whys.
> Make sure to send them to guix-patches@gnu.org after you are satisfied
> with the result!
Thank you for having a look! I will certainly submit themt o Guix when I
manage to get a working build of TeX Live 2021.
--
Thanks,
Thiago
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [core-updates] texlive 2021 bootstrap problem
2021-06-25 5:00 ` Thiago Jung Bauermann
@ 2021-06-29 20:43 ` Thiago Jung Bauermann
2021-06-30 16:21 ` Maxim Cournoyer
0 siblings, 1 reply; 9+ messages in thread
From: Thiago Jung Bauermann @ 2021-06-29 20:43 UTC (permalink / raw)
To: Maxim Cournoyer, guix-devel
Hello,
TeX Live situation update:
Em sexta-feira, 25 de junho de 2021, às 02:00:37 -03, Thiago Jung Bauermann
escreveu:
> Em sexta-feira, 25 de junho de 2021, às 00:34:23 -03, Maxim Cournoyer
> escreveu:
>
> > I had a cursory look at the commits; they look good to me! And the
> > commit messages are very useful in understanding the hows and whys.
> > Make sure to send them to guix-patches@gnu.org after you are satisfied
> > with the result!
>
> Thank you for having a look! I will certainly submit themt o Guix when I
> manage to get a working build of TeX Live 2021.
I was able to build the main TeX Live packages with source tarball version
20210325 – the latest on the historic TeX Live FTP site – and subversion
tag texlive-2021.3 – the latest tag in the TeX Live repo.
Unfortunately issue 48064¹ still happens. On the bright side, I found a
workaround for it that also works with TeX Live 2020 currently in core-
updates I will submit the patch with the workaround as soon as testing
finishes, hopefuly later today.
I will also separately submit patches updating TeX Live to 2021 after I
build all of the texlive packages, hopefuly in a couple of days.
--
Thanks,
Thiago
¹ https://issues.guix.gnu.org/48064
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [core-updates] texlive 2021 bootstrap problem
2021-06-29 20:43 ` Thiago Jung Bauermann
@ 2021-06-30 16:21 ` Maxim Cournoyer
2021-07-05 0:24 ` Thiago Jung Bauermann
0 siblings, 1 reply; 9+ messages in thread
From: Maxim Cournoyer @ 2021-06-30 16:21 UTC (permalink / raw)
To: Thiago Jung Bauermann; +Cc: guix-devel
Hello Thiago,
Thiago Jung Bauermann <bauermann@kolabnow.com> writes:
> Hello,
>
> TeX Live situation update:
>
> Em sexta-feira, 25 de junho de 2021, às 02:00:37 -03, Thiago Jung Bauermann
> escreveu:
>> Em sexta-feira, 25 de junho de 2021, às 00:34:23 -03, Maxim Cournoyer
>> escreveu:
>>
>> > I had a cursory look at the commits; they look good to me! And the
>> > commit messages are very useful in understanding the hows and whys.
>> > Make sure to send them to guix-patches@gnu.org after you are satisfied
>> > with the result!
>>
>> Thank you for having a look! I will certainly submit themt o Guix when I
>> manage to get a working build of TeX Live 2021.
>
> I was able to build the main TeX Live packages with source tarball version
> 20210325 – the latest on the historic TeX Live FTP site – and subversion
> tag texlive-2021.3 – the latest tag in the TeX Live repo.
>
> Unfortunately issue 48064¹ still happens. On the bright side, I found a
> workaround for it that also works with TeX Live 2020 currently in core-
> updates I will submit the patch with the workaround as soon as testing
> finishes, hopefuly later today.
>
> I will also separately submit patches updating TeX Live to 2021 after I
> build all of the texlive packages, hopefuly in a couple of days.
Sounds good! Thanks for the update about your progress.
Maxim
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [core-updates] texlive 2021 bootstrap problem
2021-06-30 16:21 ` Maxim Cournoyer
@ 2021-07-05 0:24 ` Thiago Jung Bauermann
0 siblings, 0 replies; 9+ messages in thread
From: Thiago Jung Bauermann @ 2021-07-05 0:24 UTC (permalink / raw)
To: Maxim Cournoyer; +Cc: guix-devel
Hello,
TeX Live situation update:
Em quarta-feira, 30 de junho de 2021, às 13:21:56 -03, Maxim Cournoyer
escreveu:
> Thiago Jung Bauermann <bauermann@kolabnow.com> writes:
> > I was able to build the main TeX Live packages with source tarball
> > version 20210325 – the latest on the historic TeX Live FTP site – and
> > subversion tag texlive-2021.3 – the latest tag in the TeX Live repo.
> >
> > Unfortunately issue 48064¹ still happens. On the bright side, I found a
> > workaround for it that also works with TeX Live 2020 currently in core-
> > updates I will submit the patch with the workaround as soon as testing
> > finishes, hopefuly later today.
Unfortunately the patch I was testing which just changed some packages to
build with pdfTex didn’t work and I ended up sending a patch which simply
switches all packages to build with pdfTeX instead of LuaTeX. It’s
available on the issue page¹. It didn’t show up on the guix-packages
mailing list – not sure why.
Ludo reported the problem to the LuaTeX development mailing list (thanks!)
and a developer there already mentioned that he would work on it ASAP.
> > I will also separately submit patches updating TeX Live to 2021 after I
> > build all of the texlive packages, hopefuly in a couple of days.
I just finished working on the TeX Live 2021 update. The patches are
available on issue 49408².
It updates all packages matching “texlive*” but doesn’t add any new one. If
I should add new packages, please let me know. In that case I would also
need criteria to know which new packages to add. :-)
At this point I don’t see anything else related to TeX I could be doing.
Feel free to let me know if there’s anything.
> Sounds good! Thanks for the update about your progress.
Thanks for your feedback!
--
Thanks,
Thiago
¹ https://issues.guix.gnu.org/48064#15
² http://issues.guix.gnu.org/49408
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-07-05 0:25 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-15 19:00 [core-updates] texlive 2021 bootstrap problem Thiago Jung Bauermann
2021-06-22 0:43 ` Thiago Jung Bauermann
2021-06-24 18:26 ` Maxim Cournoyer
2021-06-24 20:53 ` Thiago Jung Bauermann
2021-06-25 3:34 ` Maxim Cournoyer
2021-06-25 5:00 ` Thiago Jung Bauermann
2021-06-29 20:43 ` Thiago Jung Bauermann
2021-06-30 16:21 ` Maxim Cournoyer
2021-07-05 0:24 ` Thiago Jung Bauermann
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).