# Template file for 'dbus'
#
_systemd_version=204

pkgname=dbus
version=1.6.16
revision=2
short_desc="Message bus system"
maintainer="Juan RP <xtraeme@gmail.com>"
license="GPL-2"
homepage="http://dbus.freedesktop.org/"
distfiles="
 ${homepage}/releases/dbus/dbus-${version}.tar.gz
 http://www.freedesktop.org/software/systemd/systemd-${_systemd_version}.tar.xz"
checksum="
 463f42873aafcde733de3105e6d166709a42bc961fb4e3ef27657dfd55813573
 072c393503c7c1e55ca7acf3db659cbd28c7fe5fa94fab3db95360bafd96731b"

create_wrksrc=yes
hostmakedepends="pkg-config intltool gperf"
makedepends="expat-devel libX11-devel libcap-devel"

if [ "$CROSS_BUILD" ]; then
	_systemddir="$XBPS_CROSS_BASE"
	hostmakedepends+=" libtool automake gettext-devel libgcrypt-devel"
else
	_systemddir="/usr"
fi

pre_configure() {
	cd dbus-${version}
	patch -Np0 -i ${FILESDIR}/systemd-user-session.patch

	# Build a temporary dbus; we are only interested in libdbus.
	cd ${wrksrc}
	[ ! -d dbus-bootstrap ] && mkdir dbus-bootstrap
	cd dbus-bootstrap

	if [ "$CROSS_BUILD" ]; then
		_confargs="--host=$XBPS_CROSS_TRIPLET
			--with-libtool-sysroot=$XBPS_CROSS_BASE"
	fi

	../dbus-${version}/configure ${_confargs} \
		--prefix=${wrksrc}/tmpbuild/usr \
		--disable-systemd --without-x \
		--enable-abstract-sockets ac_cv_have_abstract_sockets=yes
	make ${makejobs}
	make install

	# Build a temporary systemd; we are only interested in libsystemd-login.
	if [ "$CROSS_BUILD" ]; then
		cd ${wrksrc}/systemd-${_systemd_version}
		autoreconf -fi
	fi

	cd ${wrksrc}
	[ ! -d systemd-bootstrap ] && mkdir systemd-bootstrap
	cd systemd-bootstrap

	unset PKG_CONFIG_SYSROOT_DIR PKG_CONFIG_PATH

	env PKG_CONFIG_LIBDIR=${wrksrc}/tmpbuild/usr/lib/pkgconfig \
		../systemd-${_systemd_version}/configure ${_confargs} \
		--prefix=/usr --disable-nls \
		--enable-introspection=no --disable-kmod --disable-blkid \
		--disable-ima --disable-chkconfig --disable-selinux \
		--disable-xz --disable-tcpwrap --disable-pam \
		--disable-acl --disable-xattr --disable-gcrypt \
		--disable-audit --disable-libcryptsetup --disable-qrencode \
		--disable-microhttpd --disable-binfmt --disable-vconsole \
		--disable-readahead --disable-bootchart --disable-quotacheck \
		--disable-randomseed --disable-hostnamed \
		--disable-timedated --disable-localed --disable-coredump \
		--disable-myhostname --disable-gudev --disable-keymap \
		--disable-manpages --without-python --with-sysvinit-path= \
		--with-sysvrcnd-path= --disable-tests

	make ${makejobs}
	make DESTDIR=${wrksrc}/systemd-install install

	# Copy libsystemd-*, headers and pkg-config files.
	cp -a ${wrksrc}/systemd-install/usr/lib/libsystemd* \
		${_systemddir}/lib/
	rm -f ${_systemddir}/lib/*.la
	cp -a ${wrksrc}/systemd-install/usr/include/* \
		${_systemddir}/include/
	cp -a ${wrksrc}/systemd-install/usr/lib/pkgconfig/libsystemd* \
		${_systemddir}/lib/pkgconfig/
}

do_configure() {
	cd ${wrksrc}/dbus-${version}

	if [ "$CROSS_BUILD" ]; then
		autoreconf -fi
		export PKG_CONFIG_LIBDIR="${_systemddir}/lib/pkgconfig"
	fi
	./configure ${configure_args} \
		--disable-selinux --enable-userdb-cache --with-xml=expat \
		--disable-dnotify --enable-inotify --with-dbus-user=dbus \
		--disable-doxygen-docs --disable-xml-docs --disable-static \
		--disable-tests --enable-epoll --disable-asserts \
		--with-system-socket=/run/dbus/system_bus_socket \
		--with-system-pid-file=/run/dbus/pid \
		--with-console-auth-dir=/run/console/ \
		--with-systemdsystemunitdir=/usr/lib/systemd/system \
		--enable-abstract-sockets --enable-systemd \
		ac_cv_have_abstract_sockets=yes
}

do_build() {
	cd ${wrksrc}/dbus-${version}
	make ${makejobs}
}

do_install() {
	cd ${wrksrc}/dbus-${version}
	make DESTDIR=${DESTDIR} install

	# Remove systemd temp files from masterdir.
	rm -f ${_systemddir}/lib/pkgconfig/libsystemd-*
	rm -rf ${_systemddir}/include/systemd
	rm -f ${_systemddir}/lib/libsystemd-*
}

dbus-devel_package() {
	depends="expat-devel dbus-libs>=${version}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib/dbus-*"
		vmove usr/lib/pkgconfig
		vmove "usr/lib/*.so"
		vmove usr/share/doc
	}
}

dbus-libs_package() {
	short_desc+=" - shared libraries"
	pkg_install() {
		vmove "usr/lib/*.so.*"
	}
}

dbus-x11_package() {
	replaces="dbus<1.4.16_2"
	short_desc+=" - X11 support"
	pkg_install() {
		vmove usr/bin/dbus-launch
		vmove usr/share/man/man1/dbus-launch.1
	}
}

dbus_package() {
	conf_files="/etc/dbus-1/session.conf /etc/dbus-1/system.conf"
	pkg_install() {
		vmove all
	}
}