From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Texlive and native-inputs Date: Wed, 29 Oct 2014 23:29:32 +0100 Message-ID: <87r3xqfr1v.fsf@gnu.org> References: <20141029165958.GA4944@debian.eduroam.u-bordeaux.fr> <20141029171309.GA30858@jocasta.intra> <20141029173948.GA16948@debian.eduroam.u-bordeaux.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50747) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xjbjy-00039B-QH for guix-devel@gnu.org; Wed, 29 Oct 2014 18:29:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xjbjt-000648-FD for guix-devel@gnu.org; Wed, 29 Oct 2014 18:29:18 -0400 Received: from hera.aquilenet.fr ([2a01:474::1]:45284) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xjbjt-000644-7f for guix-devel@gnu.org; Wed, 29 Oct 2014 18:29:13 -0400 In-Reply-To: <20141029173948.GA16948@debian.eduroam.u-bordeaux.fr> (Andreas Enge's message of "Wed, 29 Oct 2014 18:39:48 +0100") 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: Andreas Enge Cc: guix-devel@gnu.org Andreas Enge skribis: > 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 pack= ages 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 p= erl > of the build and not of the target machine, and the user calling psjoin.pl > on the target machine has a dangling interpreter here. Then you have evidence that Perl must be in =E2=80=98inputs=E2=80=99. It m= ight/may be that it also needs to be in =E2=80=98native-inputs=E2=80=99 (there=E2=80=99= s a chance that some build scripts use it.) > So I think perl, python and tcsh should be normal inputs; as far as I kno= w, > they are not used during the build process of texlive. OK. >> 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? Search paths specifications for native and target inputs are disjoint. So for instance, when cross-compiling, only native inputs are added to $PATH. However, I just realized that our =E2=80=98patch-shebangs=E2=80=99 phase (t= he one that runs at the end) is buggy, since it patches according to what=E2=80=99s in $PATH, even when cross-compiling. I=E2=80=99ve filed a bug. Anyway, apart from that, it would work. :-) Ludo=E2=80=99.