From: Tanguy LE CARROUR <tanguy@bioneland.org>
To: Liliana Marie Prikler <liliana.prikler@ist.tugraz.at>
Cc: 54396@debbugs.gnu.org
Subject: [bug#54396] [PATCH v2] [WIP] gnu: python-notmuch2: Fix build.
Date: Thu, 17 Mar 2022 10:43:58 +0100 [thread overview]
Message-ID: <164751023805.11899.12185326929295576108@localhost> (raw)
In-Reply-To: <4235d01b2b9f335451e4715ea90fbe92d8ce7f91.camel@ist.tugraz.at>
[-- Attachment #1: Type: text/plain, Size: 2641 bytes --]
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! :-)
> > > > If I set `NOTMUCH_VERSION_FILE=''`, I get a "file does not exist"
> > > > error at build time. So I decided to set it to `/dev/null`
> > > > instead.
> > > > Or would it be better if I patched `notmuch` to create the actual
> > > > version file?!
> > > I think you ought to debug the build and short-circuit the logic by
> > > inferring the version number directly where it is needed. Without
> > > actual build output that's as much as I can propose.
> >
> > Mmm… I've added a new phase to patch the `setup.py`, but couldn't get
> > the version variable to work. Sorry for my… noobiness!? ^_^'
> >
> > ```
> > ;; version.txt is not included in notmuch, so we patch in the version
> > number
> > (add-after 'create-notmuch-config 'patch-setup.py
> > (lambda _
> > (substitute* "setup.py"
> > (("with open\\(NOTMUCH_VERSION_FILE\\) as fp:") "")
> > ((" VERSION = fp.read\\(\\).strip\\(\\)") "")
> > (("version=VERSION,") (string-append "version='" "0.0.0"
> > "',")))))
> > ```
> >
> > I've tried to replace `0.0.0` with `version` or `,version` but that
> > doesn't seem to be the proper way to do it.
> 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'm attaching v5. Finger crossed! :-)
Thanks again for you time!
--
Tanguy
[-- Attachment #2: 0001-gnu-python-notmuch2-Fix-build.patch --]
[-- Type: text/x-diff, Size: 2679 bytes --]
From ecdb6dab3901e661544f4cd8aaf892f939b5e4ee Mon Sep 17 00:00:00 2001
From: Tanguy Le Carrour <tanguy@bioneland.org>
Date: Tue, 15 Mar 2022 10:38:14 +0100
Subject: [PATCH v5] gnu: python-notmuch2: Fix build.
* gnu/packages/mail.scm (python-notmuch2):
(%standard-phases): Add 'create-notmuch-config' and 'patch-setup.py'
after 'enter-python-dir'.
---
gnu/packages/mail.scm | 23 +++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index d253ca7011..2b44f84446 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -28,7 +28,7 @@
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2019, 2020, 2021 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2019, 2020-2022 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org>
;;; Copyright © 2020 Eric Brown <ecbrown@ericcbrown.com>
@@ -1493,7 +1493,26 @@ (define-public python-notmuch2
;; This python package lives in a subdirectory of the notmuch source
;; tree, so chdir into it before building.
(add-after 'unpack 'enter-python-dir
- (lambda _ (chdir "bindings/python-cffi"))))))
+ (lambda _ (chdir "bindings/python-cffi")))
+ ;; python-build-system does not invoke the configure script
+ ;; so _notmuch_config.py is missing
+ (add-after 'enter-python-dir 'create-notmuch-config
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-output-to-file "_notmuch_config.py"
+ (lambda _
+ (display
+ (string-append
+ "NOTMUCH_VERSION_FILE='/dev/null'\n"
+ "NOTMUCH_INCLUDE_DIR="
+ "'" (assoc-ref inputs "notmuch") "/include/" "'\n"
+ "NOTMUCH_LIB_DIR="
+ "'" (assoc-ref inputs "notmuch") "/lib/" "'"))))))
+ ;; version.txt is not included in notmuch, so we patch in the version number
+ (add-after 'create-notmuch-config 'patch-setup.py
+ (lambda _
+ (substitute* "setup.py"
+ (("version=VERSION,")
+ (string-append "version='" ,(package-version this-package) "',"))))))))
(synopsis "Pythonic bindings for the notmuch mail database using CFFI")
(license license:gpl3+)))
--
2.34.0
next prev parent reply other threads:[~2022-03-17 9:47 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-15 9:38 [bug#54396] [PATCH] [WIP] gnu: python-notmuch2: Fix build Tanguy Le Carrour
2022-03-15 10:11 ` Liliana Marie Prikler
2022-03-15 10:58 ` Tanguy LE CARROUR
2022-03-15 16:04 ` Maxime Devos
2022-03-16 7:57 ` Tanguy LE CARROUR
2022-03-16 11:16 ` [bug#54396] [PATCH v2] " Tanguy Le Carrour
2022-03-16 11:28 ` Liliana Marie Prikler
2022-03-16 13:46 ` Tanguy LE CARROUR
2022-03-16 14:02 ` Liliana Marie Prikler
2022-03-16 16:48 ` Tanguy LE CARROUR
2022-03-17 6:59 ` Liliana Marie Prikler
2022-03-17 9:43 ` Tanguy LE CARROUR [this message]
2022-03-17 9:51 ` Liliana Marie Prikler
2022-03-17 17:32 ` Tanguy LE CARROUR
2022-03-22 16:11 ` [bug#54396] [PATCH v6] " Tanguy Le Carrour
2022-03-23 20:15 ` bug#54396: " Liliana Marie Prikler
2022-03-24 7:11 ` [bug#54396] " Tanguy LE CARROUR
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=164751023805.11899.12185326929295576108@localhost \
--to=tanguy@bioneland.org \
--cc=54396@debbugs.gnu.org \
--cc=liliana.prikler@ist.tugraz.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).