guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 1/2] build: Generalize 'package-with-explicit-python'.


From: Myles English
Subject: Re: [PATCH 1/2] build: Generalize 'package-with-explicit-python'.
Date: Thu, 09 Feb 2017 10:24:10 +0000
User-agent: mu4e 0.9.18; emacs 25.1.1


on [2017-02-09] at 07:58 Federico Beffa writes:

> On Wed, Feb 8, 2017 at 8:09 PM, Ricardo Wurmus <address@hidden> wrote:
>>
>> Federico Beffa <address@hidden> writes:
>>
>>> Generalize the Python procedure to recursively replace compiler/interpreter.
>>> From a8220b430d196e5bb079e23ac63b1acd16fdaaee Mon Sep 17 00:00:00 2001
>>> From: Federico Beffa <address@hidden>
>>> Date: Wed, 8 Feb 2017 18:55:32 +0100
>>> Subject: [PATCH 1/2] build: Generalize 'package-with-explicit-python'.
>>>
>>> * guix/build-system/python.scm (package-with-explicit-python): Remove it and
>>>   replace it with the generalized procedure 'package-with-explicit-compiler'
>>>   in the new file. (package-with-python2): Adapt it.
>>> * guix/build-system/utils.scm: New file with the generalized procedure.
>>> * Makefile.am (MODULES): Add new file.
>>
>> The goal here is to override packages in build system arguments, right?
>> This is great and we really need something like this to make building
>> package variants simpler.  (I ran into a problem that would be solved by
>> this when I tried to build Perl modules for different variants of Perl.)
>
> Hi Ricardo,
>
> The goal is to exploit the compiler keyword argument of many
> build-systems (such as #:python, #:haskell, ...) to pass the desired
> compiler instead of the default one.
>
>> Looking over the patch it feels inelegant to have a whitelist of
>> permitted arguments, as in “compiler-keyword”.  We already have a
>> procedure called “package-input-rewriting” that replaces any (explicit
>> input-) package in the dependency graph with a different package.  What
>> I like about that is that it is generic.  Is there a way we could extend
>> it to include packages pulled in by the build system, e.g. by making it
>> work at the level of bags?
>
> The procedure was not written by me: 99% of it comes from the
> python-build-system.  The only thing that I did is to replace the
> hard-coded '#:python' keyword with a variable one such that it can be
> used with some other build systems. This seemed to me as one step in
> the right direction, but if you have a better idea then please go
> ahead and write it.  I will not feel offended ;-)

Thanks a lot for doing this it seems to work fine so far.  I think it
might cause a warning:

guix build: warning: deprecated NAME-VERSION syntax; use address@hidden
instead

(I have reached a blockage to do with Haskell package dependencies, I am
trying to build hledger, here is my effort so far, 27 new packages!:
http://paste.lisp.org/+79B8 ).

Myles



reply via email to

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