;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Julien Lepiller ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (packages perl) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) #:use-module (gnu packages networking) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages tls) #:use-module (gnu packages web)) (define-public perl-mail-authenticationresults (package (name "perl-mail-authenticationresults") (version "1.20180923") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MB/MBRADSHAW/" "Mail-AuthenticationResults-" version ".tar.gz")) (sha256 (base32 "1g1wym9vcbhldwvi4w5pl0fhd4jh2icj975awf4wr5xmkli9mxbz")))) (build-system perl-build-system) (native-inputs `(("perl-test-exception" ,perl-test-exception))) (home-page "https://metacpan.org/release/Mail-AuthenticationResults") (synopsis "Object Oriented Authentication-Results Headers") (description "Mail::AuthenticationResults parses the message header field that indicates the message authentication status as per RFC7601. This module is not fully compliant with the RFC but it tries to implement most styles of Authentication-Results header seen in the wild.") (license license:perl-license))) (define-public perl-net-dns-resolver-mock (package (name "perl-net-dns-resolver-mock") (version "1.20171219") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MB/MBRADSHAW/" "Net-DNS-Resolver-Mock-" version ".tar.gz")) (sha256 (base32 "0m3rxpkv1b9121srvbqkrgzg4m8mnydiydqv34in1i1ixwrl6jn9")))) (build-system perl-build-system) (propagated-inputs `(("perl-net-dns" ,perl-net-dns))) (home-page "https://metacpan.org/release/Net-DNS-Resolver-Mock") (synopsis "Mock a DNS Resolver object for testing") (description "Net::DNS::Resolver::Mock is a a subclass of @code{Net::DNS::Resolver} which parses a zonefile for it's data source. It is primarily for use in testing.") (license license:perl-license))) (define-public perl-mail-dkim (package (name "perl-mail-dkim") (version "0.55") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-" version ".tar.gz")) (sha256 (base32 "18nsh1ff6fkns4xk3y2ixmzmadgggydj11qkzj6nlnq2hzqxsafz")))) (build-system perl-build-system) (propagated-inputs `(("perl-crypt-openssl-rsa" ,perl-crypt-openssl-rsa) ("perl-mail-authenticationresults" ,perl-mail-authenticationresults) ("perl-mailtools" ,perl-mailtools) ("perl-net-dns" ,perl-net-dns) ("perl-net-dns-resolver-mock" ,perl-net-dns-resolver-mock) ("perl-test-requiresinternet" ,perl-test-requiresinternet) ("perl-yaml-libyaml" ,perl-yaml-libyaml))) (home-page "https://metacpan.org/release/Mail-DKIM") (synopsis "Signs/verifies Internet mail with DKIM/DomainKey signatures") (description "Mail::DKIM is a Perl module that implements the new Domain Keys Identified Mail (DKIM) standard, and the older Yahoo! DomainKeys standard, both of which sign and verify emails using digital signatures and DNS records. Mail-DKIM can be used by any Perl program that wants to provide support for DKIM and/or DomainKeys.") (license license:gpl3+))) (define-public dkimproxy (package (name "dkimproxy") (version "1.4.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/dkimproxy/dkimproxy/" version "/dkimproxy-" version ".tar.gz")) (sha256 (base32 "1gc5c7lg2qrlck7b0lvjfqr824ch6jkrzkpsn0gjvlzg7hfmld75")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'install 'make-wrapper (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (for-each (lambda (prog) (wrap-program (string-append out "/bin/" prog) `("PERL5LIB" ":" prefix (,(string-append (assoc-ref inputs "perl-mail-dkim") "/lib/perl5/site_perl") ,(string-append (assoc-ref inputs "perl-mailtools") "/lib/perl5/site_perl") ,(string-append (assoc-ref inputs "perl-crypt-openssl-rsa") "/lib/perl5/site_perl") ,(string-append (assoc-ref inputs "perl-net-dns") "/lib/perl5/site_perl") ,(string-append (assoc-ref inputs "perl-net-server") "/lib/perl5/site_perl"))))) '("dkimproxy.in" "dkimproxy.out"))) #t))))) (inputs `(("perl" ,perl) ("perl-crypt-openssl-rsa" ,perl-crypt-openssl-rsa) ("perl-mailtools" ,perl-mailtools) ("perl-mail-dkim" ,perl-mail-dkim) ("perl-net-dns" ,perl-net-dns) ("perl-net-server" ,perl-net-server))) (home-page "http://dkimproxy.sourceforge.net/") (synopsis "SMTP-proxy for DKIM signing and verifying") (description "DKIMproxy is an SMTP-proxy that signs and/or verifies emails, using the @code{Mail::DKIM} module. It is designed for Postfix, but should work with any mail server. It comprises two separate proxies, an outbound proxy for signing outgoing email, and an inbound proxy for verifying signatures of incoming email. With Postfix, the proxies can operate as either @code{Before-Queue} or @code{After-Queue} content filters.") (license license:gpl3+)))