From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: bug#37314: Various TeX Live problems Date: Thu, 05 Sep 2019 23:17:44 +0200 Message-ID: <87zhjie93b.fsf@elephly.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:36679) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i5z8m-0004FH-3D for bug-guix@gnu.org; Thu, 05 Sep 2019 17:18:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i5z8k-0004rD-Vc for bug-guix@gnu.org; Thu, 05 Sep 2019 17:18:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:55561) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i5z8k-0004r0-SV for bug-guix@gnu.org; Thu, 05 Sep 2019 17:18:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1i5z8k-0007vg-M5 for bug-guix@gnu.org; Thu, 05 Sep 2019 17:18:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:36664) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i5z8e-0004Be-1J for bug-guix@gnu.org; Thu, 05 Sep 2019 17:17:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i5z8c-0004bW-Ob for bug-guix@gnu.org; Thu, 05 Sep 2019 17:17:55 -0400 Received: from sender4-of-o53.zoho.com ([136.143.188.53]:21341) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1i5z8c-0004XJ-CL for bug-guix@gnu.org; Thu, 05 Sep 2019 17:17:54 -0400 List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: 37314@debbugs.gnu.org Hi Guix, on the =E2=80=9Cwip-texlive=E2=80=9D branch I just fixed a serious problem = with how texlive-union generates font maps. On the =E2=80=9Cmaster=E2=80=9D branch = it just doesn=E2=80=99t. On =E2=80=9Cwip-texlive=E2=80=9D we run =E2=80=9Cupdmap-s= ys=E2=80=9D to first remove all invalid font maps from the default configuration file (which contains *all* maps, even when they are not installed), and then a second time to generate maps for all fonts that are actually available (e.g. as inputs of the texlive union). This fixes one of the biggest and most confusing problems with TeX Live in Guix where the various *tex executables would complain about not being able to find or use certain fonts. This should be fine now. To demonstrate it I packaged Guile CV, which depends on a few LaTeX packages and probes for them at configure time. This will not work on =E2=80=9Cmaster=E2=80=9D, but it does work on =E2=80=9Cwip-texlive=E2=80=9D. Despite this step forward, we=E2=80=99re still right in the middle of overhauling how we deal with TeX Live packages, because I keep running out of steam :) Help in this area would be greatly appreciated. Off the top of my head these are things that really ought to be changed or fixed: - the profile hook in (guix profiles) should use =E2=80=9Ctexlive-union=E2= =80=9D from (gnu packages tex), because it=E2=80=99s rather complicated now, and we d= on=E2=80=99t want to repeat ourselves. Currently, installing texlive-* packages into your profile won=E2=80=99t lead to a fully functional LaTeX installa= tion, primarily because of screwed up font maps. - many texlive-* packages still need to be compared to their expected outputs according to $(guix build texlive-bin)/share/tlpkg/texlive.tlpdb, especially those with names matching =E2=80=9Ctexlive-{latex,generic}-*=E2=80=9D. Packages that have= names of the newer =E2=80=9Ctexlive-${name}=E2=80=9D format (and those using =E2=80=9Csimple-texlive-package=E2=80=9D) should be complete. - the =E2=80=9Csimple-texlive-package=E2=80=9D procedure in (gnu packages t= ex) could be more helpful for cases where custom build phases are required. Right now many packages inherit from a template produced by =E2=80=9Csimple-texlive-package=E2=80=9D and then verbosely add to the bu= ild phases with substitute-keyword-arguments. - =E2=80=9Csimple-texlive-package=E2=80=9D only installs =E2=80=9Cdoc=E2=80= =9D files from the sources to a separate =E2=80=9Cdoc=E2=80=9D output when the package is marked as =E2= =80=9Ctrivial=E2=80=9D. When texlive-build-system is used it doesn=E2=80=99t do this. - =E2=80=9Csimple-texlive-package=E2=80=9D requires an awkward custom chdir= phase when texlive-build-system is supposed to be used. - =E2=80=9Csimple-texlive-package=E2=80=9D installs the =E2=80=9Csource=E2= =80=9D directory to the =E2=80=9Cout=E2=80=9D output. Maybe that=E2=80=99s not what we want. - =E2=80=9Ctexlive-build-system=E2=80=9D causes files to be unpacked to jus= t a single location, which can be wrong. That=E2=80=99s why some packages have a =E2=80=9Cmove-files=E2=80=9D phase. The reason is that the build system = installs files to an output directory (called =E2=80=9Cbuild=E2=80=9D) and then co= pies its contents to the location specified with the =E2=80=9Ctex-directory=E2=80= =9D keyword argument. -- Ricardo