Subject: bug#30702: closed (Re: [bug#30702] [PATCH] services: nginx: Support extra content in the http block.)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 12 Jun 2018 20:23:02 +0000

Your bug report

#30702: [PATCH] services: nginx: Support extra content in the http block.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
30702: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30702
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#30702] [PATCH] services: nginx: Support extra content in the http block.
From: Christopher Baines <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked]
Date: Tue, 12 Jun 2018 21:22:01 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Ludovic Courtès <[email-masked]> writes:

> Alright, sounds good then!

Great, I've pushed this patch now :)

Subject: [PATCH] services: nginx: Support extra content in the http block.
From: Christopher Baines <[email-masked]>
To: [email-masked]
Date: Sun, 4 Mar 2018 20:00:14 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

This helpful when adding content to the nginx configuration file, which isn't
supported by the record type used for the configuration.  For example, like
adding proxy_cache_path configuration.

* gnu/packages/web.scm (<nginx-configuration>): Add new extra-content field.
  (nginx-configuration-extra-content): New field accessor.
  (default-nginx-config): Add support for the extra-content field.
* doc/guix.texi (NGINX): Document the new extra-content field.
---
 doc/guix.texi        | 4 ++++
 gnu/services/web.scm | 9 +++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 057272df4..151bc7ddd 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -15431,6 +15431,10 @@ use the size of the processors cache line.
 @item @code{server-names-hash-bucket-max-size} (default: @code{#f})
 Maximum bucket size for the server names hash tables.
 
+@item @code{extra-content} (default: @code{'()})
+Extra content for the @code{http} block.  Should be a list of strings or
+G-expressions.
+
 @end table
 @end deffn
 
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index beda481b0..1f58c9b86 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -73,6 +73,7 @@
             nginx-configuration-upstream-blocks
             nginx-configuration-server-names-hash-bucket-size
             nginx-configuration-server-names-hash-bucket-max-size
+            nginx-configuration-extra-content
             nginx-configuration-file
 
             <nginx-server-configuration>
@@ -423,6 +424,8 @@
                                  (default #f))
   (server-names-hash-bucket-max-size nginx-configuration-server-names-hash-bucket-max-size
                                      (default #f))
+  (extra-content nginx-configuration-extra-content
+                 (default '()))
   (file          nginx-configuration-file         ;#f | string | file-like
                  (default #f)))
 
@@ -513,7 +516,8 @@ of index files."
                 (nginx log-directory run-directory
                  server-blocks upstream-blocks
                  server-names-hash-bucket-size
-                 server-names-hash-bucket-max-size)
+                 server-names-hash-bucket-max-size
+                 extra-content)
    (apply mixed-text-file "nginx.conf"
           (flatten
            "user nginx nginx;\n"
@@ -542,7 +546,8 @@ of index files."
            "\n"
            (map emit-nginx-upstream-config upstream-blocks)
            (map emit-nginx-server-config server-blocks)
-           "}\n"
+           extra-content
+           "\n}\n"
            "events {}\n"))))
 
 (define %nginx-accounts
-- 
2.16.0