gnu: Add nullmailer.
* gnu/packages/mail.scm (nullmailer): New public variable.
This commit is contained in:
		
							parent
							
								
									3189fad217
								
							
						
					
					
						commit
						1e1142d8cb
					
				
					 1 changed files with 82 additions and 0 deletions
				
			
		|  | @ -46,6 +46,7 @@ | ||||||
| 
 | 
 | ||||||
| (define-module (gnu packages mail) | (define-module (gnu packages mail) | ||||||
|   #:use-module (gnu packages) |   #:use-module (gnu packages) | ||||||
|  |   #:use-module (gnu packages admin) | ||||||
|   #:use-module (gnu packages aspell) |   #:use-module (gnu packages aspell) | ||||||
|   #:use-module (gnu packages autotools) |   #:use-module (gnu packages autotools) | ||||||
|   #:use-module (gnu packages backup) |   #:use-module (gnu packages backup) | ||||||
|  | @ -225,6 +226,87 @@ software.") | ||||||
|      ;; Libraries are under LGPLv3+, and programs under GPLv3+. |      ;; Libraries are under LGPLv3+, and programs under GPLv3+. | ||||||
|      (list gpl3+ lgpl3+)))) |      (list gpl3+ lgpl3+)))) | ||||||
| 
 | 
 | ||||||
|  | (define-public nullmailer | ||||||
|  |   (package | ||||||
|  |     (name "nullmailer") | ||||||
|  |     (version "2.2") | ||||||
|  |     (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 "0md8cf90fl2yf3zh9njjy42a673v4j4ygyq95xg7fzkygdigm1lq")))) | ||||||
|  |     (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 | ||||||
|  |            ;; only to clobber it later.  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 These require the not-yet-packaged tcpserver. | ||||||
|  |                           "protocols" "smtp-auth"))) | ||||||
|  |              #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 transfer agent") | ||||||
|  |     (description | ||||||
|  |      "Nullmailer is a simple replacement @acronym{MTA, Mail Transfer Agent} 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 | (define-public fetchmail | ||||||
|   (package |   (package | ||||||
|     (name "fetchmail") |     (name "fetchmail") | ||||||
|  |  | ||||||
		Reference in a new issue