Hi, This looks pretty good to me, I've pushed to master as df661fb960ed996c4378d10a5e5f24499335002c. B. Wilson via Guix-patches via writes: > * 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 > ;;; Copyright © 2020 Tim Gesthuizen > ;;; Copyright © 2020 Alexandru-Sergiu Marton > +;;; Copyright © 2020 B. Wilson > ;;; > ;;; 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. > + #: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)) > + (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