bump(net-libs/serf): sync with upstream

This commit is contained in:
David Michael 2018-10-16 17:08:20 +00:00
parent e1b29389c1
commit ce104e0165
13 changed files with 547 additions and 0 deletions

View File

@ -0,0 +1,13 @@
DEFINED_PHASES=compile install prepare test
DEPEND=dev-libs/apr:1= dev-libs/apr-util:1= dev-libs/openssl:0= sys-libs/zlib:0= kerberos? ( virtual/krb5 ) >=dev-util/scons-2.3.0 dev-util/scons[python_targets_python2_7]
DESCRIPTION=HTTP client library
EAPI=5
HOMEPAGE=https://serf.apache.org/
IUSE=kerberos
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
LICENSE=Apache-2.0
RDEPEND=dev-libs/apr:1= dev-libs/apr-util:1= dev-libs/openssl:0= sys-libs/zlib:0= kerberos? ( virtual/krb5 )
SLOT=1
SRC_URI=mirror://apache/serf/serf-1.3.8.tar.bz2
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 ltprune 08f9e1d9ee0af8f5d9a7854efbcd8c0e multilib b2f01ad412baf81650c23fcf0975fa33 multiprocessing cac3169468f893670dac3e7cb940e045 preserve-libs ef207dc62baddfddfd39a164d9797648 scons-utils 741000d14c0b59263aac3f3cf6e39909 toolchain-funcs f164325a2cdb5b3ea39311d483988861 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=02e5162f8bdd69dcec7e54587d733998

View File

@ -0,0 +1,13 @@
DEFINED_PHASES=compile install prepare test
DEPEND=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 ) >=dev-util/scons-2.3.0 dev-util/scons[python_targets_python2_7]
DESCRIPTION=HTTP client library
EAPI=5
HOMEPAGE=https://serf.apache.org/
IUSE=kerberos static-libs libressl
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
LICENSE=Apache-2.0
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 )
SLOT=1
SRC_URI=mirror://apache/serf/serf-1.3.8.tar.bz2
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 55aaa148741116aa54ad0d80e361818e ltprune 08f9e1d9ee0af8f5d9a7854efbcd8c0e multilib b2f01ad412baf81650c23fcf0975fa33 multiprocessing cac3169468f893670dac3e7cb940e045 preserve-libs ef207dc62baddfddfd39a164d9797648 scons-utils 741000d14c0b59263aac3f3cf6e39909 toolchain-funcs f164325a2cdb5b3ea39311d483988861 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=e9e8b289c95653860dc09113ef8dd7f3

View File

@ -0,0 +1,13 @@
DEFINED_PHASES=compile install prepare test
DEPEND=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 ) >=dev-util/scons-2.3.0 dev-util/scons[python_targets_python2_7]
DESCRIPTION=HTTP client library
EAPI=5
HOMEPAGE=https://serf.apache.org/
IUSE=kerberos static-libs libressl
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
LICENSE=Apache-2.0
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 )
SLOT=1
SRC_URI=mirror://apache/serf/serf-1.3.9.tar.bz2
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 flag-o-matic 55aaa148741116aa54ad0d80e361818e ltprune 08f9e1d9ee0af8f5d9a7854efbcd8c0e multilib b2f01ad412baf81650c23fcf0975fa33 multiprocessing cac3169468f893670dac3e7cb940e045 preserve-libs ef207dc62baddfddfd39a164d9797648 scons-utils 741000d14c0b59263aac3f3cf6e39909 toolchain-funcs f164325a2cdb5b3ea39311d483988861 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=cf28f114d32889d99cf51b6ec993d1c4

View File

@ -0,0 +1,2 @@
DIST serf-1.3.8.tar.bz2 143337 BLAKE2B 873f78ec7fab6323e3351e43ed7b03e8208be8d7ced5a017ca121ecbc091de49a963e69beeee592f39dfab23ff30d4bda3378192ea24f2ec07a5569ee19dc062 SHA512 78787a0d1e3e72dd9afc2e0de65e9af3b4303fefdcb865bd5e087fae570a7fe4d1395ce021756db4685c6e63e31c495563afe57baf677bf9846657f5d63d4205
DIST serf-1.3.9.tar.bz2 145132 BLAKE2B 59776f85b409b2eaea81f3e07b0301515e20cbd2aa0ef05c1c38aa8152a6d5627e526e4bc160abb1fd438e9fa46f97096c639860729d2ea8e0b2fcfcf8222002 SHA512 9f5418d991840a08d293d1ecba70cd9534a207696d002f22dbe62354e7b005955112a0d144a76c89c7f7ad3b4c882e54974441fafa0c09c4aa25c49c021ca75d

View File

@ -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 = ''

View File

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

View File

@ -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'])

View File

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

View File

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

View File

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

View File

@ -0,0 +1,70 @@
# Copyright 1999-2018 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}"
}

View File

@ -0,0 +1,60 @@
# Copyright 1999-2018 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}"
}

View File

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