summaryrefslogtreecommitdiff
blob: df34a37daf78a8f153083f0e6ec7c6ba55f68a27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=6

# Upstream maintains 3 release channels: http://xmlrpc-c.sourceforge.net/release.html
# 1. Only the "Super Stable" series is released as a tarball
# 2. SVN tagging of releases seems spotty: http://svn.code.sf.net/p/xmlrpc-c/code/release_number/
# Because of this, we are following the "Super Stable" release channel

DESCRIPTION="A lightweigt RPC library based on XML and HTTP"
HOMEPAGE="http://xmlrpc-c.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"

LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="abyss +cgi +curl +cxx +libxml2 threads test tools"
RESTRICT="!test? ( test )"

REQUIRED_USE="test? ( abyss curl cxx ) tools? ( curl )"

DEPEND="
	sys-libs/ncurses:0=
	sys-libs/readline:0=
	curl? ( net-misc/curl )
	libxml2? ( dev-libs/libxml2 )"
RDEPEND="${DEPEND}"

PATCHES=(
	"${FILESDIR}/${PN}-1.32.05-Wimplicit.patch"
	"${FILESDIR}/${P}-cplusplus.patch"
)

pkg_setup() {
	use curl || ewarn "Curl support disabled: No client library will be built"
}

src_prepare() {
	sed -i \
		-e "/CFLAGS_COMMON/s|-g -O3$||" \
		-e "/CXXFLAGS_COMMON/s|-g$||" \
		common.mk || die

	eapply ${PATCHES[@]}
	eapply_user
}

src_configure() {
	econf \
		--disable-wininet-client \
		--disable-libwww-client \
		--without-libwww-ssl  \
		$(use_enable libxml2 libxml2-backend) \
		$(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() {
	# Parallel builds are fixed in v 1.43.x or newer
	emake -j1
	use tools && emake -rC "${S}"/tools
}

src_install() {
	default
	use tools && emake DESTDIR="${D}" -rC "${S}"/tools install
}