aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/mail.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/mail.scm')
-rw-r--r--gnu/packages/mail.scm102
1 files changed, 101 insertions, 1 deletions
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index d78efbf09c..2ae3fda9a7 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -95,6 +95,7 @@
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages perl-web)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
@@ -110,6 +111,7 @@
#:use-module (gnu packages texinfo)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages w3m)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
@@ -1389,7 +1391,7 @@ How it works:
@item This password digest is used as a symmetric secret to decrypt a libsodium secretbox.
@item Inside the secretbox is stored a Curve25519 private key.
@item The Curve25519 private key is used to decrypt each individual message,
-using lidsodium sealed boxes.
+using libsodium sealed boxes.
@item New mail is encrypted as it arrives using the Curve25519 public key.
@end enumerate\n")
(license agpl3)))
@@ -1504,6 +1506,28 @@ locates email addresses in strings and returns a list of Email::Address
objects found. Alternatively you may construct objects manually.")
(license perl-license)))
+(define-public perl-email-address-xs
+ (package
+ (name "perl-email-address-xs")
+ (version "1.04")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/P/PA/PALI/"
+ "Email-Address-XS-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0gjrrl81z3sfwavgx5kwjd87gj44mlnbbqsm3dgdv1xllw26spwr"))))
+ (build-system perl-build-system)
+ (home-page "https://metacpan.org/release/Email-Address-XS")
+ (synopsis "Parse and format RFC 5322 email addresses and groups")
+ (description
+ "Email::Address::XS implements RFC 5322 parser and formatter of email
+addresses and groups. Unlike Email::Address, this module does not use regular
+expressions for parsing but instead is implemented in XS and uses shared code
+from Dovecot IMAP server.")
+ (license perl-license)))
+
(define-public perl-email-date-format
(package
(name "perl-email-date-format")
@@ -2866,3 +2890,79 @@ replacement for the @code{urlview} program.")
(description "This package provides a TNEF stream reader library and
related tools to process winmail.dat files.")
(license gpl2+)))
+
+(define-public public-inbox
+ (let ((commit "3cf66514aea9e958999973b9f104473b6d800fbe")
+ (revision "0"))
+ (package
+ (name "public-inbox")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin (method git-fetch)
+ (uri (git-reference
+ (url "https://public-inbox.org")
+ (commit commit)))
+ (sha256
+ (base32
+ "1sxycwlm2n6p544gn9f0vf3xs6gz8vdswdhs2ha6fka8mgabvmdh"))
+ (file-name (git-file-name name version))))
+ (build-system perl-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'qualify-paths
+ (lambda _
+ ;; Use absolute paths for 'xapian-compact'.
+ (let ((xapian-compact (which "xapian-compact")))
+ (substitute* "script/public-inbox-compact"
+ (("xapian-compact") xapian-compact)))
+ #t))
+ (add-before 'check 'pre-check
+ (lambda _
+ (substitute* "t/spawn.t"
+ (("\\['env'\\]") (string-append "['" (which "env") "']")))
+ #t))
+ (add-after 'install 'wrap-programs
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (for-each
+ (lambda (prog)
+ (wrap-program prog
+ ;; Let those scripts find their perl modules.
+ `("PERL5LIB" ":" prefix
+ (,(string-append out "/lib/perl5/site_perl")
+ ,(getenv "PERL5LIB")))
+ ;; 'git' is invoked in various files of the PublicInbox
+ ;; perl module.
+ `("PATH" ":" prefix
+ (,(string-append (assoc-ref inputs "git") "/bin")))))
+ (find-files (string-append out "/bin"))))
+ #t)))))
+ (native-inputs
+ `(("git" ,git)
+ ("xapian" ,xapian)))
+ (inputs
+ `(("perl-danga-socket" ,perl-danga-socket)
+ ("perl-dbd-sqlite" ,perl-dbd-sqlite)
+ ("perl-dbi" ,perl-dbi)
+ ("perl-email-address-xs" ,perl-email-address-xs)
+ ("perl-email-mime-contenttype" ,perl-email-mime-contenttype)
+ ("perl-email-mime" ,perl-email-mime)
+ ("perl-email-simple" ,perl-email-simple)
+ ("perl-filesys-notify-simple" ,perl-filesys-notify-simple)
+ ("perl-plack-middleware-deflater" ,perl-plack-middleware-deflater)
+ ("perl-plack-middleware-reverseproxy" ,perl-plack-middleware-reverseproxy)
+ ("perl-plack" ,perl-plack)
+ ("perl-search-xapian" ,perl-search-xapian)
+ ("perl-timedate" ,perl-timedate)
+ ("perl-uri-escape" ,perl-uri-escape)
+ ;; For testing.
+ ("perl-ipc-run" ,perl-ipc-run)
+ ("perl-xml-feed" ,perl-xml-feed)))
+ (home-page "https://public-inbox.org/README.html")
+ (synopsis "Archive mailing lists in git repositories")
+ (description
+ "public-inbox implements the sharing of an email inbox via git to
+complement or replace traditional mailing lists. Readers may read via NNTP,
+Atom feeds or HTML archives.")
+ (license agpl3+))))