Subject: [bug#54396] [PATCH] [WIP] gnu: python-notmuch2: Fix build.

From: Liliana Marie Prikler <[email-masked]>
Date: Tue, 15 Mar 2022 11:11:14 +0100

Hi Tanguy,

Am Dienstag, dem 15.03.2022 um 10:38 +0100 schrieb Tanguy Le Carrour:
> Hi Guix,
> 
> I'm (still) trying to fix a build failure I (unsuccessfully) reported
> here:
> <https://lists.gnu.org/archive/html/guix-devel/2022-02/msg00302.html>
> .
> 
> I've tried and produced a patch, but, somehow, I cannot make it work!
> :-(
> 
> ```
> +               (setenv "SHELL" (which "sh"))
> +               (setenv "CONFIG_SHELL" (which "sh"))
> ```
> 
> I'm not sure those lines are required, but at this point I've just
> copied/pasted code I found in an other package definition.
> 
> 
> ```
> +               ;(invoke "./configure" (string-append "--prefix="
> out)))))
> +               (invoke "bash" "./configure" (string-append "--
> prefix=" out)))))
> ```
> 
> If I "just" invoke `./configure` I get an error code, but no error
> message. I had to prepend `bash` to get the error message telling me
> that `cc` and `gcc` were missing.
Instead of running configure, I suggest generating the
_notmuch_config.py on your own.  There are three variables you need to
define at the moment: NOTMUCH_INCLUDE_DIR and NOTMUCH_LIB_DIR need to
point to the already built notmuch, not the one being currently
unpacked, and NOTMUCH_VERSION_FILE can also point to an installed file
if possible; otherwise generate a dummy.

> ```
> +  #:use-module (gnu packages commencement)
> ; […]
> +    (native-inputs (list gcc-toolchain))
> ```
> 
> When I add `#:use-module (gnu packages commencement)` I get the
> following error
> message I cannot decipher:
> 
> ```
> error: tcc: unbound variable
> hint: Did you forget a `use-modules' form?
> 
> error: googletest: unbound variable
> hint: Did you forget a `use-modules' form?
Such cascading error chains typically happen when a package is
malformed and the module it's in can't be compiled.  I'm not sure if
that's your fault or someone messed with the python module, but either
way, you shouldn't use gcc-toolchain for package definitions regardless
of whether it causes an error or not.  It is solely meant for users to
not complain that "gcc doesn't work!!!111!1!einself!" when installing
it into their profiles.

Cheers