SUMMARY="An event notification library"
DESCRIPTION="The libevent API provides a mechanism to execute a callback \
function when a specific event occurs on a file descriptor or after a \
timeout has been reached. Furthermore, libevent also support callbacks due \
to signals or regular timeouts.
libevent is meant to replace the event loop found in event driven network \
servers. An application just needs to call event_dispatch() and then add or \
remove events dynamically without having to change the event loop."
HOMEPAGE="http://www.libevent.org/"
COPYRIGHT="2000-2007 Niels Provos
	2005 Nick Mathewson, and other contributors."
LICENSE="BSD (3-clause)"
REVISION="3"
SOURCE_URI="https://github.com/libevent/libevent/releases/download/release-$portVersion-stable/libevent-$portVersion-stable.tar.gz"
CHECKSUM_SHA256="965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2"
SOURCE_DIR="libevent-${portVersion}-stable"

ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"

PROVIDES="
	libevent21${secondaryArchSuffix} = ${portVersion}
	cmd:event_rpcgen.py$secondaryArchSuffix
	lib:libevent_2.1$secondaryArchSuffix = 6.0.2 compat >= 6
	lib:libevent_core_2.1$secondaryArchSuffix = 6.0.2 compat >= 6
	lib:libevent_extra_2.1$secondaryArchSuffix = 6.0.2 compat >= 6
	lib:libevent_openssl_2.1$secondaryArchSuffix = 6.0.2 compat >= 6
	lib:libevent_pthreads_2.1$secondaryArchSuffix = 6.0.2 compat >= 6
	"
REQUIRES="
	haiku$secondaryArchSuffix
	cmd:python
	lib:libcrypto$secondaryArchSuffix
	lib:libssl$secondaryArchSuffix
	"

PROVIDES_devel="
	libevent21${secondaryArchSuffix}_devel = ${portVersion}
	devel:libevent$secondaryArchSuffix = 6.0.2 compat >= 6
	devel:libevent_2.1$secondaryArchSuffix = 6.0.2 compat >= 6
	devel:libevent_core$secondaryArchSuffix = 6.0.2 compat >= 6
	devel:libevent_core_2.1$secondaryArchSuffix = 6.0.2 compat >= 6
	devel:libevent_extra$secondaryArchSuffix = 6.0.2 compat >= 6
	devel:libevent_extra_2.1$secondaryArchSuffix = 6.0.2 compat >= 6
	devel:libevent_openssl$secondaryArchSuffix = 6.0.2 compat >= 6
	devel:libevent_openssl_2.1$secondaryArchSuffix = 6.0.2 compat >= 6
	devel:libevent_pthreads$secondaryArchSuffix = 6.0.2 compat >= 6
	devel:libevent_pthreads_2.1$secondaryArchSuffix = 6.0.2 compat >= 6
	"
REQUIRES_devel="
	libevent21$secondaryArchSuffix == $portVersion base
	devel:libcrypto$secondaryArchSuffix
	devel:libssl$secondaryArchSuffix
	"
CONFLICTS_devel="
	libevent${secondaryArchSuffix}_devel
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	devel:libcrypto$secondaryArchSuffix
	devel:libssl$secondaryArchSuffix
	devel:libz
	"
BUILD_PREREQUIRES="
	cmd:aclocal
	cmd:autoconf
	cmd:automake
	cmd:awk
	cmd:gcc$secondaryArchSuffix
	cmd:ld$secondaryArchSuffix
	cmd:libtoolize$secondaryArchSuffix
	cmd:make
	cmd:python
	"

BUILD()
{
	autoreconf -fi

	CPPFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS -D_BSD_SOURCE" \
		LDFLAGS="-lbsd -lposix_error_mapper -lnetwork" runConfigure ./configure
	make $jobArgs
}

INSTALL()
{
	make install

	rm $libDir/libevent*.la

	prepareInstalledDevelLibs \
		libevent \
		libevent_core \
		libevent_extra \
		libevent_pthreads \
		libevent_openssl

	cp .libs/libevent-*.so* \
		.libs/libevent_core-*.so* \
		.libs/libevent_extra-*.so* \
		.libs/libevent_pthreads-*.so* \
		.libs/libevent_openssl-*.so* \
		$developLibDir
	fixPkgconfig

	# devel package
	packageEntries devel \
		$developDir
}
