[PATCH] gnu: Add mblaze.

  • Done
  • quality assurance status badge
Details
2 participants
  • B. Wilson
  • Christopher Baines
Owner
unassigned
Submitted by
B. Wilson
Severity
normal
B
B
B. Wilson wrote on 7 Nov 2020 11:05
(address . guix-patches@gnu.org)(name . B. Wilson)(address . elaexuotee@wilsonb.com)
20201107100542.1479-1-elaexuotee@wilsonb.com
* gnu/packages/mail.scm (mblaze): New variable.
---
gnu/packages/mail.scm | 47 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (64 lines)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 44a156fd99..3d3e8ab540 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -37,6 +37,7 @@
;;; Copyright © 2020 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
+;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3960,3 +3961,49 @@ black lists. Each message is analysed by Rspamd and given a spam
score.")
(home-page "https://www.rspamd.com/")
(license license:asl2.0)))
+
+(define-public mblaze
+ (package
+ (name "mblaze")
+ (version "0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/leahneukirchen/mblaze")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0p97zfl35ilrnrx9ynj82igsb698m9klikfaicw5jhjpf6qp2n3y"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("perl" ,perl)))
+ (arguments
+ `(#:tests? #f ; XXX: Upstream tests appear to be broken
+ #:make-flags (list "CC=gcc" "PREFIX="
+ (string-append "DESTDIR=" %output))
+ #:phases (modify-phases %standard-phases (delete 'configure))))
+ (home-page "https://github.com/leahneukirchen/mblaze")
+ (synopsis "Unix utilities to deal with Maildir")
+ (description
+ "The mblaze message system is a set of Unix utilities for processing and
+interacting with mail messages which are stored in maildir folders.
+
+Its design is roughly inspired by MH, the RAND Message Handling System, but it
+is a complete implementation from scratch.
+
+mblaze is a classic command line MUA and has no features for receiving or
+transferring messages; you can operate on messages in a local maildir spool, or
+fetch your messages using fdm(1), getmail(1), offlineimap(1), or similar
+utilities, and send it using dma(8), msmtp(1), sendmail(8), as provided by
+OpenSMTPD, Postfix, or similar.
+
+mblaze operates directly on maildir folders and doesn't use its own caches or
+databases. There is no setup needed for many uses. All utilities have been
+written with performance in mind. Enumeration of all messages in a maildir
+is avoided unless necessary, and then optimized to limit syscalls. Parsing
+message metadata is optimized to limit I/O requests. Initial operations on a
+large maildir may feel slow, but as soon as they are in the file system cache,
+everything is blazingly fast. The utilities are written to be memory efficient
+(i.e. not wasteful), but whole messages are assumed to fit into RAM easily
+(one at a time).")
+ (license license:public-domain)))
--
2.29.2
C
C
Christopher Baines wrote on 18 Nov 2020 10:15
(name . B. Wilson)(address . elaexuotee@wilsonb.com)(address . 44501-done@debbugs.gnu.org)
87ft57kov3.fsf@cbaines.net
Hi,

This looks pretty good to me, I've pushed to master as
df661fb960ed996c4378d10a5e5f24499335002c.

B. Wilson via Guix-patches via <guix-patches@gnu.org> writes:

Toggle quote (40 lines)
> * gnu/packages/mail.scm (mblaze): New variable.
> ---
> gnu/packages/mail.scm | 47 +++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 47 insertions(+)
>
> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> index 44a156fd99..3d3e8ab540 100644
> --- a/gnu/packages/mail.scm
> +++ b/gnu/packages/mail.scm
> @@ -37,6 +37,7 @@
> ;;; Copyright © 2020 Alexey Abramov <levenson@mmer.org>
> ;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
> ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
> +;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -3960,3 +3961,49 @@ black lists. Each message is analysed by Rspamd and given a spam
> score.")
> (home-page "https://www.rspamd.com/")
> (license license:asl2.0)))
> +
> +(define-public mblaze
> + (package
> + (name "mblaze")
> + (version "0.2")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/leahneukirchen/mblaze")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "0p97zfl35ilrnrx9ynj82igsb698m9klikfaicw5jhjpf6qp2n3y"))))
> + (build-system gnu-build-system)
> + (native-inputs `(("perl" ,perl)))
> + (arguments
> + `(#:tests? #f ; XXX: Upstream tests appear to be broken

I'm also unsure about the tests, I only has a quick look though.

Toggle quote (2 lines)
> + #:make-flags (list "CC=gcc" "PREFIX="

I believe using (cc-for-target) is better than hardcoding gcc here, I
think it's something to do with cross compiling:

(string-append "CC=" ,(cc-for-target))

Toggle quote (28 lines)
> + (string-append "DESTDIR=" %output))
> + #:phases (modify-phases %standard-phases (delete 'configure))))
> + (home-page "https://github.com/leahneukirchen/mblaze")
> + (synopsis "Unix utilities to deal with Maildir")
> + (description
> + "The mblaze message system is a set of Unix utilities for processing and
> +interacting with mail messages which are stored in maildir folders.
> +
> +Its design is roughly inspired by MH, the RAND Message Handling System, but it
> +is a complete implementation from scratch.
> +
> +mblaze is a classic command line MUA and has no features for receiving or
> +transferring messages; you can operate on messages in a local maildir spool, or
> +fetch your messages using fdm(1), getmail(1), offlineimap(1), or similar
> +utilities, and send it using dma(8), msmtp(1), sendmail(8), as provided by
> +OpenSMTPD, Postfix, or similar.
> +
> +mblaze operates directly on maildir folders and doesn't use its own caches or
> +databases. There is no setup needed for many uses. All utilities have been
> +written with performance in mind. Enumeration of all messages in a maildir
> +is avoided unless necessary, and then optimized to limit syscalls. Parsing
> +message metadata is optimized to limit I/O requests. Initial operations on a
> +large maildir may feel slow, but as soon as they are in the file system cache,
> +everything is blazingly fast. The utilities are written to be memory efficient
> +(i.e. not wasteful), but whole messages are assumed to fit into RAM easily
> +(one at a time).")
> + (license license:public-domain)))

I also moved this definition up from the bottom of mail.scm. If everyone
adds packages at the bottom of modules, it makes Git conflicts more
likely, so it's best to avoid the bottom, unless you specifically want
the package to go there.

Generally all fine though,

Thanks again,

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAl+05iBfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XfSURAArAZpVm6xoky2RMctm8HgYYjpIo1u5xwY
kbVN7DAOAgnFazwmC1YV6T9X29HSDtBIi4e95t+r3Lq/+ZSt2aqvLut3SPbzqi9Y
SG0pIrozEhAa+hhoFl69ZyWhmROAe7S76gi0gAHeo9bvljQ+fqylLU1LhiVnZfrU
9tXmHIghyZh+SHDUbjAGoKfuCS9nRGfLv+mauSkjZoP53MTobTbu3oPMOw01TA2P
KHd3Z6jUt4Xh+HB+44AANuEu4QFq+7EDiSuewc75SPIGB9EoIJxgDKWfXrOVyg7k
bGlZEpc3pFH3EMdd3QwiCtLSzhBvxt5rVrxCy5KDciG4A0aWUWUmeC2suIW8guD3
9iecj3ngrRxxoiXvatW3MdLEug2t28FG7iHUSxWLYC8YhFQDKVgcQufSUPoGREAX
azwxXFOB+SAnQx460YAel0bDQEPxEpya/8wAHB7yGjnM7UNBW4snFKs4sk0j8C0Z
fmQOKd1gAYbFyWkpWyfLU+omLDQM2il7v4OY93FiUPLWL9Pl76xUergS1HI0WFrH
Oj6MG2Ur+l2cyRNwitobnt6ZaEr7agmH+5W2hToXTXUHuLY15vLb/tBX2BJm60X9
ADbwtimX9LSQ+88Ej/3oBonXjJq9tzez2hwkc318/MHH1CVxPtYz/7ewxK3T+00H
7w5jIQygWyo=
=NOFB
-----END PGP SIGNATURE-----

Closed
?