Portfile

# $Id: Portfile 22034 2007-02-15 10:08:36Z rhwood@macports.org $
PortSystem 1.0
name dbus
version 1.0.2
revision 1
description A message bus system, a simple way for applications to talk to one another.
long_description ${description}
maintainers rhwood@macports.org
categories devel
platforms darwin
homepage http://www.freedesktop.org/Software/dbus
master_sites http://dbus.freedesktop.org/releases/dbus
checksums md5 0552a9b54beb4a044951b7cdbc8fc855 \
sha1 2870efd6ea0b5b0d14e52195f560238a74bb1e0e \
rmd160 d5eddfb058c4c026d4a9f091ad90abcc6e54861a
depends_lib port:expat port:libxml2
depends_build port:pkgconfig
configure.args --mandir=${prefix}/share/man \
--enable-tests \
--with-dbus-daemondir=${prefix}/bin

configure.env CPPFLAGS="-I${prefix}/include -L${prefix}/lib" \
CFLAGS="-no-cpp-precomp -flat_namespace -L${prefix}/lib"

startupitem.create yes
startupitem.name dbus
startupitem.init XDG_DATA_DIRS=${prefix}/share
startupitem.start ${prefix}/bin/dbus-daemon --system
startupitem.stop kill `cat ${prefix}/var/run/dbus/pid`
startupitem.restart "kill `cat ${prefix}/var/run/dbus/pid` ; ${prefix}/bin/dbus-daemon"

pre-patch {
file mkdir ${worksrcpath}/m4
system "touch ${worksrcpath}/m4/acx_pthread.m4"
}

pre-build {
reinplace "s|ucred.h|sys/ucred.h|g" ${worksrcpath}/dbus/dbus-sysdeps-unix.c
}

post-destroot {
file mkdir ${destroot}${prefix}/share/dbus-1/services
file mkdir ${destroot}${prefix}/var/run/dbus
file mkdir ${destroot}${prefix}/etc/dbus-1/system.d
}

destroot.keepdirs \
${destroot}${prefix}/share/dbus-1/services \
${destroot}${prefix}/var/run/dbus \
${destroot}${prefix}/etc/dbus-1/system.d

pre-activate {
addgroup messagebus
adduser messagebus gid=[existsgroup messagebus] realname=Message\ Bus
}

post-activate {
file attributes ${prefix}/var/run/dbus -group messagebus -owner messagebus
}

variant enable_tests {
configure.args-delete --disable-tests
configure.args-append --enable-tests
test.run yes
test.target check
}

variant devel {
fetch.type cvs
cvs.root :pserver:anoncvs@anoncvs.freedesktop.org:/cvs/dbus
cvs.module dbus
cvs.tag HEAD
version HEAD
worksrcdir ${cvs.module}
pre-configure {
cd ${worksrcpath}
reinplace "s|libtoolize|glibtoolize|g" ${worksrcpath}/autogen.sh
system "./autogen.sh"
}
}