From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Enge Subject: Re: Texlive and native-inputs Date: Wed, 29 Oct 2014 18:39:48 +0100 Message-ID: <20141029173948.GA16948@debian.eduroam.u-bordeaux.fr> References: <20141029165958.GA4944@debian.eduroam.u-bordeaux.fr> <20141029171309.GA30858@jocasta.intra> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42977) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjXE6-0006R8-Ay for guix-devel@gnu.org; Wed, 29 Oct 2014 13:40:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XjXDz-00015B-LU for guix-devel@gnu.org; Wed, 29 Oct 2014 13:40:06 -0400 Received: from mout.kundenserver.de ([212.227.17.24]:55055) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjXDz-00014z-CW for guix-devel@gnu.org; Wed, 29 Oct 2014 13:39:59 -0400 Content-Disposition: inline In-Reply-To: <20141029171309.GA30858@jocasta.intra> 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: John Darrington Cc: guix-devel@gnu.org On Wed, Oct 29, 2014 at 06:13:09PM +0100, John Darrington wrote: > If they were "normal" inputs and you were cross compiling, then the packages which > are made available, would be those for the target system, not the native one. Hence > they could not run, and the build would break. Well, my point is that probably the scripts are not run during the build process, but on the target system. For instance, texlive installs a file texlive-2014-data/texmf-dist/scripts/psutils/psjoin.pl , which I suppose does what its name says. Because we have perl as a native input, patch-shebangs replaces its first line by #!/gnu/store/5x0h6n8ln2fvaqk1q2ji79x08y8bdr35-perl-5.16.1/bin/perl Then if we are cross-compiling with perl as a native input, this is the perl of the build and not of the target machine, and the user calling psjoin.pl on the target machine has a dangling interpreter here. So I think perl, python and tcsh should be normal inputs; as far as I know, they are not used during the build process of texlive. > Or what happens if both is the case? > In that case, the package would need to be declared as both an input and a native-input. Would it work? One would need to patch-shebang with the normal input and use the native-input for scripts that are used during the build process. Is this distinguished somehow? (Well, there is of course the problem of scripts that are used during the build process _and_ installed on the user's machine, which means that the package is simply not cross-compilable in our setting. One could imagine, for instance, that psjoin.pl is used for concatenating a set of postscript files to create the documentation depending on how the package is configured, and that it is also included in the package for installation as a handy tool.) Andreas