SUMMARY="HTTP and WebDAV client library, with a C interface"
DESCRIPTION="
neon is an HTTP and WebDAV client library, with a C interface. Features:
- high-level wrappers for common HTTP and WebDAV operations (GET, MOVE, \
DELETE, etc)
- low-level interface to the HTTP request/response engine, allowing the use of \
arbitrary HTTP methods, headers, etc.
- authentication support including Basic and Digest support, along with \
GSSAPI-based Negotiate on Unix, and SSPI-based Negotiate/NTLM on Win32
- SSL/TLS support using OpenSSL or GnuTLS; exposing an abstraction layer for \
verifying server certificates, handling client certificates, and examining \
certificate properties. Smartcard-based client certificates are also supported \
via a PKCS#11 wrapper interface.
- abstract interface to parsing XML using libxml2 or expat, and wrappers for \
simplifying handling XML HTTP response bodies
- WebDAV metadata support; wrappers for PROPFIND and PROPPATCH to simplify \
property manipulation.
"
HOMEPAGE="http://www.webdav.org/neon/"
LICENSE="GNU LGPL v2"
COPYRIGHT="1999-2011 Joe Orton"
SRC_URI="http://www.webdav.org/neon/neon-0.29.6.tar.gz"
CHECKSUM_SHA256="9c640b728d6dc80ef1e48f83181166ab6bc95309cece5537e01ffdd01b96eb43"
REVISION="9"

ARCHITECTURES="x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"

PATCHES="neon-0.29.6.patch"

PROVIDES="
	neon$secondaryArchSuffix = $portVersion compat >= 0.29
	libneon$secondaryArchSuffix = 27.2.6 compat >= 27.2
	lib:libneon$secondaryArchSuffix = 27.2.6 compat >= 27.2
	"
REQUIRES="
	haiku$secondaryArchSuffix >= $haikuVersion
	lib:libcrypto$secondaryArchSuffix
	lib:libncurses$secondaryArchSuffix
	lib:libssl$secondaryArchSuffix
	lib:libxml2$secondaryArchSuffix
	lib:libz$secondaryArchSuffix
	"
BUILD_REQUIRES="
	devel:libcrypto$secondaryArchSuffix
	devel:libncurses$secondaryArchSuffix
	devel:libssl$secondaryArchSuffix
	devel:libxml2$secondaryArchSuffix >= 2.7.8
	devel:libz$secondaryArchSuffix
	"
BUILD_PREREQUIRES="
	haiku${secondaryArchSuffix}_devel >= $haikuVersion
	cmd:aclocal
	cmd:autoconf
	cmd:libtoolize
	cmd:gcc$secondaryArchSuffix
	cmd:ld$secondaryArchSuffix
	cmd:make
	"


BUILD()
{
	echo 'LT_INIT' >> configure.in
	echo 'AC_CONFIG_MACRO_DIR([macros])' >> configure.in
	./autogen.sh
	libtoolize --force --copy --install
	aclocal
	autoconf
	./autogen.sh
	libtoolize --force --copy --install
	aclocal -I macros
	autoconf
	runConfigure ./configure \
		--with-ssl \
		--with-libxml2 \
		--enable-shared \
		--disable-nls
	make $jobArgs
}

INSTALL()
{
	make install

	prepareInstalledDevelLibs libneon
	fixDevelopLibDirReferences $binDir/neon-config
	fixPkgconfig

	# devel package
	packageEntries devel \
		$binDir/neon-config \
		$developDir \
		$documentationDir
}

# ----- devel package -------------------------------------------------------

PROVIDES_devel="
	neon${secondaryArchSuffix}_devel = $portVersion compat >= 0.29
	libneon${secondaryArchSuffix}_devel = 27.2.6 compat >= 27
	cmd:neon_config$secondaryArchSuffix = $portVersion compat >= 0.29
	devel:libneon$secondaryArchSuffix = 27.2.6 compat >= 27
	"
REQUIRES_devel="
	neon$secondaryArchSuffix == $portVersion base
	libneon$secondaryArchSuffix == 27.2.6
	"
