From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id ABfVCSKIJGQCSAEASxT56A (envelope-from ) for ; Wed, 29 Mar 2023 20:49:06 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id 6OTjCCKIJGTd1gAAG6o9tA (envelope-from ) for ; Wed, 29 Mar 2023 20:49:06 +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 DC7AB2A20D for ; Wed, 29 Mar 2023 20:49:05 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1phaqg-0007k5-69; Wed, 29 Mar 2023 14:48:42 -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 1phaqe-0007jl-Ue for help-guix@gnu.org; Wed, 29 Mar 2023 14:48:41 -0400 Received: from jpoiret.xyz ([206.189.101.64]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1phaqd-0000px-1W for help-guix@gnu.org; Wed, 29 Mar 2023 14:48:40 -0400 Received: from authenticated-user (jpoiret.xyz [206.189.101.64]) by jpoiret.xyz (Postfix) with ESMTPA id 05166185305; Wed, 29 Mar 2023 18:48:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jpoiret.xyz; s=dkim; t=1680115715; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=LgIZ5k4l2zCdVFN6796hcH5N20HxOK03wlCQL5ep3B0=; b=J2dkg9UKyMUa1SPGukL1I8bXjlMqOVpd0doWBVZwKw8YdDPe0ghUzgY3tv5I9DC5owsMLf xnJ+wwLx+QwvpRdmQdhm4jKSNzOaghSoFI27pqhiEbcY6CjUDiQ705vhOPAG0Wle+mr580 RthpJF2hWioMJJ67hCRYxlLKz8c9JPpeMN5ULaVVCfyY5pp2dAtfC60QQzJXkG7kM529UI r3jknt/wHKW3f88ki+YuwInwk64jcxjWLsnJmXn3bi4SPgq4Gcg1H5yOZ0PAJ3MkkfEkGW gXiZT5MySEv6WRaSMZBhFQERONwm2u4jXkWDyF62zlwn3uz6OzOdsMyJSv8L3g== From: Josselin Poiret To: Emmanuel Beffara , help-guix@gnu.org Cc: 56556@debbugs.gnu.org Subject: Re: bug#56556: TeXlive packaging issues In-Reply-To: <20230328213044.GB4873@beffara.org> References: <20230328213044.GB4873@beffara.org> Date: Wed, 29 Mar 2023 20:48:30 +0200 Message-ID: <87o7obs8ap.fsf@jpoiret.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Spamd-Bar: / Received-SPF: pass client-ip=206.189.101.64; envelope-from=dev@jpoiret.xyz; helo=jpoiret.xyz X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, 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 ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=jpoiret.xyz header.s=dkim header.b=J2dkg9UK; 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=pass (policy=reject) header.from=jpoiret.xyz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1680115745; 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:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=LgIZ5k4l2zCdVFN6796hcH5N20HxOK03wlCQL5ep3B0=; b=FmQtzJXJ28rOQtLOU1+TnRPWt6X3z2LdaPNwZhdXZjEsSXLRdnHOoAF1mhdWwwvWLakjfa lQin+eioMeEXfhzp+g9m4UuCSHpNymRv9JRDng0MIon3Qpqjp9tx6v7wW7B2mPQ0SBmWPA MP5+TlSP2YbloXUuY7qePzBljKdlOrigsX98+18moCUWq0M5UwNag+IWvJFrUK3qxIe44h d5G1wcyCqAhiytHHjbCGKVyvtsRhGaao85P1EVL3GZ6U5CmfUv8pmvPoLe9P/0etiaTOKM nEup55bx3KoojsIHrMu1oQ6aB97c+48wvzG8hFO7HTBLagmSZ45g/hDbXfLsQA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1680115745; a=rsa-sha256; cv=none; b=h+te1Xujkr6Sqo+BIA/z9DDXR5KCCjKMinZ8xTdJ8Plrdc/+jTiad9L78F1kwzgcwrzRWj LjHqBvGl2QCCfhgY/eZYYxUEWVEYWaTG2UbHoL0y+mbbzI31F/whZ3fIJpX+XNLzY0Ep/E r5K/4ploJFFYprUf3YrHU73ckNtlYMSmBmD/bZhsVZbyRwA6eYdihdKO7nWFDJ6woEEFll XFeoXYL8tBmiFQ4jZ3QfDCmgu8KPIhLn7Wa0uO+S77nhu0ovTO4CYkO9kKw8rZkMX3UEqf XchCpiuE82oNV1Eyi7AXihS1oR/ciWUWQ3jCFEcBgBWObi2NmvKjI+Yy3i1s6g== X-Migadu-Spam-Score: -5.70 X-Migadu-Scanner: scn1.migadu.com X-Migadu-Queue-Id: DC7AB2A20D Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=jpoiret.xyz header.s=dkim header.b=J2dkg9UK; 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=pass (policy=reject) header.from=jpoiret.xyz X-Spam-Score: -5.70 X-TUID: 0t9F3zyZ6b5F --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi Emmanuel, Emmanuel Beffara writes: > Firstly, unless I am missing something, creating a manifest with the righ= t set > of packages is tedious: one has to guess the Guix package that matches ea= ch > LaTeX package, and the correspondence is not obvious. Thankfully, with a > working installation, `tlmgr show something.sty` helps finding the TeXlive > package that contains the file and `guix search texlive something` finds = the > corresponding Guix package if there is one (it could be named > `texlive-something` or `texlive-latex-something`, this feels somewhat > inconsistent). When trying to compile a complex document, doing that for = every > package and dependency is time-consuming (compile, read compilation error= s, > install more packages, restart). I agree, although this is because the tex packages aren't super well packaged. A lot of dependencies aren't actually included, meaning you need to add them manually. This could be improved by just fixing those package definitions to include them, I actually have some comments about this in my TODOs. > Secondly, many packages are missing. Apparently, `(gnu packages tex)` con= tains > an arbitrary set of common packages, likely defined by people who needed = them > and had the skill to produce a patch for them. It is fairly easy to produ= ce > new definitions using `guix import texlive something` and adjusting the > result, still it feels more complicated than it ought to be. Considering = how > well TeXlive is organized, it should be possible to automatically extract= the > set of all packages in a given release and turn the result into a big > comprehensive Guile module. Actually, no, for 2 reasons: as you said, you often need to adjust the result of the import, and some of them need to be individually inspected. Also, upstream doesn't report what inter-package dependencies there are (AFAIK). This prevents us from generating the right packages (see above). > Besides, importing TeXlive "collections" could be a useful intermediate > between taking the whole system and picking packages individually. > > Thirdly, formats are apparently not handled right. The main issue is with > hyphenation (hence the cc on an open issue): hyphenation patterns need to= be > compiled into the formats to be available in documents, so the format fil= es > should be built depending on which `texlive-hyphen-something` packages are > installed. Currently this is not the case: > > ``` > $ guix shell --pure coreutils texlive-base texlive-latex-base -- /bin/sh = -c 'realpath $GUIX_TEXMF/web2c/pdflatex.fmt' > /gnu/store/m1vh5mm4gjlqzaylfxmxbx5g3j20k8wn-texlive-latex-base-59745/shar= e/texmf-dist/web2c/pdflatex.fmt > $ guix shell --pure coreutils texlive-base texlive-latex-base texlive-hyp= hen-base texlive-hyphen-french -- /bin/sh -c 'realpath $GUIX_TEXMF/web2c/pd= flatex.fmt' > /gnu/store/m1vh5mm4gjlqzaylfxmxbx5g3j20k8wn-texlive-latex-base-59745/shar= e/texmf-dist/web2c/pdflatex.fmt > ``` > > If the format is always the same, then no modular installation can do any > hyphenation, as reported in https://issues.guix.gnu.org/56556. There migh= t be > other things than hyphenation that require similar treatment. I don't really know how we could fix this: maybe build the formats with all the hyphenation packages enabled? > That said, I don't know what would be the best way to contribute. I think fixing step by step all the packages you find to be deficient is already a good first step. I've been planning to do that as well but got swept up in other things. HTH! Best, =2D-=20 Josselin Poiret --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQHEBAEBCAAuFiEEOSSM2EHGPMM23K8vUF5AuRYXGooFAmQkh/4QHGRldkBqcG9p cmV0Lnh5egAKCRBQXkC5FhcaikEdC/0XU1RACGfHAbgXdG0tZfNbUXrY2WRpV7E5 YknI96FBsg01rfRlMFDYJFwCpU3YEWyN6CH++KCFD96Ap1iB01vExi6ZsG7J4Cqk 0/T2mm/6cHxdPRN/27HY2ZFJeJmvfw100w8EV7D0d/yoJBxfhyhyZtUY1jQO8DNu m+9fBKrPP+/1hCQc4eyZc5qnjqEeOWj98/hRqStgCwAdUlW3oTCgGuwWNjxx7y1F dyd/Wx8YkxEgFaA5Qc+fK7qemt0gdi/l8akhnmDWX+KXNnjEQPqv4NV+AbiLWIa8 CZ+5njtsradRLCdjCZyWJF/i4WOnQqO4F5X2IQQYJSwV28EVmuUjeXe7J66kR3hd b+Z7kqjmsOx65+/RY49aZZ0475B25slhNjPy7VJutJ7imQKeQ9cmZksVMLIgFotm hBI7TvE6Xn5f+EqqCJuAymMsDPnJHZZ7zOHvpX5zat3N2v1LM5jMEzCK3lITBaLZ v6RekEHPr1Mm/w6SgqJkVhmkRb2NTt8= =waC2 -----END PGP SIGNATURE----- --=-=-=--