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.
This commit is contained in:
Mark H Weaver 2015-05-07 12:19:33 -04:00
parent dc77f0d321
commit 88b6b125ba
4 changed files with 98 additions and 8 deletions

View File

@ -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 \

View File

@ -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);

View File

@ -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,

View File

@ -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"))