From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48662) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gAk3n-00063L-IT for guix-patches@gnu.org; Thu, 11 Oct 2018 19:08:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gAk3m-0002yU-Kz for guix-patches@gnu.org; Thu, 11 Oct 2018 19:08:03 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:41468) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gAk3m-0002yF-Fu for guix-patches@gnu.org; Thu, 11 Oct 2018 19:08:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gAk3m-0007ok-6s for guix-patches@gnu.org; Thu, 11 Oct 2018 19:08:02 -0400 Subject: [bug#33020] [PATCH] gnu: Add nullmailer. Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48492) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gAk2d-0005rf-4T for guix-patches@gnu.org; Thu, 11 Oct 2018 19:06:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gAk2b-0002AU-DH for guix-patches@gnu.org; Thu, 11 Oct 2018 19:06:51 -0400 Received: from tobias.gr ([2001:470:7405::1]:46266) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gAk2Z-000266-LO for guix-patches@gnu.org; Thu, 11 Oct 2018 19:06:49 -0400 Received: by tobias.gr (OpenSMTPD) with ESMTP id b27b2f9f for ; Thu, 11 Oct 2018 23:06:42 +0000 (UTC) Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id f1e1f395 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Thu, 11 Oct 2018 23:06:40 +0000 (UTC) From: Tobias Geerinckx-Rice Date: Fri, 12 Oct 2018 01:06:32 +0200 Message-Id: <20181011230632.13515-1-me@tobias.gr> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 33020@debbugs.gnu.org * gnu/packages/mail.scm (nullmailer): New public variable. --- gnu/packages/mail.scm | 82 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 7348719ed..e7f5584b0 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -45,6 +45,7 @@ (define-module (gnu packages mail) #:use-module (gnu packages) + #:use-module (gnu packages admin) #:use-module (gnu packages aspell) #:use-module (gnu packages autotools) #:use-module (gnu packages base) @@ -225,6 +226,87 @@ software.") ;; Libraries are under LGPLv3+, and programs under GPLv3+. (list gpl3+ lgpl3+)))) +(define-public nullmailer + (package + (name "nullmailer") + (version "2.1") + (source + (origin + (method url-fetch) + (uri (list + (string-append "https://untroubled.org/nullmailer/" + "nullmailer-" version ".tar.gz") + ;; Previous releases are moved to this subdirectory. + (string-append "https://untroubled.org/nullmailer/archive/" + "nullmailer-" version ".tar.gz"))) + (sha256 + (base32 "0gykh0qc86rk0knfvp8ndqkryal3pvqdfdya94wvb6n1cc8p3ild")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--enable-tls" + "--localstatedir=/var" + "--sysconfdir=/etc") + #:phases + (modify-phases %standard-phases + (add-before 'check 'patch-test-FHS-file-names + (lambda _ + (with-directory-excursion "test" + (substitute* (list "functions.in" + "tests/send") + ;; Fix some shebangs later generated on the fly. + (("/bin/sh") (which "bash")))) + #t)) + (add-before 'check 'pass-PATH-to-tests + ;; 'runtest' launches each test through 'env -', clearing $PATH. The + ;; tests then source 'functions', which first demands a working $PATH, + ;; and later clobbers it again. Pass our $PATH to the test environment + ;; and don't touch it after that. + (lambda _ + (with-directory-excursion "test" + (substitute* "runtests" + (("env - bash") + (string-append "env - PATH=\"" (getenv "PATH") "\" bash"))) + (substitute* "functions.in" + (("export PATH=.*") ""))) + #t)) + (add-before 'check 'delete-failing-tests + (lambda _ + (with-directory-excursion "test/tests" + (for-each delete-file + (list + ;; XXX 'nullmailer-inject: nullmailer-queue failed: 15' + "inject/queue" + ;; XXX This equires the not-yet-packaged tcpserver. + "protocols"))) + #t)) + (add-before 'install 'skip-install-data-local + ;; Don't attempt to install run-time files outside of the store. + (lambda _ + (substitute* "Makefile" + ((" install-data-local") "")) + #t))))) + (native-inputs + ;; For tests. + `(("daemontools" ,daemontools))) ; for svc + (inputs + `(("gnutls" ,gnutls))) + (home-page "https://untroubled.org/nullmailer/") + (synopsis "Simple relay-only mail transport agent") + (description + "Nullmailer is a simple replacement Mail Transfer Agent (@dfn{MTA}) for +hosts that receive no local mail and only relay mail to a fixed set of smart +relays. It's useful for systems such as Web servers that must be able to send +email notifications, without having to run a full-blown MTA such as sendmail +or qmail. + +Nullmailer is designed to be simple to configure, easy to extend, and secure. +It requires little ongoing administration. The included @command{sendmail} +emulator front-end should allow most (if not all) sendmail-compatible programs +to run without any changes.") + (license (list lgpl2.1+ ; lib/cli++/ (but some files lack headers) + gpl2+)))) ; everything else + (define-public fetchmail (package (name "fetchmail") -- 2.18.0