SUMMARY="D-Bus provides simple way for applications to talk to one another"
DESCRIPTION="NOTE: D-Bus should not be used in native Haiku apps, but is only \
here because some ported software requires it.

D-Bus supplies both a system daemon (for events such as \"\
new hardware device added\" or \"printer queue changed\") and a per-user\
-login-session daemon (for general IPC needs among user applications). \
Also, the message bus is built on top of a general one-to-one message passing \
framework, which can be used by any two apps to communicate directly (without \
going through the message bus daemon). Currently the communicating \
applications are on one computer, or through unencrypted TCP/IP suitable for \
use behind a firewall with shared NFS home directories."
HOMEPAGE="http://freedesktop.org/wiki/Software/dbus"
COPYRIGHT="2014 Red Hat, Inc."
LICENSE="GNU GPL v2"
SOURCE_URI="http://dbus.freedesktop.org/releases/dbus/dbus-1.8.6.tar.gz"
CHECKSUM_SHA256="eded83ca007b719f32761e60fd8b9ffd0f5796a4caf455b01b5a5ef740ebd23f"
SOURCE_DIR="dbus-$portVersion"
REVISION="1"
ARCHITECTURES="x86 ?x86_64"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
    # x86_gcc2 is fine as primary target architecture as long as we're building
    # for a different secondary architecture.
    ARCHITECTURES="$ARCHITECTURES x86_gcc2"
else
    ARCHITECTURES="$ARCHITECTURES !x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"

GLOBAL_WRITABLE_FILES="
	settings/dbus-1/session.conf keep-old
	settings/dbus-1/system.conf keep-old
	"

PROVIDES="
	dbus$secondaryArchSuffix = $portVersion
	cmd:dbus_cleanup_sockets = $portVersion
	cmd:dbus_daemon = $portVersion
	cmd:dbus_launch = $portVersion
	cmd:dbus_monitor = $portVersion
	cmd:dbus_run_session = $portVersion
	cmd:dbus_send = $portVersion
	cmd:dbus_uuidgen = $portVersion
	lib:libdbus_1$secondaryArchSuffix = $portVersion
	"
REQUIRES="
	haiku$secondaryArchSuffix
	lib:libexpat$secondaryArchSuffix
	glib2$secondaryArchSuffix
	lib:libexecinfo$secondaryArchSuffix
	lib:libffi$secondaryArchSuffix
	lib:libiconv$secondaryArchSuffix
	lib:libz$secondaryArchSuffix
	"
BUILD_REQUIRES="
	devel:libexpat$secondaryArchSuffix
	glib2${secondaryArchSuffix}_devel
	devel:libexecinfo$secondaryArchSuffix
	devel:libffi$secondaryArchSuffix
	devel:libiconv$secondaryArchSuffix
	devel:libz$secondaryArchSuffix
	"
BUILD_PREREQUIRES="
	haiku${secondaryArchSuffix}_devel
	cmd:awk
	cmd:pkg_config$secondaryArchSuffix
	cmd:find
	cmd:make
	cmd:g++$secondaryArchSuffix
	cmd:python
	"

PROVIDES_devel="
	dbus${secondaryArchSuffix}_devel = $portVersion
	devel:libdbus_1$secondaryArchSuffix = $portVersion
	"
REQUIRES_devel="
	dbus$secondaryArchSuffix == $portVersion base
	haiku$secondaryArchSuffix
	"

BUILD()
{
	runConfigure --omit-dirs binDir ./configure \
		--with-system-pid-file=/var/run/dbus/pid \
		--with-system-socket=/var/run/dbus/system_bus_socket \
		--bindir=$prefix/bin
	make $jobArgs
}

INSTALL()
{
	make install
	fixPkgconfig
	
	# no way to tell autoconf about these
	mv $libDir/*.a $developLibDir
	mv $libDir/*.la $developLibDir
	mv $libDir/dbus-1.0/include/dbus/*.h $includeDir/dbus-1.0/dbus/
	rm -rf $libDir/dbus-1.0/

	prepareInstalledDevelLibs \
		libdbus-1
	packageEntries devel \
		$developDir
}

TEST()
{
	make check
}
