From 062cfe20e8d8b9b09c89b33f1259053cb86b8088 Mon Sep 17 00:00:00 2001 From: Stephen Klimaszewski Date: Mon, 7 Nov 2005 02:56:35 +0000 Subject: [PATCH] Add dbus 0.50, and 2 patches for it that fix dnotify support. --enable-dnotify is also added to configure script. Package-Manager: portage-2.0.53_rc7 --- sys-apps/dbus/ChangeLog | 9 +- sys-apps/dbus/dbus-0.50.ebuild | 144 ++++++++++++++++++ .../dbus/files/dbus-dnotify_configure-01.diff | 56 +++++++ .../dbus/files/dbus-dnotify_watchdirs-01.diff | 49 ++++++ sys-apps/dbus/files/digest-dbus-0.50 | 1 + 5 files changed, 258 insertions(+), 1 deletion(-) create mode 100644 sys-apps/dbus/dbus-0.50.ebuild create mode 100644 sys-apps/dbus/files/dbus-dnotify_configure-01.diff create mode 100644 sys-apps/dbus/files/dbus-dnotify_watchdirs-01.diff create mode 100644 sys-apps/dbus/files/digest-dbus-0.50 diff --git a/sys-apps/dbus/ChangeLog b/sys-apps/dbus/ChangeLog index 0f8ec167ad25..b07f63df859e 100644 --- a/sys-apps/dbus/ChangeLog +++ b/sys-apps/dbus/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-apps/dbus # Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/ChangeLog,v 1.55 2005/11/05 15:06:08 geoman Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/ChangeLog,v 1.56 2005/11/07 02:56:35 steev Exp $ + +*dbus-0.50 (07 Nov 2005) + + 07 Nov 2005; Steev Klimaszewski + +files/dbus-dnotify_configure-01.diff, + +files/dbus-dnotify_watchdirs-01.diff, +dbus-0.50.ebuild: + Version bump. Add patches to fix dnotify support. 05 Nov 2005; Stephen P. Becker dbus-0.36.2.ebuild: added ~mips keyword diff --git a/sys-apps/dbus/dbus-0.50.ebuild b/sys-apps/dbus/dbus-0.50.ebuild new file mode 100644 index 000000000000..49bc8d0f8d97 --- /dev/null +++ b/sys-apps/dbus/dbus-0.50.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/dbus-0.50.ebuild,v 1.1 2005/11/07 02:56:35 steev Exp $ + +inherit eutils mono python multilib autotools debug + +IUSE="X gtk qt python mono doc xml2" + +DESCRIPTION="A message bus system, a simple way for applications to talk to eachother" +HOMEPAGE="http://dbus.freedesktop.org/" +SRC_URI="http://dbus.freedesktop.org/releases/${P}.tar.gz" + +SLOT="0" +LICENSE="|| ( GPL-2 AFL-2.1 )" +KEYWORDS="~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" + +RDEPEND=">=dev-libs/glib-2.6 + xml2? ( dev-libs/libxml2 ) + !xml2? ( dev-libs/expat ) + X? ( || ( + ( + x11-libs/libXt + x11-libs/libX11 + ) + virtual/x11 ) ) + gtk? ( >=x11-libs/gtk+-2 ) + python? ( >=dev-lang/python-2.4 + >=dev-python/pyrex-0.9.3-r2 ) + qt? ( =x11-libs/qt-3* ) + mono? ( >=dev-lang/mono-0.95 )" + + +DEPEND="${RDEPEND} + dev-util/pkgconfig + doc? ( app-doc/doxygen + app-text/xmlto ) + doc? ( mono? ( >=dev-util/monodoc-0.16 ) )" + +# needs gcj, we have no neat way of knowing if it was enabled +# Can we just depend on the java virtual and use javac? +# java? ( sys-devel/gcc ) + +src_unpack() { + unpack ${A} + cd ${S} + + #add missing include (#78617) + epatch ${FILESDIR}/${PN}-0.23-fd_set.patch + # Fix dnotify support + epatch ${FILESDIR}/${PN}-dnotify_configure-01.diff + epatch ${FILESDIR}/${PN}-dnotify_watchdirs-01.diff + eautoreconf +} + +src_compile() { + local myconf + + # Choose which xml library to use + if use xml2; then + myconf="--with-xml=libxml" + else + myconf="--with-xml=expat" + fi + + # Only enable mono-docs if both mono and doc is defined + if use mono; then + myconf="${myconf} `use_enable doc mono-docs`" + else + myconf="${myconf} --disable-mono-docs" + fi + + # NOTE: I have disabled the xml docs because they are rather pointless + econf \ + `use_with X x` \ + `use_enable gtk` \ + `use_enable qt` \ + `use_enable python` \ + `use_enable mono` \ + --enable-glib \ + --enable-dnotify \ + --enable-verbose-mode \ + --enable-checks \ + --enable-asserts \ + --with-system-pid-file=/var/run/dbus.pid \ + --with-system-socket=/var/lib/dbus/system_bus_socket \ + --with-session-socket-dir=/tmp \ + --with-dbus-user=messagebus \ + `use_enable doc doxygen-docs` \ + --disable-xml-docs \ + ${myconf} \ + || die "econf failed" + + # Don't build the mono examples, they require gtk-sharp + touch ${S}/mono/example/{bus-listener,echo-{server,client}}.exe + + # this gets around a lib64 sandbox bug. note that this addpredict is + # added automatically by sandbox.c for lib. + addpredict /usr/lib64/python2.4/ + addpredict /usr/lib64/python2.3/ + addpredict /usr/lib64/python2.2/ + addpredict /usr/lib64/python2.1/ + + emake +} + +src_install() { + make DESTDIR=${D} install || die "make install failed" + + # Backwards compatibility for old stuff + # we can remove this when dbi (plural of dbus) + # <0.30 aren't in the tree + dosym /usr/bin/dbus-daemon /usr/bin/dbus-daemon-1 + + # initscript + exeinto /etc/init.d/ + doexe ${FILESDIR}/dbus + + # dbus X session script (#77504) + # FIXME : turns out to only work for GDM, better solution needed + exeinto /etc/X11/xinit/xinitrc.d/ + doexe ${FILESDIR}/30-dbus + + # needs to exist for the system socket + keepdir /var/lib/dbus + + keepdir /usr/lib/dbus-1.0/services + keepdir /usr/share/dbus-1/services + + dodoc AUTHORS ChangeLog HACKING NEWS README doc/TODO + if use doc; then + dohtml doc/*html + fi +} + +pkg_preinst() { + enewgroup messagebus || die "Problem adding messagebus group" + enewuser messagebus -1 "-1" /dev/null messagebus || die "Problem adding messagebus user" +} + +pkg_postinst() { + einfo "To start the DBUS system-wide messagebus by default" + einfo "you should add it to the default runlevel :" + einfo "\`rc-update add dbus default\`" +} diff --git a/sys-apps/dbus/files/dbus-dnotify_configure-01.diff b/sys-apps/dbus/files/dbus-dnotify_configure-01.diff new file mode 100644 index 000000000000..93f2f73fdc1f --- /dev/null +++ b/sys-apps/dbus/files/dbus-dnotify_configure-01.diff @@ -0,0 +1,56 @@ +Index: configure.in +=================================================================== +RCS file: /cvs/dbus/dbus/configure.in,v +retrieving revision 1.137 +diff -u -r1.137 configure.in +--- configure.in 20 Oct 2005 14:56:24 -0000 1.137 ++++ configure.in 2 Nov 2005 14:06:29 -0000 +@@ -64,6 +64,7 @@ + AC_ARG_ENABLE(mono_docs, [ --enable-mono-docs build mono docs],enable_mono_docs=$enableval,enable_mono_docs=no) + AC_ARG_ENABLE(python, [ --enable-python build python bindings],enable_python=$enableval,enable_python=auto) + AC_ARG_ENABLE(selinux, [ --enable-selinux build with SELinux support],enable_selinux=$enableval,enable_selinux=auto) ++AC_ARG_ENABLE(dnotify, [ --enable-dnotify build with dnotify support (linux only)],enable_dnotify=$enableval,enable_dnotify=auto) + + AC_ARG_WITH(xml, [ --with-xml=[libxml/expat] XML library to use]) + AC_ARG_WITH(init-scripts, [ --with-init-scripts=[redhat] Style of init scripts to install]) +@@ -829,21 +830,21 @@ + fi + + # dnotify checks +-if test x$target_os = xlinux-gnu; then +- AC_ARG_ENABLE(dnotify, +- [ --disable-dnotify Disable using dnotify on Linux], +- [case "${enableval}" in +- yes) dnotify=false ;; +- no) dnotify=true ;; +- *) AC_MSG_ERROR(bad value ${enableval} for --disable-dnotify) ;; +- esac],[dnotify=true]) ++if test x$enable_dnotify = xno ; then ++ have_dnotify=no; ++else ++ if test x$target_os = xlinux-gnu -o x$target_os = xlinux; then ++ have_dnotify=yes; ++ else ++ have_dnotify=no; ++ fi + fi ++ + dnl check if dnotify backend is enabled +-if test x$dnotify = xtrue; then ++if test x$have_dnotify = xyes; then + AC_DEFINE(DBUS_BUS_ENABLE_DNOTIFY_ON_LINUX,1,[Use dnotify on Linux]) + fi + +- + #### Set up final flags + DBUS_CLIENT_CFLAGS= + DBUS_CLIENT_LIBS= +@@ -1421,6 +1422,7 @@ + Building GLib bindings: ${have_glib} + Building Python bindings: ${have_python} + Building SELinux support: ${have_selinux} ++ Building dnotify support: ${have_dnotify} + Building Mono bindings: ${enable_mono} + Building Mono docs: ${enable_mono_docs} + Building GTK+ tools: ${have_gtk} + diff --git a/sys-apps/dbus/files/dbus-dnotify_watchdirs-01.diff b/sys-apps/dbus/files/dbus-dnotify_watchdirs-01.diff new file mode 100644 index 000000000000..1781c2b8df9f --- /dev/null +++ b/sys-apps/dbus/files/dbus-dnotify_watchdirs-01.diff @@ -0,0 +1,49 @@ +Index: bus/bus.c +=================================================================== +RCS file: /cvs/dbus/dbus/bus/bus.c,v +retrieving revision 1.64 +diff -u -r1.64 bus.c +--- bus/bus.c 16 Jun 2005 06:05:09 -0000 1.64 ++++ bus/bus.c 2 Nov 2005 14:06:30 -0000 +@@ -479,15 +479,11 @@ + goto failed; + } + +- /* Drop existing conf-dir watches (if applicable) and watch all conf directories */ ++ /* Drop existing conf-dir watches (if applicable) */ + + if (is_reload) + bus_drop_all_directory_watches (); + +- _dbus_list_foreach (bus_config_parser_get_conf_dirs (parser), +- (DBusForeachFunction) bus_watch_directory, +- NULL); +- + _DBUS_ASSERT_ERROR_IS_CLEAR (error); + retval = TRUE; + +@@ -497,9 +493,9 @@ + } + + static dbus_bool_t +-process_config_postinit (BusContext *context, ++process_config_postinit (BusContext *context, + BusConfigParser *parser, +- DBusError *error) ++ DBusError *error) + { + DBusHashTable *service_context_table; + +@@ -512,6 +508,12 @@ + } + + _dbus_hash_table_unref (service_context_table); ++ ++ /* Watch all conf directories */ ++ _dbus_list_foreach (bus_config_parser_get_conf_dirs (parser), ++ (DBusForeachFunction) bus_watch_directory, ++ NULL); ++ + return TRUE; + } + diff --git a/sys-apps/dbus/files/digest-dbus-0.50 b/sys-apps/dbus/files/digest-dbus-0.50 new file mode 100644 index 000000000000..47b94667d61c --- /dev/null +++ b/sys-apps/dbus/files/digest-dbus-0.50 @@ -0,0 +1 @@ +MD5 1addd5b600a8a4550766005d1f59401b dbus-0.50.tar.gz 1610305 -- 2.26.2