~ruther/guix-local

88b6b125baeb41908a40591d403bceb6a9aafb10 — Mark H Weaver 11 years ago dc77f0d
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.
M gnu-system.am => gnu-system.am +2 -0
@@ 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			\

A gnu/packages/patches/serf-comment-style-fix.patch => gnu/packages/patches/serf-comment-style-fix.patch +23 -0
@@ 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);

A gnu/packages/patches/serf-deflate-buckets-test-fix.patch => gnu/packages/patches/serf-deflate-buckets-test-fix.patch +69 -0
@@ 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,

M gnu/packages/web.scm => gnu/packages/web.scm +4 -8
@@ 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"))