File e_dbus.spec of Package e_dbus

#
# spec file for package e_dbus-DR17 (svn Version _20100516_r48925)
#
# Copyright (c) 2009 Enlightenment Project.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bug fixes or comments to the Maintainer: sda00@himki.net
#

# norootforbuild

Name:           libedbus-ver-pre-svn-05-0
Version:        svn_20100516_r48925
Release:		1
License:        BSD
Provides:       edbus libedbus libedbus0 libedbus-ver-pre-svn-04-0
Obsoletes:		edbus libedbus libedbus0 libedbus-ver-pre-svn-04-0
URL:			http://enlightenment.org/
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Source:			e_dbus_20100516_r48925.tar.bz2
Packager:		sda00 <sda00@himki.net>
Group:          System/Libraries
Summary:		Enlightenment d-bus wrapper

%if 0%{?suse_version} > 1030 || 0%{?sles_version} == 11 
# core
BuildRequires:	gcc-c++ gcc iputils subversion m4 autoconf automake libtool glibc-devel glib2-devel zlib-devel libjpeg-devel doxygen  fontconfig-devel
# X env
BuildRequires:	xorg-x11-devel 
BuildRequires:	pam-devel
# functional extensions
BuildRequires:	SDL-devel Mesa-devel gettext-devel imlib2-devel pkg-config libpng-devel libxml2-devel libxslt-devel giflib-devel pango-devel freetype2-devel libtiff-devel tiff  librsvg-devel ncurses-devel cairo-devel fribidi-devel libopenssl-devel  libcurl-devel curl 
BuildRequires:  libgnutls-devel libnotify-devel hal-devel dbus-1-devel
%endif

%if 0%{?suse_version} == 1030 
# core
BuildRequires:	gcc-c++ gcc iputils subversion m4 autoconf automake libtool glibc-devel zlib-devel libjpeg-devel doxygen gzip
# X env
BuildRequires:	xorg-x11-devel 
BuildRequires:	pam-devel
# functional extensions
BuildRequires:	gettext-devel imlib2-devel pkg-config zlib-devel libjpeg-devel libpng-devel fribidi-devel giflib-devel pango-devel freetype2-devel libtiff-devel tiff  libxml2-devel libxslt-devel libopenssl-devel  libcurl-devel curl 
BuildRequires:	libgnutls-devel libnotify-devel hal-devel dbus-1-devel 
BuildRequires:	SDL-devel Mesa-devel gettext-devel MesaGLw-devel
%endif

%if 0%{?fedora}  ||  0%{?rhel_version} == 5
BuildRequires:	libjpeg-devel zlib-devel pkgconfig gnutls-devel openssl-devel subversion automake doxygen m4 autoconf gzip bzip2 tar

BuildRequires:	freetype-devel pth-devel libX11-devel libXext-devel
BuildRequires:	libXrender-devel fontconfig-devel libjpeg-devel libpng-devel
BuildRequires:	librsvg2-devel libtiff-devel giflib-devel libXpm-devel libXpm
BuildRequires:	mesa-libGL-devel mesa-libGLU-devel 
BuildRequires:	libxcb-devel libxcb SDL-devel libXau-devel libXau 
BuildRequires:	libcurl-devel curl libcurl inotify-tools-devel libnotify libnotify-devel notification-daemon
BuildRequires:	libXinerama-devel libXrandr-devel libXScrnSaver-devel libXcursor-devel 
BuildRequires:	libXrender-devel libXdamage-devel libXfixes-devel libXrandr-devel libXrandr
BuildRequires:	libXcomposite-devel libXcomposite
BuildRequires:	hal-devel hal dbus dbus-devel
#BuildRequires:	  fribidi-devel fribidi
%endif

%if 0%{?mandriva_version} == 2008
%ifarch x86_64
BuildRequires:	lib64jpeg62-devel  zlib1-devel pkgconfig lib64gnutls-devel subversion automake doxygen m4 autoconf gzip bzip2 tar
BuildRequires:	lib64xcb1-devel  lib64xcb1 lib64SDL1.2-devel  lib64mesagl1-devel lib64mesaglu1-devel lib64mesaglut3-devel lib64mesaglw1-devel
BuildRequires:	lib64xpm-devel lib64xpm4 lib64xorg-x11-devel lib64x11_6-devel x11-server-devel x11-xtrans-devel x11-proto-devel
BuildRequires:	lib64png-devel lib64png3 lib64ungif4-devel lib64ungif4 lib64tiff3-devel lib64tiff3 lib64xrender1-devel lib64xrender1
BuildRequires:	lib64fontconfig-devel fontconfig lib64xrender1-devel lib64xrender1 lib64xcomposite1 lib64xcomposite1-devel
BuildRequires:	lib64xau6-devel lib64xau6 lib64fribidi-devel fribidi lib64fribidi0 lib64cairo2-devel lib64cairo2  lib64xcursor-devel lib64xcursor1
BuildRequires:	lib64openssl0.9.8-devel lib64openssl0.9.8 lib64xmlsec1-openssl-devel lib64xdamage-devel lib64xdamage1
BuildRequires:	lib64curl-devel curl lib64curl4 lib64xscrnsaver1-devel lib64xscrnsaver1
BuildRequires:	lib64xinerama1-devel lib64xinerama1 lib64xrandr2-devel lib64xrandr2 lib64xfixes3-devel lib64xfixes3
BuildRequires:	hal  lib64hal1 lib64hal-devel
BuildRequires:	lib64dbus-1-devel
#BuildRequires:	dbus-1-devel  lib64notify1 lib64notify1-devel libnotify   dbus lib64dbus-1_3-devel  lib64dbus-1_3 dbus-x11
%else
BuildRequires:	libjpeg62-devel  zlib-devel pkgconfig libgnutls-devel subversion automake doxygen m4 autoconf gzip bzip2 tar
BuildRequires:	libxcb1-devel libxcb1 libSDL1.2-devel  libmesagl1-devel  libmesaglu1-devel  libmesaglut3-devel  libmesaglw1-devel
BuildRequires:	libxpm4 libxpm-devel libxorg-x11-devel libx11_6-devel x11-server-devel x11-proto-devel x11-xtrans-devel
BuildRequires:	libpng-devel libpng3 libungif4 libungif4-devel libtiff3-devel libtiff3 libxrender1 libxrender1-devel
BuildRequires:	libfontconfig-devel fontconfig  libxrender1 libxrender1-devel libxcomposite1 libxcomposite1-devel
BuildRequires:	libxau6-devel libxau6 fribidi libfribidi0 libfribidi-devel libcairo2 libcairo2-devel  libxcursor1 libxcursor-devel
BuildRequires:	libopenssl0.9.8 libopenssl0.9.8-devel  libxmlsec1-openssl-devel libxdamage-devel libxdamage1
BuildRequires:	curl libcurl4 libcurl-devel libxscrnsaver1-devel libxscrnsaver1 
BuildRequires:	libxinerama1 libxinerama1-devel libxrandr2 libxrandr2-devel libxfixes3 libxfixes3-devel
BuildRequires:	hal  libhal1 libhal-devel 
BuildRequires:	libdbus-1-devel
#BuildRequires:	dbus-1-devel  libnotify libnotify1 libnotify1-devel  dbus dbus-x11 libdbus-1_3 libdbus-1_3-devel
%endif
%endif

%if 0%{?mandriva_version} == 2009 || 0%{?mandriva_version} == 200910
%ifarch x86_64
BuildRequires:	lib64jpeg62-devel  zlib1-devel zlib1 pkgconfig subversion automake doxygen m4 autoconf gzip bzip2 tar  zlib-devel jpeg-devel lib64openssl0.9.8-devel lib64openssl0.9.8
BuildRequires:	lib64xcb-devel lib64xcb1 lib64SDL-devel lib64mesagl1-devel lib64mesaglu1-devel lib64mesaglut3-devel lib64mesaglw1-devel
BuildRequires:	lib64xpm-devel lib64xpm4 lib64xorg-x11-devel lib64x11_6-devel  x11-server-devel x11-xtrans-devel x11-proto-devel 
BuildRequires:	lib64png-devel lib64png3 lib64ungif4-devel lib64ungif4 lib64tiff3-devel lib64tiff3 lib64xrender1-devel lib64xrender1
BuildRequires:	lib64fontconfig-devel fontconfig  lib64rsvg2-devel lib64rsvg2_2 lib64svg1-devel lib64svg-cairo1-devel lib64xcomposite1 lib64xcomposite1-devel
BuildRequires:	lib64xau6 lib64xau6-devel fribidi lib64fribidi0 lib64fribidi-devel lib64xmlsec1-openssl-devel lib64xscrnsaver1-devel lib64xscrnsaver1
BuildRequires:	curl lib64curl4 lib64curl-devel lib64notify1 lib64notify1-devel libnotify  lib64xrender1-devel lib64xrender1 lib64xdamage1 lib64xdamage-devel
BuildRequires:	lib64xinerama1-devel lib64xinerama1 lib64xrandr2-devel lib64xrandr2 lib64xfixes3 lib64xfixes3-devel lib64xcursor-devel lib64xcursor1
BuildRequires:	hal lib64hal1 lib64hal-devel dbus dbus-x11 lib64dbus-1-devel lib64dbus-1_3
%else
BuildRequires:	libjpeg62-devel  zlib-devel pkgconfig subversion automake doxygen m4 autoconf gzip bzip2 tar zlib-devel jpeg-devel libopenssl0.9.8-devel libopenssl0.9.8
BuildRequires:	libxcb-devel libxcb1 libSDL-devel libmesagl1-devel libmesaglw1-devel libmesaglu1-devel libmesaglut3-devel
BuildRequires:	libxpm4 libxpm-devel libxorg-x11-devel libx11_6-devel  x11-server-devel x11-xtrans-devel x11-proto-devel
BuildRequires:	libpng-devel libpng3 libungif4 libungif4-devel libtiff3-devel libtiff3 libxrender1 libxrender1-devel libxdamage1 libxdamage-devel
BuildRequires:	libfontconfig-devel fontconfig librsvg librsvg2-devel librsvg2_2 libsvg-cairo1-devel libsvg1-devel libxcursor1 libxcursor-devel
BuildRequires:	libxau6-devel libxau6 fribidi libfribidi0 libfribidi-devel  libxrender1 libxrender1-devel  libxcomposite1 libxcomposite1-devel
BuildRequires:	curl libcurl4 libcurl-devel libnotify libnotify1 libnotify1-devel libxscrnsaver1 libxscrnsaver1-devel
BuildRequires:	libxinerama1 libxinerama1-devel libxrandr2 libxrandr2-devel libxfixes3 libxfixes3-devel
BuildRequires:	hal libhal1 libhal-devel dbus dbus-x11 libdbus-1_3 libdbus-1-devel
%endif
%endif

%if 0%{?mandriva_version} == 201000
%ifarch x86_64
BuildRequires:	lib64jpeg-devel  zlib1-devel zlib1 pkgconfig subversion automake doxygen m4 autoconf gzip bzip2 tar  zlib-devel jpeg-devel lib64openssl0.9.8-devel lib64openssl0.9.8
BuildRequires:	lib64xcb-devel lib64xcb1 lib64SDL-devel lib64mesagl1-devel lib64mesaglu1-devel lib64mesaglut3-devel lib64mesaglw1-devel
BuildRequires:	lib64xpm-devel lib64xpm4 lib64xorg-x11-devel lib64x11_6-devel  x11-server-devel x11-xtrans-devel x11-proto-devel 
BuildRequires:	lib64png-devel lib64png3 lib64ungif4-devel lib64ungif4 lib64tiff-devel lib64xrender1-devel lib64xrender1
BuildRequires:	lib64fontconfig-devel fontconfig  lib64rsvg2-devel lib64rsvg2_2 lib64svg1-devel lib64svg-cairo1-devel lib64xcomposite1 lib64xcomposite1-devel
BuildRequires:	lib64xau6 lib64xau6-devel fribidi lib64fribidi0 lib64fribidi-devel lib64xmlsec1-openssl-devel lib64xscrnsaver1-devel lib64xscrnsaver1
BuildRequires:	curl lib64curl4 lib64curl-devel lib64notify-devel lib64xrender1-devel lib64xrender1 lib64xdamage1 lib64xdamage-devel
BuildRequires:	lib64xinerama1-devel lib64xinerama1 lib64xrandr2-devel lib64xrandr2 lib64xfixes3 lib64xfixes3-devel lib64xcursor-devel lib64xcursor1
BuildRequires:	hal lib64hal1 lib64hal-devel dbus dbus-x11 lib64dbus-1-devel lib64dbus-1_3
%else
BuildRequires:	libjpeg-devel  zlib-devel pkgconfig subversion automake doxygen m4 autoconf gzip bzip2 tar zlib-devel jpeg-devel libopenssl0.9.8-devel libopenssl0.9.8
BuildRequires:	libxcb-devel libxcb1 libSDL-devel libmesagl1-devel libmesaglw1-devel libmesaglu1-devel libmesaglut3-devel
BuildRequires:	libxpm4 libxpm-devel libxorg-x11-devel libx11_6-devel  x11-server-devel x11-xtrans-devel x11-proto-devel
BuildRequires:	libpng-devel libpng3 libungif4 libungif4-devel libtiff-devel libxrender1 libxrender1-devel libxdamage1 libxdamage-devel
BuildRequires:	libfontconfig-devel fontconfig librsvg librsvg2-devel librsvg2_2 libsvg-cairo1-devel libsvg1-devel libxcursor1 libxcursor-devel
BuildRequires:	libxau6-devel libxau6 fribidi libfribidi0 libfribidi-devel  libxrender1 libxrender1-devel  libxcomposite1 libxcomposite1-devel
BuildRequires:	curl libcurl4 libcurl-devel libnotify-devel libxscrnsaver1 libxscrnsaver1-devel
BuildRequires:	libxinerama1 libxinerama1-devel libxrandr2 libxrandr2-devel libxfixes3 libxfixes3-devel
BuildRequires:	hal libhal1 libhal-devel dbus dbus-x11 libdbus-1_3 libdbus-1-devel
%endif
%endif


# Global E required components (E dependencies)
BuildRequires:	libeet1 libeet1-devel libevas-ver-pre-svn-05-0 libevas-ver-pre-svn-05-0-devel libecore-ver-pre-svn-05-0 libecore-ver-pre-svn-05-0-devel  libeina-ver-pre-svn-05-0-devel libeina-ver-pre-svn-05-0

%description
This is the start of some basic convenience wrappers around dbus to ease integrating dbus with EFL based applications.
When using e_dbus, direct use of the low level dbus api is still heavily required for processing messages.

A few things to note:
e_dbus_bus_get() currently creates a new private connection to whichever bus is passed in, and hooks this into the ecore main loop. At some point, we should implement internal refcounting and sharing of these private connections (one for each bus type) so that e.g. multiple modules in an app can reuse the same connection. libdbus implements its own shared connections (available via dbus_bus_get()), but the final reference is always retained by libdbus iteself, causing any cleanup handlers on the connection to only be called at app exit. Thus, if a module hooks a connection in to the mainloop, there is no way to clean up fully before unloading the module, causing issues. 

This code is still in its infancy, and although works, may have some rough edges. The design is not set in stone, so feel free to propose (and implement) changes / improvements.

Patches can be sent to the enlightenment dev mailing list, or, if you have commit access, feel free to commit.

The Enlightenment Team:
--------
The Rasterman (Carsten Haitzler)
Ibukun Olumuyiwa
Sebastian Dransfeld
HandyAndE (Andrew Williams)
CodeWarrior (Hisham Mardam Bey)
dj2 (Dan Sinclair)
Tilman Sauerbeck
Aleksej Struk
Brian Mattern
devilhorns (Chrostopher Michael)
/dev/urandom (Victor Kojouharov)
ilLogict
Stafford Horne
Cedric Mail
onefang (David Seikel)
Stephen Houston
Byron Hillis
Ravenlock (Eric Schuele)
ManoWarrior (Luchezar Petkov)
morlenxus (Brian Miculcy)

The full list of E-dev crew is here:
http://enlightenment.org/p.php?p=contact&l=en

You can always update your package to the current state just by rebuilding the .spec file:
> rpmbuild -bb *.spec
or by rebuilding the .src.rpm file itself:
> rpmbuild --rebuild *.src.rpm
The new compiled .rpm will be available in /usr/src/packages/RPM/_your_PC_type/

Prepared by SOAD project.

%package devel
Provides:       edbus-devel libedbus-devel libedbus0-devel libedbus-ver-pre-svn-04-0-devel
Obsoletes:      edbus-devel libedbus-devel libedbus0-devel libedbus-ver-pre-svn-04-0-devel
Summary:		E_dbus headers, static libraries and test programs
Group:			Development/Libraries
Requires:       %{name} = %{version} 

%description devel
Headers, static libraries, test programs for e_dbus.

%package doc
Provides:       edbus-doc libedbus-doc libedbus0-doc libedbus-ver-pre-svn-04-0-doc
Obsoletes:      edbus-doc libedbus-doc libedbus0-doc libedbus-ver-pre-svn-04-0-doc
Summary:		E_dbus documentation
Group:			Documentation/Other

%description doc
Various e_dbus documentation

##########################################
## insert here "debug-package" macro for a local builds
##########################################

%prep
rm -rf "$RPM_BUILD_ROOT"
#%setup -q
%if 0%{?suse_version} || 0%{?sles_version} 
%{?suse_update_config:%{suse_update_config -f}}
%endif

%build
%install

if  [ "`ping enlightenment.org -c 10 2>&1 | grep icmp_seq`" != "" ] ; then 
svn co http://svn.enlightenment.org/svn/e/trunk/e_dbus
cd e_dbus
./autogen.sh
else
tar xfmjv  $RPM_SOURCE_DIR/e_dbus_20100516_r48925.tar.bz2
cd e_dbus
./autogen.sh
fi

%if 0%{?suse_version} > 1100 || 0%{?sles_version} == 11
%configure  --disable-static 
%else
%configure  --disable-static 
%endif

make %{?_smp_mflags}

if [ -e ./gendoc ] ; then
chmod +x ./gendoc
./gendoc
else
make doc
fi

%makeinstall

#mkdir -p -m 755 $RPM_BUILD_ROOT%{_mandir}/man3
mkdir -p -m 755 $RPM_BUILD_ROOT%{_docdir}/e_dbus
#find doc/man/man3/ -size -100c -delete
#rm -f doc/man/man3/todo.3 # remove todo
#find doc/man/man3/ -type f -exec gzip {} \;
#cp -r doc/man/man3/* $RPM_BUILD_ROOT%{_mandir}/man3/
cp -r doc/images $RPM_BUILD_ROOT%{_docdir}/e_dbus/
cp -r doc/html $RPM_BUILD_ROOT%{_docdir}/e_dbus/
cp -r doc/latex $RPM_BUILD_ROOT%{_docdir}/e_dbus/

# optional removal of libtool archive along with stripping
find $RPM_BUILD_ROOT/ -type f  -iname '*.la' -exec rm {} \;
find $RPM_BUILD_ROOT/ -type f  -iname '*.a' -exec rm {} \;

%clean
rm -rf "$RPM_BUILD_ROOT"

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%files
%defattr(-,root,root)
%{_libdir}/*.so.*

%files devel
%defattr(-, root, root)
%{_bindir}/*
%{_libdir}/pkgconfig/*
%{_includedir}/*
%{_libdir}/*.so

%files doc
%defattr(-, root, root)
##%{_mandir}/man3/*
%{_docdir}/e_dbus

%changelog
* Mon Apr 20 2009  version E-DR17-999-050 <sda00@himki.net>
- first "rev1" is packaged according to the Release Schedule - http://trac.enlightenment.org/e/wiki/ReleaseSchedule
* Fri Apr 17 2009  version E-DR17-999-050 <sda00@himki.net>
- added online rebuild capability of .src.rpm or .spec files
- prepare to the first official "rev1" snapshot build

openSUSE Build Service is sponsored by