summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-05-07 12:19:33 -0400
committerMark H Weaver <mhw@netris.org>2015-05-07 12:22:09 -0400
commit88b6b125baeb41908a40591d403bceb6a9aafb10 (patch)
tree61024eec12b8c44fda361b88c71c861f819d8541
parentdc77f0d321be96a8f6817dbd33f5414d333d7fba (diff)
downloadguix-88b6b125baeb41908a40591d403bceb6a9aafb10.tar.gz
gnu: serf: Apply upstream fixes.
* gnu/packages/patches/serf-comment-style-fix.patch,
  gnu/packages/patches/serf-deflate-buckets-test-fix.patch: New file.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/web.scm (serf): Add patches.  Remove 'remove-non-c89-comment'
  phase.
-rw-r--r--gnu-system.am2
-rw-r--r--gnu/packages/patches/serf-comment-style-fix.patch23
-rw-r--r--gnu/packages/patches/serf-deflate-buckets-test-fix.patch69
-rw-r--r--gnu/packages/web.scm12
4 files changed, 98 insertions, 8 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 852d558ad3..b5b71abdb0 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -538,6 +538,8 @@ dist_patch_DATA =						\
   gnu/packages/patches/scheme48-tests.patch			\
   gnu/packages/patches/scotch-test-threading.patch		\
   gnu/packages/patches/sdl-libx11-1.6.patch			\
+  gnu/packages/patches/serf-comment-style-fix.patch		\
+  gnu/packages/patches/serf-deflate-buckets-test-fix.patch	\
   gnu/packages/patches/slim-session.patch			\
   gnu/packages/patches/slim-config.patch			\
   gnu/packages/patches/slim-sigusr1.patch			\
diff --git a/gnu/packages/patches/serf-comment-style-fix.patch b/gnu/packages/patches/serf-comment-style-fix.patch
new file mode 100644
index 0000000000..5d336fb3c8
--- /dev/null
+++ b/gnu/packages/patches/serf-comment-style-fix.patch
@@ -0,0 +1,23 @@
+r2443 | andreas.stieger@gmx.de | 2014-10-21 17:42:56 -0400 (Tue, 21 Oct 2014) | 7 lines
+
+Follow-up to r2419: Correct comment style
+
+* test/test_buckets.c
+  (deflate_compress): Correct comment style not supported by strict
+  compilers, fails on /branches/1.3.x
+
+Index: test/test_buckets.c
+===================================================================
+--- test/test_buckets.c	(revision 2442)
++++ test/test_buckets.c	(revision 2443)
+@@ -1323,9 +1323,9 @@
+ 
+     /* The largest buffer we should need is 0.1% larger than the
+        uncompressed data, + 12 bytes. This info comes from zlib.h.
++       buf_size = orig_len + (orig_len / 1000) + 12;
+        Note: This isn't sufficient when using Z_NO_FLUSH and extremely compressed
+        data. Use a buffer bigger than what we need. */
+-//    buf_size = orig_len + (orig_len / 1000) + 12;
+     buf_size = 100000;
+ 
+     write_buf = apr_palloc(pool, buf_size);
diff --git a/gnu/packages/patches/serf-deflate-buckets-test-fix.patch b/gnu/packages/patches/serf-deflate-buckets-test-fix.patch
new file mode 100644
index 0000000000..be8be1b1e8
--- /dev/null
+++ b/gnu/packages/patches/serf-deflate-buckets-test-fix.patch
@@ -0,0 +1,69 @@
+r2445 | chemodax | 2014-10-23 12:15:22 -0400 (Thu, 23 Oct 2014) | 6 lines
+
+Reduce memory usage by deflate buckets test.
+
+* test/test_buckets.c
+  (deflate_buckets): Add POOL argument and use it instead of tb->pool.
+  (test_deflate_buckets): Use iterpool for deflate_buckets() call.
+
+Index: test/test_buckets.c
+===================================================================
+--- test/test_buckets.c	(revision 2444)
++++ test/test_buckets.c	(revision 2445)
+@@ -1400,12 +1400,12 @@
+                           expected_len);
+ }
+ 
+-static void deflate_buckets(CuTest *tc, int nr_of_loops)
++static void deflate_buckets(CuTest *tc, int nr_of_loops, apr_pool_t *pool)
+ {
+     const char *msg = "12345678901234567890123456789012345678901234567890";
+ 
+     test_baton_t *tb = tc->testBaton;
+-    serf_bucket_alloc_t *alloc = serf_bucket_allocator_create(tb->pool, NULL,
++    serf_bucket_alloc_t *alloc = serf_bucket_allocator_create(pool, NULL,
+                                                               NULL);
+     z_stream zdestr;
+     int i;
+@@ -1424,8 +1424,8 @@
+     {
+         serf_config_t *config;
+ 
+-        serf_context_t *ctx = serf_context_create(tb->pool);
+-        /* status = */ serf__config_store_get_config(ctx, NULL, &config, tb->pool);
++        serf_context_t *ctx = serf_context_create(pool);
++        /* status = */ serf__config_store_get_config(ctx, NULL, &config, pool);
+ 
+         serf_bucket_set_config(defbkt, config);
+     }
+@@ -1447,11 +1447,11 @@
+         if (i == nr_of_loops - 1) {
+             CuAssertIntEquals(tc, APR_SUCCESS,
+                               deflate_compress(&data, &len, &zdestr, msg,
+-                                               strlen(msg), 1, tb->pool));
++                                               strlen(msg), 1, pool));
+         } else {
+             CuAssertIntEquals(tc, APR_SUCCESS,
+                               deflate_compress(&data, &len, &zdestr, msg,
+-                                               strlen(msg), 0, tb->pool));
++                                               strlen(msg), 0, pool));
+         }
+ 
+         if (len == 0)
+@@ -1469,10 +1469,15 @@
+ static void test_deflate_buckets(CuTest *tc)
+ {
+     int i;
++    apr_pool_t *iterpool;
++    test_baton_t *tb = tc->testBaton;
+ 
++    apr_pool_create(&iterpool, tb->pool);
+     for (i = 1; i < 1000; i++) {
+-        deflate_buckets(tc, i);
++        apr_pool_clear(iterpool);
++        deflate_buckets(tc, i, iterpool);
+     }
++    apr_pool_destroy(iterpool);
+ }
+ 
+ static apr_status_t discard_data(serf_bucket_t *bkt,
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 396c5f2474..e77bad76d6 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -559,7 +559,10 @@ from streaming URLs.  It is a command-line wrapper for the libquvi library.")
        (uri (string-append "http://serf.googlecode.com/svn/src_releases/serf-"
                            version ".tar.bz2"))
        (sha256
-        (base32 "14155g48gamcv5s0828bzij6vr14nqmbndwq8j8f9g6vcph0nl70"))))
+        (base32 "14155g48gamcv5s0828bzij6vr14nqmbndwq8j8f9g6vcph0nl70"))
+       (patches (map search-patch '("serf-comment-style-fix.patch"
+                                    "serf-deflate-buckets-test-fix.patch")))
+       (patch-flags '("-p0"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("scons" ,scons)
@@ -587,13 +590,6 @@ from streaming URLs.  It is a command-line wrapper for the libquvi library.")
                       (substitute* "SConstruct"
                         (("^env = Environment\\(")
                          "env = Environment(ENV=os.environ, "))))
-         (add-after 'unpack 'remove-non-c89-comment
-                    (lambda _
-                      ;; The SConstruct file asks to compile with -std=c89,
-                      ;; but there is a non-c89 comment in one of the files.
-                      ;; Remove it.
-                      (substitute* "test/test_buckets.c"
-                        (("^//.*") ""))))
          (replace 'build
                   (lambda* (#:key inputs outputs #:allow-other-keys)
                     (let ((out      (assoc-ref outputs "out"))