From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id IPNXIfch62SHcwAAauVa8A:P1 (envelope-from ) for ; Sun, 27 Aug 2023 12:14:15 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id IPNXIfch62SHcwAAauVa8A (envelope-from ) for ; Sun, 27 Aug 2023 12:14:15 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 444FB4FEF8 for ; Sun, 27 Aug 2023 12:14:15 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1693131255; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=O5EYbxSeGNceIRrWo35Z9oRC9kObW9myLpP58jtDORU=; b=Vve/4JCs2wRxKnvCmOSLojY2lDDMKp9p1ejoR8uKYP3wMRTqIoo3DKAIRKynC6pdfRA2We uVWHPITkCyYlUwmiFa7YuqVim8uPv8YiBLCJa8qFWNJ7klIo8Vh0xx7wuAaeEMugdNuu7Y 5u55Cwdi9TxyY79LTMrt9MoZmrhWJ419Pf34qQoLQU7+L8CSHV7WuafWoevyQwJzXqiCG6 BHOGvNZo1P+b441aD67rk1UgRr9jXfFMpgr0PK1qB8ceow+/nfAgYbLsWSoWnHJ4EF4kj4 gl3OTQ4r3T2QmdAKK0AjNMf/EoFmBwk8s4V05gVkjaozJwHiQTCZade7IBkPVQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1693131255; a=rsa-sha256; cv=none; b=ou15IYDttOxWGSoxtc7xxsfcq448NQ845MWcumQ/4fRUDkHo/4Qh21LOZ71Q+x0QMw5mmT SbBoJ6j7d5iXjv7coS1HdG48S0TPexfg4B850LV2ez5eSn6ZX6sXWa80X+g28OVDofyKQE t1KkTiK4boShsKIRfjzEpD5mF81RzkA14fm65IY7HMbTqh7vqF/VJhz48aSet7QSImvRT4 l/LvfZ7ZOs4qZHtDqzbI/w39OaHP0Fk5cqZ0i1hPHcmmEOE9s7eCOGKN9JMg7ji2Uzgy4D TGnN7jP6oJYK7NKbGnhBIV8xAQOq+RgBbch0r+YEFVSV7+In5/fhdc/L2V7fHA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=none Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qaCm7-0006DH-Aw; Sun, 27 Aug 2023 06:13:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qaCm5-0006Ca-2E; Sun, 27 Aug 2023 06:13:41 -0400 Received: from relay7-d.mail.gandi.net ([2001:4b98:dc4:8::227]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qaCm1-0007I4-Qh; Sun, 27 Aug 2023 06:13:40 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 0DA0820003; Sun, 27 Aug 2023 10:13:31 +0000 (UTC) From: Nicolas Goaziou To: Emmanuel Beffara Cc: help-guix@gnu.org, guix-devel Subject: Re: documentation in TeX Live collections References: <20230825121743.GD1356@beffara.org> Date: Sun, 27 Aug 2023 12:13:31 +0200 In-Reply-To: <20230825121743.GD1356@beffara.org> (Emmanuel Beffara's message of "Fri, 25 Aug 2023 12:17:43 +0200") Message-ID: <87bkesrdx0.fsf@nicolasgoaziou.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-GND-Sasl: admin@nicolasgoaziou.fr Received-SPF: pass client-ip=2001:4b98:dc4:8::227; envelope-from=mail@nicolasgoaziou.fr; helo=relay7-d.mail.gandi.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: help-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -3.32 X-Spam-Score: -3.32 X-Migadu-Queue-Id: 444FB4FEF8 X-Migadu-Scanner: mx1.migadu.com X-TUID: V9F9redzZtj+ Hello, Thanks for that detailed report! Emmanuel Beffara writes: > There has been a lot of movement around TeX Live recently and it is very = nice > to see. We now have a usable modular installation and a great number of > available packages and collections. However, I don't understand what is t= he > proper way to reach documentation in the current system. > > I installed `texlive-scheme-medium` in my home profile managed by `guix h= ome`, > everything works including `texdoc` (although it always says =C2=AB Info:= Running > Texdoc not installed in the current TEXMFMAIN. =C2=BB for some reason), b= ut there > is essentially no documentation installed: > > $ texdoc inputenc > Info: Running Texdoc not installed in the current TEXMFMAIN. > You don't appear to have any local documentation installed. > > There may be online documentation available for "inputenc" at > https://texdoc.org/serve/inputenc/0 > This documentation may be for a different version than you have insta= lled. > > Would you like to search online? (y/N) > > Indeed the `doc` folder is nearly empty: > > $ ls $GUIX_TEXMF/doc > bibtex8/ bibtexu/ chktex/ > > 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. > (apart from the three above, which is surprising). They are brought by `texlive-bin', which has no "doc" output. > 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/schem= e including it). > Info: Running Texdoc not installed in the current TEXMFMAIN. > You don't appear to have any local documentation installed. > > There may be online documentation available for "inputenc" at > https://texdoc.org/serve/inputenc/0 > This documentation may be for a different version than you have insta= lled. > > Would you like to search online? (y/N) > > Including the TeX Live scheme in the same shell makes things worse: > > $ guix shell texlive-scheme-medium texlive-latex:doc -- texdoc inpute= nc > Info: Running Texdoc not installed in the current TEXMFMAIN. > texdoc error: No texlive.tlpdb nor shipped tlpdb data found. > > Inspecting GUIX_TEXMF in this shell reveals that it now contains two path= s, > one of which does contain the right documentation: > > $ guix shell texlive-scheme-medium texlive-latex:doc > $ env | grep TEX > GUIX_TEXMF=3D/gnu/store/fg1z0jgkj0r4v8i3rmpg0c1vfirbg1ac-profile/shar= e/texmf-dist:/home/manu/.guix-home/profile/share/texmf-dist > $ ls /gnu/store/fg1z0jgkj0r4v8i3rmpg0c1vfirbg1ac-profile/share/texmf-= dist/doc > bibtex8 bibtexu chktex latex > $ export GUIX_TEXMF=3D${GUIX_TEXMF%:*} > $ texdoc inputenc > ... inputenc.pdf is displayed! ... > > 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.) --8<---------------cut here---------------start------------->8--- (define-public texlive-texdoc (package (name "texlive-texdoc") (version (number->string %texlive-revision)) (source (texlive-origin name version (list "doc/man/man1/texdoc.1" "doc/man/man1/texdoc.man1.pdf" "doc/support/texdoc/" "scripts/texdoc/" "texdoc/") (base32 "19mvh7pm2332f6c8nzgcbscm9vcz0apwfgm0m55ycibssc2fb3ww"))) (outputs '("out" "doc")) (build-system texlive-build-system) (arguments (list #:link-scripts #~(list "texdoc.tlu") #:phases #~(modify-phases %standard-phases ;; Prevent "Info: Running Texdoc not installed in the current ;; TEXMFMAIN" warning by skipping an unnecessary test. (add-after 'unpack 'fix-script (lambda _ (substitute* "scripts/texdoc/texdoc.tlu" (("if texmf ~=3D nil") "if false")))) ;; Teach `texdoc' how to handle multiple directories in ;; GUIX_TEXMF environment variable. (add-after 'link-scripts 'wrap-programs (lambda _ (wrap-program (string-append #$output "/bin/texdoc") '("GUIX_TEXMF" =3D ("${GUIX_TEXMF%:*}")))))))) (propagated-inputs (list texlive-kpathsea)) (home-page "https://ctan.org/pkg/texdoc") (synopsis "Documentation access for TeX Live") (description "@command{texdoc} is a Lua script providing easy access to the documentation in TeX Live: PDF, DVI, plain text files, and more. Viewing a= nd other configuration can be extensively customized.") (license license:gpl3+))) --8<---------------cut here---------------end--------------->8--- > As an attempt to work around this, I tried to add texlive-latex:doc to my= home > profile definition and it did make that documentation available to texdoc. > Moreover, for some reason, ALL documentation was downloaded: > > $ guix home reconfigure home.scm > ... > texlive-cm-66594-doc 2KiB > texlive-etex-66594-doc 189KiB > texlive-hyphen-complete-66594-doc 783KiB > texlive-kpathsea-66594-doc 1022KiB > texlive-pdftex-66594 4.2MiB > ... > $ ls -d /gnu/store/*-texlive-*-doc/ | wc > 1105 1105 82506 > > 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. For example, ./pre-inst-env guix shell texlive-scheme-basic texlive-texdoc texlive-bab= el:doc is enough to trigger a massive download of "doc" outputs. > So what would be the proper way to install `texlive-scheme-medium` in a h= ome > 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'm Cc'ing guix-devel ML. Regards, --=20 Nicolas Goaziou