gnu: mumi: Update to 0.0.0-12.bb2fe92.
* gnu/packages/mail.scm (mumi): Update to 0.0.0-12.bb2fe92. [inputs]: Add guile-gcrypt, guile-redis, guile-webutils, mailutils. * gnu/services/web.scm (<mumi-configuration>): New record type. (mumi-configuration, mumi-configuration?, mumi-configuration-mumi, mumi-configuration-mailer?, mumi-configuration-sender, mumi-configuration-smtp): New procedures. (mumi-shepherd-services): Accept configuration; adjust start commands; add Shepherd service for mumi mailer. (mumi-service-type): Pass default configuration. * doc/guix.texi (Web Services): Update documentation.
This commit is contained in:
parent
a71d335832
commit
f00f52a1fb
3 changed files with 86 additions and 23 deletions
|
@ -20686,6 +20686,30 @@ but it also fetches and indexes mail retrieved from Debbugs.
|
||||||
This is the service type for Mumi.
|
This is the service type for Mumi.
|
||||||
@end defvr
|
@end defvr
|
||||||
|
|
||||||
|
@deftp {Data Type} mumi-configuration
|
||||||
|
Data type representing the Mumi service configuration. This type has the
|
||||||
|
following fields:
|
||||||
|
|
||||||
|
@table @asis
|
||||||
|
@item @code{mumi} (default: @code{mumi})
|
||||||
|
The Mumi package to use.
|
||||||
|
|
||||||
|
@item @code{mailer?} (default: @code{#true})
|
||||||
|
Whether to enable or disable the mailer component.
|
||||||
|
|
||||||
|
@item @code{mumi-configuration-sender}
|
||||||
|
The email address used as the sender for comments.
|
||||||
|
|
||||||
|
@item @code{mumi-configuration-smtp}
|
||||||
|
A URI to configure the SMTP settings for Mailutils. This could be
|
||||||
|
something like @code{sendmail:///path/to/bin/msmtp} or any other URI
|
||||||
|
supported by Mailutils. @xref{SMTP Mailboxes, SMTP Mailboxes,,
|
||||||
|
mailutils, GNU@tie{}Mailutils}.
|
||||||
|
|
||||||
|
@end table
|
||||||
|
@end deftp
|
||||||
|
|
||||||
|
|
||||||
@subsubheading FastCGI
|
@subsubheading FastCGI
|
||||||
@cindex fastcgi
|
@cindex fastcgi
|
||||||
@cindex fcgiwrap
|
@cindex fcgiwrap
|
||||||
|
|
|
@ -3003,8 +3003,8 @@ replacement for the @code{urlview} program.")
|
||||||
(license gpl2+)))
|
(license gpl2+)))
|
||||||
|
|
||||||
(define-public mumi
|
(define-public mumi
|
||||||
(let ((commit "0e9af8d11246eb08152a9bcbc3d04703963b756c")
|
(let ((commit "bb2fe926b496dc44f783430ab16f5219bae36e81")
|
||||||
(revision "11"))
|
(revision "12"))
|
||||||
(package
|
(package
|
||||||
(name "mumi")
|
(name "mumi")
|
||||||
(version (git-version "0.0.0" revision commit))
|
(version (git-version "0.0.0" revision commit))
|
||||||
|
@ -3016,7 +3016,7 @@ replacement for the @code{urlview} program.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0q5x33gc8gi8w7cjphdmhdyfa62b89mcbmj068yd5jxqx8sn4hlw"))))
|
"0azqrnkcwnh903f3ap8injhld3jicxdjzbbdi56ax46gjahr1rw3"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:modules ((guix build gnu-build-system)
|
`(#:modules ((guix build gnu-build-system)
|
||||||
|
@ -3047,11 +3047,15 @@ replacement for the @code{urlview} program.")
|
||||||
(inputs
|
(inputs
|
||||||
`(("guile-debbugs" ,guile-debbugs)
|
`(("guile-debbugs" ,guile-debbugs)
|
||||||
("guile-email" ,guile-email)
|
("guile-email" ,guile-email)
|
||||||
|
("guile-gcrypt" ,guile-gcrypt)
|
||||||
("guile-json" ,guile-json-3)
|
("guile-json" ,guile-json-3)
|
||||||
|
("guile-redis" ,guile-redis)
|
||||||
("guile-sqlite3" ,guile-sqlite3)
|
("guile-sqlite3" ,guile-sqlite3)
|
||||||
("guile-syntax-highlight" ,guile-syntax-highlight)
|
("guile-syntax-highlight" ,guile-syntax-highlight)
|
||||||
|
("guile-webutils" ,guile-webutils)
|
||||||
("gnutls" ,gnutls) ;needed to talk to https://debbugs.gnu.org
|
("gnutls" ,gnutls) ;needed to talk to https://debbugs.gnu.org
|
||||||
("guile" ,guile-2.2)
|
("guile" ,guile-2.2)
|
||||||
|
("mailutils" ,mailutils)
|
||||||
("mumimu" ,mumimu))) ;'mumimu' executable recorded in (mumi config)
|
("mumimu" ,mumimu))) ;'mumimu' executable recorded in (mumi config)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("autoconf" ,autoconf)
|
`(("autoconf" ,autoconf)
|
||||||
|
|
|
@ -262,6 +262,14 @@
|
||||||
patchwork-virtualhost
|
patchwork-virtualhost
|
||||||
patchwork-service-type
|
patchwork-service-type
|
||||||
|
|
||||||
|
<mumi-configuration>
|
||||||
|
mumi-configuration
|
||||||
|
mumi-configuration?
|
||||||
|
mumi-configuration-mumi
|
||||||
|
mumi-configuration-mailer?
|
||||||
|
mumi-configuration-sender
|
||||||
|
mumi-configuration-smtp
|
||||||
|
|
||||||
mumi-service-type))
|
mumi-service-type))
|
||||||
|
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
|
@ -1678,6 +1686,14 @@ WSGIPassAuthorization On
|
||||||
;;; Mumi.
|
;;; Mumi.
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
(define-record-type* <mumi-configuration>
|
||||||
|
mumi-configuration make-mumi-configuration
|
||||||
|
mumi-configuration?
|
||||||
|
(mumi mumi-configuration-mumi (default mumi))
|
||||||
|
(mailer? mumi-configuration-mailer? (default #t))
|
||||||
|
(sender mumi-configuration-sender)
|
||||||
|
(smtp mumi-configuration-smtp))
|
||||||
|
|
||||||
(define %mumi-activation
|
(define %mumi-activation
|
||||||
(with-imported-modules '((guix build utils))
|
(with-imported-modules '((guix build utils))
|
||||||
#~(begin
|
#~(begin
|
||||||
|
@ -1702,25 +1718,43 @@ WSGIPassAuthorization On
|
||||||
(home-directory "/var/empty")
|
(home-directory "/var/empty")
|
||||||
(shell (file-append shadow "/sbin/nologin")))))
|
(shell (file-append shadow "/sbin/nologin")))))
|
||||||
|
|
||||||
(define (mumi-shepherd-services mumi)
|
(define (mumi-shepherd-services config)
|
||||||
(list (shepherd-service
|
(match config
|
||||||
(provision '(mumi))
|
(($ <mumi-configuration> mumi mailer? sender smtp)
|
||||||
(documentation "Mumi bug-tracking web interface.")
|
(list (shepherd-service
|
||||||
(requirement '(networking))
|
(provision '(mumi))
|
||||||
(start #~(make-forkexec-constructor
|
(documentation "Mumi bug-tracking web interface.")
|
||||||
'(#$(file-append mumi "/bin/mumi"))
|
(requirement '(networking))
|
||||||
#:user "mumi" #:group "mumi"
|
(start #~(make-forkexec-constructor
|
||||||
#:log-file "/var/log/mumi.log"))
|
`(#$(file-append mumi "/bin/mumi") "web"
|
||||||
(stop #~(make-kill-destructor)))
|
,@(if mailer? '() '("--disable-mailer")))
|
||||||
(shepherd-service
|
#:user "mumi" #:group "mumi"
|
||||||
(provision '(mumi-worker))
|
#:log-file "/var/log/mumi.log"))
|
||||||
(documentation "Mumi bug-tracking web interface.")
|
(stop #~(make-kill-destructor)))
|
||||||
(requirement '(networking))
|
(shepherd-service
|
||||||
(start #~(make-forkexec-constructor
|
(provision '(mumi-worker))
|
||||||
'(#$(file-append mumi "/bin/mumi") "--worker")
|
(documentation "Mumi bug-tracking web interface database worker.")
|
||||||
#:user "mumi" #:group "mumi"
|
(requirement '(networking))
|
||||||
#:log-file "/var/log/mumi.worker.log"))
|
(start #~(make-forkexec-constructor
|
||||||
(stop #~(make-kill-destructor)))))
|
'(#$(file-append mumi "/bin/mumi") "worker")
|
||||||
|
#:user "mumi" #:group "mumi"
|
||||||
|
#:log-file "/var/log/mumi.worker.log"))
|
||||||
|
(stop #~(make-kill-destructor)))
|
||||||
|
(shepherd-service
|
||||||
|
(provision '(mumi-mailer))
|
||||||
|
(documentation "Mumi bug-tracking web interface mailer.")
|
||||||
|
(requirement '(networking))
|
||||||
|
(start #~(make-forkexec-constructor
|
||||||
|
`(#$(file-append mumi "/bin/mumi") "mailer"
|
||||||
|
,@(if sender
|
||||||
|
(list (string-append "--sender=" sender))
|
||||||
|
'())
|
||||||
|
,@(if smtp
|
||||||
|
(list (string-append "--smtp=" smtp))
|
||||||
|
'()))
|
||||||
|
#:user "mumi" #:group "mumi"
|
||||||
|
#:log-file "/var/log/mumi.mailer.log"))
|
||||||
|
(stop #~(make-kill-destructor)))))))
|
||||||
|
|
||||||
(define mumi-service-type
|
(define mumi-service-type
|
||||||
(service-type
|
(service-type
|
||||||
|
@ -1734,4 +1768,5 @@ WSGIPassAuthorization On
|
||||||
mumi-shepherd-services)))
|
mumi-shepherd-services)))
|
||||||
(description
|
(description
|
||||||
"Run Mumi, a Web interface to the Debbugs bug-tracking server.")
|
"Run Mumi, a Web interface to the Debbugs bug-tracking server.")
|
||||||
(default-value mumi)))
|
(default-value
|
||||||
|
(mumi-configuration))))
|
||||||
|
|
Reference in a new issue