summaryrefslogtreecommitdiff
blob: 614fe52750e890252823fcb5245cd44a621bfcba (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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/neon/neon-0.28.4.ebuild,v 1.6 2009/05/03 18:38:47 maekke Exp $

inherit autotools eutils libtool versionator

RESTRICT="test"

DESCRIPTION="HTTP and WebDAV client library"
HOMEPAGE="http://www.webdav.org/neon/"
SRC_URI="http://www.webdav.org/neon/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd"
IUSE="doc expat gnutls kerberos nls pkcs11 socks5 ssl zlib"
IUSE_LINGUAS="cs de fr ja nn pl ru tr zh_CN"
for lingua in ${IUSE_LINGUAS}; do
	IUSE="${IUSE} linguas_${lingua}"
done

RDEPEND="expat? ( dev-libs/expat )
	!expat? ( dev-libs/libxml2 )
	gnutls? (
		>=net-libs/gnutls-2.0
		pkcs11? ( dev-libs/pakchois )
	)
	!gnutls? ( ssl? (
		>=dev-libs/openssl-0.9.6f
		pkcs11? ( dev-libs/pakchois )
	) )
	kerberos? ( virtual/krb5 )
	nls? ( virtual/libintl )
	socks5? ( net-proxy/dante )
	zlib? ( sys-libs/zlib )"
DEPEND="${RDEPEND}"

src_unpack() {
	unpack ${A}
	cd "${S}"

	local lingua linguas
	for lingua in ${IUSE_LINGUAS}; do
		use linguas_${lingua} && linguas="${linguas} ${lingua}"
	done
	sed -i -e "s/ALL_LINGUAS=.*/ALL_LINGUAS=\"${linguas}\"/g" configure.in
	sed -i -e "s/socks5/socks/g" macros/neon.m4

	AT_M4DIR="macros" eautoreconf
}

src_compile() {
	local myconf

	if has_version sys-libs/glibc; then
		if built_with_use --missing true sys-libs/glibc nptlonly \
			|| built_with_use --missing true sys-libs/glibc nptl; then
			einfo "Enabling SSL library thread-safety using POSIX threads..."
			myconf="${myconf} --enable-threadsafe-ssl=posix"
		fi
	fi

	if use expat; then
		myconf="${myconf} --with-expat"
	else
		myconf="${myconf} --with-libxml2"
	fi

	if use gnutls; then
		myconf="${myconf} --with-ssl=gnutls"
	elif use ssl; then
		myconf="${myconf} --with-ssl=openssl"
	fi

	econf \
		--enable-static \
		--enable-shared \
		$(use_with kerberos gssapi) \
		$(use_enable nls) \
		$(use_with pkcs11 pakchois) \
		$(use_with socks5 socks) \
		$(use_with zlib) \
		${myconf}
	emake || die "emake failed"
}

src_test() {
	emake check || die "Trying make check without success."
}

src_install() {
	emake DESTDIR="${D}" install-lib install-headers install-config install-nls || die "emake install failed"

	if use doc; then
		emake DESTDIR="${D}" install-docs || die "emake install-docs failed"
	fi

	dodoc AUTHORS BUGS NEWS README THANKS TODO
	doman doc/man/*.[1-8]
}

pkg_postinst() {
	ewarn "Neon has a policy of breaking API across minor versions, this means"
	ewarn "that any package that links against neon may be broken after"
	ewarn "updating. They will remain broken until they are ported to the"
	ewarn "new API. You can downgrade neon to the previous version by doing:"
	ewarn
	ewarn "  emerge --oneshot '<net-misc/neon-$(get_version_component_range 1-2 ${PV})'"
	ewarn
	ewarn "You may also have to downgrade any package that has already been"
	ewarn "ported to the new API."
}