From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Enge Subject: Re: Texlive Date: Sun, 15 Mar 2015 11:48:24 +0100 Message-ID: <20150315104707.GA8872@debian> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44436) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YX661-0005KN-6M for guix-devel@gnu.org; Sun, 15 Mar 2015 06:48:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YX65x-0008Ci-Vq for guix-devel@gnu.org; Sun, 15 Mar 2015 06:48:37 -0400 Received: from mout.kundenserver.de ([212.227.126.130]:64726) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YX65x-0008Bc-Lj for guix-devel@gnu.org; Sun, 15 Mar 2015 06:48:33 -0400 Content-Disposition: inline In-Reply-To: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Federico Beffa Cc: Guix-devel On Sun, Mar 15, 2015 at 10:50:05AM +0100, Federico Beffa wrote: > If I understand correctly then the two packages, texlive and > texlive-small, will essentially be independent. Yes, and mutually exclusive: If you install both, then there will be lots of collisions with an unpredictable outcome. > It would be nice to have an incremental strategy with a hierarchy, say > texlive-base, texlive-common, texlive-extra, texlive-all, where each > package is non-overlapping with other ones. Then a new functionality to > aggregate packages into a new package where you specify which packages > to include. Something like > guix package --aggregate texlive --with texlive-base texlive-common ... I agree, but did not find a way of doing it. The problem with texlive is that part of the aggregation takes place in the install location (which for us would be the store). For instance, "mktexlsr" creates a file /gnu/store/pvhfl19r2v7fn00g45jkv32n211bk90h-texlive-2014/share/texmf-dist/ls-R (after applying the patch), which contains the result of running "ls -R" inside the directory. This could be done inside the user profile, but not with the current setup, where $HOME/.guix-profile/share/texmf-dist is a link to the store directory (which is a useful feature we added at some point in time, since it avoids the need for symlinking the thousands of files inside this directory tree), so that the ls-R file would be tried to be created in the store. Then there are the calls to updmap-sys and fmtutil-sys, which I did not look at in more detail. The latter seems to create files texmf-var/web2c/*.fmt; it may be possible to create them by chunks and to merge them in the profile (and then do the "ls -R"-business). In non-functional (:-)) distributions, the problem is solved by recreating a global configuration upon installation of an additional package. So there may be better ways, and anybody is welcome to look into them! My patch makes a first step by separating things better. Andreas