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

From: Liliana Marie Prikler <[email-masked]>
Date: Thu, 17 Mar 2022 10:51:41 +0100

Am Donnerstag, dem 17.03.2022 um 10:43 +0100 schrieb Tanguy LE CARROUR:
> Hi Liliana,
> 
> Quoting Liliana Marie Prikler (2022-03-17 07:59:48)
> > Am Mittwoch, dem 16.03.2022 um 17:48 +0100 schrieb Tanguy LE
> > CARROUR:
> > > > That is actually a mistake on my part, search-input-file should
> > > > search inputs for "include/notmuch.h" and likewise
> > > > "lib/libnotmuch.so". 
> > > > The dirname is important here, since both constants want
> > > > directories. 
> > > > Alternatively, forgoing those constants might be a good idea,
> > > > but is not worth investing too much time in.
> > > 
> > > So, I'm leaving those as they are for now.
> > I think you misunderstood me.  It is absolutely necessary that you
> > instantiate these variables correctly.  It is not necessary to
> > substitute* their uses.
> 
> You right, I **totally** misunderstood you! Sorry!
> I didn't pay attention to the fact that I left the actual file names
> in, instead of using the folder names.
> Hope I've gotten it right this time and that you are not getting
> tired of reviewing my patch! :-)
You'd do well using search-input-file as I've suggested for a while now
;)

> > substitute* is not nice when dealing with multi-line expressions. 
> > I think you could replace NOTMUCH_VERSION_FILE with '/dev/null' and
> > "VERSION = .*" with (string-append "VERSION = " #$version).
> 
> Oh, looks like gexp magic to me, right? I'm not (yet) comfortable
> with it!  So I came up with another version. Seems to work as I've
> built, installed and used it!
I think we need to convert this package to the newstyle anyway, so it's
not something you have to do, but it'd be appreciated if you first
translated the existing package to use gexps and then applied your
modifications on top.  That being said, using this-package is IIRC fine
for such purposes.

Regarding NOTMUCH_VERSION_FILE, I don't think we should put an
"implemented" value into a file that (as far as I can see) ends up
being installed.  So here you have to substitute* the use in setup.py
instead.

Cheers