Hello, De Nicolas Goaziou le 27/08/2023 à 12:13: > > Apparently, all individual packages have a specific "doc" output but > > collections and schemes do not and they don't have them as inputs either. So > > we end up with an installation with no documentation > > It sounds like a good default to me. I doubt anyone reads all > documentation for every TeX Live package they install.
Yet, as far as I know, most packages in Guix (apart from texlive-* ones) come with their documentation, so it feels somewhat inconsistent. But I agree that not including the docs in the main outputs can make sense, especially given the volume it represents. Anyway, given that there is extensive documentation in TeX Live, it seems only natural to have it easily accessible. > > I tried to explicity include documentation in a sub-shell but this changes > > nothing: > > > > $ guix shell texlive-latex:doc -- texdoc inputenc > > Note that you also need to install texlive-texdoc (or some collection/scheme > including it). Indeed, but this command was run in a profile where texlive-scheme-medium is present, so texdoc was already available. Adding texlive-texdoc to the guix shell command does not change anything. > > Apparently the fact that this GUIX_TEXMF variable contains several paths is > > problematic for texdoc. > > Would the following definition for texlive-texdoc solve both issues > mentioned above? (the warning and the error.) [...] > (add-after 'link-scripts 'wrap-programs > (lambda _ > (wrap-program (string-append #$output "/bin/texdoc") > '("GUIX_TEXMF" = ("${GUIX_TEXMF%:*}")))))))) It would certainly remove the warning but it would make only the first path usable by texdoc, while other tools seem to support having several paths in GUIX_TEXMF. Besides, I don't understand how GUIX_TEXMF is taken into account by the various tools. Web2c and co don't know them, so there must be some wrapping or patching somewhere in the package definitions? > > Apparently something has triggered the download of documentation for all > > packages `texlive-scheme-medium` depends on but only the one I explicitly > > requested is made available in the profile (which is expected). All these > > other documentation were downloaded but not used and `guix gc` actually > > deletes them all! > > I noticed that, too, but I don't have any explanation for it at the > moment. Is there a way to diagnose that kind of thing? I stumbled on a similar behaviour in other contexts and was unable to investigate it (in my case, big debug versions of Qt libraries are often downloaded, although I neved requested any debugging version of anything). > > So what would be the proper way to install `texlive-scheme-medium` in a home > > profile with the documentation of the packages it includes ? > > If that's a common request, we could add a `texlive-collection-foo-doc' > package that would propagate all "doc" outputs from all packages > included in `texlive-collection-foo'. > > However, I'm a bit reluctant to add more artificial packages (i.e., not > known to TeX Live distribution). Also, it might be as simple to do it in > one's own manifest. I think it would make much more sense to have "doc" outputs also for collections and schemes. It would be consistent with the structure of individual packages and would not require artificial packages. Having individual package documentations in one's manifests is of course doable but it is contradictory with the approach of collections. -- Emmanuel Beffara