[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#29425] [PATCH 6/6] services: prosody: Allow to add raw content to t
From: |
Clément Lassieur |
Subject: |
[bug#29425] [PATCH 6/6] services: prosody: Allow to add raw content to the config file. |
Date: |
Fri, 24 Nov 2017 17:52:27 +0100 |
* doc/guix.texi (Messaging Services): Update accordingly.
* gnu/services/messaging.scm (prosody-configuration)[raw-content]: New field.
(raw-content?, serialize-raw-content): New procedures.
---
doc/guix.texi | 10 +++++++---
gnu/services/messaging.scm | 13 ++++++++++++-
2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 957062e06..dc2da7a45 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -14106,7 +14106,7 @@ See
@url{http://prosody.im/doc/configure#virtual_host_settings}.
Available @code{virtualhost-configuration} fields are:
-all these @code{prosody-configuration} fields: @code{admins},
@code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled},
@code{groups-file}, @code{allow-registration?}, @code{ssl},
@code{c2s-require-encryption?}, @code{s2s-require-encryption?},
@code{s2s-secure-auth?}, @code{s2s-insecure-domains},
@code{s2s-secure-domains}, @code{authentication}, @code{log},
@code{http-max-content-size}, @code{http-external-url}, plus:
+all these @code{prosody-configuration} fields: @code{admins},
@code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled},
@code{groups-file}, @code{allow-registration?}, @code{ssl},
@code{c2s-require-encryption?}, @code{s2s-require-encryption?},
@code{s2s-secure-auth?}, @code{s2s-insecure-domains},
@code{s2s-secure-domains}, @code{authentication}, @code{log},
@code{http-max-content-size}, @code{http-external-url}, @code{raw-content},
plus:
@deftypevr address@hidden parameter} string domain
Domain you wish Prosody to serve.
@end deftypevr
@@ -14128,7 +14128,7 @@ Defaults to @samp{()}.
Available @code{int-component-configuration} fields are:
-all these @code{prosody-configuration} fields: @code{admins},
@code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled},
@code{groups-file}, @code{allow-registration?}, @code{ssl},
@code{c2s-require-encryption?}, @code{s2s-require-encryption?},
@code{s2s-secure-auth?}, @code{s2s-insecure-domains},
@code{s2s-secure-domains}, @code{authentication}, @code{log},
@code{http-max-content-size}, @code{http-external-url}, plus:
+all these @code{prosody-configuration} fields: @code{admins},
@code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled},
@code{groups-file}, @code{allow-registration?}, @code{ssl},
@code{c2s-require-encryption?}, @code{s2s-require-encryption?},
@code{s2s-secure-auth?}, @code{s2s-insecure-domains},
@code{s2s-secure-domains}, @code{authentication}, @code{log},
@code{http-max-content-size}, @code{http-external-url}, @code{raw-content},
plus:
@deftypevr address@hidden parameter} string hostname
Hostname of the component.
@end deftypevr
@@ -14181,7 +14181,7 @@ Defaults to @samp{()}.
Available @code{ext-component-configuration} fields are:
-all these @code{prosody-configuration} fields: @code{admins},
@code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled},
@code{groups-file}, @code{allow-registration?}, @code{ssl},
@code{c2s-require-encryption?}, @code{s2s-require-encryption?},
@code{s2s-secure-auth?}, @code{s2s-insecure-domains},
@code{s2s-secure-domains}, @code{authentication}, @code{log},
@code{http-max-content-size}, @code{http-external-url}, plus:
+all these @code{prosody-configuration} fields: @code{admins},
@code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled},
@code{groups-file}, @code{allow-registration?}, @code{ssl},
@code{c2s-require-encryption?}, @code{s2s-require-encryption?},
@code{s2s-secure-auth?}, @code{s2s-insecure-domains},
@code{s2s-secure-domains}, @code{authentication}, @code{log},
@code{http-max-content-size}, @code{http-external-url}, @code{raw-content},
plus:
@deftypevr address@hidden parameter} string component-secret
Password which the component will use to log in.
@end deftypevr
@@ -14201,6 +14201,10 @@ Interface Prosody listens on for component connections.
Defaults to @samp{"127.0.0.1"}.
@end deftypevr
address@hidden address@hidden parameter} maybe-raw-content raw-content
+Raw content that will be added to the configuration file.
address@hidden deftypevr
+
It could be that you just want to get a @code{prosody.cfg.lua}
up and running. In that case, you can pass an
@code{opaque-prosody-configuration} record as the value of
diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm
index f348ca1a3..b66d6ddb9 100644
--- a/gnu/services/messaging.scm
+++ b/gnu/services/messaging.scm
@@ -176,6 +176,12 @@
(serialize-string-list field-name val))
(define-maybe file-name)
+(define (raw-content? val)
+ (not (eq? val 'disabled)))
+(define (serialize-raw-content field-name val)
+ (format #t "~a" val))
+(define-maybe raw-content)
+
(define-configuration mod-muc-configuration
(name
(string "Prosody Chatrooms")
@@ -533,7 +539,12 @@ See also @url{http://prosody.im/doc/modules/mod_muc}."
(hostname
(string (configuration-missing-field 'ext-component 'hostname))
"Hostname of the component."
- ext-component)))
+ ext-component)
+
+ (raw-content
+ (maybe-raw-content 'disabled)
+ "Raw content that will be added to the configuration file."
+ common)))
;; Serialize Virtualhost line first.
(define (serialize-virtualhost-configuration config)
--
2.15.0
- [bug#29425] [PATCH 1/6] gnu: Add lua5.1-bitop., (continued)