~ruther/guix-local

b065f78e943b6d8e2a45c20f4c9f7a07ade8aefd — Carlo Zancanaro 9 years ago 8d17cf1
services: Make exim-service-type use mail-aliases-service-type

* gnu/services/mail.scm (exim-configuration)[aliases]: Remove field.
(exim-activation, exim-shepherd-service): Remove alias from matches.
(exim-etc): Remove procedure.
(exim-service-type): Extend mail-aliases-service-type instead of
etc-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 4 insertions(+), 20 deletions(-)

M gnu/services/mail.scm
M gnu/services/mail.scm => gnu/services/mail.scm +4 -20
@@ 1699,9 1699,7 @@ accept from local for any relay
  (package       exim-configuration-package ;<package>
                 (default exim))
  (config-file   exim-configuration-config-file ;file-like
                 (default #f))
  (aliases       exim-configuration-aliases ;; list of lists
                 (default '())))
                 (default #f)))

(define %exim-accounts
  (list (user-group


@@ 1728,7 1726,7 @@ exim_group = exim

(define exim-shepherd-service
  (match-lambda
    (($ <exim-configuration> package config-file aliases)
    (($ <exim-configuration> package config-file)
     (list (shepherd-service
            (provision '(exim mta))
            (documentation "Run the exim daemon.")


@@ 1741,7 1739,7 @@ exim_group = exim

(define exim-activation
  (match-lambda
    (($ <exim-configuration> package config-file aliases)
    (($ <exim-configuration> package config-file)
     (with-imported-modules '((guix build utils))
       #~(begin
           (use-modules (guix build utils))


@@ 1754,20 1752,6 @@ exim_group = exim
           (zero? (system* #$(file-append package "/bin/exim")
                           "-bV" "-C" #$(exim-computed-config-file package config-file))))))))

(define exim-etc
  (match-lambda
    (($ <exim-configuration> package config-file aliases)
     `(("aliases" ,(plain-file "aliases"
                               ;; Ideally we'd use a format string like
                               ;; "~:{~a: ~{~a~^,~}\n~}", but it gives a
                               ;; warning that I can't figure out how to fix,
                               ;; so we'll just use string-join below instead.
                               (format #f "~:{~a: ~a\n~}"
                                       (map (lambda (entry)
                                              (list (car entry)
                                                    (string-join (cdr entry) ",")))
                                            aliases))))))))

(define exim-profile
  (compose list exim-configuration-package))



@@ 1779,4 1763,4 @@ exim_group = exim
          (service-extension account-service-type (const %exim-accounts))
          (service-extension activation-service-type exim-activation)
          (service-extension profile-service-type exim-profile)
          (service-extension etc-service-type exim-etc)))))
          (service-extension mail-aliases-service-type (const '()))))))