Add dbus 0.50, and 2 patches for it that fix dnotify support. --enable-dnotify is...
authorStephen Klimaszewski <steev@gentoo.org>
Mon, 7 Nov 2005 02:56:35 +0000 (02:56 +0000)
committerStephen Klimaszewski <steev@gentoo.org>
Mon, 7 Nov 2005 02:56:35 +0000 (02:56 +0000)
Package-Manager: portage-2.0.53_rc7

sys-apps/dbus/ChangeLog
sys-apps/dbus/dbus-0.50.ebuild [new file with mode: 0644]
sys-apps/dbus/files/dbus-dnotify_configure-01.diff [new file with mode: 0644]
sys-apps/dbus/files/dbus-dnotify_watchdirs-01.diff [new file with mode: 0644]
sys-apps/dbus/files/digest-dbus-0.50 [new file with mode: 0644]

index 0f8ec167ad2523f9f751551c6486993466700479..b07f63df859ed57f4b1734a741faa096fe6a1ed5 100644 (file)
@@ -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 <steev@gentoo.org>
+  +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 <geoman@gentoo.org> 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 (file)
index 0000000..49bc8d0
--- /dev/null
@@ -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 (file)
index 0000000..93f2f73
--- /dev/null
@@ -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 (file)
index 0000000..1781c2b
--- /dev/null
@@ -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 (file)
index 0000000..47b9466
--- /dev/null
@@ -0,0 +1 @@
+MD5 1addd5b600a8a4550766005d1f59401b dbus-0.50.tar.gz 1610305