unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] update notmuch and python bindings
@ 2016-08-07 18:55 Troy Sankey
  2016-08-07 19:29 ` ng0
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Troy Sankey @ 2016-08-07 18:55 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 375 bytes --]

This patchset updates notmuch from 0.21 to 0.22.1, adds python3 bindings, and
updates the existing python2 bindings.  The notmuch upgrade was not necessary
for adding the python3 bindings (my primary goal) but I'm throwing it in
because the NEWS file does not indicate any breaking change.  Also my own
experience upgrading from 0.21 to 0.22.1 was problem-free.

Troy

[-- Attachment #2: 0003-gnu-python2-notmuch-Update-to-0.22.1.patch --]
[-- Type: text/x-diff, Size: 2071 bytes --]

From a4523503314814adea61a7fef48ea443f7d14b8c Mon Sep 17 00:00:00 2001
From: Troy Sankey <sankeytms@gmail.com>
Date: Sun, 7 Aug 2016 13:27:18 -0400
Subject: [PATCH 3/3] gnu: python2-notmuch: Update to 0.22.1.

---
 gnu/packages/mail.scm | 33 +--------------------------------
 1 file changed, 1 insertion(+), 32 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 96537c4..57ec7c8 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -560,38 +560,7 @@ and search library.")
     (license gpl3+)))
 
 (define-public python2-notmuch
-  (package
-    (name "python2-notmuch")
-    (version "0.15.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://pypi.python.org/packages/source/n/notmuch/notmuch-"
-                    version
-                    ".tar.gz"))
-              (sha256
-               (base32
-                "18g8701ibr153ngsz258kgcd42wqnbf9ifpqig1bijy6b0zx9xn5"))))
-    (build-system python-build-system)
-    (inputs `(("notmuch" ,notmuch)))
-    (arguments
-     `(#:python ,python-2
-       #:phases (modify-phases %standard-phases
-                  (add-before
-                   'build 'set-libnotmuch-file-name
-                   (lambda* (#:key inputs #:allow-other-keys)
-                     (let ((notmuch (assoc-ref inputs "notmuch")))
-                       (substitute* "notmuch/globals.py"
-                         (("libnotmuch\\.so\\.[0-9]")
-                          (string-append notmuch "/lib/libnotmuch.so.4")))
-                       #t))))
-       #:tests? #f))                              ;no "test" target
-    (home-page "http://notmuchmail.org/")
-    (synopsis "Python bindings of the Notmuch mail indexing library")
-    (description
-     "This package provides Python bindings to use the Notmuch mail indexing
-and search library.")
-    (license gpl3+)))
+  (package-with-python2 python-notmuch))
 
 (define-public getmail
   (package
-- 
2.1.4


[-- Attachment #3: 0002-gnu-Add-python-notmuch.patch --]
[-- Type: text/x-diff, Size: 2495 bytes --]

From b3c53dec33e35d554e4a30de108477bc4fbe932f Mon Sep 17 00:00:00 2001
From: Troy Sankey <sankeytms@gmail.com>
Date: Sun, 7 Aug 2016 13:26:30 -0400
Subject: [PATCH 2/3] gnu: Add python-notmuch

---
 gnu/packages/mail.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index c58e5f5..96537c4 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -517,6 +517,48 @@ ing, and tagging large collections of email messages.")
 useful for email address completion.")
     (license license:expat)))
 
+(define-public python-notmuch
+  (package
+    (name "python-notmuch")
+    (version "0.22.1")
+    (source (origin
+              (method url-fetch)
+              ; notmuch python bindings are now unavailable on pypi.  The
+              ; bindings are distributed via the notmuch release tarball.
+              (uri (string-append
+                    "https://notmuchmail.org/releases/notmuch-"
+                    version
+                    ".tar.gz"))
+              (sha256
+               (base32
+                "0jwpda3q023dn3sp41n8648951i7iagfv8zzpriv7hpkjivlafg7"))))
+    (build-system python-build-system)
+    (inputs `(("notmuch" ,notmuch)))
+    (arguments
+     `(#:tests? #f  ;; no "test" target
+       #:phases
+       (modify-phases %standard-phases
+         ;; this python package lives in a subdirectory of the notmuch source
+         ;; tree, so chdir into it before building:
+         (add-before 'build 'chdir
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (chdir "bindings/python")))
+         ;; make sure the correct notmuch shared library gets loaded:
+         (add-before
+           'build 'set-libnotmuch-file-name
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((notmuch (assoc-ref inputs "notmuch")))
+               (substitute* "notmuch/globals.py"
+                 (("libnotmuch\\.so\\.")
+                  (string-append notmuch "/lib/libnotmuch.so.")))
+               #t))))))
+    (home-page "http://notmuchmail.org/")
+    (synopsis "Python bindings of the Notmuch mail indexing library")
+    (description
+     "This package provides Python bindings to use the Notmuch mail indexing
+and search library.")
+    (license gpl3+)))
+
 (define-public python2-notmuch
   (package
     (name "python2-notmuch")
-- 
2.1.4


[-- Attachment #4: 0001-gnu-notmuch-Update-to-0.22.1.patch --]
[-- Type: text/x-diff, Size: 1607 bytes --]

From 1b98630890e543eae0dbfbf3dc38b4a26535a003 Mon Sep 17 00:00:00 2001
From: Troy Sankey <sankeytms@gmail.com>
Date: Sun, 7 Aug 2016 13:21:28 -0400
Subject: [PATCH 1/3] gnu: notmuch: Update to 0.22.1.

This also removes the emacs input.  Quote from the notmuch NEWS file:

  Drop dependency on "pkg-config emacs".
---
 gnu/packages/mail.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 28978a8..c58e5f5 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -436,14 +436,14 @@ attachments, create new maildirs, and so on.")
 (define-public notmuch
   (package
     (name "notmuch")
-    (version "0.21")
+    (version "0.22.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://notmuchmail.org/releases/notmuch-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1cr53rbpkcy3pvrmhbg2gq7sjpwb0c8xd7a4zhzxbiv8s7z8yvyh"))))
+                "0jwpda3q023dn3sp41n8648951i7iagfv8zzpriv7hpkjivlafg7"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f ;; FIXME: 662 tests; 168 fail and 99 are skipped
@@ -464,8 +464,7 @@ attachments, create new maildirs, and so on.")
        ("python-sphinx" ,python2-sphinx)
        ("bash-completion" ,bash-completion)))
     (inputs
-     `(("emacs" ,emacs)
-       ("glib" ,glib)
+     `(("glib" ,glib)
        ("gmime" ,gmime)
        ("talloc" ,talloc)
        ("xapian" ,xapian)
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH] update notmuch and python bindings
  2016-08-07 18:55 [PATCH] update notmuch and python bindings Troy Sankey
@ 2016-08-07 19:29 ` ng0
  2016-08-07 20:40   ` Troy Sankey
  2016-08-07 22:24 ` ng0
  2016-08-08  8:35 ` Alex Kost
  2 siblings, 1 reply; 15+ messages in thread
From: ng0 @ 2016-08-07 19:29 UTC (permalink / raw)
  To: guix-devel

Hi,

Troy Sankey <sankeytms@gmail.com> writes:

> This patchset updates notmuch from 0.21 to 0.22.1, adds python3 bindings, and
> updates the existing python2 bindings.  The notmuch upgrade was not necessary
> for adding the python3 bindings (my primary goal) but I'm throwing it in
> because the NEWS file does not indicate any breaking change.  Also my own
> experience upgrading from 0.21 to 0.22.1 was problem-free.

thanks for the patches. I only have a short question, inlined below.

>
> From 1b98630890e543eae0dbfbf3dc38b4a26535a003 Mon Sep 17 00:00:00 2001
> From: Troy Sankey <sankeytms@gmail.com>
> Date: Sun, 7 Aug 2016 13:21:28 -0400
> Subject: [PATCH 1/3] gnu: notmuch: Update to 0.22.1.
>
> This also removes the emacs input.  Quote from the notmuch NEWS file:
>
>   Drop dependency on "pkg-config emacs".
> ---
>  gnu/packages/mail.scm | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> index 28978a8..c58e5f5 100644
> --- a/gnu/packages/mail.scm
> +++ b/gnu/packages/mail.scm
> @@ -436,14 +436,14 @@ attachments, create new maildirs, and so on.")
>  (define-public notmuch
>    (package
>      (name "notmuch")
> -    (version "0.21")
> +    (version "0.22.1")
>      (source (origin
>                (method url-fetch)
>                (uri (string-append "https://notmuchmail.org/releases/notmuch-"
>                                    version ".tar.gz"))
>                (sha256
>                 (base32
> -                "1cr53rbpkcy3pvrmhbg2gq7sjpwb0c8xd7a4zhzxbiv8s7z8yvyh"))))
> +                "0jwpda3q023dn3sp41n8648951i7iagfv8zzpriv7hpkjivlafg7"))))
>      (build-system gnu-build-system)
>      (arguments
>       '(#:tests? #f ;; FIXME: 662 tests; 168 fail and 99 are skipped
> @@ -464,8 +464,7 @@ attachments, create new maildirs, and so on.")
>         ("python-sphinx" ,python2-sphinx)
>         ("bash-completion" ,bash-completion)))
>      (inputs
> -     `(("emacs" ,emacs)
> -       ("glib" ,glib)
> +     `(("glib" ,glib)

Why is emacs removed?

>         ("gmime" ,gmime)
>         ("talloc" ,talloc)
>         ("xapian" ,xapian)
> -- 
> 2.1.4
>

-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] update notmuch and python bindings
  2016-08-07 19:29 ` ng0
@ 2016-08-07 20:40   ` Troy Sankey
  2016-08-07 22:04     ` ng0
  0 siblings, 1 reply; 15+ messages in thread
From: Troy Sankey @ 2016-08-07 20:40 UTC (permalink / raw)
  To: ng0, guix-devel

Quoting ng0 (2016-08-07 15:29:34)
> >      (inputs
> > -     `(("emacs" ,emacs)
> > -       ("glib" ,glib)
> > +     `(("glib" ,glib)
>
> Why is emacs removed?

Please see the commit message :)

Of course I could be misunderstanding something, but it does build
successfully.  I do not normally use emacs, so I was not able to test
this particular change.

Troy

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] update notmuch and python bindings
  2016-08-07 20:40   ` Troy Sankey
@ 2016-08-07 22:04     ` ng0
  2016-08-08  8:20       ` Alex Kost
  0 siblings, 1 reply; 15+ messages in thread
From: ng0 @ 2016-08-07 22:04 UTC (permalink / raw)
  To: guix-devel

Troy Sankey <sankeytms@gmail.com> writes:

> Quoting ng0 (2016-08-07 15:29:34)
>> >      (inputs
>> > -     `(("emacs" ,emacs)
>> > -       ("glib" ,glib)
>> > +     `(("glib" ,glib)
>>
>> Why is emacs removed?
>
> Please see the commit message :)
>
> Of course I could be misunderstanding something, but it does build
> successfully.  I do not normally use emacs, so I was not able to test
> this particular change.
>
> Troy

Ah, sorry.
I don't want to mix up my notmuch and the review, and I'll be occupied
until tuesday night, so someone who does not rely on a functional
notmuch should review if it works correctly. I find it weird that the
input is dropped.
Maybe I should read the release notes.
-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] update notmuch and python bindings
  2016-08-07 18:55 [PATCH] update notmuch and python bindings Troy Sankey
  2016-08-07 19:29 ` ng0
@ 2016-08-07 22:24 ` ng0
  2016-08-08  4:34   ` Troy Sankey
  2016-08-08 21:30   ` Leo Famulari
  2016-08-08  8:35 ` Alex Kost
  2 siblings, 2 replies; 15+ messages in thread
From: ng0 @ 2016-08-07 22:24 UTC (permalink / raw)
  To: guix-devel

Troy Sankey <sankeytms@gmail.com> writes:

> This patchset updates notmuch from 0.21 to 0.22.1, adds python3 bindings, and
> updates the existing python2 bindings.  The notmuch upgrade was not necessary
> for adding the python3 bindings (my primary goal) but I'm throwing it in
> because the NEWS file does not indicate any breaking change.  Also my own
> experience upgrading from 0.21 to 0.22.1 was problem-free.
>
> Troy
> From a4523503314814adea61a7fef48ea443f7d14b8c Mon Sep 17 00:00:00 2001
> From: Troy Sankey <sankeytms@gmail.com>
> Date: Sun, 7 Aug 2016 13:27:18 -0400
> Subject: [PATCH 3/3] gnu: python2-notmuch: Update to 0.22.1.
>
> ---
>  gnu/packages/mail.scm | 33 +--------------------------------
>  1 file changed, 1 insertion(+), 32 deletions(-)
>
> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> index 96537c4..57ec7c8 100644
> --- a/gnu/packages/mail.scm
> +++ b/gnu/packages/mail.scm
> @@ -560,38 +560,7 @@ and search library.")
>      (license gpl3+)))
>  
>  (define-public python2-notmuch
> -  (package
> -    (name "python2-notmuch")
> -    (version "0.15.2")
> -    (source (origin
> -              (method url-fetch)
> -              (uri (string-append
> -                    "https://pypi.python.org/packages/source/n/notmuch/notmuch-"
> -                    version
> -                    ".tar.gz"))
> -              (sha256
> -               (base32
> -                "18g8701ibr153ngsz258kgcd42wqnbf9ifpqig1bijy6b0zx9xn5"))))
> -    (build-system python-build-system)
> -    (inputs `(("notmuch" ,notmuch)))
> -    (arguments
> -     `(#:python ,python-2
> -       #:phases (modify-phases %standard-phases
> -                  (add-before
> -                   'build 'set-libnotmuch-file-name
> -                   (lambda* (#:key inputs #:allow-other-keys)
> -                     (let ((notmuch (assoc-ref inputs "notmuch")))
> -                       (substitute* "notmuch/globals.py"
> -                         (("libnotmuch\\.so\\.[0-9]")
> -                          (string-append notmuch "/lib/libnotmuch.so.4")))
> -                       #t))))
> -       #:tests? #f))                              ;no "test" target
> -    (home-page "http://notmuchmail.org/")
> -    (synopsis "Python bindings of the Notmuch mail indexing library")
> -    (description
> -     "This package provides Python bindings to use the Notmuch mail indexing
> -and search library.")
> -    (license gpl3+)))
> +  (package-with-python2 python-notmuch))
>  
>  (define-public getmail
>    (package
> -- 
> 2.1.4
>
> From b3c53dec33e35d554e4a30de108477bc4fbe932f Mon Sep 17 00:00:00 2001
> From: Troy Sankey <sankeytms@gmail.com>
> Date: Sun, 7 Aug 2016 13:26:30 -0400
> Subject: [PATCH 2/3] gnu: Add python-notmuch
>
> ---
>  gnu/packages/mail.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 42 insertions(+)
>
> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> index c58e5f5..96537c4 100644
> --- a/gnu/packages/mail.scm
> +++ b/gnu/packages/mail.scm
> @@ -517,6 +517,48 @@ ing, and tagging large collections of email messages.")
>  useful for email address completion.")
>      (license license:expat)))
>  
> +(define-public python-notmuch
> +  (package
> +    (name "python-notmuch")
> +    (version "0.22.1")
> +    (source (origin
> +              (method url-fetch)
> +              ; notmuch python bindings are now unavailable on pypi.  The
> +              ; bindings are distributed via the notmuch release tarball.

One line comments are preceeded by two ";", like you applied further down.

> +              (uri (string-append
> +                    "https://notmuchmail.org/releases/notmuch-"
> +                    version
> +                    ".tar.gz"))
> +              (sha256
> +               (base32
> +                "0jwpda3q023dn3sp41n8648951i7iagfv8zzpriv7hpkjivlafg7"))))
> +    (build-system python-build-system)
> +    (inputs `(("notmuch" ,notmuch)))
> +    (arguments
> +     `(#:tests? #f  ;; no "test" target

And this comment should be: ; no "test" target

> +       #:phases
> +       (modify-phases %standard-phases
> +         ;; this python package lives in a subdirectory of the notmuch source
> +         ;; tree, so chdir into it before building:
> +         (add-before 'build 'chdir
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (chdir "bindings/python")))
> +         ;; make sure the correct notmuch shared library gets loaded:
> +         (add-before
> +           'build 'set-libnotmuch-file-name
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (let ((notmuch (assoc-ref inputs "notmuch")))
> +               (substitute* "notmuch/globals.py"
> +                 (("libnotmuch\\.so\\.")
> +                  (string-append notmuch "/lib/libnotmuch.so.")))
> +               #t))))))
> +    (home-page "http://notmuchmail.org/")
> +    (synopsis "Python bindings of the Notmuch mail indexing library")
> +    (description
> +     "This package provides Python bindings to use the Notmuch mail indexing
> +and search library.")
> +    (license gpl3+)))
> +
>  (define-public python2-notmuch
>    (package
>      (name "python2-notmuch")
> -- 
> 2.1.4
>
> From 1b98630890e543eae0dbfbf3dc38b4a26535a003 Mon Sep 17 00:00:00 2001
> From: Troy Sankey <sankeytms@gmail.com>
> Date: Sun, 7 Aug 2016 13:21:28 -0400
> Subject: [PATCH 1/3] gnu: notmuch: Update to 0.22.1.
>
> This also removes the emacs input.  Quote from the notmuch NEWS file:
>
>   Drop dependency on "pkg-config emacs".
> ---
>  gnu/packages/mail.scm | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> index 28978a8..c58e5f5 100644
> --- a/gnu/packages/mail.scm
> +++ b/gnu/packages/mail.scm
> @@ -436,14 +436,14 @@ attachments, create new maildirs, and so on.")
>  (define-public notmuch
>    (package
>      (name "notmuch")
> -    (version "0.21")
> +    (version "0.22.1")
>      (source (origin
>                (method url-fetch)
>                (uri (string-append "https://notmuchmail.org/releases/notmuch-"
>                                    version ".tar.gz"))
>                (sha256
>                 (base32
> -                "1cr53rbpkcy3pvrmhbg2gq7sjpwb0c8xd7a4zhzxbiv8s7z8yvyh"))))
> +                "0jwpda3q023dn3sp41n8648951i7iagfv8zzpriv7hpkjivlafg7"))))
>      (build-system gnu-build-system)
>      (arguments
>       '(#:tests? #f ;; FIXME: 662 tests; 168 fail and 99 are skipped

Same as above: ; FIXME: 662 tests, 168 fail and 99 are skipped
But as this is just a version bump, someone should fix this in a later
update when patches are fixed.

> @@ -464,8 +464,7 @@ attachments, create new maildirs, and so on.")
>         ("python-sphinx" ,python2-sphinx)
>         ("bash-completion" ,bash-completion)))
>      (inputs
> -     `(("emacs" ,emacs)
> -       ("glib" ,glib)
> +     `(("glib" ,glib)
>         ("gmime" ,gmime)
>         ("talloc" ,talloc)
>         ("xapian" ,xapian)
> -- 
> 2.1.4
>

I'd also advise to upgrade git to something more recent if your distro
allows it :)

I'll try to test build tomorrow morning when my buildserver is up
again. release notes read interesting enough. thanks for the patches.
-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] update notmuch and python bindings
  2016-08-07 22:24 ` ng0
@ 2016-08-08  4:34   ` Troy Sankey
  2016-08-08  7:05     ` ng0
  2016-08-08  8:21     ` Alex Kost
  2016-08-08 21:30   ` Leo Famulari
  1 sibling, 2 replies; 15+ messages in thread
From: Troy Sankey @ 2016-08-08  4:34 UTC (permalink / raw)
  To: ng0, guix-devel

[-- Attachment #1: Type: text/plain, Size: 560 bytes --]

Updated patches address all comments so far except for the removal of
the emacs input.  Also updated the test numbers just for fun.

Quoting ng0 (2016-08-07 18:24:57)
> I'd also advise to upgrade git to something more recent if your distro
> allows it :)

Debian stable :)  It's a long term project of mine to switch to GuixSD.
I'm switching over one package at a time.  Next is notmuch!

> I'll try to test build tomorrow morning when my buildserver is up
> again. release notes read interesting enough. thanks for the patches.

Thanks.

Troy

[-- Attachment #2: 0003-gnu-python2-notmuch-Update-to-0.22.1.patch --]
[-- Type: text/x-diff, Size: 2071 bytes --]

From 8d0f5d8c0a8bb1205e71df2f2aa7366252961792 Mon Sep 17 00:00:00 2001
From: Troy Sankey <sankeytms@gmail.com>
Date: Sun, 7 Aug 2016 13:27:18 -0400
Subject: [PATCH 3/3] gnu: python2-notmuch: Update to 0.22.1.

---
 gnu/packages/mail.scm | 33 +--------------------------------
 1 file changed, 1 insertion(+), 32 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 1634d86..7e0b096 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -560,38 +560,7 @@ and search library.")
     (license gpl3+)))
 
 (define-public python2-notmuch
-  (package
-    (name "python2-notmuch")
-    (version "0.15.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://pypi.python.org/packages/source/n/notmuch/notmuch-"
-                    version
-                    ".tar.gz"))
-              (sha256
-               (base32
-                "18g8701ibr153ngsz258kgcd42wqnbf9ifpqig1bijy6b0zx9xn5"))))
-    (build-system python-build-system)
-    (inputs `(("notmuch" ,notmuch)))
-    (arguments
-     `(#:python ,python-2
-       #:phases (modify-phases %standard-phases
-                  (add-before
-                   'build 'set-libnotmuch-file-name
-                   (lambda* (#:key inputs #:allow-other-keys)
-                     (let ((notmuch (assoc-ref inputs "notmuch")))
-                       (substitute* "notmuch/globals.py"
-                         (("libnotmuch\\.so\\.[0-9]")
-                          (string-append notmuch "/lib/libnotmuch.so.4")))
-                       #t))))
-       #:tests? #f))                              ;no "test" target
-    (home-page "http://notmuchmail.org/")
-    (synopsis "Python bindings of the Notmuch mail indexing library")
-    (description
-     "This package provides Python bindings to use the Notmuch mail indexing
-and search library.")
-    (license gpl3+)))
+  (package-with-python2 python-notmuch))
 
 (define-public getmail
   (package
-- 
2.1.4


[-- Attachment #3: 0002-gnu-Add-python-notmuch.patch --]
[-- Type: text/x-diff, Size: 2496 bytes --]

From 0a134eaf40aa9dd6fa5e2e24e3d226203a03da73 Mon Sep 17 00:00:00 2001
From: Troy Sankey <sankeytms@gmail.com>
Date: Sun, 7 Aug 2016 13:26:30 -0400
Subject: [PATCH 2/3] gnu: Add python-notmuch

---
 gnu/packages/mail.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 82e35fb..1634d86 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -517,6 +517,48 @@ ing, and tagging large collections of email messages.")
 useful for email address completion.")
     (license license:expat)))
 
+(define-public python-notmuch
+  (package
+    (name "python-notmuch")
+    (version "0.22.1")
+    (source (origin
+              (method url-fetch)
+              ;; notmuch python bindings are now unavailable on pypi.  The
+              ;; bindings are distributed via the notmuch release tarball.
+              (uri (string-append
+                    "https://notmuchmail.org/releases/notmuch-"
+                    version
+                    ".tar.gz"))
+              (sha256
+               (base32
+                "0jwpda3q023dn3sp41n8648951i7iagfv8zzpriv7hpkjivlafg7"))))
+    (build-system python-build-system)
+    (inputs `(("notmuch" ,notmuch)))
+    (arguments
+     `(#:tests? #f  ; no "test" target
+       #:phases
+       (modify-phases %standard-phases
+         ;; this python package lives in a subdirectory of the notmuch source
+         ;; tree, so chdir into it before building:
+         (add-before 'build 'chdir
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (chdir "bindings/python")))
+         ;; make sure the correct notmuch shared library gets loaded:
+         (add-before
+           'build 'set-libnotmuch-file-name
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((notmuch (assoc-ref inputs "notmuch")))
+               (substitute* "notmuch/globals.py"
+                 (("libnotmuch\\.so\\.")
+                  (string-append notmuch "/lib/libnotmuch.so.")))
+               #t))))))
+    (home-page "http://notmuchmail.org/")
+    (synopsis "Python bindings of the Notmuch mail indexing library")
+    (description
+     "This package provides Python bindings to use the Notmuch mail indexing
+and search library.")
+    (license gpl3+)))
+
 (define-public python2-notmuch
   (package
     (name "python2-notmuch")
-- 
2.1.4


[-- Attachment #4: 0001-gnu-notmuch-Update-to-0.22.1.patch --]
[-- Type: text/x-diff, Size: 1974 bytes --]

From 034a4ac3b1bc85ae574fbe9f79add609cf311cc1 Mon Sep 17 00:00:00 2001
From: Troy Sankey <sankeytms@gmail.com>
Date: Sun, 7 Aug 2016 13:21:28 -0400
Subject: [PATCH 1/3] gnu: notmuch: Update to 0.22.1.

This also removes the emacs input.  Quote from the notmuch NEWS file:

  Drop dependency on "pkg-config emacs".
---
 gnu/packages/mail.scm | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 28978a8..82e35fb 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -436,18 +436,18 @@ attachments, create new maildirs, and so on.")
 (define-public notmuch
   (package
     (name "notmuch")
-    (version "0.21")
+    (version "0.22.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://notmuchmail.org/releases/notmuch-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1cr53rbpkcy3pvrmhbg2gq7sjpwb0c8xd7a4zhzxbiv8s7z8yvyh"))))
+                "0jwpda3q023dn3sp41n8648951i7iagfv8zzpriv7hpkjivlafg7"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:tests? #f ;; FIXME: 662 tests; 168 fail and 99 are skipped
-                   ;; with perl input: 50 fail and 99 are skipped
+     '(#:tests? #f ; FIXME: 694 tests; 170 fail and 100 are skipped
+                   ; with perl input: 50 fail and 100 are skipped
        #:phases (modify-phases %standard-phases
                   (replace 'configure
                     (lambda* (#:key outputs #:allow-other-keys)
@@ -464,8 +464,7 @@ attachments, create new maildirs, and so on.")
        ("python-sphinx" ,python2-sphinx)
        ("bash-completion" ,bash-completion)))
     (inputs
-     `(("emacs" ,emacs)
-       ("glib" ,glib)
+     `(("glib" ,glib)
        ("gmime" ,gmime)
        ("talloc" ,talloc)
        ("xapian" ,xapian)
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH] update notmuch and python bindings
  2016-08-08  4:34   ` Troy Sankey
@ 2016-08-08  7:05     ` ng0
  2016-08-08  7:42       ` ng0
  2016-08-08 13:31       ` Troy Sankey
  2016-08-08  8:21     ` Alex Kost
  1 sibling, 2 replies; 15+ messages in thread
From: ng0 @ 2016-08-08  7:05 UTC (permalink / raw)
  To: guix-devel

Troy Sankey <sankeytms@gmail.com> writes:

> Updated patches address all comments so far except for the removal of
> the emacs input.  Also updated the test numbers just for fun.
>
> Quoting ng0 (2016-08-07 18:24:57)
>> I'd also advise to upgrade git to something more recent if your distro
>> allows it :)
>
> Debian stable :)  It's a long term project of mine to switch to GuixSD.
> I'm switching over one package at a time.  Next is notmuch!

Maybe git 2.9.x is in backports.. I'm just pointing this out because
recently someone told me about security issues with certain versions of
git.

>> I'll try to test build tomorrow morning when my buildserver is up
>> again. release notes read interesting enough. thanks for the patches.
>
> Thanks.
>
> Troy

> From 034a4ac3b1bc85ae574fbe9f79add609cf311cc1 Mon Sep 17 00:00:00 2001
> From: Troy Sankey <sankeytms@gmail.com>
> Date: Sun, 7 Aug 2016 13:21:28 -0400
> Subject: [PATCH 1/3] gnu: notmuch: Update to 0.22.1.
>
> This also removes the emacs input.  Quote from the notmuch NEWS file:
>
>   Drop dependency on "pkg-config emacs".
> ---
>  gnu/packages/mail.scm | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> index 28978a8..82e35fb 100644
> --- a/gnu/packages/mail.scm
> +++ b/gnu/packages/mail.scm
> @@ -436,18 +436,18 @@ attachments, create new maildirs, and so on.")
>  (define-public notmuch
>    (package
>      (name "notmuch")
> -    (version "0.21")
> +    (version "0.22.1")
>      (source (origin
>                (method url-fetch)
>                (uri (string-append "https://notmuchmail.org/releases/notmuch-"
>                                    version ".tar.gz"))
>                (sha256
>                 (base32
> -                "1cr53rbpkcy3pvrmhbg2gq7sjpwb0c8xd7a4zhzxbiv8s7z8yvyh"))))
> +                "0jwpda3q023dn3sp41n8648951i7iagfv8zzpriv7hpkjivlafg7"))))
>      (build-system gnu-build-system)
>      (arguments
> -     '(#:tests? #f ;; FIXME: 662 tests; 168 fail and 99 are skipped
> -                   ;; with perl input: 50 fail and 99 are skipped
> +     '(#:tests? #f ; FIXME: 694 tests; 170 fail and 100 are skipped
> +                   ; with perl input: 50 fail and 100 are skipped

I think this comment should not be updated in your patch, like I wrote
before someone should update the comment when either the whole file is
addressed in stylistic fixes or when the tests are changed from false to
true or something test related is changed. Your version bump does not do
this.

>         #:phases (modify-phases %standard-phases
>                    (replace 'configure
>                      (lambda* (#:key outputs #:allow-other-keys)
> @@ -464,8 +464,7 @@ attachments, create new maildirs, and so on.")
>         ("python-sphinx" ,python2-sphinx)
>         ("bash-completion" ,bash-completion)))
>      (inputs
> -     `(("emacs" ,emacs)
> -       ("glib" ,glib)
> +     `(("glib" ,glib)
>         ("gmime" ,gmime)
>         ("talloc" ,talloc)
>         ("xapian" ,xapian)
> -- 
> 2.1.4
>

-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] update notmuch and python bindings
  2016-08-08  7:05     ` ng0
@ 2016-08-08  7:42       ` ng0
  2016-08-08 13:31       ` Troy Sankey
  1 sibling, 0 replies; 15+ messages in thread
From: ng0 @ 2016-08-08  7:42 UTC (permalink / raw)
  To: guix-devel

ng0 <ng0@we.make.ritual.n0.is> writes:

> Troy Sankey <sankeytms@gmail.com> writes:
>
>> Updated patches address all comments so far except for the removal of
>> the emacs input.  Also updated the test numbers just for fun.
>>
>> Quoting ng0 (2016-08-07 18:24:57)
>>> I'd also advise to upgrade git to something more recent if your distro
>>> allows it :)
>>
>> Debian stable :)  It's a long term project of mine to switch to GuixSD.
>> I'm switching over one package at a time.  Next is notmuch!
>
> Maybe git 2.9.x is in backports.. I'm just pointing this out because
> recently someone told me about security issues with certain versions of
> git.
>
>>> I'll try to test build tomorrow morning when my buildserver is up
>>> again. release notes read interesting enough. thanks for the patches.
>>
>> Thanks.
>>
>> Troy

The patches build, the practical part I can not review, reading the
CHANGELOG I assume it to work this way, but someone else should review
this.

>> From 034a4ac3b1bc85ae574fbe9f79add609cf311cc1 Mon Sep 17 00:00:00 2001
>> From: Troy Sankey <sankeytms@gmail.com>
>> Date: Sun, 7 Aug 2016 13:21:28 -0400
>> Subject: [PATCH 1/3] gnu: notmuch: Update to 0.22.1.
>>
>> This also removes the emacs input.  Quote from the notmuch NEWS file:
>>
>>   Drop dependency on "pkg-config emacs".

I don't feel good about this commit message, I would rather write:

gnu: notmuch: Update to 0.22.1.

* gnu/packages/mail.scm (notmuch): Update to 0.22.1.
(notmuch)[inputs]: Remove emacs.


Or something like this.

What do you think?
-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] update notmuch and python bindings
  2016-08-07 22:04     ` ng0
@ 2016-08-08  8:20       ` Alex Kost
  0 siblings, 0 replies; 15+ messages in thread
From: Alex Kost @ 2016-08-08  8:20 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

ng0 (2016-08-08 01:04 +0300) wrote:

> Troy Sankey <sankeytms@gmail.com> writes:
>
>> Quoting ng0 (2016-08-07 15:29:34)
>>> >      (inputs
>>> > -     `(("emacs" ,emacs)
>>> > -       ("glib" ,glib)
>>> > +     `(("glib" ,glib)
>>>
>>> Why is emacs removed?
>>
>> Please see the commit message :)
>>
>> Of course I could be misunderstanding something, but it does build
>> successfully.  I do not normally use emacs, so I was not able to test
>> this particular change.

Commit message:

  This also removes the emacs input.  Quote from the notmuch NEWS file:

    Drop dependency on "pkg-config emacs".

This only means that emacs is not required for notmuch to be built
successfully (it is done for those people who don't use emacs).  But it
doesn't mean this dependency should be dropped.  In Guix we usually
include all available features.

> Ah, sorry.
> I don't want to mix up my notmuch and the review, and I'll be occupied
> until tuesday night, so someone who does not rely on a functional
> notmuch should review if it works correctly. I find it weird that the
> input is dropped.

You are right, emacs input shouldn't be dropped.  This would lead to
non-compiled elisp files (I mean
/gnu/store/...-notmuch-0.22.1/share/emacs/site-lisp/ would contain only
*.el files but not *.elc).

I would rather replace 'emacs' with 'emacs-minimal', also I think it
should be moved to 'native-inputs'; but this does not relate to this
patch (I'll commit this change separately).

-- 
Alex

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] update notmuch and python bindings
  2016-08-08  4:34   ` Troy Sankey
  2016-08-08  7:05     ` ng0
@ 2016-08-08  8:21     ` Alex Kost
  2016-08-11 15:18       ` Alex Kost
  1 sibling, 1 reply; 15+ messages in thread
From: Alex Kost @ 2016-08-08  8:21 UTC (permalink / raw)
  To: Troy Sankey; +Cc: guix-devel

> From 0a134eaf40aa9dd6fa5e2e24e3d226203a03da73 Mon Sep 17 00:00:00 2001
> From: Troy Sankey <sankeytms@gmail.com>
> Date: Sun, 7 Aug 2016 13:26:30 -0400
> Subject: [PATCH 2/3] gnu: Add python-notmuch
>
> ---
>  gnu/packages/mail.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 42 insertions(+)
>
> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> index 82e35fb..1634d86 100644
> --- a/gnu/packages/mail.scm
> +++ b/gnu/packages/mail.scm
> @@ -517,6 +517,48 @@ ing, and tagging large collections of email messages.")
>  useful for email address completion.")
>      (license license:expat)))
>  
> +(define-public python-notmuch
> +  (package
> +    (name "python-notmuch")
> +    (version "0.22.1")
> +    (source (origin
> +              (method url-fetch)
> +              ;; notmuch python bindings are now unavailable on pypi.  The
> +              ;; bindings are distributed via the notmuch release tarball.
> +              (uri (string-append
> +                    "https://notmuchmail.org/releases/notmuch-"
> +                    version
> +                    ".tar.gz"))
> +              (sha256
> +               (base32
> +                "0jwpda3q023dn3sp41n8648951i7iagfv8zzpriv7hpkjivlafg7"))))
> +    (build-system python-build-system)
> +    (inputs `(("notmuch" ,notmuch)))
> +    (arguments
> +     `(#:tests? #f  ; no "test" target
> +       #:phases
> +       (modify-phases %standard-phases
> +         ;; this python package lives in a subdirectory of the notmuch source
> +         ;; tree, so chdir into it before building:
> +         (add-before 'build 'chdir
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (chdir "bindings/python")))

I'm going to write it like this:

         (add-after 'unpack 'enter-python-dir
           (lambda _ (chdir "bindings/python") #t))

Although the phase succeeds without this trailing #t, but it is more
accurate to use it.  The thing is: if a build phase succeeds, it should
return non-false value while the value of 'chdir' is unspecified.

> +         ;; make sure the correct notmuch shared library gets loaded:
> +         (add-before
> +           'build 'set-libnotmuch-file-name
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (let ((notmuch (assoc-ref inputs "notmuch")))
> +               (substitute* "notmuch/globals.py"
> +                 (("libnotmuch\\.so\\.")
> +                  (string-append notmuch "/lib/libnotmuch.so.")))
> +               #t))))))
> +    (home-page "http://notmuchmail.org/")
> +    (synopsis "Python bindings of the Notmuch mail indexing library")
> +    (description
> +     "This package provides Python bindings to use the Notmuch mail indexing
> +and search library.")
> +    (license gpl3+)))
> +
>  (define-public python2-notmuch
>    (package
>      (name "python2-notmuch")
> -- 
> 2.1.4

I will commit this patchset in a couple of days if there will be no
other comments, thanks!
And thanks to ng0 for commenting!

-- 
Alex

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] update notmuch and python bindings
  2016-08-07 18:55 [PATCH] update notmuch and python bindings Troy Sankey
  2016-08-07 19:29 ` ng0
  2016-08-07 22:24 ` ng0
@ 2016-08-08  8:35 ` Alex Kost
  2016-08-08 15:07   ` Troy Sankey
  2 siblings, 1 reply; 15+ messages in thread
From: Alex Kost @ 2016-08-08  8:35 UTC (permalink / raw)
  To: Troy Sankey; +Cc: guix-devel

> From b3c53dec33e35d554e4a30de108477bc4fbe932f Mon Sep 17 00:00:00 2001
> From: Troy Sankey <sankeytms@gmail.com>
> Date: Sun, 7 Aug 2016 13:26:30 -0400
> Subject: [PATCH 2/3] gnu: Add python-notmuch
>
> ---
>  gnu/packages/mail.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 42 insertions(+)
>
> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> index c58e5f5..96537c4 100644
> --- a/gnu/packages/mail.scm
> +++ b/gnu/packages/mail.scm
> @@ -517,6 +517,48 @@ ing, and tagging large collections of email messages.")
>  useful for email address completion.")
>      (license license:expat)))
>  
> +(define-public python-notmuch
> +  (package
> +    (name "python-notmuch")
> +    (version "0.22.1")
> +    (source (origin
> +              (method url-fetch)
> +              ; notmuch python bindings are now unavailable on pypi.  The
> +              ; bindings are distributed via the notmuch release tarball.
> +              (uri (string-append
> +                    "https://notmuchmail.org/releases/notmuch-"
> +                    version
> +                    ".tar.gz"))
> +              (sha256
> +               (base32
> +                "0jwpda3q023dn3sp41n8648951i7iagfv8zzpriv7hpkjivlafg7"))))

I forgot one thing: since the source will be the same as the one of
'notmuch' package, I'm going to write it like this:

    ;; Notmuch python bindings are now unavailable on pypi.  The
    ;; bindings are distributed via the notmuch release tarball.
    (source (package-source notmuch))

Thanks again! (no need to resend the patches, I'll fix the mentioned
notes)

-- 
Alex

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] update notmuch and python bindings
  2016-08-08  7:05     ` ng0
  2016-08-08  7:42       ` ng0
@ 2016-08-08 13:31       ` Troy Sankey
  1 sibling, 0 replies; 15+ messages in thread
From: Troy Sankey @ 2016-08-08 13:31 UTC (permalink / raw)
  To: ng0, guix-devel

Quoting ng0 (2016-08-08 03:05:46)
> > -     '(#:tests? #f ;; FIXME: 662 tests; 168 fail and 99 are skipped
> > -                   ;; with perl input: 50 fail and 99 are skipped
> > +     '(#:tests? #f ; FIXME: 694 tests; 170 fail and 100 are skipped
> > +                   ; with perl input: 50 fail and 100 are skipped
>
> I think this comment should not be updated in your patch, like I wrote
> before someone should update the comment when either the whole file is
> addressed in stylistic fixes or when the tests are changed from false to
> true or something test related is changed. Your version bump does not do
> this.

This also changes the numbers.  I assume these failing tests won't be
fixed in the immediate term, so I figured it would be best to at least
keep the comment accurate.

Troy

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] update notmuch and python bindings
  2016-08-08  8:35 ` Alex Kost
@ 2016-08-08 15:07   ` Troy Sankey
  0 siblings, 0 replies; 15+ messages in thread
From: Troy Sankey @ 2016-08-08 15:07 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel

Quoting Alex Kost (2016-08-08 04:35:12)
> I forgot one thing: since the source will be the same as the one of
> 'notmuch' package, I'm going to write it like this:
> 
>     ;; Notmuch python bindings are now unavailable on pypi.  The
>     ;; bindings are distributed via the notmuch release tarball.
>     (source (package-source notmuch))

Neat!  It also occurs to me that guix doesn't need to re-download the tarball
because the /gnu/store is a local file cache---cool!

> Thanks again! (no need to resend the patches, I'll fix the mentioned
> notes)

Excellent, much appreciated.

Troy

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] update notmuch and python bindings
  2016-08-07 22:24 ` ng0
  2016-08-08  4:34   ` Troy Sankey
@ 2016-08-08 21:30   ` Leo Famulari
  1 sibling, 0 replies; 15+ messages in thread
From: Leo Famulari @ 2016-08-08 21:30 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

On Sun, Aug 07, 2016 at 10:24:57PM +0000, ng0 wrote:
> Troy Sankey <sankeytms@gmail.com> writes:
> > 2.1.4
> 
> I'd also advise to upgrade git to something more recent if your distro
> allows it :)

I agree, unless your distro is patching this version against security
bugs. There was a client and server arbitrary remote code execution bug
in Git < 2.7.4:

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2324
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2315

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] update notmuch and python bindings
  2016-08-08  8:21     ` Alex Kost
@ 2016-08-11 15:18       ` Alex Kost
  0 siblings, 0 replies; 15+ messages in thread
From: Alex Kost @ 2016-08-11 15:18 UTC (permalink / raw)
  To: Troy Sankey; +Cc: guix-devel

> I will commit this patchset in a couple of days if there will be no
> other comments, thanks!

Committed as 25a78db, 4b6909b and caa6fc8, thanks again.

-- 
Alex

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2016-08-11 15:18 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-07 18:55 [PATCH] update notmuch and python bindings Troy Sankey
2016-08-07 19:29 ` ng0
2016-08-07 20:40   ` Troy Sankey
2016-08-07 22:04     ` ng0
2016-08-08  8:20       ` Alex Kost
2016-08-07 22:24 ` ng0
2016-08-08  4:34   ` Troy Sankey
2016-08-08  7:05     ` ng0
2016-08-08  7:42       ` ng0
2016-08-08 13:31       ` Troy Sankey
2016-08-08  8:21     ` Alex Kost
2016-08-11 15:18       ` Alex Kost
2016-08-08 21:30   ` Leo Famulari
2016-08-08  8:35 ` Alex Kost
2016-08-08 15:07   ` Troy Sankey

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).