From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: More robust substitute* Date: Sun, 03 Feb 2013 18:56:26 +0100 Message-ID: <87ip6946yd.fsf@gnu.org> References: <201302021714.13440.andreas@enge.fr> <878v767kho.fsf@gnu.org> <201302021822.02436.andreas@enge.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([208.118.235.92]:57019) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U23o3-0006Lx-Hw for bug-guix@gnu.org; Sun, 03 Feb 2013 12:56:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U23o1-0004hJ-WB for bug-guix@gnu.org; Sun, 03 Feb 2013 12:56:43 -0500 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:22940) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U23o1-0004gx-Q9 for bug-guix@gnu.org; Sun, 03 Feb 2013 12:56:41 -0500 In-Reply-To: <201302021822.02436.andreas@enge.fr> (Andreas Enge's message of "Sat, 2 Feb 2013 18:22:02 +0100") 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-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: Andreas Enge Cc: bug-guix@gnu.org Hello! Andreas Enge skribis: > Am Samstag, 2. Februar 2013 schrieb Ludovic Court=C3=A8s: >> Andreas Enge skribis: >> > in texlive, there are lots of scripts to be installed in share; thus, >> > the patch-shebang phase does not catch them. >> Do you know why it doesn=E2=80=99t catch them? The =E2=80=98patch-sourc= e-shebangs=E2=80=99 >> phase patches all the files found under =E2=80=9C.=E2=80=9D, recursively. > > I am not speaking about patch-source-shebangs, but patch-shebangs. Ah right, the =E2=80=98patch-shebangs=E2=80=99 phase just looks at files in= =E2=80=98bin=E2=80=99 and =E2=80=98sbin=E2=80=99 (see gnu-build-system.scm). Perhaps you can add a phase somewhere that does along the lines of: (lambda* (#:key outputs #:allow-other-keys) (for-each (match-lambda ((_ . dir) (for-each patch-shebang (find-files (string-append dir "/share") ".*")))) outputs) #t) > In any case, I have a working texlive! It contains over 100000 files (tha= t=20 > are symlinked from the user profile...) and takes over 3GB, but it works! Woow, congratulations! :-) I=E2=80=99m not sure if that would help here, but do you know about =E2=80=9Cmultiple-output derivations=E2=80=9D? It=E2=80=99s used for Libto= ol for instance: the =E2=80=98outputs=E2=80=99 field there means that binaries go into one direc= tory, and the rest goes into another directory (you see them when typing =E2=80=98guix-bu= ild libtool=E2=80=99). So if there are several kinds of files, you may want to separate them in different outputs. > Actually, I think one does not need to symlink the files from the user=20 > profile; tex has its own way of finding files via the binary "kpsewhich"= =20 > (linked from the user profile), which points directly to the nix store: > $ kpsewhich article.sty > /nix/store/2cc4xyivn5f52gywl5mnz6fi90bj24xh-texlive-2012/share/texmf- > dist/tex/latex/base/article.sty > > So maybe by splitting into two or three packages, one could hide the data= =20 > in the nix store. I will think about it. Hmm, intriguing. :-) Thanks! Ludo=E2=80=99, coming back from FOSDEM.