summaryrefslogtreecommitdiff
path: root/net-libs/serf
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-libs/serf
reinit the tree, so we can have metadata
Diffstat (limited to 'net-libs/serf')
-rw-r--r--net-libs/serf/Manifest13
-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-openssl.patch28
-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-static-lib.patch49
-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-r1.ebuild70
-rw-r--r--net-libs/serf/serf-1.3.8.ebuild60
-rw-r--r--net-libs/serf/serf-1.3.9.ebuild70
10 files changed, 519 insertions, 0 deletions
diff --git a/net-libs/serf/Manifest b/net-libs/serf/Manifest
new file mode 100644
index 000000000000..65bc82fa596b
--- /dev/null
+++ b/net-libs/serf/Manifest
@@ -0,0 +1,13 @@
+AUX serf-1.3.2-disable_linking_against_unneeded_libraries.patch 554 SHA256 057212a8d404c5f6947b816c72e14a340cf8bb62d1023b9b2459220e9aa5d9f6 SHA512 29a2a18d062ecede2c544a6de510f17556deb9d9036b4c9248035e22d561e90fac902fdd38c5dbda649bb44f2eeab3407ee3fc59697c825a8fd76a787043c4ee WHIRLPOOL 11964600ababa183ce2a00bc031d833a8ffd73685f48a281078e4628f75c52aa160cd3bbaeba3f39a8c2ca4b93fab56fd88eec00c6bce785da1601587dd413f3
+AUX serf-1.3.8-openssl.patch 960 SHA256 821e73a2d9490f4dc0645eaa2654df4c79cdde19274b85f4056058ce95a6cab7 SHA512 902f0b28a0166bb2c30127600eeacd8117ab9c8a21787aec7f6ee77b94554a613ec1bdcaef3bbbd730254c9c26a7c40b47906b296ca869af909ec18d9f2ad59b WHIRLPOOL 065b2e58254c6dc195b5075bc7c2d37e38131fd44d08756f2489db0606421e1dbf571ceae04e61eced55657691e0271b38f92bc3b9b3f635a88faf85882bedd7
+AUX serf-1.3.8-scons_variables.patch 3553 SHA256 e4c19508eef345eddebdaf932c40279d835adcce9eb4988dd9fc7b1318cf554d SHA512 e492c5a9289700330e964a9b42da9002f1b992ed197a9aea54f188188264e8dc2047a3005c9724769ff5e845d5b9db31d622981e016284523fc65dec6a3c04bf WHIRLPOOL 0fa539b1c3dba179753348422add7b5a3b5d0ce6e914ef2bb7cc0079ccde7bf7183c80212ea5dfb33706669011c08b2700fc8b97adad0923e93e1d6f6bad00be
+AUX serf-1.3.8-static-lib.patch 1922 SHA256 b3b040d3fd41ad2fd3e32635867f4f7a197e79e3e0cb7e82c5bf55ee8b36c76b SHA512 c5d7cbc7ed7632e3ead1a1eec36106a4e50f89c42b7099d8e6bc2a3021b4b3058c16cb1aef1fedbb26e6bd5b4d0b12b34567d40c38c0f1c5cb6528e924db9e84 WHIRLPOOL 13b42e6809c16b1ae34f51e514fe764f732f9c2fc962610150f6cc24fdf4e69d281208b2ab0bff64ce2dd129a1a522022d3ada4289d6f6f1882f313bf517a1e7
+AUX serf-1.3.8-tests.patch 3159 SHA256 273f91ccf80f607bd8bd5e0fbe2fc4ad617510a032d65d64ad1a2aabeba127d5 SHA512 d2b89743e38492a0626b509864c34a3747d73b5aeb7a22df84ce739588663582eea3b6c3d599b8e42896b1720c529e19c5497ff4e830e67981f0664b5e6c533d WHIRLPOOL 64e61a39343a9ab5770991e047cca282fd20f0e346eb295d1feae6eaa433cb8def390adc2ffb9b2cc9fa38eeb313a164314abc219ed94afe1b6a7ba46b23b64f
+DIST serf-1.3.8.tar.bz2 143337 SHA256 e0500be065dbbce490449837bb2ab624e46d64fc0b090474d9acaa87c82b2590 SHA512 78787a0d1e3e72dd9afc2e0de65e9af3b4303fefdcb865bd5e087fae570a7fe4d1395ce021756db4685c6e63e31c495563afe57baf677bf9846657f5d63d4205 WHIRLPOOL 951b1ff92e739998f24bd44e2541c10352c83594cbfdb82ba915ced32509df7d6f2bbec8bd8fbf4c75116dab114970d1a8ec2fc0157912303bfbd065ea6739ac
+DIST serf-1.3.9.tar.bz2 145132 SHA256 549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc SHA512 9f5418d991840a08d293d1ecba70cd9534a207696d002f22dbe62354e7b005955112a0d144a76c89c7f7ad3b4c882e54974441fafa0c09c4aa25c49c021ca75d WHIRLPOOL 6b8dc6a229810f55b90d3713a55b9888b5154115c51f8d37773815da8e0167a5999d3bd9fd7f4132909465b13e677164ce336555fceba1b8a8c504c8fa7ae8ee
+EBUILD serf-1.3.8-r1.ebuild 2089 SHA256 5297ef9196bb90615d722067a921c8014f97b73ae446b6cabd7aad5f6756aa8b SHA512 c87bece36357431c0376855d8dafd974e64c6d0106b3f4966ca3d46aa33602dae497126d7cdacd867fc416d3bc486716ba8c3868380a85ff854be43b683bb23e WHIRLPOOL 2c8fab2c0a17331beb48cf6276bec34b3c9057c8cc4dd68705893af4275ab84226e5ea2e0e06854ea1c312574fbe9176572cbaa4aad3e4bec32a08eb23d2f1ad
+EBUILD serf-1.3.8.ebuild 1466 SHA256 98105f6fea19d4757b4a31a0d243a40b6b95517a350c14234f2439131185d180 SHA512 1790d5466dd4d1b478e752579c3907325b147b8a90d4a73a76f8572e0e717769e3a8b93503aa2149000915de0edb9288fae361d557fa18408458bba3ab185050 WHIRLPOOL 47bc10eb5e8f179d1969574c8385cdeb15623354bb8694c2f6228292d1c7098869d0a44e34e32ad710a274f8366a220b881243da3f056351fb929346a84aa919
+EBUILD serf-1.3.9.ebuild 2092 SHA256 ffc86e68b5c2908bdeec4459e9aa8d06e0a4568ad49d3b7a4a2674fed1bd85bf SHA512 b0fd733f83306234c0e93cb0fe9eefce2abc7cbbf71ef084a268fa231864580cb6f5614f261f9c0cd2d586c26bc7a5ff3343d8a37a30acd26da96cc29ec22fc9 WHIRLPOOL 4bff77a62306b780a581b0a4a89763356705ec8bb638a7c085559043081b02fc76a28376ac4fdf06578ff062cbba44a94762733e21e7c5e5014ac702c6ae6999
+MISC ChangeLog 3696 SHA256 629466a2bc8274c931de7259494196d174c80ef0d2159ca2c866056866645db0 SHA512 b1f60834bc6dbb01b24b3ce1880eb27265ce3fe891f31badaf8e563a22ee4297c2b9629c600be6168c9ce56ac2438115a244fa92becbae74ff5b00bb961ac0b7 WHIRLPOOL 4fb276f1dfb02fa38118ceeabb1a52565100fe0a0bd4663c78ead79db1b49230270a130b3651c54bca2cafdf32924e2dd69b631192ec6a066a4a836a5c2aeed2
+MISC ChangeLog-2015 17897 SHA256 ba82cdad5ad4b2d3185bb3f9b742f6c4e6f17cef4ac5dd77f0767f6865eb7346 SHA512 60d9777e05a961fa1600647c82bc0ee58e4b85fb2eeeb23196af1fac4484c0085fafd76acd78bcb6c109878d233f8a14d151b2d16566f7943010d7b2ef2bd6eb WHIRLPOOL 0059e21507d152b5b3a1c24f76780e72c9422060d05a92ede6acf3d94fe0f58d94d8fdf5fa0943a9778715249f3886b01d135c60373bca26e549270373773eee
+MISC metadata.xml 339 SHA256 daf21088e28ed633fba8900a168fe443c3d838f72ca644d1a8f30f3a24ad66bc SHA512 b98b7e682407dd662a866336f76031793f13b0d76a7dae86b542afb515fdda1224b8141c71ff1f502294c2bcd88f3f80d18d654dcabe77088bef049bf462f18c WHIRLPOOL fdace229c58536b56e4dbe0fcedf783ede06fdb19a700964adff95e298367d8b82d2fadf2160db5b1cd9aed572f51c282ead8e034d8dde532ca5910330269b5f
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 000000000000..f86646a28d89
--- /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-openssl.patch b/net-libs/serf/files/serf-1.3.8-openssl.patch
new file mode 100644
index 000000000000..4cc3719303bb
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.8-openssl.patch
@@ -0,0 +1,28 @@
+the build doesn't actually use the openssl var for anything useful.
+it blindly adds it to the -I/-L paths which causes problems when you
+cross-compile and when you link (it also adds it to -rpath). punt
+the setting and forget about it.
+
+--- a/SConstruct
++++ b/SConstruct
+@@ -354,8 +354,6 @@ else:
+ apr_libs = ''
+ apu_libs = ''
+
+- env.Append(CPPPATH=['$OPENSSL/include'])
+- env.Append(LIBPATH=['$OPENSSL/lib'])
+
+
+ # If build with gssapi, get its information and define SERF_HAVE_GSSAPI
+@@ -369,8 +369,9 @@ if sys.platform == 'win32':
+ # On some systems, the -R values that APR describes never make it into actual
+ # RPATH flags. We'll manually map all directories in LIBPATH into new
+ # flags to set RPATH values.
+-for d in env['LIBPATH']:
+- env.Append(RPATH=':'+d)
++if env.get('LIBPATH', None):
++ for d in env['LIBPATH']:
++ env.Append(RPATH=':'+d)
+
+ # Set up the construction of serf-*.pc
+ pkgconfig = env.Textfile('serf-%d.pc' % (MAJOR,),
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 000000000000..b51e846d8932
--- /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-static-lib.patch b/net-libs/serf/files/serf-1.3.8-static-lib.patch
new file mode 100644
index 000000000000..1538328ece66
--- /dev/null
+++ b/net-libs/serf/files/serf-1.3.8-static-lib.patch
@@ -0,0 +1,49 @@
+respect the active archiver tool instead of using `ar` all the time.
+same for `ranlib`.
+
+also add support for BUILD_STATIC bool for controlling the libserf.a.
+
+--- a/SConstruct
++++ b/SConstruct
+@@ -103,6 +103,9 @@
+ BoolVariable('APR_STATIC',
+ "Enable using a static compiled APR",
+ False),
++ RawListVariable('AR', "Command name or path of the archiver", None),
++ RawListVariable('RANLIB', "Command name or path of the archiver indexer", None),
++ BoolVariable('BUILD_STATIC', 'Build libserf static library', True),
+ RawListVariable('CC', "Command name or path of the C compiler", None),
+ RawListVariable('CFLAGS', "Extra flags for the C compiler (space-separated)",
+ None),
+@@ -193,6 +196,7 @@ if gssapi and os.path.isdir(gssapi):
+
+ debug = env.get('DEBUG', None)
+ aprstatic = env.get('APR_STATIC', None)
++build_static = env.get('BUILD_STATIC', True)
+
+ Help(opts.GenerateHelpText(env))
+ opts.Save(SAVED_CONFIG, env)
+@@ -384,7 +388,9 @@ pkgconfig = env.Textfile('serf-%d.pc' % (MAJOR,),
+ env.get('GSSAPI_LIBS', '')),
+ })
+
+-env.Default(lib_static, lib_shared, pkgconfig)
++env.Default(lib_shared, pkgconfig)
++if build_static:
++ env.Default(lib_static)
+
+ if CALLOUT_OKAY:
+ conf = Configure(env)
+@@ -420,8 +420,10 @@ if sys.platform == 'darwin':
+ % (target_install_shared_path,
+ install_shared_path)))
+
+-env.Alias('install-lib', [install_static, install_shared,
+- ])
++install_libs = [install_shared]
++if build_static:
++ install_libs.append(install_static)
++env.Alias('install-lib', install_libs)
+ env.Alias('install-inc', env.Install(incdir, HEADER_FILES))
+ env.Alias('install-pc', env.Install(os.path.join(libdir, 'pkgconfig'),
+ pkgconfig))
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 000000000000..65b9962f2529
--- /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 000000000000..9e50e18ed484
--- /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>
+ <maintainer type="person">
+ <email>arfrever.fta@gmail.com</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-libs/serf/serf-1.3.8-r1.ebuild b/net-libs/serf/serf-1.3.8-r1.ebuild
new file mode 100644
index 000000000000..c93bcfde2fca
--- /dev/null
+++ b/net-libs/serf/serf-1.3.8-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils scons-utils toolchain-funcs flag-o-matic
+
+DESCRIPTION="HTTP client library"
+HOMEPAGE="https://serf.apache.org/"
+SRC_URI="mirror://apache/${PN}/${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 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
+IUSE="kerberos static-libs libressl"
+
+RDEPEND="dev-libs/apr:1=
+ dev-libs/apr-util:1=
+ !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl: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"
+ epatch "${FILESDIR}/${PN}-1.3.8-static-lib.patch"
+ epatch "${FILESDIR}/${PN}-1.3.8-openssl.patch"
+
+ # https://code.google.com/p/serf/issues/detail?id=133
+ sed -e "/env.Append(CCFLAGS=\['-O2'\])/d" -i SConstruct
+
+ # need limits.h for PATH_MAX (only when EXTENSIONS is enabled)
+ [[ ${CHOST} == *-solaris* ]] && append-cppflags -D__EXTENSIONS__
+}
+
+src_compile() {
+ myesconsargs=(
+ PREFIX="${EPREFIX}/usr"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ # These config scripts are sent through a shell with an empty env
+ # which breaks the SYSROOT usage in them. Set the vars inline to
+ # avoid that.
+ APR="SYSROOT='${SYSROOT}' ${SYSROOT}${EPREFIX}/usr/bin/apr-1-config"
+ APU="SYSROOT='${SYSROOT}' ${SYSROOT}${EPREFIX}/usr/bin/apu-1-config"
+ BUILD_STATIC=$(usex static-libs)
+ AR="$(tc-getAR)"
+ RANLIB="$(tc-getRANLIB)"
+ CC="$(tc-getCC)"
+ CPPFLAGS="${CPPFLAGS}"
+ CFLAGS="${CFLAGS}"
+ LINKFLAGS="${LDFLAGS}"
+ )
+
+ if use kerberos; then
+ myesconsargs+=( GSSAPI="${SYSROOT}${EPREFIX}/usr/bin/krb5-config" )
+ fi
+
+ escons
+}
+
+src_test() {
+ escons check
+}
+
+src_install() {
+ escons install --install-sandbox="${D}"
+}
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 000000000000..f82999ef22bf
--- /dev/null
+++ b/net-libs/serf/serf-1.3.8.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils scons-utils toolchain-funcs
+
+DESCRIPTION="HTTP client library"
+HOMEPAGE="https://serf.apache.org/"
+SRC_URI="mirror://apache/${PN}/${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}"
+}
diff --git a/net-libs/serf/serf-1.3.9.ebuild b/net-libs/serf/serf-1.3.9.ebuild
new file mode 100644
index 000000000000..031df82e090b
--- /dev/null
+++ b/net-libs/serf/serf-1.3.9.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils scons-utils toolchain-funcs flag-o-matic
+
+DESCRIPTION="HTTP client library"
+HOMEPAGE="https://serf.apache.org/"
+SRC_URI="mirror://apache/${PN}/${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 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
+IUSE="kerberos static-libs libressl"
+
+RDEPEND="dev-libs/apr:1=
+ dev-libs/apr-util:1=
+ !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl: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"
+ epatch "${FILESDIR}/${PN}-1.3.8-static-lib.patch"
+ epatch "${FILESDIR}/${PN}-1.3.8-openssl.patch"
+
+ # https://code.google.com/p/serf/issues/detail?id=133
+ sed -e "/env.Append(CCFLAGS=\['-O2'\])/d" -i SConstruct
+
+ # need limits.h for PATH_MAX (only when EXTENSIONS is enabled)
+ [[ ${CHOST} == *-solaris* ]] && append-cppflags -D__EXTENSIONS__
+}
+
+src_compile() {
+ myesconsargs=(
+ PREFIX="${EPREFIX}/usr"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ # These config scripts are sent through a shell with an empty env
+ # which breaks the SYSROOT usage in them. Set the vars inline to
+ # avoid that.
+ APR="SYSROOT='${SYSROOT}' ${SYSROOT}${EPREFIX}/usr/bin/apr-1-config"
+ APU="SYSROOT='${SYSROOT}' ${SYSROOT}${EPREFIX}/usr/bin/apu-1-config"
+ BUILD_STATIC=$(usex static-libs)
+ AR="$(tc-getAR)"
+ RANLIB="$(tc-getRANLIB)"
+ CC="$(tc-getCC)"
+ CPPFLAGS="${CPPFLAGS}"
+ CFLAGS="${CFLAGS}"
+ LINKFLAGS="${LDFLAGS}"
+ )
+
+ if use kerberos; then
+ myesconsargs+=( GSSAPI="${SYSROOT}${EPREFIX}/usr/bin/krb5-config" )
+ fi
+
+ escons
+}
+
+src_test() {
+ escons check
+}
+
+src_install() {
+ escons install --install-sandbox="${D}"
+}