From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Darrington Subject: Re: Texlive and native-inputs Date: Wed, 29 Oct 2014 18:52:56 +0100 Message-ID: <20141029175256.GA1824@jocasta.intra> 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: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="uAKRQypu60I7Lcqm" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47521) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjXQl-0002wF-DC for guix-devel@gnu.org; Wed, 29 Oct 2014 13:53:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XjXQf-0006nd-EJ for guix-devel@gnu.org; Wed, 29 Oct 2014 13:53:11 -0400 Received: from de.cellform.com ([88.217.224.109]:44480 helo=jocasta.intra) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjXQf-0006me-17 for guix-devel@gnu.org; Wed, 29 Oct 2014 13:53:05 -0400 Content-Disposition: inline In-Reply-To: <20141029173948.GA16948@debian.eduroam.u-bordeaux.fr> 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 --uAKRQypu60I7Lcqm Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Oct 29, 2014 at 06:39:48PM +0100, Andreas Enge wrote: 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 na= tive one. Hence > they could not run, and the build would break. =20 Well, my point is that probably the scripts are not run during the bui= ld process, but on the target system. =20 For instance, texlive installs a file texlive-2014-data/texmf-dist/scripts/psutils/psjoin.pl , which I suppose does what its name says. =20 Because we have perl as a native input, patch-shebangs replaces its fi= rst 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 th= e perl of the build and not of the target machine, and the user calling psjoi= n.pl on the target machine has a dangling interpreter here. =20 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. Obviously, if they are not used during the build, then, as you say they sho= uld=20 not be native-inputs. I guess you would have to ask Ludovic whether they should be inputs at all,= or if we should just rely on the user to install the relevant package. I know in similar c= ases we've done the latter. =20 > 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. =20 Would it work? One would need to patch-shebang with the normal input a= nd use the native-input for scripts that are used during the build proces= s. Is this distinguished somehow?=20 Now I'm starting to get out of my depth, but as I understand it, this could= be resolved thus: `(inputs (("perl" ,perl))) `(native-inputs (("native-perl" ,perl))) (do-something-with (assoc-ref %build-inputs "perl")) (do-something-else-with (assoc-ref %build-inputs "native-perl")) --=20 PGP Public key ID: 1024D/2DE827B3=20 fingerprint =3D 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3 See http://sks-keyservers.net or any PGP keyserver for public key. --uAKRQypu60I7Lcqm Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAlRRKXgACgkQimdxnC3oJ7PCKwCdGtw03OoxgObIMT6o4ed3cPnu fZoAnAm4CYZR+49JJmUfA3hJcsamZwsj =tP90 -----END PGP SIGNATURE----- --uAKRQypu60I7Lcqm--