guix-patches
[Top][All Lists]
Advanced

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

[bug#41294] [PATCH] gnu: Add libfreenect.


From: 宋文武
Subject: [bug#41294] [PATCH] gnu: Add libfreenect.
Date: Wed, 20 May 2020 21:33:08 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Ekaitz Zarraga <address@hidden> writes:

> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Tuesday, May 19, 2020 3:42 PM, Ekaitz Zarraga <address@hidden> wrote:
>
>> Hi,
>>
>> > > There's some kind of weird magic I'm not getting.
>> >
>> > Hello, I don't know the whole detail too, but to build a package, guix 
>> > likely:
>> >
>> > -   Load and eval the package module, to get the package object. The
>> >     'arguments' field is a list.
>> >
>> > -   Convert this package object to a derivation, and write it in store as
>> >     a file (/gnu/store/*.drv). Where 'arguments' being part of the
>> >     builder, serialize as string to the file, it dosen't do complex things
>> >     for procedure bindings, only write their string descriptions... So
>> >     when the builder file is loaded, you get `Unknown object` errors.
>> >     Here, to avoid duplicating the code, you can:
>> >
>> >
>> > 1.  Unquote list value into `arguments`. (eg: 'asdf-substitutions' in 
>> > lisp.scm)
>>
>> This doesn't work for me. I don't know why.
>>
>> Just moved the lambda to a (define* deactivate-sources ...) and then when I 
>> try to put the name like
>>
>> (arguments `( #tests? .... ,deactivate-sources ...)
>>
>> Shoots an Unknown object error. I add a diff below to let you see the whole 
>> picture of what I did and doesn't work.
>>
>> > 2.  Use `(package-arguments libfreenect-examples)` with
>> >     `substitute-keyword-arguments` to reuse arguments, but modify
>> >     `configure-flags` etc. (eg: qtx11extras)
>> >     The build system can use 'imported-modules' to make a set of guile
>> >     modules (which can contains useful procedures, etc.) available to the
>> >     builder, but thas's overkill to be used here...
>> >
>> [...]
>
> oh,
>
> the code is wrong, there parenthesis on the define are making it a function 
> but anyway:
> - Tested using ,(disable-sources) FAIL
> - Tested removing the parenthesis and leaving (define disable-sources 
> (lambda*...))
>
> There must be something I'm missing.

Um, I mean something like this:

  (define libfreenect-derived-phases
    '(modify-phases %standard-phases
       (lambda* (#:key outputs #:allow-other-keys)
         ...)))

  ...
  (arguments
   `(#:phases ,libfreenect-derived-phases))
  ...


Here 'libfreenect-derived-phases' is a list of symbols, the arguments
field we want is a list of symbols too.





reply via email to

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