summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2016-01-14 22:27:29 -0500
committerMike Frysinger <vapier@gentoo.org>2016-01-14 22:43:13 -0500
commit32c2bba917aa517e021ba38c8fab2d9cf52d9ec8 (patch)
tree215ad587b3ff5b91535f09ef6ad108c1cd87d7f1 /net-libs/serf/serf-1.3.8-r1.ebuild
parentmedia-sound/mpfc: Add missing AC_SEARCH_LIBS for libm to prevent underlinking (diff)
downloadgentoo-32c2bba917aa517e021ba38c8fab2d9cf52d9ec8.tar.gz
gentoo-32c2bba917aa517e021ba38c8fab2d9cf52d9ec8.tar.bz2
gentoo-32c2bba917aa517e021ba38c8fab2d9cf52d9ec8.zip
net-libs/serf: fix various cross-compile issues
- Use SYSROOT to locate helper config scripts to compile against. - Drop OPENSSL var as it's useless. - Respect AR/RANLIB settings. - Make static libs optional. - Pass settings to install phase too to avoid rebuilding things.
Diffstat (limited to 'net-libs/serf/serf-1.3.8-r1.ebuild')
-rw-r--r--net-libs/serf/serf-1.3.8-r1.ebuild68
1 files changed, 68 insertions, 0 deletions
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..c31fb284d26a
--- /dev/null
+++ b/net-libs/serf/serf-1.3.8-r1.ebuild
@@ -0,0 +1,68 @@
+# 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 static-libs"
+
+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"
+ 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
+}
+
+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}"
+}