From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 18 03:31:17 2020 Received: (at 37868) by debbugs.gnu.org; 18 Feb 2020 08:31:18 +0000 Received: from localhost ([127.0.0.1]:39525 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j3yHl-0006l9-MS for submit@debbugs.gnu.org; Tue, 18 Feb 2020 03:31:17 -0500 Received: from eggs.gnu.org ([209.51.188.92]:47183) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j3yHk-0006ku-2j for 37868@debbugs.gnu.org; Tue, 18 Feb 2020 03:31:16 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42653) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1j3yHe-0006Sl-Hb; Tue, 18 Feb 2020 03:31:10 -0500 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=58434 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1j3yHd-0006ve-3b; Tue, 18 Feb 2020 03:31:09 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Danny Milosavljevic Subject: Re: [bug#37868] [PATCH] guix: Allow multiple packages to provide Linux modules in the system profile. References: <20191022152238.12856-1-dannym@scratchpost.org> <20191112172048.61ba69eb@scratchpost.org> <87a78zq4xb.fsf@gnu.org> <20200217181045.7d41f231@scratchpost.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 30 =?utf-8?Q?Pluvi=C3=B4se?= an 228 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Tue, 18 Feb 2020 09:31:06 +0100 In-Reply-To: <20200217181045.7d41f231@scratchpost.org> (Danny Milosavljevic's message of "Mon, 17 Feb 2020 18:10:45 +0100") Message-ID: <87lfp0nvp1.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 37868 Cc: Mark H Weaver , 37868@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, Danny Milosavljevic skribis: > guix system: error: #: invalid G-expression input That means you=E2=80=99re using a procedure in a gexp, as in: #~(foo bar #$proc) where =E2=80=98proc=E2=80=99 is a procedure. Given the location info and argument name, we can tell that procedure comes from =E2=80=98profile-derivation=E2=80=99, right=E2=80=A6 > (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-fil= e os))) > (return `(("kernel" ,kernel) > + ("kernel-modules" > + ,(profile-derivation > + (packages->manifest (cons kernel kernel-module-packag= es)) =E2=80=A6 here. =E2=86=91 This is because =E2=80=98profile-derivation=E2=80=99 is a monadic procedure= , so it=E2=80=99s result is a =E2=80=9Cmonadic value=E2=80=9D, which is technically a procedu= re. You need to move the =E2=80=98profile-derivation=E2=80=99 call within the = =E2=80=98mlet=E2=80=99. HTH! Ludo=E2=80=99.