[Top][All Lists]

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

[bug#37868] [PATCH] guix: Allow multiple packages to provide Linux modul

From: Ludovic Courtès
Subject: [bug#37868] [PATCH] guix: Allow multiple packages to provide Linux modules in the system profile.
Date: Tue, 18 Feb 2020 09:31:06 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)


Danny Milosavljevic <address@hidden> skribis:

> guix system: error: #<procedure 7f990dded140 at guix/profiles.scm:1538:2 
> (state)>: invalid G-expression input

That means you’re using a procedure in a gexp, as in:

  #~(foo bar #$proc)

where ‘proc’ is a procedure.

Given the location info and argument name, we can tell that procedure
comes from ‘profile-derivation’, right…

>      (mlet %store-monad ((kernel -> (operating-system-kernel os))
> +                        (kernel-module-packages ->
> +                         (operating-system-kernel-module-packages os))
>                          (initrd -> (operating-system-initrd-file os))
>                          (params    (operating-system-boot-parameters-file 
> os)))
>        (return `(("kernel" ,kernel)
> +                ("kernel-modules"
> +                 ,(profile-derivation
> +                   (packages->manifest (cons kernel kernel-module-packages))

… here.  ↑

This is because ‘profile-derivation’ is a monadic procedure, so it’s
result is a “monadic value”, which is technically a procedure.

You need to move the ‘profile-derivation’ call within the ‘mlet’.



reply via email to

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