guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Texlive and native-inputs


From: John Darrington
Subject: Re: Texlive and native-inputs
Date: Wed, 29 Oct 2014 18:52:56 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

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 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.

Obviously, if they are not used during the build, then, as you say they should 
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 cases 
we've done the
latter.
     
     >      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? 

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"))

-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]