| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI="4" |
| |
| inherit eutils multilib |
| |
| # Maintainer notes: Take a look at http://xmlrpc-c.sourceforge.net/release.html |
| # We use "advanced" branch, so for the current release revision take look here: |
| # http://xmlrpc-c.svn.sourceforge.net/viewvc/xmlrpc-c/advanced/version.mk?view=log |
| # e.g. for 1.27.05 corresponds following revision 2182 and thus following URL: |
| # http://xmlrpc-c.svn.sourceforge.net/viewvc/xmlrpc-c/advanced.tar.gz?view=tar&pathrev=2182 |
| # Note: autogenerated tarball checksum changes every download, thus download it |
| # manually and distribute on mirrors. |
| # It's possible to build net-libs/libwww without ssl support, but taking into |
| # account that libwww is not really well maintained and upstream is dead we |
| # better use it only in case ssl is required. |
| |
| DESCRIPTION="A lightweigt RPC library based on XML and HTTP" |
| HOMEPAGE="http://xmlrpc-c.sourceforge.net/" |
| SRC_URI="https://dev.gentoo.org/~maksbotan/${P}.tar.gz" |
| |
| LICENSE="BSD" |
| SLOT="0" |
| KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" |
| IUSE="abyss +cgi +curl +cxx +libxml2 static-libs threads test tools" |
| |
| REQUIRED_USE="test? ( static-libs abyss curl cxx ) tools? ( curl )" |
| |
| DEPEND=" |
| sys-libs/ncurses |
| sys-libs/readline |
| curl? ( net-misc/curl ) |
| libxml2? ( dev-libs/libxml2 )" |
| |
| RDEPEND="${DEPEND}" |
| |
| S="${WORKDIR}/advanced" |
| |
| pkg_setup() { |
| use curl || ewarn "Curl support disabled: No client library will be built" |
| } |
| |
| src_prepare() { |
| #Bug 214137: We need to filter this. |
| unset SRCDIR |
| |
| # Bug 255440 |
| export LC_ALL=C |
| export LANG=C |
| |
| epatch "${FILESDIR}"/${PN}-1.32.05-Wimplicit.patch |
| sed -i \ |
| -e "/CFLAGS_COMMON/s|-g -O3$||" \ |
| -e "/CXXFLAGS_COMMON/s|-g$||" \ |
| "${S}"/common.mk || die |
| |
| export LADD=${LDFLAGS} # Respect the user's LDFLAGS. |
| |
| use static-libs || { sed \ |
| -e '/\(^TARGET_STATIC_LIBRARIES =\)/{s:\(^TARGET_STATIC_LIBRARIES =\).*:\1:;P;N;d;}' \ |
| -i common.mk || die; } |
| } |
| |
| src_configure() { |
| #Disable libwww support due GBZ #409549 and #320253 |
| |
| econf --disable-wininet-client \ |
| $(use_enable libxml2 libxml2-backend) \ |
| --disable-libwww-client \ |
| --without-libwww-ssl \ |
| $(use_enable threads abyss-threads) \ |
| $(use_enable cgi cgi-server) \ |
| $(use_enable abyss abyss-server) \ |
| $(use_enable cxx cplusplus) \ |
| $(use_enable curl curl-client) |
| } |
| |
| src_compile() { |
| emake -r |
| use tools && emake -rC "${S}"/tools |
| } |
| |
| src_install() { |
| default_src_install |
| use tools && emake DESTDIR="${D}" -rC "${S}"/tools install |
| } |
| |
| src_test() { |
| unset LDFLAGS LADD SRCDIR |
| cd "${S}"/test/ |
| einfo "Building general tests" |
| make || die "Make of general tests failed" |
| einfo "Running general tests" |
| ./test || die "General tests failed" |
| cd "${S}"/test/cpp/ |
| einfo "Running C++ tests" |
| ./test || die "C++ tests failed" |
| } |