summaryrefslogtreecommitdiff
path: root/net-libs/serf
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-libs/serf
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-libs/serf')
-rw-r--r--net-libs/serf/Manifest1
-rw-r--r--net-libs/serf/files/serf-1.3.2-disable_linking_against_unneeded_libraries.patch13
-rw-r--r--net-libs/serf/files/serf-1.3.8-scons_variables.patch110
-rw-r--r--net-libs/serf/files/serf-1.3.8-tests.patch95
-rw-r--r--net-libs/serf/metadata.xml11
-rw-r--r--net-libs/serf/serf-1.3.8.ebuild61
6 files changed, 291 insertions, 0 deletions
diff --git a/net-libs/serf/Manifest b/net-libs/serf/Manifest
new file mode 100644
index 00000000000..40a079763b8
--- /dev/null
+++ b/net-libs/serf/Manifest
@@ -0,0 +1 @@
+DIST serf-1.3.8.tar.bz2 143337 SHA256 e0500be065dbbce490449837bb2ab624e46d64fc0b090474d9acaa87c82b2590 SHA512 78787a0d1e3e72dd9afc2e0de65e9af3b4303fefdcb865bd5e087fae570a7fe4d1395ce021756db4685c6e63e31c495563afe57baf677bf9846657f5d63d4205 WHIRLPOOL 951b1ff92e739998f24bd44e2541c10352c83594cbfdb82ba915ced32509df7d6f2bbec8bd8fbf4c75116dab114970d1a8ec2fc0157912303bfbd065ea6739ac
diff --git a/net-libs/serf/files/serf-1.3.2-disable_linking_against_unneeded_libraries.patch b/net-libs/serf/files/serf-1.3.2-disable_linking_against_unneeded_libraries.patch
new file mode 100644
index 00000000000..f86646a28d8
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.2-disable_linking_against_unneeded_libraries.patch
@@ -0,0 +1,13 @@
+--- SConstruct
++++ SConstruct
+@@ -345,8 +345,8 @@
+ ### there is probably a better way to run/capture output.
+ ### env.ParseConfig() may be handy for getting this stuff into the build
+ if CALLOUT_OKAY:
+- apr_libs = os.popen(env.subst('$APR --link-libtool --libs')).read().strip()
+- apu_libs = os.popen(env.subst('$APU --link-libtool --libs')).read().strip()
++ apr_libs = os.popen(env.subst('$APR --link-ld')).read().strip()
++ apu_libs = os.popen(env.subst('$APU --link-ld')).read().strip()
+ else:
+ apr_libs = ''
+ apu_libs = ''
diff --git a/net-libs/serf/files/serf-1.3.8-scons_variables.patch b/net-libs/serf/files/serf-1.3.8-scons_variables.patch
new file mode 100644
index 00000000000..b51e846d893
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.8-scons_variables.patch
@@ -0,0 +1,110 @@
+https://code.google.com/p/serf/issues/detail?id=151
+https://code.google.com/p/serf/source/detail?r=2413
+
+--- SConstruct
++++ SConstruct
+@@ -223,12 +223,12 @@
+
+ if sys.platform == 'darwin':
+ # linkflags.append('-Wl,-install_name,@executable_path/%s.dylib' % (LIBNAME,))
+- env.Append(LINKFLAGS='-Wl,-install_name,%s/%s.dylib' % (thisdir, LIBNAME,))
++ env.Append(LINKFLAGS=['-Wl,-install_name,%s/%s.dylib' % (thisdir, LIBNAME,)])
+
+ if sys.platform != 'win32':
+ ### gcc only. figure out appropriate test / better way to check these
+ ### flags, and check for gcc.
+- env.Append(CFLAGS='-std=c89')
++ env.Append(CFLAGS=['-std=c89'])
+
+ ### These warnings are not available on Solaris
+ if sys.platform != 'sunos5':
+@@ -237,17 +237,17 @@
+ '-Wall'])
+
+ if debug:
+- env.Append(CCFLAGS='-g')
++ env.Append(CCFLAGS=['-g'])
+ env.Append(CPPDEFINES=['DEBUG', '_DEBUG'])
+ else:
+- env.Append(CCFLAGS='-O2')
+- env.Append(CPPDEFINES='NDEBUG')
++ env.Append(CCFLAGS=['-O2'])
++ env.Append(CPPDEFINES=['NDEBUG'])
+
+ ### works for Mac OS. probably needs to change
+ env.Append(LIBS=['ssl', 'crypto', 'z', ])
+
+ if sys.platform == 'sunos5':
+- env.Append(LIBS='m')
++ env.Append(LIBS=['m'])
+ else:
+ # Warning level 4, no unused argument warnings
+ env.Append(CCFLAGS=['/W4', '/wd4100'])
+@@ -260,8 +260,8 @@
+ else:
+ # Optimize for speed, use DLL runtime
+ env.Append(CCFLAGS=['/O2', '/MD'])
+- env.Append(CPPDEFINES='NDEBUG')
+- env.Append(LINKFLAGS='/RELEASE')
++ env.Append(CPPDEFINES=['NDEBUG'])
++ env.Append(LINKFLAGS=['/RELEASE'])
+
+ # PLAN THE BUILD
+ SHARED_SOURCES = []
+@@ -307,25 +307,25 @@
+ CPPPATH=['$APR/include', '$APU/include'])
+
+ # zlib
+- env.Append(LIBS='zlib.lib')
++ env.Append(LIBS=['zlib.lib'])
+ if not env.get('SOURCE_LAYOUT', None):
+- env.Append(CPPPATH='$ZLIB/include',
+- LIBPATH='$ZLIB/lib')
++ env.Append(CPPPATH=['$ZLIB/include'],
++ LIBPATH=['$ZLIB/lib'])
+ else:
+- env.Append(CPPPATH='$ZLIB',
+- LIBPATH='$ZLIB')
++ env.Append(CPPPATH=['$ZLIB'],
++ LIBPATH=['$ZLIB'])
+
+ # openssl
+ env.Append(LIBS=['libeay32.lib', 'ssleay32.lib'])
+ if not env.get('SOURCE_LAYOUT', None):
+- env.Append(CPPPATH='$OPENSSL/include/openssl',
+- LIBPATH='$OPENSSL/lib')
++ env.Append(CPPPATH=['$OPENSSL/include/openssl'],
++ LIBPATH=['$OPENSSL/lib'])
+ elif 0: # opensslstatic:
+- env.Append(CPPPATH='$OPENSSL/inc32',
+- LIBPATH='$OPENSSL/out32')
++ env.Append(CPPPATH=['$OPENSSL/inc32'],
++ LIBPATH=['$OPENSSL/out32'])
+ else:
+- env.Append(CPPPATH='$OPENSSL/inc32',
+- LIBPATH='$OPENSSL/out32dll')
++ env.Append(CPPPATH=['$OPENSSL/inc32'],
++ LIBPATH=['$OPENSSL/out32dll'])
+ else:
+ if os.path.isdir(apr):
+ apr = os.path.join(apr, 'bin', 'apr-1-config')
+@@ -351,8 +351,8 @@
+ apr_libs = ''
+ apu_libs = ''
+
+- env.Append(CPPPATH='$OPENSSL/include')
+- env.Append(LIBPATH='$OPENSSL/lib')
++ env.Append(CPPPATH=['$OPENSSL/include'])
++ env.Append(LIBPATH=['$OPENSSL/lib'])
+
+
+ # If build with gssapi, get its information and define SERF_HAVE_GSSAPI
+@@ -362,7 +362,7 @@
+ env['GSSAPI_LIBS'] = cmd.strip()
+ return env.MergeFlags(cmd, unique)
+ env.ParseConfig('$GSSAPI --libs gssapi', parse_libs)
+- env.Append(CPPDEFINES='SERF_HAVE_GSSAPI')
++ env.Append(CPPDEFINES=['SERF_HAVE_GSSAPI'])
+ if sys.platform == 'win32':
+ env.Append(CPPDEFINES=['SERF_HAVE_SSPI'])
+
diff --git a/net-libs/serf/files/serf-1.3.8-tests.patch b/net-libs/serf/files/serf-1.3.8-tests.patch
new file mode 100644
index 00000000000..65b9962f252
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.8-tests.patch
@@ -0,0 +1,95 @@
+https://code.google.com/p/serf/source/detail?r=2443
+https://code.google.com/p/serf/source/detail?r=2444
+https://code.google.com/p/serf/source/detail?r=2445
+
+--- test/test_buckets.c
++++ test/test_buckets.c
+@@ -1232,9 +1232,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);
+@@ -1309,12 +1309,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;
+@@ -1333,8 +1333,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);
+ }
+@@ -1356,11 +1356,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)
+@@ -1378,10 +1378,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,
+--- test/test_util.c
++++ test/test_util.c
+@@ -363,10 +363,18 @@
+ return status;
+ }
+
++static int pool_abort_func(int retcode)
++{
++ fprintf(stderr, "Out of memory\n");
++ abort();
++ return 0;
++}
++
+ void *test_setup(void *dummy)
+ {
+ apr_pool_t *test_pool;
+ apr_pool_create(&test_pool, NULL);
++ apr_pool_abort_set(pool_abort_func, test_pool);
+ return test_pool;
+ }
+
diff --git a/net-libs/serf/metadata.xml b/net-libs/serf/metadata.xml
new file mode 100644
index 00000000000..d5a616789e6
--- /dev/null
+++ b/net-libs/serf/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>arfrever.fta@gmail.com</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">serf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-libs/serf/serf-1.3.8.ebuild b/net-libs/serf/serf-1.3.8.ebuild
new file mode 100644
index 00000000000..f244b51a976
--- /dev/null
+++ b/net-libs/serf/serf-1.3.8.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils scons-utils toolchain-funcs
+
+DESCRIPTION="HTTP client library"
+HOMEPAGE="https://code.google.com/p/serf/"
+SRC_URI="https://serf.googlecode.com/svn/src_releases/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="kerberos"
+
+RDEPEND="dev-libs/apr:1=
+ dev-libs/apr-util:1=
+ dev-libs/openssl:0=
+ sys-libs/zlib:0=
+ kerberos? ( virtual/krb5 )"
+DEPEND="${RDEPEND}
+ >=dev-util/scons-2.3.0"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-1.3.2-disable_linking_against_unneeded_libraries.patch"
+ epatch "${FILESDIR}/${PN}-1.3.8-scons_variables.patch"
+ epatch "${FILESDIR}/${PN}-1.3.8-tests.patch"
+
+ # https://code.google.com/p/serf/issues/detail?id=133
+ sed -e "/env.Append(CCFLAGS=\['-O2'\])/d" -i SConstruct
+}
+
+src_compile() {
+ local myesconsargs=(
+ PREFIX="${EPREFIX}/usr"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ APR="${EPREFIX}/usr/bin/apr-1-config"
+ APU="${EPREFIX}/usr/bin/apu-1-config"
+ OPENSSL="${EPREFIX}/usr"
+ CC="$(tc-getCC)"
+ CPPFLAGS="${CPPFLAGS}"
+ CFLAGS="${CFLAGS}"
+ LINKFLAGS="${LDFLAGS}"
+ )
+
+ if use kerberos; then
+ myesconsargs+=(GSSAPI="${EPREFIX}/usr/bin/krb5-config")
+ fi
+
+ escons
+}
+
+src_test() {
+ escons check
+}
+
+src_install() {
+ escons install --install-sandbox="${D}"
+}