* Thoughtful updates to TexLive @ 2024-10-26 1:13 Felix Lechner via Development of GNU Guix and the GNU System distribution. 2024-10-26 8:36 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. 0 siblings, 1 reply; 9+ messages in thread From: Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2024-10-26 1:13 UTC (permalink / raw) To: guix-devel@gnu.org Hi, Should updates to TexLive or its prerequisites fall under the core-updates policy (or whatever its successor is)? My Guix is heavily modified and building TexLive takes an hour and a half. Grafting it takes nearly as long. Thanks! Kind regards Felix ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Thoughtful updates to TexLive 2024-10-26 1:13 Thoughtful updates to TexLive Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2024-10-26 8:36 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. 2025-01-10 7:01 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. 0 siblings, 1 reply; 9+ messages in thread From: Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. @ 2024-10-26 8:36 UTC (permalink / raw) To: Felix Lechner via Development of GNU Guix and the GNU System distribution. Cc: Felix Lechner Hello, Felix Lechner writes: > Should updates to TexLive or its prerequisites fall under the > core-updates policy (or whatever its successor is)? > > My Guix is heavily modified and building TexLive takes an hour and a > half. Grafting it takes nearly as long. Thanks! What TexLive are you talking about? There are two TeX Live distributions in Guix: the monolithic one, i.e., `texlive', and the modular one, i.e., the set of all `texlive-*' packages. Monolithic TeX Live is not substitutable so no matter how heavily modified your Guix is, you will always rebuild it at every dependency change. My suggestion is to use modular TeX Live with a reasonable set of packages. I.e., you certainly don't need to pull `texlive-scheme-full', the modular counterpart of `texlive'. Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Thoughtful updates to TexLive 2024-10-26 8:36 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. @ 2025-01-10 7:01 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. 2025-01-10 7:50 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. 0 siblings, 1 reply; 9+ messages in thread From: Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2025-01-10 7:01 UTC (permalink / raw) To: Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. Cc: Nicolas Goaziou Hi Nicolas, On Sat, Oct 26 2024, Nicolas Goaziou via "Development of GNU Guix and the GNU System distribution." wrote: > What TexLive are you talking about? I am talking about 'texlivetexmf-20240312'. While I'm lucky that there is a substitute, I can hardly use it. At 3.95GB and 31 kB/sec download speed, it took twenty minutes to reach 1%. If my math is right, two thousand minutes are about thirty-three hours. What is the rationale for the monolithic package, please? I'm not using it in any of my own stuff, I don't think. Thanks! Kind regards Felix ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Thoughtful updates to TexLive 2025-01-10 7:01 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2025-01-10 7:50 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. 2025-01-10 15:00 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. 2025-01-22 14:07 ` Andreas Enge 0 siblings, 2 replies; 9+ messages in thread From: Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. @ 2025-01-10 7:50 UTC (permalink / raw) To: Felix Lechner via Development of GNU Guix and the GNU System distribution. Cc: Felix Lechner, Andreas Enge Hello, Felix Lechner via "Development of GNU Guix and the GNU System distribution." <guix-devel@gnu.org> writes: > I am talking about 'texlivetexmf-20240312'. > > While I'm lucky that there is a substitute, I can hardly use it. The `texlivetexmf' package has a `#:substitutable #f' flag. Unless I’m mistaken, you’re probably downloading its source before building it. > What is the rationale for the monolithic package, please? I'm not using > it in any of my own stuff, I don't think. Thanks! The monolithic package predates the modular one. Back in the days, it was the only way to get a proper TeX Live experience within Guix. It is not the case anymore. However, Andreas Enge (Cc’ed) prefers to keep it as a no-brainer for anyone who wants to compile TeX documents and can afford the download cost. I’d love to get feedback about the comparison between using `texlive' and `texlive-scheme-full', as I believe the latter can satisfy that user profile. Admittedly, another advantage is that you can modify `texlive' without rebuilding world. As you put it, you, or anyone on this earth I bet, don’t need every package in there. Some are provided for historical purpose only, for example. Even if you don’t want to fiddle with TeX Live packages, installing a couple of `texlive-collection-*' packages, such as the massive `texlive-collection-latexextra', will be more manageable in the long run. Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Thoughtful updates to TexLive 2025-01-10 7:50 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. @ 2025-01-10 15:00 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. 2025-01-10 16:09 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. 2025-01-22 14:07 ` Andreas Enge 1 sibling, 1 reply; 9+ messages in thread From: Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2025-01-10 15:00 UTC (permalink / raw) To: Nicolas Goaziou Cc: Felix Lechner via Development of GNU Guix and the GNU System distribution., Andreas Enge Hi Nicolas, On Fri, Jan 10 2025, Nicolas Goaziou wrote: > don’t need every package in there Thanks for that analysis! I had the innocuous-looking 'texlive' in my Guix Home profile. That package pulls in texlivetexmf-${date}. [1] Was that my error? Kind regards Felix P.S. After a good night's sleep and eight hours later, sixteen percent of the source were downloaded. [1] https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/texlive.scm#n364 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Thoughtful updates to TexLive 2025-01-10 15:00 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2025-01-10 16:09 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. 0 siblings, 0 replies; 9+ messages in thread From: Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. @ 2025-01-10 16:09 UTC (permalink / raw) To: Felix Lechner via Development of GNU Guix and the GNU System distribution. Cc: Felix Lechner, Andreas Enge Hello, Felix Lechner via "Development of GNU Guix and the GNU System distribution." <guix-devel@gnu.org> writes: > Thanks for that analysis! I had the innocuous-looking 'texlive' in my > Guix Home profile. That package pulls in texlivetexmf-${date}. [1] Was > that my error? No, it wasn’t. The `texlive' package is more or less a meta package that pulls the TeX Live binaries, `texlivebin', and the whole TeX Live tree, `texlivetexmf', the latter being the 4Gb monster. Note that modular TeX Live package have their name starting with "texlive-", which is not the case of any of the packages above. Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Thoughtful updates to TexLive 2025-01-10 7:50 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. 2025-01-10 15:00 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. @ 2025-01-22 14:07 ` Andreas Enge 2025-01-22 15:20 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. 1 sibling, 1 reply; 9+ messages in thread From: Andreas Enge @ 2025-01-22 14:07 UTC (permalink / raw) To: Nicolas Goaziou Cc: Felix Lechner via Development of GNU Guix and the GNU System distribution., Felix Lechner Hello, Am Fri, Jan 10, 2025 at 08:50:02AM +0100 schrieb Nicolas Goaziou: > It is not the case anymore. However, Andreas Enge (Cc’ed) prefers to > keep it as a no-brainer for anyone who wants to compile TeX documents > and can afford the download cost. I’d love to get feedback about the > comparison between using `texlive' and `texlive-scheme-full', as > I believe the latter can satisfy that user profile. these are interesting questions, and I thought I would give it a try again. My workflow when updating Guix is as follows: I have a local copy of the 4GB file texlive-20240312-texmf.tar.xz in my home directory, which I put into the store with "guix download". Then "guix shell -D texlive" creates the texlivetexmf package locally while downloading the binaries from the substitute server, and "guix build texlive" finishes the process. It takes maybe half an hour (I will have to measure next time I try it), and of course is a huge waste of disk space: one 4GB copy in $HOME, one in the store; and only then the usable unpacked data in the texlivetexmf package. But notice that it requires no download of the texlive data. (Space and time consumption have become much worse when texlivetexmf started to be grafted, at some point in time: now there is yet another 4GB copy, or worse, since in the package the data is uncompressed; and going through it all takes quite a bit of time. But we can imagine doing an ungrafting run.) I tried texlive-scheme-full in the past, and it is not a real alternative; as far as I remember, it took hours before I stopped it. First of all, it needs to download the 4GB of data packages. And even with a high-bandwidth Internet connection, the latency when downloading thousands of packages is just too much. So this option is more theoretical than practical. A manageable alternative is to use "texlive-scheme-medium", plus a few extra packages. When installing it, it fills the screen with hundreds of lines of package names; and it takes quite a while: real 21m39,704s user 3m52,964s sys 0m2,591s This is although my download speed is somewhere between 2MB/s and 3MB/s, so it is really the latency for the big number of packages that poses problems. But it is comparable to building texlivetexmf from source. In my case, to compile my sample document, I needed more packages: texlive-biblatex texlive-biblatex-software (hello, Software Heritage!) texlive-xurl texlive-todonotes texlive-pgfplots, but these are determined easily as they are just packages included with \usepackage that are not found, and the Guix package name is just (string-append "texlive-" tex-package-name) So to conclude, I think using texlive-scheme-medium plus extra packages is a real alternative, while texlive-scheme-full will never be one. Or is there something between texlive-scheme-medium and texlive-scheme-full? Or something smaller than texlive-scheme-medium that still fulfills most use cases with a few (more) extra packages? Or a collection of texlive-collection-* that provides a good user experience (on their own, or with a texlive-scheme-something to start it off)? I would be interested in hearing about other people's practices and experiences. Andreas ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Thoughtful updates to TexLive 2025-01-22 14:07 ` Andreas Enge @ 2025-01-22 15:20 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. 2025-01-22 16:50 ` Andreas Enge 0 siblings, 1 reply; 9+ messages in thread From: Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. @ 2025-01-22 15:20 UTC (permalink / raw) To: Andreas Enge Cc: Felix Lechner via Development of GNU Guix and the GNU System distribution., Felix Lechner Hello, Andreas Enge <andreas@enge.fr> writes: > My workflow when updating Guix is as follows: > I have a local copy of the 4GB file texlive-20240312-texmf.tar.xz in my > home directory, which I put into the store with "guix download". Then > "guix shell -D texlive" creates the texlivetexmf package locally while > downloading the binaries from the substitute server, and > "guix build texlive" finishes the process. That’s tantamount to cheating! It is smart, but since Guix provides a `texlive' package, users are expected to be able to "guix install" it. They will have to retrieve the 4GB tarball first. > I tried texlive-scheme-full in the past, and it is not a real > alternative; as far as I remember, it took hours before I stopped it. > First of all, it needs to download the 4GB of data packages. Note that, theoretically, it shouldn’t download 4GB in the first place, because the largest part of it is documentation, living in separate outputs. Unfortunately, due to grafting, I think everything is pulled, which defeats having separate outputs. > A manageable alternative is to use "texlive-scheme-medium", plus a few > extra packages. When installing it, it fills the screen with hundreds of > lines of package names; and it takes quite a while: > real 21m39,704s > user 3m52,964s > sys 0m2,591s > This is although my download speed is somewhere between 2MB/s and > 3MB/s, so it is really the latency for the big number of packages that > poses problems. But it is comparable to building texlivetexmf from > source. In my case, to compile my sample document, I needed more > packages: texlive-biblatex texlive-biblatex-software (hello, Software > Heritage!) texlive-xurl texlive-todonotes texlive-pgfplots, but these > are determined easily as they are just packages included with \usepackage > that are not found, and the Guix package name is just > (string-append "texlive-" tex-package-name) > > So to conclude, I think using texlive-scheme-medium plus extra packages > is a real alternative, while texlive-scheme-full will never be one. > > Or is there something between texlive-scheme-medium and > texlive-scheme-full? > Or something smaller than texlive-scheme-medium that still fulfills most > use cases with a few (more) extra packages? > Or a collection of texlive-collection-* that provides a good user > experience (on their own, or with a texlive-scheme-something to start it > off)? FWIW, I think texlive-scheme-* packages are opinionated collections that have no other purpose than recreating past TeX distributions. One should only rely on texlive-collection-* packages. What collection to elect is another topic. If space is not an issue, and you don’t want to bother with optimized dependencies, texlive-collection-latexextra (1GB, around 1.4k packages) provides almost everything needed to compile LaTeX documents, including PGF/TikZ (no PSTricks, that’s in another collection). You may also want to add texlive-babel-XXX for non-English languages. Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Thoughtful updates to TexLive 2025-01-22 15:20 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. @ 2025-01-22 16:50 ` Andreas Enge 0 siblings, 0 replies; 9+ messages in thread From: Andreas Enge @ 2025-01-22 16:50 UTC (permalink / raw) To: Nicolas Goaziou Cc: Felix Lechner via Development of GNU Guix and the GNU System distribution., Felix Lechner Am Wed, Jan 22, 2025 at 04:20:01PM +0100 schrieb Nicolas Goaziou: > > I have a local copy of the 4GB file texlive-20240312-texmf.tar.xz in my > > home directory, which I put into the store with "guix download". > That’s tantamount to cheating! It is smart, but since Guix provides > a `texlive' package, users are expected to be able to "guix install" it. > They will have to retrieve the 4GB tarball first. Definitely! But in this way, one only needs to retrieve it once per year, and not every time the texlive package gets updated (which happens amazingly often) after the store has been cleaned with a "guix gc". Andreas ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-01-22 16:51 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-10-26 1:13 Thoughtful updates to TexLive Felix Lechner via Development of GNU Guix and the GNU System distribution. 2024-10-26 8:36 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. 2025-01-10 7:01 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. 2025-01-10 7:50 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. 2025-01-10 15:00 ` Felix Lechner via Development of GNU Guix and the GNU System distribution. 2025-01-10 16:09 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. 2025-01-22 14:07 ` Andreas Enge 2025-01-22 15:20 ` Nicolas Goaziou via Development of GNU Guix and the GNU System distribution. 2025-01-22 16:50 ` Andreas Enge
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).